基于S3C6410的航空用RFID讀卡器設(shè)計方案
SPI總線是一種高速全雙工同步的通信總線,它使用4條線:MISO 、MOSI、SCLK 、CS.其主要特點有:同時發(fā)出和接收串行數(shù)據(jù);可當(dāng)主機或從機工作;提供頻率可編程時鐘;發(fā)送結(jié)束中斷標志;寫沖突保護;總線競爭保護等。
RC632總共有32個管腳,其中管腳22、23、24是寄存器的地址線,管腳13到管腳20是8位并口。當(dāng)采用SPI方式通信時,管腳13即數(shù)據(jù)位D0為MISO,管腳22即地址線A0為MOSI,管腳24即地址線A2為CLK,D1到D7則不需要連接。此外,必須把A1與NCS置底電平,NRD與NWR置高電平。
RC632與天線之間通過3個管腳DTX1、DTX2與DRX進行通信,它會把調(diào)制好的13.56MHz的能量載波通過管腳DTX1、DTX2傳輸?shù)教炀€,而天線則通過管腳DRX把13.56MHz的能量載波傳輸回RC632.一般采用2種方法將天線連接到RC632:直接匹配天線和50Ω匹配天線,本系統(tǒng)采用直接匹配的方式將RC632與天線連接,其包括了EMC低通濾波器、天線匹配電路與接收電路。
系統(tǒng)采用PCB環(huán)形天線,它的EMC低通濾波器用于濾除高頻電磁波,天線匹配電路與天線進行阻抗匹配,以獲得最大的功率傳輸,增大讀卡距離,同時避免阻抗失配可能對電路造成的損害。經(jīng)實測,天線的可操作距離為5~10cm.
讀卡器的軟件設(shè)計
讀卡器的操作系統(tǒng)采用較穩(wěn)定的Linux-2.6.30內(nèi)核,文件系統(tǒng)為yaffs文件系統(tǒng)。軟件分為2大部分:第一部分為QT程序,主要的功能是接受用戶指令與顯示圖形界面;第二部分為射頻驅(qū)動程序,它負責(zé)對RC632的寄存器進行操作,實現(xiàn)具體的射頻功能。在編寫射頻讀卡的QT應(yīng)用程序之后,需把它整合到y(tǒng)affs文件系統(tǒng)中。此外,還需裁剪linux內(nèi)核,把驅(qū)動配置到內(nèi)核配置單中。
13.56MHz的RFID的典型協(xié)議有ISO-14443協(xié)議和ISO-15693協(xié)議。其中ISO-14443協(xié)議是非接觸式IC卡標準協(xié)議,應(yīng)用較ISO-15693更為廣泛。下面將主要分析ISO-14443協(xié)議,ISO-14443由4個部分組成:第一部分,物理特性;第二部分,頻譜功率和信號接口;第三部分,初始化和防碰撞算法;第四部分,通訊協(xié)議。
ISO-14443通信協(xié)議的報文可分成6個部分,如表1所示:
表1 ISO-14443通信協(xié)議的報文數(shù)據(jù)格式
報頭2字節(jié)固定為AABB,報文長度代表從節(jié)點到校驗的字節(jié)之和,命令代碼指明了報文的功能。常用的命令代碼有0201(尋卡)、0202(防沖突)、0203(選卡)、0206(密碼認證)、0208(讀卡)、0209(寫卡)等。
QT程序在啟動后,會在TFT-LCD上顯示一系列的圖標,分別為:尋卡、讀卡、寫卡、選擇扇區(qū)等,在尋卡中包含了防沖突檢測,它是讀卡過程中非常重要的一個步驟[10-11].其流程如下,當(dāng)用戶點擊TFT-LCD的尋卡圖標時,觸摸屏上會產(chǎn)生觸摸點的位置信號,系統(tǒng)根據(jù)觸摸點坐標判斷其所在的區(qū)域,依據(jù)觸摸的區(qū)域,系統(tǒng)做出相應(yīng)的處理。QT程序把ISO-14443協(xié)議中的尋卡(0201),防沖突(0202),選卡(0203),密碼認證(0206)都整合到1個子函數(shù)中。尋卡過程分為4個過程:
1)搜索標簽-即S3C6410通過串口1發(fā)送指令給RC632操作其中的相關(guān)寄存器進行天線操作。無論是否有卡在天線感應(yīng)區(qū)域范圍之內(nèi),RC632都會S3C6410回傳相關(guān)數(shù)據(jù),S3C6410收到數(shù)據(jù)后,進行判斷是否有電子標簽存在。
2)防沖突-如果在天線感應(yīng)區(qū)域范圍之內(nèi)有一張以上的電子標簽,那么讀卡器就需要進行選擇。RC632在防沖突后,將給微處理器傳回4個字節(jié)的電子標簽卡號。
3)選擇標簽-如果要對相應(yīng)卡號的電子標簽進行操作,則微處理器就會發(fā)送命令給RC632,使其選中這張電子標簽,以便進行下一步的讀寫操作。
4)密碼認證-只有擁有正確密碼的讀卡器才能讀寫相應(yīng)的電子標簽。
選擇扇區(qū)后,如進行讀卡操作,則直接點擊讀卡圖標,如進行寫卡操作的話,則還需用輸入數(shù)據(jù)。如圖3所示。
圖3 QT應(yīng)用程序流程。
評論