• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于PIC16F877A的S50射頻卡讀寫電路的設(shè)計*

    2016-09-28 10:21:04蔡卓恩郭志成
    甘肅科技 2016年15期
    關(guān)鍵詞:射頻卡IC卡刷卡

    蔡卓恩,郭志成

    (蘭州工業(yè)學院,甘肅 蘭州730050)

    基于PIC16F877A的S50射頻卡讀寫電路的設(shè)計*

    蔡卓恩,郭志成

    (蘭州工業(yè)學院,甘肅蘭州730050)

    主要闡述了基于PIC16F877A單片機的S50射頻卡讀寫電路的設(shè)計,介紹了PIC16F877A最小應(yīng)用系統(tǒng)及其與讀卡芯片RC522的接口電路,并重點介紹了S50中所儲存數(shù)據(jù)用作電子錢包的軟件實現(xiàn),可作為類似系統(tǒng)的應(yīng)用參考。

    PIC16F877A;RC522;S50;電子錢包

    1 概述

    射頻卡即非接觸式IC卡,將射頻識別技術(shù)和IC卡技術(shù)結(jié)合起來,在大小和普通信用卡相同的PVC卡片內(nèi)嵌置IC芯片和感應(yīng)天線,無任何外露部分。S50是采用NXPMF1ICS50制作的非接觸IC卡,符合ISO14443A標準,可以和低成本的射頻卡基站RC522構(gòu)成完整的射頻卡應(yīng)用系統(tǒng),目前國內(nèi)有很多公司可向用戶提供S50射頻卡的服務(wù)。由于S50具有很高的性價比,操作方便,加密性能好。因此在公交系統(tǒng)、餐飲服務(wù)系統(tǒng)等領(lǐng)域得到了廣泛的應(yīng)用[1]。

    2 硬件電路設(shè)計

    2.1PIC16F877A介紹

    控制系統(tǒng)選用由美國Microchip公司生產(chǎn)的8位單片微控制器PIC16F877A作為核心控制單元,PIC16F877A具有獨特的精簡指令集(RISC)結(jié)構(gòu),數(shù)據(jù)總線和指令總線分離的哈佛總線結(jié)構(gòu),使器件性能和運算速度大大提高。片內(nèi)集成有8k的Flash可重復(fù)編程存儲器,368Byte的數(shù)據(jù)存儲器,256Byte 的EEPROM數(shù)據(jù)存儲器,3個定時/計數(shù)器,2個CCP模塊,同步串行通信端口,8通道10位A/D轉(zhuǎn)換器,以及時鐘、看門狗等,具有上電復(fù)位、PWM輸出、LCD驅(qū)動等功能,有40只引腳。由于片內(nèi)集成的外圍設(shè)備種類和數(shù)量多,使其外圍電路大大簡化。此外,此芯片還具有低功耗睡眠(SLEEP)模式,易于實現(xiàn)低功耗設(shè)計[2]。

    圖1所示為單片機最小應(yīng)用系統(tǒng),包括復(fù)位電路﹑晶振﹑編程接口電路。C19﹑R46﹑R53﹑D4構(gòu)成上電復(fù)位電路,系統(tǒng)使用20M晶振,J3為ICD2編程接口,連接ICD2仿真器可實現(xiàn)程序的在線仿真及下載。

    圖1 單片機最小應(yīng)用系統(tǒng)

    2.2RC522接口電路

    圖2所示為單片機與讀卡芯片RC522的接口電路,S50卡通過發(fā)射機應(yīng)答器振蕩線圈與基站振蕩線圈的耦合取得能量,通過必要的通信軟件配合,保證卡與基站間實現(xiàn)雙向數(shù)據(jù)交換。RC522需要3.3V供電,通過穩(wěn)壓芯片AS2830將5V電壓轉(zhuǎn)換為3.3V。

    圖2 RC522讀寫系統(tǒng)接口電路

    3 S50非接觸式IC卡的應(yīng)用舉例

    3.1S50的存儲結(jié)構(gòu)

    S50非接觸式IC卡容量為8K位 (bits)=1K字節(jié)(bytes)EEPROM,分為16個扇區(qū),每個扇區(qū)為4塊,每塊16個字節(jié),以塊為存取單位,每個扇區(qū)有獨立的一組密碼及訪問控制;每張卡有唯一序列號,為32位;具有防沖突機制,支持多卡操作;無電源,自帶天線,內(nèi)含加密控制邏輯和通訊邏輯電路;數(shù)據(jù)保存期為10年,可改寫10萬次,讀無限次;工作頻率為13.56MHZ;通信速率為106KBPS;讀寫距離一般在10cm以內(nèi)(與讀寫器有關(guān))[3]。

    S50存儲結(jié)構(gòu)如圖3所示,M1卡分為16個扇區(qū),每個扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,(我們也將16個扇區(qū)的64個塊按絕對地址編號為0~63;第0扇區(qū)的塊0(即絕對地址0塊),它用于存放廠商代碼,已經(jīng)固化,不可更改。每個扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)塊,可用于存貯數(shù)據(jù)。每個扇區(qū)的塊3為控制塊,包括了密碼A、存取控制、密碼B。

    圖3 S50存儲結(jié)構(gòu)

    3.2S50的電子錢包應(yīng)用

    數(shù)據(jù)塊可作兩種應(yīng)用:(1)用作一般的數(shù)據(jù)保存,可以進行讀、寫操作。(2)用作數(shù)據(jù)值,可以進行初始化值、加值、減值、讀值操作,即電子錢包。以下為數(shù)據(jù)塊作電子錢包應(yīng)用的函數(shù),這種方式可直接對數(shù)據(jù)進行增減。

    //電子錢包函數(shù)

    voidmoneyset(unsignedintmon,unsignedchar adr)

    {mon=mon*100;

    money[1]=mon/256;

    money[0]=mon%256;

    money[2]=0;

    money[3]=0;

    money[4]=~money[0];

    money[5]=~money[1];

    money[6]=~money[2];

    money[7]=~money[3];

    money[8]=money[0];

    money[9]=money[1];

    money[10]=money[2];

    money[11]=money[3];

    money[12]=adr;

    money[13]=~adr;

    money[14]=adr;

    money[15]=~adr;

    3.3刷卡自動扣款系統(tǒng)

    非接觸式射頻卡讀寫系統(tǒng)應(yīng)用于刷卡自動扣款系統(tǒng),采用射頻卡作為電子貨幣載體。刷卡功能有定值預(yù)扣模式和在線消費兩種模式,在線消費模式根據(jù)實際用量扣去射頻卡內(nèi)相應(yīng)金額。用戶刷卡后,主控機檢測刷卡信息,配置默認用量,扣除對應(yīng)金額;若在中途停止并再次刷卡,則根據(jù)實際用量返還金額。刷卡子程序流程圖如圖4所示,再次刷卡返還金額流程中減值操作變?yōu)樵鲋挡僮骷纯桑?]。

    圖4 刷卡子程序流程圖

    扣款和充值子程序:

    //參數(shù)說明:dd_mode[IN]:命令字

    //0xC0=扣款

    //0xC1=充值

    //addr[IN]:錢包地址

    //pValue[IN]:4字節(jié)增(減)值,低位在前

    charPcdValue(unsignedchardd_mode,unsigned

    charaddr,unsignedchar*pValue)

    charstatus;

    unsignedintunLen;

    unsignedchari,ucComMF522Buf[MAXRLEN];

    ucComMF522Buf[0]=dd_mode;

    ucComMF522Buf[1]=addr;

    CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf

    [2]);

    status=PcdComMF522(PCD_TRANSCEIVE,uc-

    ComMF522Buf,4,ucComMF522Buf,&unLen);

    if(status!=MI_OK)||(unLen!=4)||

    (ucComMF522Buf[0]&0x0F)!=0x0A))

    {status=MI_ERR;}

    if(status==MI_OK)

    //memcpy(ucComMF522Buf,pValue,4);

    for(i=0;i<16;i++)

    {ucComMF522Buf[i]=*(pValue+i);}

    CalulateCRC(ucComMF522Buf,4,&ucComMF522Buf

    [4]);

    unLen=0;

    status=PcdComMF522(PCD_TRANSCEIVE,uc-

    ComMF522Buf,6,ucComMF522Buf,&unLen);

    if(status!=MI_ERR)

    {status=MI_OK;}

    if(status==MI_OK)

    ucComMF522Buf[0]=PICC_TRANSFER;

    ucComMF522Buf[1]=addr;

    CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf

    [2]);

    status=PcdComMF522(PCD_TRANSCEIVE,uc-

    ComMF522Buf,4,ucComMF522Buf,&unLen);

    if(status!=MI_OK)||(unLen!=4)||

    (ucComMF522Buf[0]&0x0F)!=0x0A))

    {status=MI_ERR;}

    returnstatus;

    4 結(jié)論

    S50中所儲存數(shù)據(jù)可用作數(shù)據(jù)值即電子錢包,這種方式可直接對數(shù)據(jù)進行增減。本文討論了S50非接觸式IC卡在刷卡自動扣款系統(tǒng)中的應(yīng)用,提供了作為電子錢包使用的一種軟硬件實現(xiàn)方法,由于S50在多個領(lǐng)域得到廣泛應(yīng)用,本文可作為類似系統(tǒng)的應(yīng)用參考。

    [1] 張曉紅.自動售水機的研究與實現(xiàn)[D].東華理工大學碩士學位論文,2012.

    [2] 朱兆優(yōu),陳堅,王海濤,鄧文娟.單片機原理及應(yīng)用[M].電子工業(yè)出版,2010.9.

    [3] 吳滌,射頻IC卡讀寫系統(tǒng)設(shè)計[D].西南交通大學碩士學位論文,2005.

    [4] 陸永寧.IC卡應(yīng)用系統(tǒng)[M].南京:東南大學出版社,2005.5.

    TP273.5

    甘肅省高校科研項目資助2015B-126。

    猜你喜歡
    射頻卡IC卡刷卡
    工商業(yè)IC卡控制器改造為物聯(lián)網(wǎng)控制器實踐
    在用電梯加裝外接式IC卡運行控制系統(tǒng)設(shè)計改進
    一種新的無觸點IC卡的檢測方法
    電子測試(2017年15期)2017-12-18 07:19:05
    遠程農(nóng)用機井水電計量設(shè)備設(shè)計與研制
    一種改進的加密算法射頻卡讀寫系統(tǒng)設(shè)計
    刷卡
    基于MF—RC500射頻卡讀寫系統(tǒng)設(shè)計
    成長日記
    讀IC卡
    黨員文摘(2014年12期)2014-12-05 20:10:56
    刷臉就可以購物
    奧秘(2014年8期)2014-08-30 06:32:04
    台江县| 克东县| 肃北| 嵊泗县| 民丰县| 广宗县| 顺义区| 张家界市| 米易县| 宝兴县| 温州市| 五原县| 康马县| 宜宾县| 和林格尔县| 齐河县| 乌拉特前旗| 鄄城县| 理塘县| 沐川县| 东城区| 满洲里市| 邛崃市| 台北市| 海盐县| 高清| 东安县| 沙田区| 北川| 宿州市| 江安县| 靖州| 枣阳市| 诏安县| 庆城县| 房山区| 长治市| 麟游县| 且末县| 长武县| 鄂伦春自治旗|