物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊(cè)

基于S6700芯片和Tag-it協(xié)議標(biāo)準(zhǔn)的RF讀寫器

作者:上海大學(xué) 蔣序一 高佩珠
來源:微計(jì)算機(jī)信息
日期:2007-09-17 16:08:46
摘要:目前廣泛應(yīng)用于包裝品、書刊、生產(chǎn)線等的條形碼技術(shù)極有可能被一種全新的高科技射頻識(shí)別技術(shù)(RFID)所取代。RFID的基本工作原理:由讀寫器發(fā)射特定頻率的無線電磁波,當(dāng)非接觸IC卡接近讀寫器時(shí),非接觸IC卡接收電磁波能量,并將能量存儲(chǔ)起來作為收發(fā)器所需的電能,而此時(shí)非接觸IC卡也開始動(dòng)作,將卡內(nèi)存儲(chǔ)的識(shí)別資料以無線電波的方式傳送給讀寫器,最后等待讀寫器對(duì)資料的的進(jìn)一步操作。
 0 引言 

    目前廣泛應(yīng)用于包裝品、書刊、生產(chǎn)線等的條形碼技術(shù)極有可能被一種全新的高科技射頻識(shí)別技術(shù)(RFID)所取代。RFID的基本工作原理:由讀寫器發(fā)射特定頻率的無線電磁波,當(dāng)非接觸IC卡接近讀寫器時(shí),非接觸IC卡接收電磁波能量,并將能量存儲(chǔ)起來作為收發(fā)器所需的電能,而此時(shí)非接觸IC卡也開始動(dòng)作,將卡內(nèi)存儲(chǔ)的識(shí)別資料以無線電波的方式傳送給讀寫器,最后等待讀寫器對(duì)資料的的進(jìn)一步操作。 

    1 硬件設(shè)計(jì) 

    1 多協(xié)議讀寫器模塊-S6700芯片 

    本文的射頻識(shí)別系統(tǒng)包括讀寫器、非接觸IC卡、天線和PALM設(shè)備。S6700芯片是讀寫器的核心部分。該芯片是TI公司開發(fā)的針對(duì)非接觸IC卡讀寫的多協(xié)議收發(fā)器。它工作在13.56Mhz頻率下,采用SSOP20封裝,+5V供電,內(nèi)部封裝有發(fā)送調(diào)制器和接收解調(diào)器,采用曼徹斯特編碼方式。 S6700芯片能夠支持以下三種協(xié)議:TI TAG-IT協(xié)議、ISO/IEC 15693-2、ISO/IEC 14443-2(TYPE A)。 

    S6700芯片和單片機(jī)的通信主要通過時(shí)鐘線(SCLOCK)、數(shù)據(jù)輸入線(DIN)、數(shù)據(jù)輸出線(DOUT)來完成的(見圖一)。S6700芯片上M_ERR線主要表征通信的正確性。 

    1) Sclock時(shí)鐘線是雙向的。在IC卡響應(yīng)S6700命令之前必須進(jìn)行時(shí)鐘線的切換,將控制權(quán)交由S6700芯片控制。而當(dāng)響應(yīng)完成時(shí)MCU又將奪回時(shí)鐘線的控制權(quán)。 

    2)  Din是S6700芯片數(shù)據(jù)輸入線。當(dāng)MCU發(fā)送數(shù)據(jù)給S6700芯片時(shí),MCU主要依賴該線傳送數(shù)據(jù)和命令給S6700芯片。 

    3)  Dout是S6700芯片數(shù)據(jù)輸出線。當(dāng)IC卡向S6700芯片發(fā)送回應(yīng)數(shù)據(jù)時(shí),S6700芯片通過該線向MCU數(shù)據(jù)輸出。其次DOUT線還用來表征S6700芯片內(nèi)部數(shù)據(jù)緩沖區(qū)的情況。(后面將詳細(xì)介紹數(shù)據(jù)緩沖部分) 

    4)  M_ERR線。在同時(shí)讀多張卡的時(shí)候表征數(shù)據(jù)的沖突情況。M_ERR線平時(shí)為低電平,存在多卡沖突時(shí)此線會(huì)升為高電平。 



    2 通信協(xié)議 

    S6700芯片規(guī)定一系列的時(shí)序,必須嚴(yán)格按照它的時(shí)序來一步步的完成操作。 

    圖二是讀寫器和非接觸IC卡一次簡(jiǎn)單通信的完整時(shí)序圖。其中S6700芯片的Sclock時(shí)鐘線、Din時(shí)鐘線、Dout時(shí)鐘線分別由MCU的P1.2線、P1.4線和P1.5線控制。 

    2.1 指令時(shí)序結(jié)構(gòu) 

    下面將對(duì)圖二中S6700芯片一些基本指令的時(shí)序結(jié)構(gòu)加以說明。 

    1)     Transmitter Off Command(發(fā)送器關(guān)閉命令) 

    圖三所示時(shí)序作用是快速關(guān)閉S6700芯片的載波信號(hào)。  

    2) Transmitter On Command(發(fā)送器開啟命令) 

   載波可以被每條指令自動(dòng)開啟(除了configuration commands)。最快開啟載波的方法是在寄存器模式下執(zhí)行一條不帶數(shù)據(jù)域的指令。 

    3) Clock Switch Command(時(shí)鐘切換命令) 

    命令發(fā)送過程中,雙向時(shí)鐘線SCLOCK由MCU控制,發(fā)送完畢,在接收卡響應(yīng)之前必須進(jìn)行時(shí)鐘線的切換,將控制權(quán)交由S6700芯片控制。而當(dāng)響應(yīng)完成時(shí)MCU又將奪回時(shí)鐘線的控制權(quán),因此就涉及到時(shí)鐘切換的問題。 

    a. TRAN1:在TRAN1過程中,MCU把SCLOCK線的控制權(quán)交給讀寫器。當(dāng)讀寫器取得SCLOCK線的控制權(quán)后,IC卡會(huì)發(fā)出S2(相當(dāng)于卡發(fā)出的開始幀),然后發(fā)出數(shù)據(jù)和ES2(相當(dāng)于卡發(fā)出的結(jié)束幀)。MCU放棄時(shí)鐘接口控制波形。 

    b. TRAN2:在TRAN2過程中,MCU奪回SCLOCK線的控制權(quán)。 

    4) FIFO Command 

    因?yàn)镸CU無法控制讀寫器向IC卡的寫卡速度,所以S6700芯片必須提供一種機(jī)制暫時(shí)存儲(chǔ)來自MCU的數(shù)據(jù),這種機(jī)制就是緩存器管理機(jī)制。S6700芯片有一個(gè)16bit的FIFO。在寫卡過程中當(dāng)DOUT為高電平時(shí),SCLOCK將無時(shí)鐘信號(hào),這時(shí)說明S6700芯片緩存器已滿,并要求MCU停止發(fā)送數(shù)據(jù)。于是MCU必須等待直到DOUT又變?yōu)榈碗娖讲拍芾^續(xù)發(fā)送數(shù)據(jù),這時(shí)表明S6700芯片緩存器已清空。