基于TRF7960芯片的RF射頻讀卡器設(shè)計
1 讀卡器的硬件設(shè)計
STCllF32XE單片機是宏晶科技公司設(shè)計生產(chǎn)的單時鐘/機器周期(IT)的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。內(nèi)部集成高可靠復(fù)位電路,可用在高速通信、智能控制、強干擾等場合。STCllF32XE內(nèi)部有32 KB的Flash,29 KB的EEPROM和1 280字節(jié)的SRAM。本文采用的STCllF32XE是LQFP-44引腳,除了EA、ALE、PSEN和RST引腳可以定義為通用I/O外,還多了1 個P4口。編程支持ISP下載功能,使用起來比較方便。
TRF7960是TI(德州儀器)公司推出的高頻(13.56MHz)多標準射頻識別(RFID)閱讀器IC產(chǎn)品系列之一。TRF7960采用超小32-pin QFN的高級封裝設(shè)計,支持ISO/IEC 14443A/B、ISO/IEC 15693、ISO/IEC 18000-3以及TI公司的非接觸支付商務(wù)與Tag-It應(yīng)答器產(chǎn)品系列。采用TRF7960的讀卡器為微控制器提供了內(nèi)部時鐘,只需1個13.56 MHz的晶振就能工作,而不需要2個標準晶體,從而有助于降低終端讀卡器產(chǎn)品的總物料單成本。由于組件很少,讀卡器IC耗電、占用的空間也很少,因此可以解決敏感度和噪聲衰減問題。其他集成功能還包括故障檢查、數(shù)據(jù)格式化、成幀以及適合多讀卡器環(huán)境的防碰撞支持等。TRF7960與微控制器之間通信可以使用8位并行或者串行(SPI)的靈活的通信方式。該芯片還具有寬泛的操作電壓(2.7~5.5 V)。TRF7960非常適用于安全訪問控制、產(chǎn)品認證以及非接觸支付系統(tǒng)等應(yīng)用。
為了使用STCllF32XE單片機內(nèi)部1 KB的擴展SRAM,此處采用的是8位并行模擬總線接口方式,用單片機的P1口和TRF7960的DO~D7相連,用P2.6、P2.7、P3.2作為控制線分別和TRF7960的DATA CLK、EN、IRQ引腳相連。需要注意,為了使TRF7960通信接口支持5 V的邏輯電平,應(yīng)該把TRF7960的VDD_I/O引腳接5 V電壓。采用模擬總線方式是一種通用的方法,特別是對于不支持總線擴展的單片機更為重要。該設(shè)計中使用模擬總線的方式可防止TRF7960和單片機內(nèi)部的 SRAM發(fā)生總線沖突。圖1是讀卡器的系統(tǒng)硬件原理圖。
PL2303是Prolific:公司生產(chǎn)的USB總線轉(zhuǎn)接芯片,可以實現(xiàn)USB轉(zhuǎn)串口,用于為計算機擴展異步串行口,或者將普通的串口設(shè)備直接升級到USB總線。PL2303完全兼容USBl.1、USB2.0;3~5 V調(diào)節(jié)輸出,可以滿足不同的電壓輸出接口;全雙工發(fā)送和接收(RXD、TXD);MODEM控制線(RTS、CTS、DTR、DSR、DCD和 RI);5、6、7或8位數(shù)據(jù)格式;奇偶校驗或無校驗;1位、1位半或2位停止位;可編程的波特率75 b/s~6 Mb/s等。因此,PL2303是移動系統(tǒng)和嵌入式系統(tǒng)的理想選擇,其小封裝能夠嵌入任何連接件和手持設(shè)備。PL2303在工作模式和休眠模式都具有很低的功耗,非常適合總線供電場合使用。USB芯片使得該讀卡器省去了串口和電源供電端口,可以通過該USB接口和PC管理軟件通信。
顯示屏采用的是基于ST7565S控制器的圖形點陣LCD模塊,分辨率為128×64,支持串行接口,不帶漢字庫。為了能使該讀卡器可以應(yīng)用在諸如圖書館圖書管理方面和其他需要需要漢字顯示的場合,采用華邦公司生產(chǎn)的串行存儲器W25X80,自行設(shè)計了GB2312漢字庫和其他圖片庫。串行Flash存儲器以其體積小、密度高、功耗低、價位低、操作簡單而備受青睞,Winbond公司生產(chǎn)的Flash存儲器W25X80為8 Mb串行Fla-sh,大小為1 MB,分為4096頁,每頁為256字節(jié)的存儲單元,且?guī)в?56個字節(jié)的緩沖區(qū),SPI的接口方式。使用Flash自行設(shè)計漢字庫不僅操作十分簡單,并且可以靈活地適用于多個設(shè)計方案。
系統(tǒng)硬件電路設(shè)計應(yīng)該注意的地方如下:
?、俦M量讓濾波電容靠近芯片,特別是10 nF的電容,這樣對高頻信號進行有效的濾波;
?、诒M量減少布線地的回路,所以要求接地的過孔盡量靠近元器件或者IC的接地端;
?、?個電感的放置應(yīng)該成90°的方向,這樣主要減少2個電感之間的耦合;
④數(shù)字地和模擬地最好是在不同的地方,最好通過磁珠或電感進行連接;
?、荼WC芯片中間的部分足夠接地,可以在電路板上打9個孔,讓芯片充分接地和散熱;
⑥布線時盡量減少輔線的長度,特別是射頻前端,讓元器件保持緊湊、射頻輸出前端最好保持暢通的輸出;
?、咴陔娐分凶詈眉右恍y試點,方便調(diào)節(jié)硬件電路;
?、啾M量避免在射頻線路中通過數(shù)字信號。
2 讀卡器的軟件設(shè)計
設(shè)計好硬件平臺之后,就需要設(shè)計系統(tǒng)的軟件模塊。在軟件模塊設(shè)計中STCllF32XE單片機和TRF7960之間的模擬通信是最關(guān)鍵的一步,因為只有打通了底層通信的關(guān)鍵環(huán)節(jié),STCllF32XE才能進一步通過控制TRF7960實現(xiàn)讀/寫卡的基本操作。為了實現(xiàn)這一步,首先要弄清楚 TRF7960的讀寫時序。
起始條件是CLK為高,然后先發(fā)送8位地址,再發(fā)送數(shù)據(jù)。發(fā)送格式在時鐘的下降沿進行發(fā)送,當(dāng)CLK為高時,在A/D有1個下降沿,表示結(jié)束。根據(jù)該時序圖可以寫出STCllF32XE單片機從TRF7960讀/寫1個字節(jié)的C語言實現(xiàn)代碼:
STCllF32XE單片機主要就是通過調(diào)用這兩個最基本的函數(shù)來實現(xiàn)對TRF7960進行復(fù)雜的讀/寫控制的。采用模擬總線通信方式的最大好處就是用C語言寫的代碼很容易移植到不支持總線擴展的各種單片機上,增加了軟件模塊的可復(fù)用性和可移植性。
打通了底層通信的關(guān)鍵環(huán)節(jié)之后,就可以一步一步地編寫調(diào)試各個軟件模塊。圖3是讀卡器多協(xié)議自適應(yīng)功能軟件模塊流程。
3 結(jié)論
本文采用宏晶公司的高速、低價位單片機和TI公司的TRF7960多協(xié)議讀卡芯片以及相應(yīng)的外圍電路設(shè)計出了非接觸式的射頻讀卡器,設(shè)計按照 ISO/IEC 14443A/B和ISO/IEC 15693多協(xié)議標準,完成了系統(tǒng)的硬件電路搭建和系統(tǒng)軟件的設(shè)計工作。經(jīng)實際使用證明,該讀卡器工作穩(wěn)定,抗干擾能力強,性價比高,操作靈活、方便,產(chǎn)品具有很強的的市場競爭力,投入使用將會產(chǎn)生較好的經(jīng)濟效益。
評論