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