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