超高頻RFID讀寫器設計
文章出處:http://hz-huyue.com 作者:肖菊蘭,張紅雨 人氣: 發表時間:2011年10月16日
射頻身份識別(RFID,Radio Frequency Identification),是一種非接觸式的自動識別技術,它主要由讀寫器和標簽組成,具有讀寫距離遠、使用壽命高、讀寫方便、快捷等優點。隨著RFID技術的深入研究,RFID系列電子產品逐漸應用到千家萬戶,UHF是超高頻段,此頻段讀寫器讀寫距離遠、讀寫速度快,已應用在供應鏈管理、航空管理和后勤管理等行業。
本文介紹一種UHF頻段的RFID讀寫器設計,單片機采用飛利浦的LPC2103,設計簡單,基于ISO/IEC 18000-6C協議,可以做到多標簽環境下成功識別標簽并與其進行數據交互。本文對協議做了大體介紹,闡述了整個系統設計的硬件架構,重點介紹了軟件設計中的數據基帶處理部分,對防碰撞部分、脈沖間隔編碼(PIE編碼)和雙向間隔解碼(FMO解碼)做了詳細介紹。
1 ISO/IEC 18000-6C協議
1.1 ISO/IEC 18000-6C協議簡介
ISO/IEC 18000是基于物品管理的射頻識別(RFID)的國際標準,按工作頻率的不同分為7部分,第6部分頻率為860~930 MHz,即UHF頻段。ISO/IEC 18000-6系列標準包括了ISO/IEC 18000-6A,ISO/IEC 18000-6B和ISC/IEC 18000-6C三種類型,6B主要應用于交通領域,6C主要應用于物流、生產管理和供應鏈管理領域。由于生產銷售的數量遠遠超過B類,C類有逐步替代B類的趨勢,成為目前RFID研究的熱點。
ISO/IEC18000-6C協議規定了讀寫器與標簽的物理和邏輯要求,采用讀寫器先發言的形式。表1為此規定的讀寫器和標簽通信部分參數。
讀寫器與標簽通信過程中濱寫器的狀態分為Select、Inventory和Access 3個狀態,而標簽狀態則分為Ready、Arbitrate、Reply等7個狀態。
1.2 防碰撞算法
ISO/IEC 18000-6C協議采用隨機槽時隙防碰撞算法,標簽用槽計數器值決定與讀寫器通信與否,讀寫器用QueryRep來設置標簽槽時隙計數器的值,用QueryAdjust設置Q值大小,從而決定標簽槽時隙計數器的范圍,圖1為選擇Q值的算法。
圖1中參數Q、Qfp和C均為正整數,信息幀長度為F=2^Q-1,Q是動態變化的,初值取round(Qfp)。一個時隙后,若該時隙是沖突時隙,則將Qfp加上參數C;若是空閑時隙,則將Qfp減去參數C;若是成功時隙,則Qfp保持不變。閱讀器根據新的Q=round(Qfp)來決定是繼續發送下一個時隙還是重新開啟一個新的幀。
2 讀寫器硬件設計
讀寫器射頻前端設計中發射通路采用射頻芯片,接收通路采用I、Q相干解調,利用兩級放大器和比較器,其系統硬件設計結構如圖2所示。
依據協議,擬定了此設計中讀寫器與標簽通信的主要參數,如表2所示。
為保證能夠達到預期通信參數,設計選用飛利浦的LPC2103,此芯片價格便宜,帶串口,資源非常豐富,具有8 KRAM,32 K Flash,32 bit和16 bit的定時器,30個可用I/O口,時鐘頻率最高可達70 MHz。
射頻發送芯片選用SI4031,此芯片是一款可編程的鎖相環芯片,低功耗,支持FSK、GFSK和OOK調制,數據率為1~128 Kb/s,可以通過數字編程控制其輸出頻率,在240~930 MHz的頻率范圍內的跳頻操作。接收回路采用相關解調,并用分離元件搭建解調電路,I、Q兩路返回信息依次經過惰性電路、濾波電路,再經過兩級具有恒流源補償的差分放大電路,最后經過比較器,完成解調。微處理器和發送通路部分電路分別如圖3和圖4所示。
圖3 微處理電路
3 讀寫器軟件設計
3.1 數字基帶處理模塊
數字基帶處理模塊是整個軟件設計的核心,它包括編解碼、數據分析、防碰撞等部分,數字基帶處理部分基本框圖如圖5所示。
3.2 讀寫器防碰撞流程
數字基帶處理部分中,防碰撞部分是重中之重,也是整個讀寫器設計的關鍵部分。此設計中采用隨機槽時隙仲裁防碰撞算法,解決了讀寫器在多標簽環境下無法識別標簽的問題,圖6為讀寫器防碰撞大體流程。
3.3 讀寫器PIE編碼設計
PIE(Pulse interval encoding)編碼,即脈沖間隔編碼,通過定義脈沖下降沿之間的不同時間寬度來表示數據。在標準中定義一個名稱為“Tari”的時間間隔,也成為基準時間間隔,該時間段為相鄰兩個脈沖下降沿的時間寬度,持續時間為25μs。此設計中數據0和1的PIE編碼與“Tari”時間按段的關系如表3所示。設計中使用定時器進行較精確的PIE編碼。
PIE編碼過程:首先設置編碼邏輯,即定時器中的值大于等于T時輸出為1,小于T時為輸出0,然后等待編碼信號來臨。在編碼信號來臨后,從FIFO中取數據,如果為0,則設置定時器值為2T,時鐘每來一次做自減運算;數據為1時則設置定時器中的值為4T,時鐘每來一次做自減運算。
3.4 讀寫器解碼設計
FMO(Bi-Phase Space)解碼,即雙相間隔解碼,工作原理是在一個位窗內采用電平變化來表示邏輯。如果電平只從位窗的起始處翻轉,則表示邏輯“1”,如果電平除了在位窗的起始處翻轉,還在位窗中間翻轉則表示邏輯“0”,如圖7所示。一個位窗的持續時間是25μs。
FMO解碼大體過程:首先讀寫器同時對I和Q兩路信號進行采樣,利用狀態機檢測返回幀頭的正確性,讀寫器根據幀頭的正確性來決定對I或Q路信號進行解碼。針對FMO編碼的特點可知,FMO每個數據單元的起始處發生翻轉,由此可以根據起始處的上升沿或下降沿以及位窗中的采樣點來判斷出此位窗所表示的數據。設定一個位窗時間長度為T,一種情況是位窗起始處為下降沿,在該位窗3/4T處采樣,采樣為1則位窗表示數據“0”,采樣為0則位窗表示數據“1”;另一種情況是位窗起始處為上升沿,在該位窗3/4T處采樣,采樣為1則位窗表示數據“1”,采樣為0則位窗表示數據“0”。
4 結束語
本文中設計主芯片采用LPC2103與Si4031,硬件電路簡單易于實現;基于ISO/IEC 18000-6C,利用防碰撞算法設計實現了UHF頻段讀寫器在多標簽環境下順利與標簽進行通信,增強了讀寫器的讀寫性能;最后通過簡單分析,介紹了PIE編碼和FMO解碼的過程。