1 引言 近年來,射頻識別技術(RFID)作為自動識別的新技術憑借其諸多優點在國內外迅速發展。其應用廣泛,在人和動物身份識別、物流管理、交通運輸管理、資料及檔案存儲、工廠的生產控制等諸多領域均凸顯其作用和優勢。按照工作頻率的不同,RFID系統町以分為低頻(LF)、高頻(HF)、超高頻(UHF)和微波等不同頻段的系統,低頻與高頻系統較成熟.超高頻技術則剛開始進入大規模應用階段,其技術水平還沒有達到成熟的地步。對于此頻段讀寫器的研究和設計具有較大的意義。 本文依據ISO/IEC18000-6協議,利用FPGA與單片機設計了一種應用于超高頻RFID讀寫器的基帶模塊,對此類讀寫器的設計具有借鑒意義。 2 RFID系統結構與工作原理 2.1 RFID系統結構 RFID系統一般包括射頻標簽,讀寫器和計算機系統三部分。射頻標簽是射頻識別系統的數據載體,是安裝在被識別對象上,存儲被識別對象相關信息的電子裝置。讀寫器是利用射頻技術讀取射頻識別標簽信息、或將信息寫入標簽的電子設備。讀寫器讀出的標簽信息通過訃算機及網絡系統進行管理和信息傳輸。射頻識別系統中,計算機通信網絡是對數據進行管理和通信傳輸的設備。 2.2 RFID系統丁作原理 RFID系統足南信息載體和信息獲取裝置組成。RFID系統的基本模型如圖1所示。其中,射頻標簽為數據載體;讀寫器足標簽信息的讀取裝置。射頻標簽與讀寫器之間通過耦合元件實現射頻信號的空中耦合、在耦合通道內,根據時序關系,實現能量的傳遞、數據的交換。 ![]() 圖1 RFID系統的基本模型 3 RFID讀寫器的結構 從電路實現角度來說,讀寫器可劃分為兩大部分,即:射頻模塊與基帶模塊。 射頻模塊主要由調制解調電路模塊及天線組成,主要功能有兩個。一是實現將讀寫器欲發往射頻標簽的命令調制到射頻信號上,經由發射天線發送到射頻標簽上,而射頻標簽對照射的其上的射頻信號作出響應。二是實現將射頻標簽返回到讀寫器的回波信號進行加工處理.并從中解調提取出射頻標簽回送的數據。 ![]() 圖2 RFID系統信息傳輸和命令控制關系 基帶模塊主要南讀寫器控制模塊、編解碼模塊及數據校驗等模塊組成,主受功能也自.兩個,一是接收上位機或鍵盤輸入的命令,作必要的處理后進行編碼實現為便于調制到射頻信號上的編碼調制信號。二是將標簽回送列射頻模塊后經過解調處理后的數據信號進行解碼和必要的處理,然后將結果送上位機、顯示器或存儲器。各模塊之間的信息傳輸和命令控制關系如網2所示。 依據ISO/IECl8000-6協議,超高頻讀寫器應支持二種通訊類型,A類和B類。它應當可以從一個類型轉換成另一個類型。本文的讀寫器通過單片機控制其兩種類剮通訊方式的轉換。 4 UHF RFID讀寫器基帶模塊原理與設計 4.1 UHF RFID瀆寫器基帶模塊功能實現方法 如圖2,可以將基帶模塊分為兩個部分:單片機部分和FPGA部分。FPGA部分的內部結構如圖3,分為編碼模塊,解碼模塊,CRC模塊以及時鐘分頻模塊,利用Verilog HDL語言進行編寫。主要功能足將信息數據進行CRC產牛和編碼然后送調制模塊后通過天線發送給標簽以及將解調后的天線接收回來的標簽信息數據進行解碼和CRC校驗。單片機部分實現對FPGA的控制以及與FPGA進行數據信息的交換、將讀寫數據與上位機通信、執行上位機發送來的命令,以及將讀寫狀態通過LCD顯示,以下重點介紹FPGA部分。 ![]() 圖3 FPGA內部結構 4.2 PIE編碼器的功能及實現方法 PIE編碼的全稱為脈沖寬度編碼,它用在A類通訊的前向鏈路中,編碼原理是通過定義脈沖下降沿之間的不I卅時間寬度來表示數據。在標準中定義了一個名稱為“Tari”的時間間隔,也稱為基準時間間隔,該時間段為相鄰兩個脈沖下降沿的時問寬度,持續為207s。由讀寫器發往標簽的數據幀由SOF(幀首)、EOF(幀尾)、數據0和1組成。數據0的編碼為1個“Tari”時間段,數據1的編碼為2個“Tari”時間段,數據幀SOF為3個“Tari”時間段,數據幀EOF為4個“Tari”時間段。 當上位機給單片機指令和信息數據后,如圖3.單片機啟動編碼和CRC模塊。即單片機給編碼模塊和CRC模塊一個編碼啟動指令,編碼模塊接收到啟動指令后返同給睢片機一個應答信號,單片機接收到應答信號后將待編碼的信息數據送入編碼模塊和CRC模塊。當編碼數據完成后,立即將產牛的CRC值送入編碼模塊進行編碼。編碼輸出每一幀數據都由一個幀首(SOF)、緊接著的數據位、最后以幀尾(EOF)結束組成。編碼模塊具體實現為:當檢測列NRZ碼輸人為0時,PIE碼輸出Tari/2長度的低電平和7Tari/2長度的高電平,相當于NRZ碼的01;當檢測到NRZ碼輸入為1時,PIE碼輸出Tari/2長度的低電平和3Tari/2長度的高電平,相當于NRZ碼的0111。同理輸出SOF時。相當于NRZ碼的01011111;輸出EOF時,相當于NRZ碼的01111111。 4.3曼徹斯特編碼器的功能及實現方法 曼徹斯特編碼,它用在B類通訊的前向鏈路中,它是在半個比特周期的負邊沿表示二進制l,半個比特周期中的正邊沿表示二進制0,如圖4 ![]() 圖4 曼徹斯特編碼 產生曼徹斯特碼的方法很簡單,只要將時鐘與NRZ碼(數據)異或后即可。時鐘南時鐘分頻模塊產生。單片機的命令執行過程與上面介紹的操作過程相同,區別是上位機給單片機下的不同(A類或B類)通訊方式的命令。 4.4譯碼模塊的功能及實現方法 依據ISO/IECl8000-6協議,超高頻讀寫器和標簽之間反向鏈路編碼方式采用FM0編碼。所以讀寫器解碼模塊是針對FM0編碼的譯碼模塊。 FM0編碼,在半比特周期中的任意的邊沿表示二進制0,而沒有邊沿就是二進制1。此外,在每一比特周期開始時,電平都要反相,如圖5 ![]() 圖5 FM0編碼 讀寫器讀取的FMO編碼信息是由一個16位的幀頭開始,并且有多個違例碼(順序未遵守FM0編碼規則)作為幀頭至數據域過渡的幀標志。 4.5 CRC模塊的功能和原理 CRC模塊由CRC生成模塊和CRC校驗模塊兩個功能模塊組成。CRC校驗模塊主要足在洋碼時對收到的命令進行完整性校驗,從而確定觸發單片機對FPGA的各模塊進行控制操作。CRC生成模塊主要是在編碼時產生CRC值跟隨信息數據一起編碼后發送,當數據接收到后計算接收的CRC值,如果結果為零則數據傳輸尤誤,否則傳輸c出錯。 根據協議,本文設計用了CRC-5和CRC-16兩種CRC校驗的算法,從數學角度看,CRC校驗和是用生成多項式去除一個多項式(數據字節)即可求得,CRC值為相除后所得余項。CRC-5和CRC-16分別對應的生成多項式為x5+x3+l和 x16+x12+x5+1。 4.6 R寸鐘分頻模塊功能及實現方法 時鐘分頻模塊的功能是產生FPGA各模塊工作和協調運行所需的時鐘頻率。FM0編碼和曼徹斯特編碼,數據速率為40Kbps;PIE編碼,1個“Tari”時間是20μs,所以模塊產生的時鐘頻率有40KHZ、50KHZ和80KHZ,其中FM0編碼和曼徹斯特編碼都用到40KHZ和80KHZ,因為在這兩種編碼中,在NRZ編碼數據0和1的中間時刻發生電平的跳變,50KHZ主要針對PIE編碼使用。與編碼譯碼以及CRC模塊一樣,時鐘分頻模塊也是由Verilog HDL語言編寫,其中40KHZ的頻,牢可以由80KHZ的頻率經二分頻得到。 5 結束語 本文較系統的介紹了依據ISO/IECl8000-6協議,將單片機與FPGA相結合,設計超高頻RFID讀寫器基帶模塊的方法,設計結合了單片機數據處理能力和控制能力強,FPGA數據采集方便,速度高,編寫模塊簡單有效性能穩定的優點,使得設計的模塊抗干擾能力強,簡單可靠,對此類讀寫器基帶模塊的設計具有借鑒意義。本文未詳細介紹讀寫器射頻模塊,對于射頻模塊和基帶模塊的結合有待進一步研究和探討。 本文作者創新點:本義結合廠單片機與FPGA的優點設計超高頻讀寫器基帶模塊,設計的模塊抗十擾能力強,簡啦可靠。 作者:周陳鋒 來源:《微計算機信息》(嵌入式與SOC)2009年第25卷第4-2期 |