S3C6410和CR95HF的RFID讀卡系統(tǒng)解析
內容摘要:針對目前讀卡器主頻低、速度慢、便攜性差等不足,提出了一種基于S3C6410的RFID讀卡系統(tǒng)設計方案。本文以高性能的S3C6410嵌入式微處理器為核心,選用新型的CR95HF射頻芯片,開發(fā)設計了一款高主頻的搭載Android嵌入式系統(tǒng)的新型手持式RFID讀卡器。該讀卡器工作在高頻13.56 MHz,支持ISO14443、ISO15693等多種協議。實驗證明,該讀卡器能對符合協議的標簽進行讀寫操作,讀寫距離能夠滿足需要,具有便攜、穩(wěn)定性高、處理速度快等特點。
引言
射頻識別(RFID)是一種新興的通過射頻載波來發(fā)現目標和進行無線數據交換的識別與跟蹤技術。RFID與其他技術相比,具有識別速度快、抗干擾能力強、安全性高、非接觸等優(yōu)點。因此該技術已廣泛應用于門禁系統(tǒng)、物流配送、校園卡等多種日常生活,作力物聯網關鍵技術,未來的發(fā)展?jié)摿薮?。但是現有的讀卡器普遍存在主頻低、處理速度慢、便攜性差等缺點,難以滿足日益發(fā)展的使用需求。針對這些不足,本文基于高主頻、性能強悍的S3C6410嵌入式微處理器,選用新型的CR95HF射頻芯片,開發(fā)設計了一款工作在高頻13.56 MHz的手持式RFID讀卡器,同時創(chuàng)新性地搭載新興的Android嵌入式系統(tǒng),支持ISO14443、ISO15693等多種協議,處理速度快且準確度高。
1 系統(tǒng)結構與工作原理
本文設計的嵌入式RFID讀卡系統(tǒng)由微處理器、觸摸屏、電源、射頻、存儲、天線等組成。整體結構如圖1所示。
讀卡器要求處理速度快,能夠實時顯示信息,因而選用性能強悍、功耗極低的S3C6410嵌入式微處理器作為核心,其基于先進的ARM11內核,燒寫Android嵌入式系統(tǒng)。射頻芯片采用ST公司的新型非接觸芯片CR95HF,與微處理器之間通過串口進行通信。工作原理為:讀取標簽數據時,將標簽靠近讀卡器,觸摸屏操控端傳輸讀命令給S3C6410,其操控射頻模塊將該命令發(fā)送給標簽,標簽收到后將所需數據返還給讀卡器顯示;執(zhí)行寫入操作時,S3C6410收到觸摸屏寫命令后操控射頻模塊向標簽寫入數據。
2 系統(tǒng)硬件設計
2.1 微處理器外圍和電源電路設計
本設計采用三星公司的S3C6410嵌入式微處理器作為主控芯片,其主頻高達667 MHz,是一款基于ARM11內核的高性能RISC處理器。S3C 6410包括電源管理、串口、SPI、I2C總線、USB和I/O等多種硬件接口,具有性能強悍、處理速度快且功耗低等優(yōu)點,能滿足系統(tǒng)的設計需要。并行使用2片128M DDR芯片K4X1G163PC來實現256M的RAM電路。主控芯片利用串口和射頻模塊通信,并通過USB接口和上位機通信。
系統(tǒng)設計了5 V直流和3.7 V鋰電池兩種方式供電來滿足讀卡器手持需求,并用跳線帽選擇。鋰電池供電時讀卡器能手持使用。系統(tǒng)電源需要5 V和3.3 V兩種。3.7 V鋰電池通過升壓芯片轉化為5V,之后通過穩(wěn)壓芯片LM1117轉換為3.3 V給微處理器、射頻芯片供電。直流電源供電時通過LM1117就能完成供電。LM1117能支持接近1 A的大電流輸出,其電路如圖2所示。輸入為VCC5,輸出為VCC3.3.C1~C4為去耦電容,用于消除電源引腳自激,保持電源穩(wěn)定。
2.2 射頻電路及匹配網絡設計
本文設計的讀卡器射頻芯片采用CR95HF,其是ST公司具有SPI和串口的高頻13.56 MHz新型收發(fā)器芯片,支持ISO14443、ISO15693、ISO 18092等多種協議,主要用于RFID和NFC近場通信。射頻電路如圖3所示,CR95HF利用串口與微處理器通信,其串口引腳為UART_TX和UART_RX。將SSI_0、SSI_1接地置0來實現串口模式。上拉電阻R5、R6將電平鉗制在高電平,并起到限流保護作用。C2、C5為去耦電容。兩個TX和RX引腳連接匹配網絡和天線。
匹配網絡設計時首先通過0 Ω電阻和不焊的接地電容來構成低通濾波器抑制高次諧波,之后設計匹配電容。采用PCB矩形天線,由于其與匹配網絡等效電容構成13.56 MHz的LC諧振電路,從而可以得到電感參數進行天線設計。設計PCB時注意將電源線加寬并與射頻部分隔離,盡量縮短射頻電路之間的連線長度,并減少回路面積來防止PCB各線路的信號串擾和電磁干擾(EMI),提高制板的穩(wěn)定性。
2.3 觸摸屏與存儲電路
讀卡器采用4.3寸、分辨率為272×480的LCD液晶屏,能夠實現良好的界面顯示。屏幕為電阻觸摸屏,利用24條I/O口與微處理器通信來顯示信息。微處理器通過10條控制I/O口和屏幕相連來實現控制功能。
內核代碼、顯示數據、應用程序和讀取的標簽信息均需要存儲,因而讀卡器設計了FLASH和SD卡。FLASH選用K9G8G08U0A芯片,1GB容量,利用片選信號CSN2控制,用來存儲內核代碼與應用軟件。SD卡容量為8GB,和微處理器通過高速MMC接口相連,用來存儲顯示數據和標簽信息,其電路如圖4所示。時鐘引腳為MMC0_CLK,MMC0_CDN、MMC0_WPN、MMC0_CMD為控制引腳,用來控制SD卡讀寫。R17~R24為上拉電阻,MM C0_DATA0~MMC0_DATA3為數據通信引腳,用來傳輸讀寫數據。
3 系統(tǒng)軟件設計
3.1 嵌入式系統(tǒng)移植
本讀卡器移植嵌入式Android 2.3操作系統(tǒng)并開發(fā)RFID應用軟件。Android是谷歌公司推出的基于Linux內核的手機操作系統(tǒng),是一種真正開源且功能強大的嵌入式移動系統(tǒng),采用軟件堆層架構。嵌入式系統(tǒng)移植如圖5所示。PC機通過arm-linux-gcc交叉編澤工具構建開發(fā)環(huán)境,編譯Uboot生成燒入FLASH引導程序,編譯Linux內核生成Android所需的底層映像zImage,并裁減、編譯Android源碼生成根系統(tǒng)rootfs. yaffs2,將以上文件導入SD卡來實現系統(tǒng)的移植和燒寫。
3.2 讀卡器驅動設計
讀卡器軟件主要由底層驅動、數據處理及交互界面組成。微處理器和射頻芯片通過串口通信,串口驅動的開發(fā)使用Android NDK將Linux的C函數通過JNI接口生成相應的.so動態(tài)鏈接庫供Java語言開發(fā)的安卓軟件使用。由于數據采用十六進制傳輸,因而串口通信需要配置為原始數據輸入/輸出。為提高通信速率,本文采用高速波特率921 600 b/s,并通過奇偶校驗有效降低了誤碼率,修改寄存器實現了8數據位的傳輸,較傳統(tǒng)7數據位速率提升1/8,主要C代碼如下:
CR95HF支持ISO14443、ISO15693等無線協議,根據協議標準調用串口函數和延時函數并加載數據來實現射頻驅動。射頻指令格式如圖6所示。
由不同的CMD命令來選擇不同協議,協議命令參見表1。
3.3 數據處理
讀卡器需具有尋卡、防沖突和讀寫卡等功能。設置串口波特率和選擇協議,防沖突來判斷附近存在一張還是多張標簽卡。根據所選CMD及返回結果對數據處理來實現讀卡器和標簽的無線通信,其處理流程如圖7所示。
尋卡、防沖突后選擇地址進行讀寫卡,每地址可存儲32位數據,默認為ISO15693協議。由于原始數據輸入/輸出,因而收到信息后通過函數ByteArrToHex(byte[])轉換為Hex字符串。
搜尋到標簽卡后,卡的惟一標識符UID數據必須在Android讀卡器軟件里全局通用才能讓讀卡界面和寫卡界面共同來操控該數據。
由于各個Activity界面數據均獨立,而用傳統(tǒng)的Intent類在多個界面間傳輸同一組數據操作繁瑣且易發(fā)生數據沖突,本文通過ApplICat ion類對接收到的標簽卡信息存入數組RcvBuffer實現了全局共享。實現全局共享Java程序如下:
3.4 人機交互界面軟件設計
Android界面開發(fā)通過XML布局文件和Java程序混合實現。設計時,在AndroiDMAnifest.xml文件中注冊所需界面并通過網格視圖Grid View來實現主界面的圖片按鈕顯示。主界面包括設置、尋卡、讀卡、寫卡等功能按鈕,選擇后會通過Intent類調用相應的子界面組件Activ ity,其通過setContentView()函數來啟動相應的XML。
4 系統(tǒng)測試
所開發(fā)的讀卡器實物如圖8所示,左側為主體,右側為天線。將RFID軟件下載到讀卡器后的測試結果如圖9、圖10所示。圖9為選用4張支持ISO15693協議的標簽放到讀卡器附近時的尋卡結果,每個標簽對應唯一的UID標識符,可見讀卡器尋到了附近的所有標簽。圖10為讀卡測試結果,選擇UID和輸入地址時能夠成功讀取到該地址的標簽數據“AA1107FF”??梢娮x卡系統(tǒng)能夠成功地與標簽無線通信。
對讀卡器尋卡和讀寫卡各測試了400次,只有1次發(fā)生數據丟失,表明讀卡器穩(wěn)定性非常高。經測試,無障礙物遮擋時讀卡器讀寫距離至少為6.4 cm,有木板、書、皮革等障礙物時讀寫距離至少為5 cm,可見識別距離能夠滿足需要。同時對ISO14443協議的標簽測試也表明讀卡器可以對其穩(wěn)定讀寫。
結語
本文詳細介紹了基于S3C6410和CR95HF的新型嵌入式RFID讀卡系統(tǒng)解決方案。該讀卡器工作在13.56MHz的高頻頻段并支持多種協議。經測試,該讀卡器能對符合協議的標簽進行穩(wěn)定的讀寫,具有便攜、性能強悍、功耗低等特點。本設計應用范圍廣,可用于航空物流行業(yè)等要求便攜性強且處理速度快的場合。