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