姜 龍,李國進,陳潤設
(廣西大學 電氣與工程學院,廣西 南寧 530004)
RFID技術的應用,可以追溯到二戰時期。但由于技術和成本的原因,一直沒有得到很廣泛的應用。近年來,射頻識別技術得到了突飛猛進的發展。隨著大規模集成電路和網絡通訊等技術的發展,射頻識別技術進入到商業應用領域,開始從原來的低頻(125kHz)、高頻(13.56MHz)向超高頻(860~960MHz)和微波領域發展。由于其獨有的優勢,RFID技術顯示了巨大的發展潛力和應用空間,成為了新時期最有發展前途的信息技術之一。中國在低頻和高頻段,已經自主開發出了ISO14443TypeA、TypeB和ISO15693標準的RFID芯片,并且將此成功應用在城市公交一卡通和第二代居民身份證等重大項目中。但在超高頻和微波領域,我國起步比較晚,技術和相應的產品仍比較缺乏。在此背景下,本文對915MHz射頻讀卡器的設計做了一些研究。該系統可以應用到車輛監控、遙控、遙測、門禁系統、身份識別、非接觸RF智能卡、無線485/232數據通信、安全防火等領域。
如圖 1 所示,系統主要有 MCU(MC9S12×S128)、SI4432模塊、串口通信模塊、警示模塊和天線模塊組成。讀卡器輻射的高頻載波使進入天線市場范圍內的電子標簽從輻射的能量中獲得工作所需的電量,激活電子標簽。被激活的電子標簽將接收到的信號解調、譯碼,然后針對不同的命令控制邏輯電路做出相應的處理,最后提取出電子標簽的信息,經編碼、調制等處理后發送回讀卡器,讀卡器再對接收到的信息進行解調,解碼及其他處理,送到上位機以滿足用戶的相關需要。

圖1 系統設計框架
MCU模塊選用Freecale公司的單片機MC9S12×S128,單片機具有64~256kB嵌入式閃存,帶糾錯碼(ECC)功能,4~12kB的RAM,高達4~8kB的data-flash,片子上集成了ECC模塊、一個穿行外設接口SPI模塊、4路外部事件觸發中斷輸入端口等外圍接口,使得電路設計簡單、抗干擾能力強。通過SPI模塊配置SI4432寄存器,并完成數據通訊,設計方便靈活,占用的接口少。
SI4432是一款高集成度單晶片低功耗、多頻道的射頻收發器。在無需申請注冊的 315 MHz、433 MHz、868 MHz、915 MHz頻段設計應用,完全符合FCC(美國聯邦通信委員會)和ETSI(歐洲標準化委員會)認證的相關規定。芯片內部集成有高頻功率放大器、低噪聲放大器、I/Q轉換混頻器、基帶濾波器、放大器等所需要去RF功能模塊,外部僅僅需要一塊晶振和幾個退偶電容即可工作。其內部集成的全數字數據處理器極大地減少了MCU的負擔。集成的數字濾波、FIFO和TX數據寄存器、支持低功耗工作的喚醒定時器等,減少了設計的難度,同時也使設計的成本大大降低。
SI4432芯片的SDI(串行數據輸入)和SDO(串口數據輸出),IRQ(中斷產生),SCLK(串行時鐘輸入)是標準的 SPI接口。中斷使能以后,每當有數據包發送或接收、上電復位、或者檢測到同步字前導碼等情況時,IRQ管腳將會被拉低。告知MC9S12×S128有中斷產生,要求單片機處理中斷程序。SI4432的SDN管腳則是決定芯片工作與否的關鍵。當該管腳被拉低的時候,芯片處在工作狀態,為高電平的時候,芯片處在掉電模式,在該模式下芯片不允許訪問,所有寄存器的數據會丟失,芯片的功耗處在最低狀態。直到電平轉換才會進入到工作狀態。

圖2 SI4432接口電路設計
整個系統的軟件設計,采用模塊化的思想,把系統分為若干個主要的模塊,分別來設計軟件。主要包括系統的初始化、數據的發送和接收等模塊。初始化程序,主要有兩塊核心芯片MC9S12×S128 I/O端口定義、寄存器配置的初始化以及對SPI的初始化設置和SI4432的關于無線收發頻率、工作模式、發射速率等內部寄存器的初始化配置;數據發送程序,則主要是寫入數據并發送,并且根據協議規則在發送的數據包中加入前導碼、同步字、CRC校驗碼等,重新打包通過天線發送出去;數據接收程序,則要完成對數據的校驗和接收。
SI4432在上電之初,工作在默認的狀態,必須對相關的寄存器進行合理的設置,才能進行工作。芯片的內部決定工作模式的寄存器有70之多,這些寄存器的初始化,是一個復雜但十分重要的環節。寄存器的配置合適與否在很大程度上決定了通訊的效果。

圖3 數據發送流程圖
SI4432寄存器的初始化主要包括載波頻率、調制方式、數據發送速率、CRC校驗碼、前導碼、同步字、數據頭等。
NRF4432_WriteReg(HEADER_CONTROL_1,0x8c);
//數據頭文件
NRF4432_WriteReg (TRANSMIT_PACKET_LENGTH,NRF4432_TxRxBuf_Len);//發送數據包長度 32
NRF4432_WriteReg(NOMINAL_CARRIER_FREQUENCY_1,0x4b);//載波頻率
NRF4432_WriteReg(MODULATION_MODE_CONTROL_1,0x02);//調制控制方式設置
NRF4432_WriteReg(PREAMBLE_LENGTH,0x08); //前導數據長度
FIFO數據訪問命令
NRF4432_WriteBurestReg (FIFO_ACCESS,NRF4432_TxRxBuf,NRF4432_TxRxBuf_Len);
數據的發送使能
NRF4432_WriteReg (OPERATING_FUNCTION_CONTROL_1,0x09);
在接收數據的時候,芯片會自動識別前導碼、同步字等,不需要干預;
在接受數據前,我們必須先清理FIFO,也就是將FIFO復位
NRF4432_WriteReg (OPERATING_FUNCTION_CONTROL_2,NRF4432_ReadReg(OPERATING_FUNCTION_CONTROL_2)|0x02);
中斷時能
NRF4432_WriteReg(INTERRUPT_ENABLE_1,0x02);
讀取中斷狀態
if(NRF4432_ReadReg(INTERRUPT_STATUS_1)&0x02);
數據的接收使能
NRF4432_WriteReg(OPERATING_FUNCTION_CONTROL_1,0x05);
while(IRQ=0);
FIFO數據讀取
NRF4432_ReadBurestReg (uchar addr,uchar *p,uchar count);

圖4 數據接收流程圖
本文設計的射頻讀卡器選用直式小功率天線,實現了短距離通訊,具有很好的穩定性和通用性。控制器程序存儲單元為Flash存儲,因此可重復編程,升級和擴展方便,稍微做些改動,便可以應用到其他的通訊領域。通過串口通訊模塊系統,可以很方便的和PC機進行連接。如果對天線系統進行優化設計,通訊距離將會達到一個很理想的效果。
[1]Klaus Finkenzeller.射頻識別技術=RFID-handbuch;Grundlagen und praktische anwendungen induktiver funkanlagen,transponder und kontaktloser chipken[M].吳曉峰,陳大才譯.北京:電子工業出版社,2006.
[2]周曉光,王曉華,王偉.射頻識別(RFID)系統設計、仿真與應用[M].北京:人民郵電出版社,2008.
[3]慈新新,王蘇濱,王碩.無線射頻識別(RFID)系統技術與應用[M].北京:人民郵電出版社,2007.
[4]董麗華.RFID技術與應用[M].北京:電子工業出版社,2008.
[5]寧煥生,張 彥.RFID產品研發及生產關鍵技術[M].北京:電子工業出版社,2007.
[6]游戰清.無線射頻識別技術(RFID)理論與應用[M].北京:電子工業出版社,2004.