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