物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

作者:商昌彬 馬慶彪 張玉璘
來源:電子技術(shù)
日期:2014-12-29 10:49:24
摘要:在超高頻段,ISO18000-6標(biāo)準(zhǔn)中的6B多用于交通領(lǐng)域,而6C主要用于物流、生產(chǎn)管理和供應(yīng)鏈管理領(lǐng)域,二者都是目前常用的標(biāo)準(zhǔn)協(xié)議。鑒于此,提出一種同時支持ISO18000-6B和6C雙協(xié)議超高頻RFID讀寫器的設(shè)計。該設(shè)計采用基于專用芯片AS3992的射頻前端模塊和以LM3S8962為主的控制模塊,搭載μC/OS-Ⅱ系統(tǒng),通過程序進行串口初始化、AS3992驅(qū)動、防碰撞算法、CRC校驗和寄存器的讀寫操作等實現(xiàn)對電子標(biāo)簽的遠(yuǎn)距離操作。本系統(tǒng)具有開發(fā)簡單、功耗低、體積小、成本低的特點。

  與IC卡識別和條形碼識別技術(shù)相比,RFID技術(shù)具有無接觸、信息存儲量大、讀取速度快、不易受到污染、可同時識別多個目標(biāo)等優(yōu)點,特別適合對數(shù)量大、分布區(qū)域廣的信息進行智能化管理和高效快捷地運作[1]。目前RFID技術(shù)按頻率可分為低頻系統(tǒng)(125 kHz和134 kHz)、高頻系統(tǒng)(13.56 MHz和27.125 MHz)、超高頻系統(tǒng)(860 MHz~960 MHz)和微波系統(tǒng)(2.45 GHz和5.8 GHz)。然而,現(xiàn)階段我國70%的RFID市場應(yīng)用還主要集中在高頻領(lǐng)域,如身份證、電子門票、公交卡等,超高頻的市場應(yīng)用比重還不足10%。超高頻RFID系統(tǒng)與高頻RFID相比具有通信距離遠(yuǎn)、響應(yīng)速度快、抗干擾能力強等優(yōu)點,已成為目前RFID產(chǎn)業(yè)研究的熱點。

  1 系統(tǒng)硬件設(shè)計

  1.1 AS3992簡介

  AS3992芯片是奧地利微系統(tǒng)公司研制的一款支持ISO18000-6C/6B協(xié)議的900 MHz RFID讀寫器專用集成芯片。內(nèi)部集成了發(fā)送電路、接收電路和EPC Gen2協(xié)議處理模塊[2],發(fā)射模塊包括增益放大器(VGA)、功率放大器(PA)、鎖相環(huán)(PLL)、壓控振蕩器(VCO)、頻率合成器、調(diào)制器、數(shù)/模轉(zhuǎn)換器(DAC)等模塊。接收模塊包括低噪聲放大器(LNA)、混頻器(Mixer)、中頻放大器、解調(diào)器、模/數(shù)轉(zhuǎn)換器(ADC)等模塊。內(nèi)部功放的輸出功率可以高達(dá)20 dBm,片上VCO和PLL可產(chǎn)生840 MHz~960 MHz的振蕩頻率,其接收靈敏度可達(dá)-86 dBm,從而使芯片外圍電路大大簡化。收發(fā)模塊還可以自動生成報頭幀和CRC校驗,生成幀的數(shù)據(jù)塊通過片上的24 B FIFO寄存器傳輸?shù)組CU[3]。AS3992通過軟件設(shè)置可以在待機模式、休眠模式和收發(fā)模式三種工作模式間切換,大大降低了功耗。當(dāng)系統(tǒng)工作于收發(fā)模式時,讀寫器功耗僅為1.2~1.5 W,遠(yuǎn)低于目前主流2.5 W的UHF射頻芯片Intel R1000。

  1.2 硬件結(jié)構(gòu)

  系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

  AS3992與MCU通信方式有兩種:(1)并行方式,包括8 bit數(shù)據(jù)、時鐘CLK以及中斷信號IRQ;(2)串行方式,包括標(biāo)準(zhǔn)SPI接口以及中斷信號IRQ。本設(shè)計采用并行操作,可支持EPC數(shù)據(jù)鏈路640 Kb/s的最快速率[4]。

  MCU選用ARM Cortex-M3處理器LM3S8962,其內(nèi)核基于哈佛結(jié)構(gòu),指令和數(shù)據(jù)可以從存儲器中同時讀取,對多個操作可以并行執(zhí)行,程序運行速度很高,具有更低延遲的中斷,表現(xiàn)了出色快速的中斷響應(yīng),而且還同時具有兩種睡眠模式,更加節(jié)省了功耗;利用Max3232和ADM3485芯片分別實現(xiàn)RS232和RS485串口通信;同時系統(tǒng)還設(shè)有RJ45以太網(wǎng)接口,可以直接將讀寫器與網(wǎng)絡(luò)相連;復(fù)位信號由Max809芯片提供,用于監(jiān)控微控制器和其他邏輯系統(tǒng)的電源電壓;通過11個I/O口連接AS3992芯片的IO0~I(xiàn)O7、EN、CLK和IRQ管腳,實現(xiàn)芯片間并行通信;利用I/O口設(shè)有讀卡LED燈指示和蜂鳴器讀卡聲音指示。

  射頻前端模塊首先對發(fā)射信號進行編碼、載波調(diào)制后,由RFOPX和RFONX兩引腳差分輸出,經(jīng)Balun變換輸入射頻功率放大器PA,然后通過定向耦合器和環(huán)形器經(jīng)RF1450開關(guān)由天線發(fā)送給電子標(biāo)簽;接收來自電子標(biāo)簽的射頻信號,提取有用信號通過Balun變換后輸送到AS3992的輸入端MIX-INP和MIX-INN,由AS3992進行混頻、增益、濾波、模/數(shù)轉(zhuǎn)換后得到數(shù)字信號,再送給MCU處理。

  1.3 射頻前端電路設(shè)計

  AS3992雖然集成了內(nèi)部功率放大器,輸出功率可以達(dá)到20 dBm,但一般情況下在空曠靜止的環(huán)境中識別距離也就在2 m左右。因此,為了支持更遠(yuǎn)的讀寫距離,設(shè)計中將AS3992芯片設(shè)置為最大0 dBm功率的高線性輸出,利用外部功率放大器,外加匹配電路、濾波、隔離等實現(xiàn)射頻信號的發(fā)射。

  設(shè)計中采用了差分輸入、輸出方式,信號在返回路徑中對抗串?dāng)_和突變的魯棒性好,抗干擾能力強,能有效抑制外界電磁干擾。AS3992的RFONX和RFOPX引腳差分輸出為0 dBm。通過LC匹配網(wǎng)絡(luò),不僅可以起到濾波的作用,還可以引入新的反射,抵消由于負(fù)載不匹配產(chǎn)生的反射,從而達(dá)到改善駐波比和寬頻帶響應(yīng)、獲得最小噪聲系數(shù)和最大功率傳輸?shù)哪康腫5]。由于在輸出端,兩端對地都有電壓且大小相等、方向相反,阻抗為100 Ω,而終端為50 Ω的同軸電纜,為非平衡的,因此,需要利用Balun射頻變壓器來實現(xiàn)平衡和非平衡的變換。

  功率放大部分采用RF5110芯片,該芯片可工作于800 MHz~950 MHz之間,能夠滿足超高頻領(lǐng)域的所有頻段,且輸出功率具有可控性。APC1和APC2端為功率控制輸入端,連接至AS3992芯片的DAC端,DAC輸出電壓在0 V~3.2 V之間,可以通過設(shè)置DAC控制寄存器調(diào)節(jié)電壓大小。RF5110外圍電路設(shè)計可以參考RF5110數(shù)據(jù)手冊。圖2給出了RF5110在915 MHz頻率工作時,輸入端的輸入功率不同時對應(yīng)的最終輸出功率的大小。

  由圖2可知,AS3992輸出0 dBm時,在不考慮插入損耗的情況下,RF5110放大后輸出功率大約為30.6 dBm;去掉后邊低通濾波器、定向耦合器等的插入損耗,最終天線的發(fā)射功率還不足1 W(對應(yīng)30 dBm)。為了達(dá)到RF5110最佳的放大輸出,設(shè)計中引入前置增益放大器HMC580ST89,在0.5 MHz~1.0 GHz范圍內(nèi)可獲得17 dB增益,輸出三階截點IP3高達(dá)33 dBm,具有良好的線性度和更少的失真。通過HMC580ST89放大后獲得Pin端功率為7 dBm,在Vapc=2.7 V、Vcc=3.3 V條件下,RF5110輸出功率可達(dá)到34.5 dBm,轉(zhuǎn)換效率為54.8%。

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

  功率檢測電路如圖3所示,采用ADL5501芯片來防止因天線不匹配或定向耦合器(或環(huán)形器)的信號泄漏造成發(fā)射信號被反射進入AS3992芯片中的混頻器,導(dǎo)致發(fā)射信號噪聲被調(diào)制,增加接收波噪聲和誤碼率,甚至?xí)斐苫祛l器輸入端的過載飽和。ADL5501的輸入引腳接定向耦合器的耦合端,通過輸入端的兩個電阻配置衰減參數(shù),防止功率過大燒毀芯片。AS3992根據(jù)反射功率的大小可以通過DAC控制發(fā)射功率。

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

  通過四天線端口設(shè)計,并將多個天線在空間上排成適當(dāng)陣列形式,可以保證讀寫器的4個天線對指定讀寫區(qū)域進行全方位的覆蓋。設(shè)計中采用插入損耗僅為0.4 dBm的單刀四擲射頻開關(guān)RF1450,通過MCU的2個GPIO控制天線選擇。

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

  2 系統(tǒng)軟件設(shè)計

  讀寫器在識別和讀寫電子標(biāo)簽時,要求有比較高的識別速度和讀寫速度,尤其是讀寫器在識別電子標(biāo)簽時,首先要在6B和6C兩個工作協(xié)議間進行自適應(yīng)識別與切換,這對處理器軟件的運行效率和處理速度提出了較高的要求。MCU對AS3992的操作主要是修改內(nèi)部的寄存器,32個寄存器訪問也給軟件設(shè)計帶來了一定的復(fù)雜性。而且軟件還擔(dān)負(fù)了編碼和解碼等通信協(xié)議的實現(xiàn),能夠?qū)崟r地讓用戶通過應(yīng)用軟件對系統(tǒng)發(fā)送指令和數(shù)據(jù)。經(jīng)綜合考慮,有必要在ARM控制器中引入μC/OS-Ⅱ系統(tǒng)來擔(dān)負(fù)系統(tǒng)任務(wù)的調(diào)度和系統(tǒng)資源的管理,這樣不僅可以使軟件的開發(fā)更加方便高效,還可以提高系統(tǒng)的可靠性,充分發(fā)揮控制器的處理能力。

  μC/OS-Ⅱ是一種簡單高效、源代碼公開、支持多任務(wù)和搶占式內(nèi)核、具有良好的可裁剪性的嵌入式實時操作系統(tǒng)。由于周立功單片機公司已經(jīng)提供了基于群星Cortex-M3的μCOS-II移植模板,只需要更改代碼中相應(yīng)的硬件底層驅(qū)動即可,工作較為簡單,本文不再對該移植內(nèi)容進行分析。

  2.1 主程序

  主程序的控制流程圖如圖5所示。系統(tǒng)上電后進行初始化(主要進行定時器、串口初始化)、使能中斷、設(shè)置并行通信方式、設(shè)置工作頻率、通信協(xié)議初始化等。UART串口初始化后等待系統(tǒng)命令,若主機發(fā)送的命令數(shù)據(jù)包有效就會喚醒CPU工作并發(fā)送設(shè)備ID號給PC機。通過輪詢發(fā)送6B和6C協(xié)議判定命令,實現(xiàn)自適應(yīng)自動識別并切換到相應(yīng)協(xié)議處理模式下工作。

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

  2.2 6C協(xié)議處理

  通過設(shè)置AS3992內(nèi)部的協(xié)議控制寄存器(01)可以實現(xiàn)Gen2協(xié)議和6B協(xié)議。設(shè)置Port<1:0>為“00”實現(xiàn)Gen 2協(xié)議,“10”實現(xiàn)6B協(xié)議。進入6C協(xié)議模式下,首先要初始化AS3992,以設(shè)置各寄存器的值,例如狀態(tài)控制寄存器設(shè)置為0x02,協(xié)議控制寄存器設(shè)為0x06,發(fā)射控制寄存器設(shè)為0xF0,接收控制寄存器設(shè)為0x60等。防碰撞算法采用Epc標(biāo)準(zhǔn)規(guī)定的時隙ALOHA算法,初始化后發(fā)送select命令選擇一批標(biāo)簽后,盤存Querystandard(q)函數(shù)產(chǎn)生隨機數(shù)q,然后發(fā)送query命令,等待標(biāo)簽響應(yīng),執(zhí)行ReadRN()函數(shù)讀取標(biāo)簽響應(yīng),通過ACK()和QueryRep()命令槽計數(shù)器減值并進行識別,正確識別唯一標(biāo)簽后將標(biāo)簽序列號計入到存儲器中。識別過程中根據(jù)讀標(biāo)簽的返回情況由QueryAdjust()命令調(diào)整q值。識別成功后發(fā)送Access()和ReqRN()命令進行密碼高低位的驗證,驗證成功后才可以對標(biāo)簽操作。具體流程圖如圖6所示。

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

  2.3 6B協(xié)議處理

  在狀態(tài)控制寄存器中,經(jīng)“Direct”位置為“1”即可計入直接模式。直接模式下只會用到4個IO口(IO2、IO3、IO5、IO6)。其中IO3用于數(shù)字調(diào)制輸入,IO2用于RX使能輸入,IO5和IO6輸出副載波[6]。

  直接模式分為兩種:當(dāng)協(xié)議控制寄存器(01)中的dir_mode為“1”時,輸出未經(jīng)解碼的副載波數(shù)據(jù)流;當(dāng)dir_mode為“0”時,輸出由ISO18000-6C協(xié)議處理器中功能相同的FM0解碼器進行解碼之后的數(shù)據(jù)流[3]。直接模式下采用基于曼徹斯特編碼的動態(tài)二進制搜索算法,以及CRC-16校驗方式,設(shè)置鏈路頻率為40 kHz。發(fā)送指令后要退出直接模式,在普通模式下接收數(shù)據(jù),才能使用內(nèi)置解碼器來輸出數(shù)據(jù)流。CRC校驗錯誤時,檢測發(fā)生錯誤的最高沖突位X,并將其置為0,然后重新傳送(N-X)位后即中斷傳輸,標(biāo)簽比對N-X位并返回響應(yīng)數(shù)據(jù)。CRC校驗若無錯,計數(shù)器cnt減1、found加1;若有錯誤,則再將最高沖突位置0后重新發(fā)送命令,直至最后搜索范圍內(nèi)標(biāo)簽數(shù)cnt=0結(jié)束。具體流程圖如圖7所示。

基于μC/OS-Ⅱ的超高頻雙協(xié)議RFID讀寫器設(shè)計

  本文設(shè)計了一款基于AS3992和LM3S8962單片機的ISO18000-6B和6C雙協(xié)議自適應(yīng)超高頻讀寫器,并給出了軟、硬件的設(shè)計方案。讀寫器可以實現(xiàn)四通道天線連接,增加了標(biāo)簽的讀取范圍,發(fā)射功率可達(dá)到32 dBm,讀取距離可達(dá)7 m。本系統(tǒng)開發(fā)周期短、功耗低、識別距離遠(yuǎn),具有廣闊的應(yīng)用前景。

  參考文獻(xiàn)

  [1] 黃玉蘭.物聯(lián)網(wǎng)射頻識別(RFID)核心技術(shù)詳解[M].北京:人民郵電出版社,2010.

  [2] 譚海燕,崔如春,肖志良,等.基于AS3990/AS3991的超高頻RFID讀寫器的設(shè)計[J].電子技術(shù)應(yīng)用,2010,36(3):54-56.

  [3] 唐焯宜.基于AS3991的超高頻RFID讀寫器設(shè)計[D].廣州:中山大學(xué),2010.

  [4] 汪大卓,孫玲玲,蔡鵬鵬.一種便攜式超高頻RFID讀寫器的設(shè)計[J].杭州電子科技大學(xué)學(xué)報,2010,30(5):33-35.

  [5] 劉長軍,黃卞瑪,閆麗萍.射頻通信電路設(shè)計[M].北京:科學(xué)出版社,2005.

  [6] Austria micro systems.AS3992 datasheet[EB/OL].[2012-04 -28]