于AVR單片機的多協(xié)議讀寫器的設計
圖 2 引腳定義
收發(fā)器信號接收
RFIN1和RFIN2是該IC接收鏈上的兩個輸入引腳,它們被EM4094用來解調收發(fā)器送過來的數據流,其引腳 上的電壓必須設定在GND和VDD之間,這兩個解調輸入必須具有相同的性能和呈現出相同的靈敏度。配合一個外部匹配阻抗電路,這兩個輸入端可用于解調輸入的相位或幅度調制信號。未使用的輸入腳應當通過一個10nF的電容接至模擬地。輸入引腳的高靈敏度使得讀卡器即便在電子標簽的最小電源級別上仍能有較遠的讀取距離。
表1
關閉讀卡器芯片
EN引腳用于使能或關閉讀卡器IC。該輸入引腳可由一個外部微控制器進行控制。當EN引腳為高電平時,EM4094進入激活模式,其輸出在天線上產生13.56MHz信號;當EN引腳為低電平時,讀卡器芯片進入睡眠模式,這樣可大大降低讀卡器芯片的功耗。在設計手提式讀卡器時,EM4094的這一性能特別有用,它可提高電池的使用壽命。
數據輸入與輸出
在SPI模式下,DIN引腳用于輸入數據,DOUT引腳用于輸出數據,DCLK用作SPI的時鐘信號。一個SPI接口可用來設置讀卡器芯片的內部位寄存器及設定不同模塊的參數。在正常模式下,通過施加在DIN引腳上的邏輯電平來打開或關閉天線驅動器,DIN發(fā)出的應答信息可直接在DOUT腳上讀取。
安全功能
當前的許多RFID應用都采用加密算法對數據進行加密或對身份進行證明。有些加密算法是公開的,有些則不對外公開。有些供應商在源代碼或目標代碼、或其它獨立的安全元件(如SIM卡)中提供他們獨特的加密算法。當然,多種可選方案使得設計可十分靈活。你可以在一個傳統(tǒng)的微控制器或一個安全的控制器中實現一個或多個算法,另外一個選擇是用一個負責安全操作的獨立元件來構建一個接口。將這兩種方案混合運用當然也是可以的。EM通過SIM卡提供其專有加密算法。
固件程序設計
程序層次劃分
固件結構分為幾層,每一層都有特定的功能:
? Level1 –執(zhí)行解碼任務;
? Level2 –執(zhí)行底層數據發(fā)送和變換任務;
? Level3 –執(zhí)行上層數據傳輸任務--- main loop 、 bootloader 以及 simcard;
? Level4 -執(zhí)行UART 通訊任務。
主程序設計
? Main loop (level3) 定期查詢UART的接收緩沖區(qū) (level4),并根據有效命令執(zhí)行相應的任務。所有執(zhí)行的任務都會返回信息,包括任務錯誤。
? UART 數據接收是異步執(zhí)行的。只有對之前命令的響應完全送出后,才會執(zhí)行下一條命令。
?通常和卡片通訊的命令由硬件定時器進行控制 (T0、 T1、 T2、T3用于接收 ,T1用于發(fā)送)。
?定時器計數值由AVR時鐘信號完成。
?有些程序需要中斷觸發(fā),這就要求具有很高的捕獲能力。
?正如其他一些重要的任務,發(fā)送 (level2)和捕獲 (level1)的任務可以并行進行,而不會互相干擾。
數據處理
應用軟件為Uplink (send)任務準備好命令子節(jié)。所有任務將要發(fā)送的數據位流放入 data_buffer 數組。為了讓前臺捕獲程序與后臺處理分開,捕獲任務將信息存入一對數組. [data bit, validity bit]。通過level1/store_bit function ,把捕獲任務得到得一對信息存入到由capture_cnt 和capture_bit_count 變量索引的capture數組。capture 緩沖區(qū)在執(zhí)行捕獲前要初始化;data bit為0,valid bit為1。所有位有效。接收到的數據可以在后臺進行查找。這種邏輯可以給出一個有序的確定的信息,而不需要異步處理或優(yōu)先可重入中斷處理。
結束語
無線射頻識別具有信息量大、高效便捷、安全的特點,是自動識別的主流技術。低成本、高可靠的電子標簽識讀終端的研究開發(fā)有很大的實際意義。本文在研究分析系統(tǒng)作用原理的基礎上,給出了AVR微處理器芯片以及RFID讀寫基站共同構成了一個完整的射頻卡讀寫系統(tǒng)的硬件實現方案。系統(tǒng)結構和成本合理,可靠性已得到試驗驗證, 有較好的應用價值。
評論