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

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

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

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

    1 硬件設(shè)計 

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

    本文的射頻識別系統(tǒng)包括讀寫器、非接觸IC卡、天線和PALM設(shè)備。S6700芯片是讀寫器的核心部分。該芯片是TI公司開發(fā)的針對非接觸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芯片和單片機的通信主要通過時鐘線(SCLOCK)、數(shù)據(jù)輸入線(DIN)、數(shù)據(jù)輸出線(DOUT)來完成的(見圖一)。S6700芯片上M_ERR線主要表征通信的正確性。 

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

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

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

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



    2 通信協(xié)議 

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

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

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

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

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

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

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

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

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

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

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

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

    4) FIFO Command 

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