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