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