基于ZigBee技術(shù)的二代身份證讀卡器設(shè)計
摘要:針對通用RFID讀卡器攜帶不便、布線困難、防偽性能差的問題,結(jié)合第二代居民身份證具有全球唯一序列號的特點(diǎn),利用太陽能供電,提出了一種基于ZigBee技術(shù)的新型二代身份證閱讀器設(shè)計方案,從硬件和軟件兩方面闡述了其設(shè)計過程。新型二代證閱讀器無需外供電源且采用無線通信,特別適用于環(huán)境復(fù)雜、讀卡點(diǎn)多的系統(tǒng)中。
關(guān)鍵詞:ZigBee;二代身份證;讀卡器;自供電;CC2420
網(wǎng)絡(luò)化RFID讀卡系統(tǒng)在機(jī)關(guān)、賓館、學(xué)校等企事業(yè)單位得到越來越廣泛的應(yīng)用,但傳統(tǒng)讀卡器提供RS232/485、USB、以太網(wǎng)等通信接口,存在攜帶不便、布線因難、功耗大、成本高等缺點(diǎn),無法應(yīng)對無法布線、供電不便、距離遠(yuǎn)等復(fù)雜的現(xiàn)場環(huán)境。同時,隨著身份證換發(fā)工作的開展,我國絕大部分地區(qū)居民已全面使用第二代居民身份證(以下簡稱為二代證),這種新型身份證采用符合ISO14443 TypeB國際標(biāo)準(zhǔn)的非接觸式IC卡技術(shù),存入了公民身份證號碼、照片等個人信息,并具有全球唯一的序列號。讀取二代證序列號,無需專用的身份證安全控制模塊。因此,一方面,利用二代身份證代替只讀卡可降低成本,防止偽造,提高了只讀卡系統(tǒng)的安全性能;另一方面,利用無線網(wǎng)絡(luò)實(shí)現(xiàn)讀卡信息的傳遞,可避免繁重的布線工作,適應(yīng)復(fù)雜的應(yīng)用環(huán)境。設(shè)計具有以上功能的新型二代證讀卡器具有廣闊的應(yīng)用前景。
1 系統(tǒng)硬件設(shè)計
ZigBee網(wǎng)絡(luò)中的節(jié)點(diǎn)大致分為2類:
①傳感器節(jié)點(diǎn),作用是采集周邊環(huán)境數(shù)據(jù),進(jìn)行相應(yīng)的存儲及處理,并通過短距離無線通信將數(shù)據(jù)發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn),同時每個節(jié)點(diǎn)都是一個路由器,具有自組網(wǎng)的能力。
②匯聚節(jié)點(diǎn),作用是充當(dāng)網(wǎng)關(guān),連接傳感器網(wǎng)絡(luò)和其他外部網(wǎng)絡(luò)。
本設(shè)計屬于第二種傳感器節(jié)點(diǎn)。如圖1所示,硬件系統(tǒng)由二代證讀卡模塊、無線通信模塊、數(shù)據(jù)存儲模塊、電源模塊及主控MCU(ATmega12 8L)等部分構(gòu)成。人機(jī)界面模塊包括LCD、蜂鳴器與按鍵等,向用戶提供參數(shù)設(shè)置、讀卡信息反饋、聲音提示等交互功能。二代證讀卡模塊接收MCU指令,閱讀身份證ID并返回。ZigBee通信模塊實(shí)現(xiàn)讀卡信息的發(fā)送、控制指令接收、數(shù)據(jù)更新等功能。數(shù)據(jù)存儲模塊保存最近一段時間內(nèi)的所有讀卡信息,以保證讀信息的完整性與可靠性。電源模塊具有自發(fā)電功能,無需外部供電,可向系統(tǒng)提供持久工作電壓。
1.1 二代證讀卡電路
讀卡電路選用MF RC531作為射頻基站芯片,它是NXP公司生產(chǎn)的應(yīng)用于13.56 MHz非接觸式通信的高集成IC讀寫芯片系列中的一員。MF RC531射頻芯片提供了兩種通信方式:并行模式與SPI模式。為節(jié)省主控MCU引腳數(shù)量,設(shè)計中選用SPI方式。如圖2所示,主控MCU ATmegal28L與射頻芯片MF RC531通過SPI接口連接,在SP|通信中,ATmegal28L為SPI主機(jī),控制SPI從機(jī)MF RC531完成數(shù)據(jù)傳輸過程。數(shù)據(jù)通信由SPI主機(jī)發(fā)起,它首先使NSS引腳輸出低電平以選中SPI從機(jī),然后通過SCLK引腳向從機(jī)A2端口發(fā)送8個時鐘信號。在時鐘信號的控制下,SPI主機(jī)中8位移位寄存器的數(shù)據(jù)依次串行從MOSI引腳送出,經(jīng)過SPI從機(jī)A0引腳進(jìn)入其移位寄存器,同時從機(jī)寄存器數(shù)據(jù)也通過DO引腳送入主機(jī)的移位寄存器中。由于通信雙方SPI模塊中移位寄存器均為8位,所以每次通信只能相互傳送8位數(shù)據(jù)。在不傳輸數(shù)據(jù)時,SPI主機(jī)NSS引腳輸出高電平,使雙方的SPI模塊處于空閑狀態(tài)。此外,選用SPI通信方式,還須將MF RC531芯片A1引腳接低電平,NRD和NWR引腳接高電平,D7~D1引腳懸空。
1.2 無線通信電路
無線通信電路是讀卡器中重要的組成部分,承擔(dān)了無線網(wǎng)絡(luò)各節(jié)點(diǎn)之間、節(jié)點(diǎn)與網(wǎng)關(guān)之間的數(shù)據(jù)交換任務(wù),本設(shè)計無線射頻芯片選用Chipcon公司生產(chǎn)的CC2420。CC2420是一款符合IEEE 802.15.4規(guī)范的2.4 GHz射頻收發(fā)器,它基于Chipcon公司的SmartRF03技術(shù),以O(shè).18 μm CMOS工藝制成,數(shù)據(jù)傳輸速率達(dá)250 kbps,外圍元件極少,性能穩(wěn)定且功耗極低,其供電壓可低至2.1 V,適合于電池供電。
如圖3所示,它的外圍電路包括晶振時鐘電路、射頻輸入/輸出匹配電路和微控制器接口電路三個部分。芯片本振信號既可由外部有源晶體提供,也可由內(nèi)部電路提供。由內(nèi)部電路提供時需外加晶體振蕩器和兩個負(fù)載電容。電容的大小取決于晶體的頻率及輸入容抗等參數(shù),當(dāng)采用16 MHz晶振時其電容值約為22 pF。射頻輸入/輸出匹配電路主要用來匹配芯片的輸入/輸出阻抗,使其輸入/輸出阻抗為50 Ω,同時為芯片內(nèi)部的PA及LNA提供直流偏置。MCU通過4線SPI總線(SI、SO、CSn、SCLK)設(shè)置芯片的工作模式并實(shí)現(xiàn)讀/寫緩存數(shù)據(jù)、讀/寫狀態(tài)寄存器等。CC2420使用SFD、FIFI、FIFOP和CCA等4個引腳向MCU反映收發(fā)數(shù)據(jù)的狀態(tài)。
1.3 電源電路
設(shè)計中考慮到應(yīng)對各種復(fù)雜的應(yīng)用場合,采用以太陽能為能源,以雙電層超級電容器與鋰電池為儲能設(shè)備構(gòu)成自供電裝置,提供讀卡器工作電壓。如圖4所示,圖中主要電源器件型號與參數(shù)分別為:太陽能電池6 V/350 mA;超級電容180 F/2.7V,2只串聯(lián)雙電層電容器;鋰電池3.7 V/3300 mA;穩(wěn)壓電路寬電壓升降壓DC/DC OUT 3.3V/200 mA。太陽能電池在光照作用下,產(chǎn)生約6 V的開路電壓和350 mA的短路電流,對鋰電池、超級電容充電,并向讀卡器工作提供能量。上述器件的選取基于以下原因:
①讀卡器設(shè)計工作電壓為3.3 V,讀卡時瞬間工作電流約100 mA,持續(xù)時間<1 s。突發(fā)連續(xù)讀卡次數(shù)<800次。
②太陽能電池具有綠色環(huán)保的優(yōu)點(diǎn),它將光能轉(zhuǎn)化電能儲存在超級電容與鋰電池中,同時向讀卡器提供工作電壓,是主供電設(shè)備。
③超級電容具有充放電次數(shù)多(>50 000次)、瞬間放電電流大(>1 A)、充電速度快等優(yōu)點(diǎn),與讀卡動作發(fā)生情況極為相似,是次供電設(shè)備。
④鋰電池具有持續(xù)供電時間長、充電時間長、充電次數(shù)較少(<1000次)等特點(diǎn),用以應(yīng)對太陽光線不足、持續(xù)讀卡次數(shù)多的特殊情況,是后備供電設(shè)備。
無太陽電池供電儲能設(shè)備初始滿電荷時,檢測其讀卡情況如圖5所示。
讀卡測試結(jié)果表明,在持續(xù)陰雨或太陽能電池?fù)p壞的極端情況下,依靠超級電容和鋰電池可穩(wěn)定支持突發(fā)式連續(xù)讀卡達(dá)1000次以上,超出設(shè)計目標(biāo)。
2 系統(tǒng)軟件設(shè)計
軟件系統(tǒng)在WinAVR、AVR Studio 4開發(fā)平臺下,基于結(jié)構(gòu)化程序設(shè)計方法,采用C語言編制而成,主要包括二代證閱讀電路的驅(qū)動程序與無線通信程序兩部分。
如圖6所示,讀卡器在上電復(fù)位后,首先完成ATmegal28L及其外圍功能模塊的初始化,其任務(wù)主要是:設(shè)置TIMER0定時模塊用于周期性檢測卡是否存在;設(shè)置TMERl定時模塊用于紅外測卡的回波計時;配置MF RC531讀卡模塊,配置CC2420無線通信模塊及看門狗等。初始化完成后主程序接著調(diào)用無線網(wǎng)絡(luò)掃描子程序嘗試加入網(wǎng)絡(luò),若加入成功,則向協(xié)調(diào)器發(fā)送自己的網(wǎng)絡(luò)號,發(fā)送結(jié)束后啟動TIMER0定時并進(jìn)入低功耗模式。
當(dāng)TIMER0定時器時間到,主程序則啟動TIMERl進(jìn)行卡探測,若卡存在,則調(diào)用讀卡子程序讀出二代證ID發(fā)送到協(xié)調(diào)器。最后,主程序重新啟動TIMER0定時器并進(jìn)入低功耗模式。
二代證中的非接觸式IC卡遵循IS014443 B規(guī)范,因此初始化過程中要嚴(yán)格按照其流程對MF RC531的相關(guān)寄存器進(jìn)行設(shè)置。讀卡時,MFRC5 31驅(qū)動天線產(chǎn)生13.56 MHz高頻磁場,循環(huán)發(fā)送REQB命令“0x05 0x000x00”,對二代證進(jìn)行詢卡操作。當(dāng)二代證距離天線小于10 cm時,二代證內(nèi)部的線圈接收到讀卡模塊天線發(fā)出的磁場信號,轉(zhuǎn)換成電能對二代證內(nèi)部IC進(jìn)行供電。當(dāng)二代證內(nèi)部IC接收到讀卡模塊發(fā)送的REQB命令后,向讀卡模塊返回12個字節(jié)的卡類型代碼。詢卡成功后,讀卡模塊發(fā)送SELECT命令“0xld 0x00 0x00 Ox00 0x00 0x000x08 0x01 0x08”,對二代證進(jìn)行選卡操作,此時二代證會返回狀態(tài)碼。最后讀卡模塊發(fā)送GUID命令“0x00 Ox360x00 0x00 0x08”,讀取二代證的8字節(jié)的全球唯一ID。
無線通信程序基于ZigBee協(xié)議棧實(shí)現(xiàn),主要實(shí)現(xiàn)節(jié)點(diǎn)組網(wǎng)、數(shù)據(jù)傳輸和數(shù)據(jù)安全。其中,網(wǎng)絡(luò)配置與調(diào)試采用Chipcon公司提供的開發(fā)套件,該套件包括各種高性能的ZigBee軟件工具,如網(wǎng)絡(luò)設(shè)置器、協(xié)議追蹤調(diào)試工具等,極大提高了開發(fā)效率。
結(jié)語
本設(shè)計基于ZigBee技術(shù),選用ATmegal28L、MFRC531及CC2420等低功耗器件開發(fā)了一種只讀卡終端設(shè)備。設(shè)計中利用我國第二代居民身份證內(nèi)嵌RFID的特點(diǎn),明顯改善了只讀卡系統(tǒng)的防偽性能;利用太陽能電池、超級電容及鋰電池優(yōu)化組合,實(shí)現(xiàn)了讀卡設(shè)備的自供電,節(jié)能環(huán)保;利用新型無線通信技術(shù)實(shí)現(xiàn)讀卡數(shù)據(jù)的傳輸,無需布線,成本低,安裝方便。相對目前市場銷售的只讀卡系統(tǒng)存在的供電與數(shù)據(jù)通信需雙布線、成本高、防偽性能差的情況,具有明顯的替代優(yōu)勢。本設(shè)計已成功應(yīng)用于某多廠區(qū)企業(yè)員工考勤系統(tǒng)中,工作穩(wěn)定可靠,在賓館、機(jī)關(guān)、學(xué)校等企事業(yè)單位,具有良好的應(yīng)用前景。