非接觸式IC卡讀寫模塊PicoRead RF的設(shè)計(jì)與研究
目前廣泛使用的非接觸讀卡芯片主要是Philips公司的RC500,RC531和RC632,以及TI公司的部分非接觸讀卡芯片,但是由于這些芯片功能不強(qiáng),具有較大的偏向性。文中介紹了Inside Contactless公司推出的PicoRead RF芯片較好地解決了上述問題。在介紹PicoRead RF芯片的特點(diǎn)、工作原理和內(nèi)部結(jié)構(gòu)的基礎(chǔ)上,對軟件實(shí)現(xiàn)的流程進(jìn)行了詳細(xì)說明。
1 PicoRead RF的特點(diǎn)
PicoRead RF芯片為一款標(biāo)準(zhǔn)的13.56 MHz非接觸讀卡芯片,采用該芯片設(shè)計(jì)的非接觸讀卡器滿足ISO14443,ISO15693,Sony Felica等協(xié)議,它支持非接觸卡片(或者非接觸標(biāo)簽)發(fā)送數(shù)據(jù)和能量,并從非接觸卡片(或者非接觸標(biāo)簽)中獲取相關(guān)數(shù)據(jù)。
PicoRead RF芯片可支持ISO15693規(guī)范,ISO14443 TypeA,TrypeB規(guī)范,Sony Felica協(xié)議,以及其他的傳輸速度為26~848 kB/s的非接觸協(xié)議;并支持?jǐn)?shù)據(jù)和能量的非接觸傳輸;支持SPI協(xié)議和并口傳輸協(xié)議;其操作距離可達(dá)10 cm,并具有卡檢測和感應(yīng)區(qū)載波信號檢測機(jī)制,實(shí)行1 Byte-2級FIFO管理,非常適用于NFC手機(jī)之類的應(yīng)用場合,以及PayPass讀卡器的設(shè)計(jì)。
2 PiCORead RF的硬件設(shè)計(jì)與工作原理
非接觸IC卡與讀卡器之間數(shù)據(jù)傳輸?shù)倪^程和原理如下:當(dāng)卡片在一定距離靠近讀卡器表面時(shí),非接觸性IC卡與讀卡器之間通過無線電波來完成讀寫操作。非接觸IC卡本身是無源卡,當(dāng)讀卡器對卡進(jìn)行讀寫操作時(shí),讀卡器發(fā)出兩部分信號:一部分是電源信號,該信號由卡接收后,與本身的器件一起產(chǎn)生瞬間能量來供給芯片工作;另一部分則是指令和數(shù)據(jù)信號,指揮芯片完成數(shù)據(jù)的讀取、修改、儲存等,并返回信號給讀卡器完成一次讀寫操作。
文中所設(shè)計(jì)的IC卡讀卡器由微控制器(MCU)、射頻發(fā)射和接收處理單元、接口電路、時(shí)鐘電路、液晶顯示(LCD)模塊、時(shí)鐘以及存儲器組成。本設(shè)計(jì)采用PicoRead RF芯片作為讀卡器中的射頻發(fā)射和接收處理單元讀寫芯片。結(jié)構(gòu)如圖1所示。
讀卡器中的微控制器為主控制單元。PicoReadRF芯片作為讀卡器中的射頻發(fā)射和接收處理單元讀寫芯片。它是微控制器與非接觸式IC卡之間的“橋梁”,它一方面可以將微控制器發(fā)送給IC卡的指令和數(shù)據(jù)調(diào)制在13.56 MHz的振蕩信號上,通過高頻天線發(fā)射出去;另一方面接收來自IC卡的應(yīng)答信息,并將其解調(diào)成數(shù)字信號傳給微控制器,實(shí)現(xiàn)微控制器與IC卡之間的雙向通信。
接口電路是微控制器與PC機(jī)之間的通信“橋梁”,可以實(shí)現(xiàn)讀卡器和PC機(jī)之間的串行或并行通信。時(shí)鐘電路為系統(tǒng)提供實(shí)時(shí)時(shí)鐘,液晶顯示模塊平時(shí)顯示時(shí)間,讀卡時(shí)顯示所讀到的內(nèi)容。上述幾個(gè)模塊以邏輯設(shè)計(jì)配合,通過程序控制完成對非接觸式IC卡的讀寫。
3 PiCORead RF的軟件設(shè)計(jì)
PicoRead RF應(yīng)用于非接觸支付環(huán)境時(shí),大致的控制流程,如圖3所示。
PicoRead RF的軟件設(shè)計(jì)和指令控制分以下3個(gè)階段:
(1)寄存器構(gòu)造階段(Configuration Mode),主要完成系統(tǒng)的初始化。當(dāng)卡片靠近讀卡器表面時(shí),讀卡器發(fā)出電源信號,并產(chǎn)生能量供給芯片工作,此時(shí)芯片進(jìn)入寄存器構(gòu)造階段:主要完成芯片復(fù)位、初始化以及本次交易所使用非接觸協(xié)議的相關(guān)參數(shù)配置,以實(shí)現(xiàn)對應(yīng)的非接觸通信協(xié)議。相應(yīng)參數(shù)設(shè)置成功后,讀卡器的液晶屏?xí)@示“系統(tǒng)初始化成功”。
(2)數(shù)據(jù)發(fā)送階段(Emission),當(dāng)成功進(jìn)行初始化之后,讀卡器識別出在作用范圍內(nèi)有IC卡的存在,通過微控制器發(fā)出控制指令,將芯片設(shè)置為數(shù)據(jù)發(fā)送模式,并檢測FIFO數(shù)據(jù)緩存器的狀態(tài),從而保證數(shù)據(jù)可以順序讀入和讀出。接下來就可以進(jìn)行數(shù)據(jù)的發(fā)送,發(fā)送完畢后,微控制器會發(fā)出指令判斷是否有多余數(shù)據(jù),若有,則重復(fù)上述操作,繼續(xù)傳輸,若無,則進(jìn)入數(shù)據(jù)接收階段。在數(shù)據(jù)發(fā)送階段,除完成幀數(shù)據(jù)的發(fā)送以外,還需對相關(guān)奇偶位、CRC校驗(yàn)值進(jìn)行配置。
(3)數(shù)據(jù)接收階段(Reception),微控制器發(fā)出控制指令,將芯片設(shè)置為數(shù)據(jù)接收模式,并指揮芯片完成數(shù)據(jù)的接收,接收完畢,返回信號給讀卡器完成一次讀寫操作。若未接受完畢,則返回初始狀態(tài)重新上述操作。數(shù)據(jù)接收階段除完成幀數(shù)據(jù)的接收以外,還會進(jìn)行奇偶校驗(yàn)和CRC校驗(yàn)。
4 結(jié)束語
對PicoRead RF的特點(diǎn)和應(yīng)用進(jìn)行了描述,并就如何在硬件和軟件上實(shí)現(xiàn)PicoRead RF的非接觸應(yīng)用做了介紹。Inside Contactless公司推出的這款非接觸芯片性能穩(wěn)定、支持的非接觸協(xié)議多,同時(shí)較其他的非接觸芯片在價(jià)格上有一定的優(yōu)勢,因此在設(shè)計(jì)非接觸讀卡設(shè)備(NFC手機(jī)、PayPass讀卡器等)時(shí)是一種較好的選擇。