摘 要: 介紹了符合ISO/IEC15693標準的RFID標簽芯片數字部分的基本架構,。設計了一種符合ISO/IEC15693標準的RFID標簽芯片數字部分狀態(tài)機。采用Verilog語言編寫了程序,,用Modelsim5.7進行了功能仿真,,并用Xilinx FPGA XC3S200進行了下載驗證。該電路可應用于符合ISO/IEC15693標準的RFID標簽芯片的數字部分,對其它標準的RFID標簽芯片數字部分的設計也有一定的借鑒作用,。
關鍵詞: 射頻識別" title="射頻識別">射頻識別 狀態(tài)機 標簽 讀卡器 ISO/IEC15693
射頻識別(RFID-Radio Frequency Identification)系統(tǒng)有著較大的數據容量和較快的讀寫速度,,并且受環(huán)境影響小,與接觸式IC卡系統(tǒng)相比,,由于沒有機械觸點,,不存在觸點腐蝕和污染的問題,因而一誕生就備受重視,,在銀行信用卡,、貨物銷售、倉儲管理等方面獲得了廣泛應用,。
一個典型的RFID系統(tǒng)由閱讀器(VCD-Vicinity Coupling Device),、電子標簽(VICC-Vicinity Integrated Circuit card)及計算機三個部分組成。電子標簽的功能是儲存有關物體的數據信息,,閱讀器的功能則是通過射頻信號自動識別目標對象電子標簽并獲取相關數據,。本文所介紹的符合ISO/IEC15693標準的RFID系統(tǒng),閱讀器和電子標簽之間的載波頻率為13.56MHz,,采用半雙工的方式通訊,,配合適當的天線其有效作用距離為0~1m,理想情況下可以達到1.5m,,具備抗沖突能力,。
目前,VICC的數字部分的控制器有兩種:嵌入式CPU和狀態(tài)機,。嵌入式CPU設計較為靈活,,能實現較為復雜的加密算法,但是功耗較大,、成本高;而狀態(tài)機則功耗低,、成本低,,因而在注重功耗和成本的RFID市場獲得了廣泛應用,也為本文所采用,。
1 VICC數字部分的構成
VICC數字部分的組成模塊如圖1所示,。包括脈沖位置解碼模塊、接收CRC校驗模塊,、CRC產生模塊,、狀態(tài)機模塊、編碼和調制模塊,、EEPROM和時鐘分頻" title="分頻">分頻模塊,。脈沖位置解碼模塊接收從VICC模擬接口輸入的來自VCD的數據,并將解碼數據輸出至接收CRC校驗模塊和狀態(tài)機模塊。接收CRC校驗模塊對數據進行CRC校驗,。狀態(tài)機模塊對輸入數據進行處理,,如讀寫EEPROM、防沖突" title="防沖突">防沖突控制等,,處理完成后則將要發(fā)送的數據送至CRC產生模塊產生相應的CRC校驗碼,,然后將要發(fā)送的數據和校驗碼一起送編碼和調制模塊,經處理后由VICC模擬接口發(fā)送至VCD,。時鐘分頻模塊則將輸入的13.56MHz的頻率分別進行四分頻和三十二分頻,。分頻后的頻率分別交由數字部分其它模塊使用。EEPROM存儲電子標簽的數據信息,。
2 VICC狀態(tài)機的實現
VICC數字部分的關鍵是狀態(tài)機,,它是實現VICC功能的核心。VCD命令的處理,、EEPROM的讀寫控制,、數字部分各個模塊之間的協同工作,都離不開狀態(tài)機,。
2.1 VICC狀態(tài)描述
根據ISO/IEC15693標準,,VICC有四種不同的狀態(tài):Power-off、Ready,、Quiet和Selected,。其中,Selected是可選擇的,。每一個VICC在同一時間只能處于一種狀態(tài),,不同狀態(tài)的VICC對同一命令的響應是不同的。圖2是VICC的狀態(tài)轉移圖,。
VICC沒有進入VCD的場工作范圍" title="工作范圍">工作范圍時,,VICC處于Power-off狀態(tài);進入VCD的場工作范圍時,,VICC通過天線感應能量而啟動,,進入Ready狀態(tài);在VCD場工作范圍內,,VICC根據VCD發(fā)出的命令進行相應的命令響應和狀態(tài)轉移,;VICC移出VCD場工作范圍時,不論VICC當前處于什么狀態(tài),,由于沒有能量供應,,它都將進入Power-off狀態(tài)。
2.2 VCD和VICC之間的通訊協議
VCD和VICC之間的通訊遵循VCD先說的原則,,也就是VICC并不主動向VCD發(fā)送數據,,只有當它接收到VCD命令并響應時,,它才向VCD發(fā)送相應的數據。
VCD向VICC發(fā)送命令的格式如圖3所示,。SOF表示幀頭,;Command為命令碼; Flags為該命令所攜帶的標記位,,如Select_flag,、Address_flag等;Parameter為該命令的參數,;Data為該命令所攜帶的數據,;CRC是校驗碼;EOF表示幀尾,。
VICC響應VCD命令并向VCD發(fā)送數據的格式如圖4所示,。SOF表示幀頭,Flags表示該響應處理正確與否的標記位,。Parameter為該響應參數,,Data為該響應所攜帶的數據,CRC是校驗碼,。EOF表示幀尾,。
2.3 VICC狀態(tài)機實現流程
VICC共有四種狀態(tài),因而其實現程序應對各種狀態(tài)分別處理,。Power-off狀態(tài)表示VICC沒有上電的情況,,程序中不需要對此狀態(tài)進行處理。根據VCD和VICC之間的通訊協議,,VICC在Ready狀態(tài)下對VCD命令響應的工作流程如圖5所示,。在其它兩種狀態(tài)即Quiet和Selected下,對VCD命令的響應也是類似的,。圖5中,,符號①表示倘若當前狀態(tài)不是Ready狀態(tài),則進入Quiet或Selected狀態(tài)下對命令進行處理,。
?
2.4 防沖突處理
當有兩個或兩個以上的VICC同時處于VCD場區(qū)時,,則多個VICC響應VCD命令可能產生沖突。當VICC狀態(tài)機給VCD發(fā)送相應命令的回復信息時,,數據經編碼和調制模塊處理后便串行發(fā)送至VCD。在編碼和調制模塊,,VICC對要發(fā)送的每一位數據進行曼徹斯特編碼,,上跳沿表示數據“1”,下跳沿表示數據“0”,。當沖突發(fā)生時,,即在同一時間段,,一個VICC發(fā)送數據“1”,另外還有某一個VICC發(fā)送數據“0”,,這兩個信號在VCD上疊加,,使VCD在這一時間段接收不到跳變沿。從而判斷為發(fā)生了沖突,。這時VCD將發(fā)送防沖突命令Inventory,。
當VICC收到Inventory命令時,狀態(tài)機進入防沖突處理,。狀態(tài)機先將當前的時間片和Inventory指令中的掩膜值串接,,所得到的位再和VICC唯一ID值對應的位相比較,如圖6所示,。
倘若時間片和掩膜值串接后的位和VICC唯一ID值對應的位一致,,則VICC響應該VCD命令,返回VICC的唯一ID值和數據存儲格式的ID值,,反之,,則不響應。在防沖突處理期間,,若VICC接收到EOF,,則將時間片加1,并進行相同的比較處理,。若接收到其它命令,,狀態(tài)機退出防沖突狀態(tài)。
2.5 錯誤處理
當VICC接收到CRC校驗錯誤的命令時,,VICC狀態(tài)機放棄該命令,,對該命令不予響應。當VCD向VICC發(fā)送的命令格式不正確,,或是讀寫的字塊超出了VICC的最大值范圍時,,VICC狀態(tài)機返回相應的錯誤代碼,通知VCD發(fā)生了錯誤,。VCD可根據錯誤代碼判斷錯誤類型,。
3 系統(tǒng)的仿真波形與FPGA實現
ISE6.1是Xilinx FPGA/CPLD的綜合性集成設計平臺,該平臺集成了設計輸入,、仿真,、邏輯綜合、布局布線與實現,、時序分析,、芯片下載與配置、功率分析等幾乎所有設計流程所需的工具,。本文在ISE6.1環(huán)境下編譯,、仿真和下載,。
圖7為狀態(tài)機接收到一個讀字塊命令后讀EEPROM時的仿真波形。Clk_fc4是狀態(tài)機的工作頻率" title="工作頻率">工作頻率,,為了節(jié)省功耗,,狀態(tài)機的工作頻率采用四分頻的載波頻率,也就是3.39MHz,;Command_reg是狀態(tài)機接收到的命令寄存器信號,,20表示讀一個字塊命令;Flag_rec_reg是狀態(tài)機接收到的標志位寄存器信號,,20表示Address_flag為“1”,,其它標志位都是“0”;Ee_rw是EEPROM讀寫控制信號,,“0”表示讀EEPROM,,“1”表示寫EEPROM。Ee_en表示讀寫EEPROM使能信號,,高電平有效,;Ee_addr是讀寫EEPROM的地址信號。Ee_data是讀寫EEPROM時的數據信號,。Ee_rw_end是輸入信號,,通知狀態(tài)機,讀寫EEPROM結束,,高電平有效,。由于一個字塊為32個位,即四個字節(jié),,所以狀態(tài)機在讀一個字塊時,,Ee_en信號應四次有效。
程序采用Xilinx Spartan-3系列X3S200芯片進行綜合下載,。綜合后共占用771個slice,,34個IOB,系統(tǒng)最快運行速度為79.038MHz,,遠高于狀態(tài)機的工作頻率3.39MHz,,滿足VICC狀態(tài)機的時序要求。
本設計應用于符合ISO/IEC15693標準的RFID標簽芯片的數字部分,,具有可靠性高,、結構簡單等特點。由于其它標準的RFID標簽芯片的數字部分功能與ISO/IEC15693 RFID標簽芯片較為類似,,因此,,對狀態(tài)機部分做適當的修改,可應于其它標準的RFID標簽芯片,。
參考文獻
1 Klaus Finkenzeller著,陳大才譯.射頻識別(RFID)技術.北京:電子工業(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