RFID技術的電子市民卡系統(tǒng)設計與實現(xiàn)
基于RFID 技術的市民卡是一張集身份證、社保卡、醫(yī)療卡、公交卡、銀行卡等于一身的綜合卡. 小到坐公交、交水電費,大到辦理社會保險、衛(wèi)生醫(yī)療、公積金等,市民帶上一張卡就都可以刷卡辦理日常事務. 自2001 年北京市率先提出“市民卡”概念后,這種“一卡多用”的城市IC 卡帶來的方便快捷立刻得到了全國多個城市的響應和關注. 2008 年6 月起,煙臺、寧波和揚州三城市市民卡正式發(fā)行. 此外,上海、無錫、哈爾濱、福州、武漢等各城市也紛紛開始嘗試. 對市民而言,市民卡能夠方便快捷地辦理個人相關事務,享受各類公共服務和便民服務;對政府而言,通過市民卡項目,可以實現(xiàn)政府部門信息資源共享和協(xié)同服務,能為政府制定公共政策提供數(shù)字依據(jù),為執(zhí)行政府公共政策提供業(yè)務、技術支持,并推動電子政務建設,以提高政府效能;對社會而言,市民卡作為數(shù)字城市的基礎,可以為社會各機構提供支付清算、客戶關系管理以及信用評價等服務,推動電子商務建設,提高了社會的整體效率. 隨著物聯(lián)網(wǎng)的興起將加速城市數(shù)字化的進程,基于RFID 的電子市民卡就是城市數(shù)字化的重要組成部分.
1 RFID 電子市民卡系統(tǒng)設計理論
RFID 的應用系統(tǒng)主要由讀寫器和RFID 卡2 部分組成,如圖1 所示.
讀寫器一般作為計算機終端,用來實對RFID卡的數(shù)據(jù)讀寫和存儲,它是由控制單元、高頻通訊模塊和天線組成;而RFID 卡則是一種無源的應答器,主要是由一塊集成電路芯片及其外接天線組成.RFID應用系統(tǒng)的基本工作原理是RFID卡進入讀寫器的射頻場后,由其天線獲得的感應電流經(jīng)升壓電路作為芯片的電源,同時將帶信息的感應電流通過射頻前端電路檢測,獲得數(shù)字信號送入邏輯控制電路進行信息處理;所需回復的信息則從存儲器中獲取經(jīng)由邏輯控制電路送回射頻前端電路,最后通過天線發(fā)回給讀寫器.
2 電子市民卡系統(tǒng)硬件設計與實現(xiàn)
2.1 電子市民卡系統(tǒng)總體方案
本系統(tǒng)組成包括總控PC 上位機、RS232 通信傳輸、身份識別終端、模擬公交收費終端、模擬電子病歷終端、模擬物業(yè)終端等. 整個系統(tǒng)由PC 上位機通過RS232 串行通信與各終端模塊控制器完成監(jiān)控、數(shù)據(jù)的設置和處理等操作. 其中身份識別終端包括控制器、打卡器、射頻卡、電源、顯示五部分,控制器控制打卡器對射頻卡進行讀寫,然后與PC 串行通信,把數(shù)據(jù)傳給上位機,完成讀寫卡的操作,并實時顯示讀寫卡的相關信息. 電子市民卡總體方案如圖2 所示.
圖2 電子市民卡總體方案
2.2 電子市民卡系統(tǒng)設計與實現(xiàn)
2.2.1 RFID 單元電路
射頻單元由調(diào)制解調(diào)電路、EMC 低通濾波電路、發(fā)射接收電路以及天線4 部分組成. 其中調(diào)制解調(diào)電路以MFRC500 為核心,根據(jù)MFRC500 管腳功能,結合時鐘的穩(wěn)定性是實現(xiàn)正確操作的重要因素.要獲得最佳的性能,時鐘的抖動盡可能小. 因此,使用13.56 MHz 的晶振,其電路連接如圖3 所示.系統(tǒng)在13.56 MHz 頻率下操作,不僅會產(chǎn)生13.56 MHz的發(fā)射功率而且會發(fā)射更高的諧波. 為了克服這個問題,在MFRC500 使用內(nèi)部產(chǎn)生的VMID 電勢作為RX腳的輸入電勢. 為了提供一個穩(wěn)定的參考電壓,必須在VMID腳接一個對地的電容C9. 讀卡器的接收部分需要在RX 和VMID 腳之間連接一個分壓器. 此外,在天線線圈和分壓器之間使用一個串接的電容.
2.2.2 射頻發(fā)射天線
系統(tǒng)采用直接匹配的PCB環(huán)形天線,如圖4所示,最大工作距離可到100 mm. 根據(jù)磁場強度有“(1)式”中:μ0為磁場常數(shù),即真空的磁導率;N 為天線線圈匝數(shù),I 為線圈中的電流強度;磁通量密度與X3 成反比,當X 增大時迅速減小. 為了獲得最大功率傳輸,天線后的芯片輸入阻抗必須與天線輸出阻抗匹配,其天線電感量為“(2)式”中:L 為一圈導線的長度,cm;D1 導線的直徑,cm;K 為天線的形狀系數(shù)(圓環(huán)狀時,K =1.07 ,矩形時,K =1.47 ); ln 為自然對數(shù).線線圈匝數(shù)。


(1)式 (2)式
2.2.3 單片機控制系統(tǒng)電路
本系統(tǒng)采用STC89C 系列的STC89C52 作為主控芯片. STC 單片機完全兼容傳統(tǒng)51 內(nèi)核,因此使用的編譯器和指令代碼都和傳統(tǒng)51單片機相同. 根據(jù)本系統(tǒng)的實際運用要求,參考STC 單片機官方數(shù)據(jù)手冊上的應用指南,設計單片機系統(tǒng)電路如圖5 所示.
在圖5 中,有源晶振為單片機提供22.118 4 MHz,0~5 V 幅度的高精度時鐘,時鐘的頻率精度可以到達10-7 級別,頻率的穩(wěn)定性可以到達10×10-6/℃. 根據(jù)STC 單片機數(shù)據(jù)手冊約定,外部有源時鐘應從XTAL1腳輸入,XTAL2 必須保持浮空. 10 μF 的電解電容和10 kΩ 的電阻構成微分電路,在系統(tǒng)上電的瞬間,為單片機RESET 腳提供約2 ms 的高電平脈沖,使單片機上電后立即可靠復位.
3 系統(tǒng)軟件設計與實現(xiàn)
3.1 下位機系統(tǒng)軟件
根據(jù)市民卡的應用要求,當有射頻卡進入距離射頻天線100 mm 內(nèi)時,讀卡器就可以讀到卡中的數(shù)據(jù).讀卡器讀到射頻卡中的數(shù)據(jù)后,系統(tǒng)單片機要將所讀數(shù)據(jù)進行分析處理,如果符合條件,則讀卡成功指示燈閃一下,蜂鳴器鳴叫一聲. 并將卡片數(shù)據(jù)與當前時間一起存入單片機內(nèi)的EEPROM,并顯示卡數(shù)據(jù). 沒有卡進入讀卡器工作范圍時,顯示當前時間. 若讀卡出錯,顯示出錯標志. 在與上位機通訊時,將單片機內(nèi)部EE2PROM 存入的信息發(fā)往上位機,軟件流程如圖6 所示. 除了復位以外,對MFRC500 的絕大多數(shù)控制是通過讀MFRC500 的寄存器來實現(xiàn)的.MFRC500 共有64 個寄存器,分為8 個寄存器頁,每頁8 個,每個寄存器都是8 位.
單片機將這些寄存器通過總線的方式進行操作,要實現(xiàn)某個操作,只需將該操作對應的代碼寫入對應的地址位即可. MFRC500 對卡的操作主要是通過寫通訊命令、參數(shù)和數(shù)據(jù)到FIFODATA,在通過寫命令到COMMAND,實現(xiàn)與RFID 卡的通訊.
3.2 上位機主程序設計
上位機系統(tǒng)采用面向?qū)ο蟮腄elphi 軟件進行開發(fā). Delphi 軟件是一個以面向?qū)ο蟪绦蛟O計為中心的應用程序開發(fā)工具[9]. 本軟件可對PC機串行口進行方便、靈活的操作,實現(xiàn)射頻卡信息的讀取、寫入、加密、控制等操作. 本系統(tǒng)在上位機與終端控制器之間、讀卡器與射頻卡之間傳輸數(shù)據(jù)時采用AES 加密算法,從而保障了持卡人個人信息數(shù)據(jù)的安全. 整個系統(tǒng)上位機界面包括參數(shù)設置界面、身份識別界面、電子支付管理界面、電子病歷界面、密碼管理界面,其中部分界面如圖7、8 所示.
4 結束語
在簡介非接觸IC 卡(RFID)技術的發(fā)展與現(xiàn)狀基礎上,以STC89C52 單片機為控制核心,應用RS232串口通信原理,提出了采用MFRC500 為調(diào)制解調(diào)核心的電子市民卡系統(tǒng)的設計. 對身份識別終端,對公交支付終端、電子病歷終端、物業(yè)支付終端進行了終端模擬實現(xiàn). 由于設計研制了上位機控制系統(tǒng),從而使本系統(tǒng)操作更簡便\直觀,更具有實用性。