文獻標識碼: A
文章編號: 0258-7998(2012)10-0019-04
與IC卡識別和條形碼識別技術相比,RFID技術具有無接觸、信息存儲量大、讀取速度快、不易受到污染、可同時識別多個目標等優點,特別適合對數量大、分布區域廣的信息進行智能化管理和高效快捷地運作[1]。目前RFID技術按頻率可分為低頻系統(125 kHz和134 kHz)、高頻系統(13.56 MHz和27.125 MHz)、超高頻系統(860 MHz~960 MHz)和微波系統(2.45 GHz和5.8 GHz)。然而,現階段我國70%的RFID市場應用還主要集中在高頻領域,如身份證、電子門票、公交卡等,超高頻的市場應用比重還不足10%。超高頻RFID系統與高頻RFID相比具有通信距離遠、響應速度快、抗干擾能力強等優點,已成為目前RFID產業研究的熱點。
1 系統硬件設計
1.1 AS3992簡介
AS3992芯片是奧地利微系統公司研制的一款支持ISO18000-6C/6B協議的900 MHz RFID讀寫器專用集成芯片。內部集成了發送電路、接收電路和EPC Gen2協議處理模塊[2],發射模塊包括增益放大器(VGA)、功率放大器(PA)、鎖相環(PLL)、壓控振蕩器(VCO)、頻率合成器、調制器、數/模轉換器(DAC)等模塊。接收模塊包括低噪聲放大器(LNA)、混頻器(Mixer)、中頻放大器、解調器、模/數轉換器(ADC)等模塊。內部功放的輸出功率可以高達20 dBm,片上VCO和PLL可產生840 MHz~960 MHz的振蕩頻率,其接收靈敏度可達-86 dBm,從而使芯片外圍電路大大簡化。收發模塊還可以自動生成報頭幀和CRC校驗,生成幀的數據塊通過片上的24 B FIFO寄存器傳輸到MCU[3]。AS3992通過軟件設置可以在待機模式、休眠模式和收發模式三種工作模式間切換,大大降低了功耗。當系統工作于收發模式時,讀寫器功耗僅為1.2~1.5 W,遠低于目前主流2.5 W的UHF射頻芯片Intel R1000。
1.2 硬件結構
系統硬件結構如圖1所示。
AS3992與MCU通信方式有兩種:(1)并行方式,包括8 bit數據、時鐘CLK以及中斷信號IRQ;(2)串行方式,包括標準SPI接口以及中斷信號IRQ。本設計采用并行操作,可支持EPC數據鏈路640 Kb/s的最快速率[4]。
MCU選用ARM Cortex-M3處理器LM3S8962,其內核基于哈佛結構,指令和數據可以從存儲器中同時讀取,對多個操作可以并行執行,程序運行速度很高,具有更低延遲的中斷,表現了出色快速的中斷響應,而且還同時具有兩種睡眠模式,更加節省了功耗;利用Max3232和ADM3485芯片分別實現RS232和RS485串口通信;同時系統還設有RJ45以太網接口,可以直接將讀寫器與網絡相連;復位信號由Max809芯片提供,用于監控微控制器和其他邏輯系統的電源電壓;通過11個I/O口連接AS3992芯片的IO0~IO7、EN、CLK和IRQ管腳,實現芯片間并行通信;利用I/O口設有讀卡LED燈指示和蜂鳴器讀卡聲音指示。
射頻前端模塊首先對發射信號進行編碼、載波調制后,由RFOPX和RFONX兩引腳差分輸出,經Balun變換輸入射頻功率放大器PA,然后通過定向耦合器和環形器經RF1450開關由天線發送給電子標簽;接收來自電子標簽的射頻信號,提取有用信號通過Balun變換后輸送到AS3992的輸入端MIX-INP和MIX-INN,由AS3992進行混頻、增益、濾波、模/數轉換后得到數字信號,再送給MCU處理。
1.3 射頻前端電路設計
AS3992雖然集成了內部功率放大器,輸出功率可以達到20 dBm,但一般情況下在空曠靜止的環境中識別距離也就在2 m左右。因此,為了支持更遠的讀寫距離,設計中將AS3992芯片設置為最大0 dBm功率的高線性輸出,利用外部功率放大器,外加匹配電路、濾波、隔離等實現射頻信號的發射。
設計中采用了差分輸入、輸出方式,信號在返回路徑中對抗串擾和突變的魯棒性好,抗干擾能力強,能有效抑制外界電磁干擾。AS3992的RFONX和RFOPX引腳差分輸出為0 dBm。通過LC匹配網絡,不僅可以起到濾波的作用,還可以引入新的反射,抵消由于負載不匹配產生的反射,從而達到改善駐波比和寬頻帶響應、獲得最小噪聲系數和最大功率傳輸的目的[5]。由于在輸出端,兩端對地都有電壓且大小相等、方向相反,阻抗為100 Ω,而終端為50 Ω的同軸電纜,為非平衡的,因此,需要利用Balun射頻變壓器來實現平衡和非平衡的變換。
功率放大部分采用RF5110芯片,該芯片可工作于800 MHz~950 MHz之間,能夠滿足超高頻領域的所有頻段,且輸出功率具有可控性。APC1和APC2端為功率控制輸入端,連接至AS3992芯片的DAC端,DAC輸出電壓在0 V~3.2 V之間,可以通過設置DAC控制寄存器調節電壓大小。RF5110外圍電路設計可以參考RF5110數據手冊。圖2給出了RF5110在915 MHz頻率工作時,輸入端的輸入功率不同時對應的最終輸出功率的大小。
由圖2可知,AS3992輸出0 dBm時,在不考慮插入損耗的情況下,RF5110放大后輸出功率大約為30.6 dBm;去掉后邊低通濾波器、定向耦合器等的插入損耗,最終天線的發射功率還不足1 W(對應30 dBm)。為了達到RF5110最佳的放大輸出,設計中引入前置增益放大器HMC580ST89,在0.5 MHz~1.0 GHz范圍內可獲得17 dB增益,輸出三階截點IP3高達33 dBm,具有良好的線性度和更少的失真。通過HMC580ST89放大后獲得Pin端功率為7 dBm,在Vapc=2.7 V、Vcc=3.3 V條件下,RF5110輸出功率可達到34.5 dBm,轉換效率為54.8%。
功率檢測電路如圖3所示,采用ADL5501芯片來防止因天線不匹配或定向耦合器(或環形器)的信號泄漏造成發射信號被反射進入AS3992芯片中的混頻器,導致發射信號噪聲被調制,增加接收波噪聲和誤碼率,甚至會造成混頻器輸入端的過載飽和。ADL5501的輸入引腳接定向耦合器的耦合端,通過輸入端的兩個電阻配置衰減參數,防止功率過大燒毀芯片。AS3992根據反射功率的大小可以通過DAC控制發射功率。
通過四天線端口設計,并將多個天線在空間上排成適當陣列形式,可以保證讀寫器的4個天線對指定讀寫區域進行全方位的覆蓋。設計中采用插入損耗僅為0.4 dBm的單刀四擲射頻開關RF1450,通過MCU的2個GPIO控制天線選擇。
2 系統軟件設計
讀寫器在識別和讀寫電子標簽時,要求有比較高的識別速度和讀寫速度,尤其是讀寫器在識別電子標簽時,首先要在6B和6C兩個工作協議間進行自適應識別與切換,這對處理器軟件的運行效率和處理速度提出了較高的要求。MCU對AS3992的操作主要是修改內部的寄存器,32個寄存器訪問也給軟件設計帶來了一定的復雜性。而且軟件還擔負了編碼和解碼等通信協議的實現,能夠實時地讓用戶通過應用軟件對系統發送指令和數據。經綜合考慮,有必要在ARM控制器中引入μC/OS-Ⅱ系統來擔負系統任務的調度和系統資源的管理,這樣不僅可以使軟件的開發更加方便高效,還可以提高系統的可靠性,充分發揮控制器的處理能力。
μC/OS-Ⅱ是一種簡單高效、源代碼公開、支持多任務和搶占式內核、具有良好的可裁剪性的嵌入式實時操作系統。由于周立功單片機公司已經提供了基于群星Cortex-M3的μCOS-II移植模板,只需要更改代碼中相應的硬件底層驅動即可,工作較為簡單,本文不再對該移植內容進行分析。
2.1 主程序
主程序的控制流程圖如圖5所示。系統上電后進行初始化(主要進行定時器、串口初始化)、使能中斷、設置并行通信方式、設置工作頻率、通信協議初始化等。UART串口初始化后等待系統命令,若主機發送的命令數據包有效就會喚醒CPU工作并發送設備ID號給PC機。通過輪詢發送6B和6C協議判定命令,實現自適應自動識別并切換到相應協議處理模式下工作。
2.2 6C協議處理
通過設置AS3992內部的協議控制寄存器(01)可以實現Gen2協議和6B協議。設置Port<1:0>為“00”實現Gen 2協議,“10”實現6B協議。進入6C協議模式下,首先要初始化AS3992,以設置各寄存器的值,例如狀態控制寄存器設置為0x02,協議控制寄存器設為0x06,發射控制寄存器設為0xF0,接收控制寄存器設為0x60等。防碰撞算法采用Epc標準規定的時隙ALOHA算法,初始化后發送select命令選擇一批標簽后,盤存Querystandard(q)函數產生隨機數q,然后發送query命令,等待標簽響應,執行ReadRN()函數讀取標簽響應,通過ACK()和QueryRep()命令槽計數器減值并進行識別,正確識別唯一標簽后將標簽序列號計入到存儲器中。識別過程中根據讀標簽的返回情況由QueryAdjust()命令調整q值。識別成功后發送Access()和ReqRN()命令進行密碼高低位的驗證,驗證成功后才可以對標簽操作。具體流程圖如圖6所示。
2.3 6B協議處理
在狀態控制寄存器中,經“Direct”位置為“1”即可計入直接模式。直接模式下只會用到4個IO口(IO2、IO3、IO5、IO6)。其中IO3用于數字調制輸入,IO2用于RX使能輸入,IO5和IO6輸出副載波[6]。
直接模式分為兩種:當協議控制寄存器(01)中的dir_mode為“1”時,輸出未經解碼的副載波數據流;當dir_mode為“0”時,輸出由ISO18000-6C協議處理器中功能相同的FM0解碼器進行解碼之后的數據流[3]。直接模式下采用基于曼徹斯特編碼的動態二進制搜索算法,以及CRC-16校驗方式,設置鏈路頻率為40 kHz。發送指令后要退出直接模式,在普通模式下接收數據,才能使用內置解碼器來輸出數據流。CRC校驗錯誤時,檢測發生錯誤的最高沖突位X,并將其置為0,然后重新傳送(N-X)位后即中斷傳輸,標簽比對N-X位并返回響應數據。CRC校驗若無錯,計數器cnt減1、found加1;若有錯誤,則再將最高沖突位置0后重新發送命令,直至最后搜索范圍內標簽數cnt=0結束。具體流程圖如圖7所示。
本文設計了一款基于AS3992和LM3S8962單片機的ISO18000-6B和6C雙協議自適應超高頻讀寫器,并給出了軟、硬件的設計方案。讀寫器可以實現四通道天線連接,增加了標簽的讀取范圍,發射功率可達到32 dBm,讀取距離可達7 m。本系統開發周期短、功耗低、識別距離遠,具有廣闊的應用前景。
參考文獻
[1] 黃玉蘭.物聯網射頻識別(RFID)核心技術詳解[M].北京:人民郵電出版社,2010.
[2] 譚海燕,崔如春,肖志良,等.基于AS3990/AS3991的超高頻RFID讀寫器的設計[J].電子技術應用,2010,36(3):54-56.
[3] 唐焯宜.基于AS3991的超高頻RFID讀寫器設計[D].廣州:中山大學,2010.
[4] 汪大卓,孫玲玲,蔡鵬鵬.一種便攜式超高頻RFID讀寫器的設計[J].杭州電子科技大學學報,2010,30(5):33-35.
[5] 劉長軍,黃卞瑪,閆麗萍.射頻通信電路設計[M].北京:科學出版社,2005.
[6] Austria micro systems.AS3992 datasheet[EB/OL].[2012-04 -28].http://www.austriamicmsystems.com.