《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 一種RFID標(biāo)簽芯片數(shù)字部分狀態(tài)機(jī)的設(shè)計(jì)

一種RFID標(biāo)簽芯片數(shù)字部分狀態(tài)機(jī)的設(shè)計(jì)

2008-07-17
作者:李泳生, 鄒雪城, 劉冬生, 楊

  摘 要: 介紹了符合ISO/IEC15693標(biāo)準(zhǔn)的RFID標(biāo)簽芯片數(shù)字部分的基本架構(gòu)。設(shè)計(jì)了一種符合ISO/IEC15693標(biāo)準(zhǔn)的RFID標(biāo)簽芯片數(shù)字部分狀態(tài)機(jī)。采用Verilog語(yǔ)言編寫(xiě)了程序,用Modelsim5.7進(jìn)行了功能仿真,并用Xilinx FPGA XC3S200進(jìn)行了下載驗(yàn)證。該電路可應(yīng)用于符合ISO/IEC15693標(biāo)準(zhǔn)的RFID標(biāo)簽芯片的數(shù)字部分,對(duì)其它標(biāo)準(zhǔn)的RFID標(biāo)簽芯片數(shù)字部分的設(shè)計(jì)也有一定的借鑒作用。
  關(guān)鍵詞: 射頻識(shí)別" title="射頻識(shí)別">射頻識(shí)別 狀態(tài)機(jī) 標(biāo)簽 讀卡器 ISO/IEC15693


  射頻識(shí)別(RFID-Radio Frequency Identification)系統(tǒng)有著較大的數(shù)據(jù)容量和較快的讀寫(xiě)速度,并且受環(huán)境影響小,與接觸式IC卡系統(tǒng)相比,由于沒(méi)有機(jī)械觸點(diǎn),不存在觸點(diǎn)腐蝕和污染的問(wèn)題,因而一誕生就備受重視,在銀行信用卡、貨物銷(xiāo)售、倉(cāng)儲(chǔ)管理等方面獲得了廣泛應(yīng)用。
  一個(gè)典型的RFID系統(tǒng)由閱讀器(VCD-Vicinity Coupling Device)、電子標(biāo)簽(VICC-Vicinity Integrated Circuit card)及計(jì)算機(jī)三個(gè)部分組成。電子標(biāo)簽的功能是儲(chǔ)存有關(guān)物體的數(shù)據(jù)信息,閱讀器的功能則是通過(guò)射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象電子標(biāo)簽并獲取相關(guān)數(shù)據(jù)。本文所介紹的符合ISO/IEC15693標(biāo)準(zhǔn)的RFID系統(tǒng),閱讀器和電子標(biāo)簽之間的載波頻率為13.56MHz,采用半雙工的方式通訊,配合適當(dāng)?shù)奶炀€(xiàn)其有效作用距離為0~1m,理想情況下可以達(dá)到1.5m,具備抗沖突能力。
  目前,VICC的數(shù)字部分的控制器有兩種:嵌入式CPU和狀態(tài)機(jī)。嵌入式CPU設(shè)計(jì)較為靈活,能實(shí)現(xiàn)較為復(fù)雜的加密算法,但是功耗較大、成本高;而狀態(tài)機(jī)則功耗低、成本低,因而在注重功耗和成本的RFID市場(chǎng)獲得了廣泛應(yīng)用,也為本文所采用。
1 VICC數(shù)字部分的構(gòu)成
  VICC數(shù)字部分的組成模塊如圖1所示。包括脈沖位置解碼模塊、接收CRC校驗(yàn)?zāi)K、CRC產(chǎn)生模塊、狀態(tài)機(jī)模塊、編碼和調(diào)制模塊、EEPROM和時(shí)鐘分頻" title="分頻">分頻模塊。脈沖位置解碼模塊接收從VICC模擬接口輸入的來(lái)自VCD的數(shù)據(jù),并將解碼數(shù)據(jù)輸出至接收CRC校驗(yàn)?zāi)K和狀態(tài)機(jī)模塊。接收CRC校驗(yàn)?zāi)K對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn)。狀態(tài)機(jī)模塊對(duì)輸入數(shù)據(jù)進(jìn)行處理,如讀寫(xiě)EEPROM、防沖突" title="防沖突">防沖突控制等,處理完成后則將要發(fā)送的數(shù)據(jù)送至CRC產(chǎn)生模塊產(chǎn)生相應(yīng)的CRC校驗(yàn)碼,然后將要發(fā)送的數(shù)據(jù)和校驗(yàn)碼一起送編碼和調(diào)制模塊,經(jīng)處理后由VICC模擬接口發(fā)送至VCD。時(shí)鐘分頻模塊則將輸入的13.56MHz的頻率分別進(jìn)行四分頻和三十二分頻。分頻后的頻率分別交由數(shù)字部分其它模塊使用。EEPROM存儲(chǔ)電子標(biāo)簽的數(shù)據(jù)信息。


2 VICC狀態(tài)機(jī)的實(shí)現(xiàn)
  VICC數(shù)字部分的關(guān)鍵是狀態(tài)機(jī),它是實(shí)現(xiàn)VICC功能的核心。VCD命令的處理、EEPROM的讀寫(xiě)控制、數(shù)字部分各個(gè)模塊之間的協(xié)同工作,都離不開(kāi)狀態(tài)機(jī)。
2.1 VICC狀態(tài)描述
  根據(jù)ISO/IEC15693標(biāo)準(zhǔn),VICC有四種不同的狀態(tài):Power-off、Ready、Quiet和Selected。其中,Selected是可選擇的。每一個(gè)VICC在同一時(shí)間只能處于一種狀態(tài),不同狀態(tài)的VICC對(duì)同一命令的響應(yīng)是不同的。圖2是VICC的狀態(tài)轉(zhuǎn)移圖。


  VICC沒(méi)有進(jìn)入VCD的場(chǎng)工作范圍" title="工作范圍">工作范圍時(shí),VICC處于Power-off狀態(tài);進(jìn)入VCD的場(chǎng)工作范圍時(shí),VICC通過(guò)天線(xiàn)感應(yīng)能量而啟動(dòng),進(jìn)入Ready狀態(tài);在VCD場(chǎng)工作范圍內(nèi),VICC根據(jù)VCD發(fā)出的命令進(jìn)行相應(yīng)的命令響應(yīng)和狀態(tài)轉(zhuǎn)移;VICC移出VCD場(chǎng)工作范圍時(shí),不論VICC當(dāng)前處于什么狀態(tài),由于沒(méi)有能量供應(yīng),它都將進(jìn)入Power-off狀態(tài)。
2.2 VCD和VICC之間的通訊協(xié)議
  VCD和VICC之間的通訊遵循VCD先說(shuō)的原則,也就是VICC并不主動(dòng)向VCD發(fā)送數(shù)據(jù),只有當(dāng)它接收到VCD命令并響應(yīng)時(shí),它才向VCD發(fā)送相應(yīng)的數(shù)據(jù)。
  VCD向VICC發(fā)送命令的格式如圖3所示。SOF表示幀頭;Command為命令碼; Flags為該命令所攜帶的標(biāo)記位,如Select_flag、Address_flag等;Parameter為該命令的參數(shù);Data為該命令所攜帶的數(shù)據(jù);CRC是校驗(yàn)碼;EOF表示幀尾。
  VICC響應(yīng)VCD命令并向VCD發(fā)送數(shù)據(jù)的格式如圖4所示。SOF表示幀頭,F(xiàn)lags表示該響應(yīng)處理正確與否的標(biāo)記位。Parameter為該響應(yīng)參數(shù),Data為該響應(yīng)所攜帶的數(shù)據(jù),CRC是校驗(yàn)碼。EOF表示幀尾。


2.3 VICC狀態(tài)機(jī)實(shí)現(xiàn)流程
  VICC共有四種狀態(tài),因而其實(shí)現(xiàn)程序應(yīng)對(duì)各種狀態(tài)分別處理。Power-off狀態(tài)表示VICC沒(méi)有上電的情況,程序中不需要對(duì)此狀態(tài)進(jìn)行處理。根據(jù)VCD和VICC之間的通訊協(xié)議,VICC在Ready狀態(tài)下對(duì)VCD命令響應(yīng)的工作流程如圖5所示。在其它兩種狀態(tài)即Quiet和Selected下,對(duì)VCD命令的響應(yīng)也是類(lèi)似的。圖5中,符號(hào)①表示倘若當(dāng)前狀態(tài)不是Ready狀態(tài),則進(jìn)入Quiet或Selected狀態(tài)下對(duì)命令進(jìn)行處理。

?

2.4 防沖突處理
  當(dāng)有兩個(gè)或兩個(gè)以上的VICC同時(shí)處于VCD場(chǎng)區(qū)時(shí),則多個(gè)VICC響應(yīng)VCD命令可能產(chǎn)生沖突。當(dāng)VICC狀態(tài)機(jī)給VCD發(fā)送相應(yīng)命令的回復(fù)信息時(shí),數(shù)據(jù)經(jīng)編碼和調(diào)制模塊處理后便串行發(fā)送至VCD。在編碼和調(diào)制模塊,VICC對(duì)要發(fā)送的每一位數(shù)據(jù)進(jìn)行曼徹斯特編碼,上跳沿表示數(shù)據(jù)“1”,下跳沿表示數(shù)據(jù)“0”。當(dāng)沖突發(fā)生時(shí),即在同一時(shí)間段,一個(gè)VICC發(fā)送數(shù)據(jù)“1”,另外還有某一個(gè)VICC發(fā)送數(shù)據(jù)“0”,這兩個(gè)信號(hào)在VCD上疊加,使VCD在這一時(shí)間段接收不到跳變沿。從而判斷為發(fā)生了沖突。這時(shí)VCD將發(fā)送防沖突命令I(lǐng)nventory。
  當(dāng)VICC收到Inventory命令時(shí),狀態(tài)機(jī)進(jìn)入防沖突處理。狀態(tài)機(jī)先將當(dāng)前的時(shí)間片和Inventory指令中的掩膜值串接,所得到的位再和VICC唯一ID值對(duì)應(yīng)的位相比較,如圖6所示。
  倘若時(shí)間片和掩膜值串接后的位和VICC唯一ID值對(duì)應(yīng)的位一致,則VICC響應(yīng)該VCD命令,返回VICC的唯一ID值和數(shù)據(jù)存儲(chǔ)格式的ID值,反之,則不響應(yīng)。在防沖突處理期間,若VICC接收到EOF,則將時(shí)間片加1,并進(jìn)行相同的比較處理。若接收到其它命令,狀態(tài)機(jī)退出防沖突狀態(tài)。
2.5 錯(cuò)誤處理
  當(dāng)VICC接收到CRC校驗(yàn)錯(cuò)誤的命令時(shí),VICC狀態(tài)機(jī)放棄該命令,對(duì)該命令不予響應(yīng)。當(dāng)VCD向VICC發(fā)送的命令格式不正確,或是讀寫(xiě)的字塊超出了VICC的最大值范圍時(shí),VICC狀態(tài)機(jī)返回相應(yīng)的錯(cuò)誤代碼,通知VCD發(fā)生了錯(cuò)誤。VCD可根據(jù)錯(cuò)誤代碼判斷錯(cuò)誤類(lèi)型。
3 系統(tǒng)的仿真波形與FPGA實(shí)現(xiàn)
  ISE6.1是Xilinx FPGA/CPLD的綜合性集成設(shè)計(jì)平臺(tái),該平臺(tái)集成了設(shè)計(jì)輸入、仿真、邏輯綜合、布局布線(xiàn)與實(shí)現(xiàn)、時(shí)序分析、芯片下載與配置、功率分析等幾乎所有設(shè)計(jì)流程所需的工具。本文在ISE6.1環(huán)境下編譯、仿真和下載。


  圖7為狀態(tài)機(jī)接收到一個(gè)讀字塊命令后讀EEPROM時(shí)的仿真波形。Clk_fc4是狀態(tài)機(jī)的工作頻率" title="工作頻率">工作頻率,為了節(jié)省功耗,狀態(tài)機(jī)的工作頻率采用四分頻的載波頻率,也就是3.39MHz;Command_reg是狀態(tài)機(jī)接收到的命令寄存器信號(hào),20表示讀一個(gè)字塊命令;Flag_rec_reg是狀態(tài)機(jī)接收到的標(biāo)志位寄存器信號(hào),20表示Address_flag為“1”,其它標(biāo)志位都是“0”;Ee_rw是EEPROM讀寫(xiě)控制信號(hào),“0”表示讀EEPROM,“1”表示寫(xiě)EEPROM。Ee_en表示讀寫(xiě)EEPROM使能信號(hào),高電平有效;Ee_addr是讀寫(xiě)EEPROM的地址信號(hào)。Ee_data是讀寫(xiě)EEPROM時(shí)的數(shù)據(jù)信號(hào)。Ee_rw_end是輸入信號(hào),通知狀態(tài)機(jī),讀寫(xiě)EEPROM結(jié)束,高電平有效。由于一個(gè)字塊為32個(gè)位,即四個(gè)字節(jié),所以狀態(tài)機(jī)在讀一個(gè)字塊時(shí),Ee_en信號(hào)應(yīng)四次有效。
  程序采用Xilinx Spartan-3系列X3S200芯片進(jìn)行綜合下載。綜合后共占用771個(gè)slice,34個(gè)IOB,系統(tǒng)最快運(yùn)行速度為79.038MHz,遠(yuǎn)高于狀態(tài)機(jī)的工作頻率3.39MHz,滿(mǎn)足VICC狀態(tài)機(jī)的時(shí)序要求。
  本設(shè)計(jì)應(yīng)用于符合ISO/IEC15693標(biāo)準(zhǔn)的RFID標(biāo)簽芯片的數(shù)字部分,具有可靠性高、結(jié)構(gòu)簡(jiǎn)單等特點(diǎn)。由于其它標(biāo)準(zhǔn)的RFID標(biāo)簽芯片的數(shù)字部分功能與ISO/IEC15693 RFID標(biāo)簽芯片較為類(lèi)似,因此,對(duì)狀態(tài)機(jī)部分做適當(dāng)?shù)男薷?,可?yīng)于其它標(biāo)準(zhǔn)的RFID標(biāo)簽芯片。
參考文獻(xiàn)
1 Klaus Finkenzeller著,陳大才譯.射頻識(shí)別(RFID)技術(shù).北京:電子工業(yè)出版社, 2002
2 Identification cards-Contactless Integrated Circuit(s) Cards-Vicinity Cards-Part1: Physical Characteristics.ISO/IEC15693-1,2000-07-15
3 Identification cards-Contactless Integrated Circuit(s) Cards-Vicinity Cards-Part2: Air Interface and Initialization. ISO/IEC15693-2,2001-10-15
4 Identification Cards-Contactless Integrated circuit(s) Cards- Vicinity Cards-Part3:Anticollission and Transmission Protocol.ISO/IEC15693-3,2001-04-01

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。