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