引言
本文引用地址:http://www.eepw.com.cn/article/272743.htm隨著現代信息技術和超大規模集成電路的發展,RFID技術在服務領域、貨物銷售與後勤分配、商業部門、生產企業和材料流通領域得到了越來越廣泛的應用。射頻識別技術的基本原理是利用射頻信號和空間耦合(電感耦合或電磁耦合)或雷達反射的傳輸特性,實現對被識別物體的自動識別。
RFID系統不局限於視線,識別距離遠。射頻識別卡具有可讀寫能力,可攜帶大量數據,可工作在潮溼、乾燥等惡劣環境下,同時具有難以偽造和智能性較高等優點。與此同時,不同的射頻標籤編碼規則、不同的空中接口協議、大量而複雜的RFID數據如何處理等問題嚴重阻礙了RFID技術發揮其巨大作用。基於這種現狀,本文結合防碰撞算法提出了嵌入式平臺下的RFID讀寫器設計方案。
1 RFID系統結構原理
無線射頻識別技術是一種非接觸的自動識別技術,常稱為感應式電子晶片或近接卡、感應卡、非接觸卡、電子標籤、電子條碼等。完整的RFID閱讀系統是由讀寫器(Reacler)、應答器(Transponder)、天線(Antenna)三部分組成。其動作原理為Reader通過Antenna發射特定頻率的無線電波能量給Transponder,用以驅動Transponder電路將內部ID Code送出,此時ReaGler便接收此IDCode。由於此ID Code的唯一性,所以RFID讀寫器可以實現對物體或商品的自動識別。RFID系統框圖如圖1所示。系統由中間件、讀寫器、應答器等部分組成。
射頻識別系統的基本工作方式分為全雙工(Full Duplex)和半雙工(Half Duplex)。無論是哪種工作方式,其信息的發送都包括編碼、調製、信道傳輸三個步驟。對於數字通信來說,編碼和調製方式的選擇顯得尤為重要。
讀寫器與電子標籤之間的數據傳輸需要3個主要的功能塊,RFID系統基本通信結構框圖如圖2所示。
2 系統硬體設計
系統的核心是Samsung公司的ARM9晶片S3C2440A。RFID讀寫器系統硬體電路採用模塊化設計方案,將主控模塊(核心板)與擴展模塊電路(底板)分開設計。主控制模塊包含了最小系統的設計,包括處理器S3c2440A、內存SDRAM、非易失存儲器Nand Flash、電源轉換電路、LED指示電路以及一些旁通電容電路。整體的RFID讀寫器系統的硬體設計主要包括主控制模塊、射頻模塊、擴展底板Power、JTAG、UART、USB A/B、LCD/TouchScreen、LAN、SD、Audio、LED、Reset等電路。
2.1 主控制模塊設計
系統採用了兩片16位的SDRAM H57V256GTR晶片組成了32位的64 MB系統內存。SDRAM與S3C2440A連接的32條數據線中,高16位DATA[31..16]和低16位DATA[15..0]分別與兩片SDRAM相連;H57V256GTR有13根行地址線、9根列地址線、2根BANK選擇線BA0~BA1。S3C2440與SDRAM連接時要注意:
◆SDRAM的A[0..2]連到CPU的ADDR[2..14];
◆BA0、BA1的地址連接,BA0、BA1代表了SDRAM的最高地址位。
主控制模塊的電路連接框圖如圖3所示。
2.2 接口電路設計
S3C2440A具有豐富的外設接口控制器,每個接口都有相應的內部控制邏輯單元(電路驅動)和可編程的控制寄存器,因此對這些標準接口進行電路設計就變得很簡單。本系統中外部模塊主要通過USB接口與處理器通信,USB接口電路如圖4所示。
S3C2440A具有兩個USB主機控制器,兼容USB1.0和USB1.1協議,支持低速和全速模式。這兩個USB主機控制器既可以作為主機口,又可以作為從設備口用,主要是看D+或D-數據線所接的上拉電阻的阻值。本課題由於要在終端平臺上外接模塊,所以終端平臺的USB埠作為主機口。又由於終端平臺需要與PC機通信,而PC機的USB埠都是作主機的,所以終端平臺又要提供USB埠作為從機口。這樣,在設計中就將S3C2440A的USB0作為主機口用,而將USB1通過跳線選擇來兼容主機口和設備口。
2.3 RFID讀寫器設計
TRF7960晶片內部包含了一個51核,但是這個51核主要是用來負責接收處理器數據(命令)並處理數據(編碼)後通過射頻電路發送出去,或是從射頻電路接收信號並進行處理(解碼)後再送回給處理器。通過TI公司的微處理器MSP430F2370與射頻前端晶片配合,可有效地提高讀寫器的性能。
在讀寫器模塊設計時加入了USB轉UART的橋接器晶片CP2102。加入該晶片一方面可以通過USB的連接器與終端平臺互連,實現即插即用的功能;另一方面可以通過終端平臺上的USB主控制器提供5 V的電源,系統設計的讀寫器模塊正是採用這種方式供電的。RFID讀寫器模塊的原理圖如圖5所示。
3 系統軟體設計
系統軟體設計主要實現嵌入式系統移植及防碰撞算法。當在讀寫器的天線區域中有多個射頻標籤時,同時到達的信號會產生信道爭用的問題。信號互相干擾,發生碰撞。防碰撞技術利用排隊論及抗噪聲技術來解決這個問題,通過RFID系統一次可以完成對多個射頻標籤的識別。防碰撞技術的優劣決定了RFID系統的性能。系統軟體總體架構包括:擴展層,提供RFID讀寫器的固件程序,支持多種數據採集模塊;設備層,提供RFID系統運行的硬體環境和提供多種物理接口;系統層,提供RFID系統運行的軟體環境;中間層,提供開發系統的基礎軟體框架和應用型RFID中間件;應用層,與業務相關的應用軟體。
3.1 防碰撞算法分析
在RFID系統中,評價防碰撞算法優劣的指標有防碰撞速度、準確率、信道利用率、穩定性、安全性和成本等。目前業界推崇的防碰撞方法主要有ALOHA算法(又稱應答器控制算法)和二進位樹形搜索算法(又稱讀寫器控制算法)。ALOHA防衝突算法由於延遲時間和檢測時間是隨機分布的,是一種不確定性算法,可分為非時隙、時隙以及自適應ALOHA防衝突算法。其中自適應ALOHA方法的信道利用率最高,它的優點是能顯著提高識別速率,缺點是複雜度明顯提高。它僅適用於只讀型電子標籤。二進位樹形搜索算法的優點是防衝突能力較強、數據結構和指令簡單,缺點是支持的存儲容量較小,不適合UID過長的電子標籤。這裡利用二進位樹形搜索算法實現功能。
二進位搜索算法是利用逐步減少發生衝突的位的方法來完成對標籤的識別的。該算法的前提條件是讀寫器必須能夠準確地發現發生衝突的位。因此,在該算法中,標籤返回信號的編碼方式使用了Manchester編碼。在Manchester編碼方式中,每個信號位中間引入跳變來同時代表不同的數值和同步信息。一個負電平到正電平的跳變代表邏輯「0」,而一個正電平到負電平的跳變則代表邏輯「1」。在數據傳輸過程中,「沒有變化」的狀態是不允許的。因此,當一個讀寫器收到標籤的返回信號後,如果發現某些位信號的狀態沒有發生改變,那麼讀寫器就能夠判斷這些位一定發生了衝突。Manchester編碼原理如圖6所示。
圖6中有兩個標籤同時處於讀寫器的讀寫範圍內。當讀寫器發送讀標籤命令時,兩個標籤都返回它們的識別碼給讀寫器。從圖中可以看出,標籤1識別碼的第5位和第2位的值分別是邏輯「0」和邏輯「1」,而標籤2的識別碼的第5位和第2位分別是邏輯「1」和邏輯「0」。所以,當讀寫器收到它們的返回信號時,這兩位的狀態不會改變,從而讀寫器知道這兩位發生了衝突,由此實現多標籤防碰撞。圖中的虛線表示標籤返回信號中發生衝突的位。
3.2 多協議模式分析
在上電後,首先對TRF7960進行初始化設置。為控制TRF7960實現讀/寫卡等操作,首先得明確TRF7960的讀寫時序。起始條件是CLK為高,然後發送8位地址,再在發送時鐘的下降沿進行數據發送。當CLK為低時,信號發送上升沿表示操作已經結束。在TRF7960內部有兩個主要配置寄存器:晶片狀態控制寄存器和ISO控制寄存器,00h和01h分別是它們的地址。晶片狀態寄存器可以控制電源模式、RF輸出開關等。ISO控制寄存器則負責ISO協議選擇,它通過設定參數protocol,選擇不同的協議工作方式。例如當protocol為0x01時,為ISO15693協議;當protocol為0x02時,為ISO14443A協議;當protocol為0x03時,為ISO14443B協議。根據指定協議進行相應的讀寫操作,在設定時間內,若有FIFO中斷或發送結束中斷產生,則採集數據並保存。這樣就實現了多協議、防碰撞多標籤RFID讀寫器系統。