便攜式非接觸式 IC 卡讀寫(xiě)器的設計
文章出處:http://psychicreadingswithdeb.com 作者:王文強 人氣: 發(fā)表時(shí)間:2011年10月15日
引 言
經(jīng)過(guò)多年的發(fā)展和推廣,IC 卡已經(jīng)廣泛地應用于金融、電信、國防和公共事業(yè)等領(lǐng)域。
IC 卡按卡與外界數據傳送的形式來(lái)分,有接觸式 IC 卡和非接觸式 IC 卡兩種。當前使用廣泛的是接觸型 IC 卡,在這種卡片上,IC 芯片有8個(gè)觸點(diǎn)可與外界接觸。非接觸式 IC 卡又稱(chēng)射頻卡(Radio Frequencycard),它與讀卡設備之間無(wú)需接觸,采用無(wú)線(xiàn)耦合和電磁感應方式與讀卡設備之間進(jìn)行通信。與接觸式 IC 卡和磁卡相比,非接觸式IC卡具有操作方便、讀寫(xiě)卡的速度快、防水、防污染、壽命長(cháng)、能夠適應各種惡劣環(huán)境等優(yōu)點(diǎn)。按照工作頻率,非接觸式 IC 卡可以分為低頻卡和高頻卡兩類(lèi),低頻卡的工作頻率為125 kHz,高頻卡的工作頻率為13.56 MHz。兼容ISO14443A的非接觸式 IC 卡的工作頻率為13.56 MHz,卡內無(wú)需電池,其工作電源由空間電磁感應所產(chǎn)生的感應電池提供。Philips公司的。Mifare系列非接觸式 IC 卡兼容ISO14443A規范,具有高強度加密機制,性能優(yōu)良,應用廣泛。
讀寫(xiě)器是所有 IC 卡應用系統的必須基礎設備,目前市場(chǎng)上的絕大多數讀寫(xiě)器都要與 PC 機連接才能正常使用,而且與 PC 機的接口一般為傳統的RS 232接口。在此將討論采用USB技術(shù)的便攜式非接觸式 IC 卡讀寫(xiě)器的實(shí)現方法。
1 便攜式USB讀寫(xiě)器的硬件原理
這里所設計的便攜式帶 USB 接口的 IC 卡讀寫(xiě)器由微控制器(MCU)、射頻發(fā)射和接收處理單元、USB 接口電路、電源電路、液晶顯示(LCD)模塊、實(shí)時(shí)時(shí)鐘以及外部 Flash 存儲器組成。它的結構如圖1所示。
讀寫(xiě)器以8位單片機 AT89S52 作為主控制單元。讀寫(xiě)器的射頻(Radio Frequency)發(fā)射和接收處理單元是單片機與非接觸式IC卡之間的“橋梁”,它一方面可以將單片機發(fā)送給IC卡的指令和數據調制在13.56 MHz的振蕩信號上,通過(guò)高頻天線(xiàn)發(fā)射出去;另一方面接收來(lái)自IC卡的應答信息,并將其解調成數字信號傳送給單片機,實(shí)現單片機與IC卡之間的雙向通信,它與單片機之間采用并行接口方式連接。
FT245BM 是 USB 接口單元的主要元件,它是單片機與 PC 機之間的通信“橋梁”,其內部包含一個(gè)串行接口引擎(SIE),實(shí)現數據的并行轉串行和串行轉并行過(guò)程。
DS12C887為系統提供實(shí)時(shí)時(shí)鐘,液晶顯示模塊 HY12864E 平時(shí)顯示時(shí)間,讀卡時(shí)顯示所讀到的內容。上述元器件以周密的邏輯設計配合,通過(guò)程序控制完成對非接觸式 IC 卡的讀寫(xiě)。由于內置了鋰離子電池及其充電電路,因此讀寫(xiě)器可以脫機使用,大大增加了靈活性。脫機使用時(shí),讀卡的同時(shí)將讀卡記錄存儲在讀寫(xiě)器的閃存中。并可以通過(guò) USB 接口與PC機進(jìn)行通信,以進(jìn)行PC機對讀寫(xiě)器的控制操作.如發(fā)送數據到IC卡、調閱讀卡記錄等。
2 讀寫(xiě)器的硬件電路
2.1 微控制器
微控制器采用AT89S52芯片,該器件使用Atmel公司的高密度非易失性存儲器制造技術(shù),可以通過(guò)一根并口線(xiàn)方便地進(jìn)行在系統編程(In System Program-ming)。
2.2 RC500 芯片介紹
RC500 是Philips公司為 Mifare 卡設計的專(zhuān)用讀卡芯片,它是應用于13.56 MHz非接觸式通信中高集成度 IC 系列中的一員。該系列利用先進(jìn)的調制和解調概念,完全集成了在13.56 MHz下所有類(lèi)型的被動(dòng)非接觸式通信方式和協(xié)議。
并行微控制器接口自動(dòng)檢測連接的8位并行接口的類(lèi)型,它包含一個(gè)易用的雙向 FIFO 緩沖區和一個(gè)可配置的中斷輸出。這樣就為連接各種 MCU 提供了很大的靈活性。數據處理部分執行數據的并行一串行轉換。它支持的幀包括 CRC 和奇偶校驗,以完全透明的方式進(jìn)行操作,因而支持ISO14443A 的所有層。狀態(tài)和控制部分允許對器件進(jìn)行配置以適應環(huán)境的影響,并使性能調節到最佳狀態(tài)。當與 MIFARE Standard 產(chǎn)品和MIFARE產(chǎn)品通信時(shí),使用高速 CRYPT01 流密碼單元和一個(gè)可靠的非易失性密鑰存儲器。模擬電路包含一個(gè)具有極低阻抗橋驅動(dòng)器輸出的發(fā)送部分。接收器可以檢測到并解碼非常弱的應答信號。
RC500 的工作頻率為13.56 MHz,它可以在有效的發(fā)射空間內形成一個(gè)13.56 MHz的交流電磁場(chǎng),為處于發(fā)射區域的非接觸式IC卡提供能量,同時(shí)卡或 RC500 需要傳送的數據信息也被調制在這個(gè)頻率上。RC500 與非接觸式IC卡之間能量的傳遞和數據雙向傳輸的過(guò)程是初級和次級兩個(gè)線(xiàn)圈之間的耦合過(guò)程,從讀寫(xiě)器發(fā)射給卡的數據信息在調制前采用米勒(Miller)編碼,而從卡到讀寫(xiě)器的數據信息采用曼徹斯特(Manchester)編碼。
2.3 FT245BM芯片介紹
FT245BM 是一種單片的 USB 到并行的雙向接口芯片。它與單片機之間利用8個(gè)雙向數據線(xiàn)和4個(gè)握手協(xié)議實(shí)現并行接口。其片內的串行接口引擎和 USB 協(xié)議引擎可以完成 USB 2.0規范的所有協(xié)議和功能。FT245BM工作時(shí)需要一個(gè)6 MHz外部晶振,通過(guò)片內的時(shí)鐘倍頻電路可以為SIE提供一個(gè)48 MHz的工作時(shí)鐘,同時(shí)還為片內的微控制器接口單元、串行存儲器接口單元提供一個(gè)12 MHz的工作時(shí)鐘。
2.4 硬件電路
帶USB接口的非接觸式 IC 卡讀寫(xiě)器的硬件電路原理圖的主體部分如圖3所示。
FT245BM的并行數據總線(xiàn)和AT89S52的P0口相連;它的讀寫(xiě)控制信號(RD,WR)分別與AT89S52的P3.0和P3.1相連;TXE為發(fā)送緩沖區空信號,與P3.4相連;RXF為接收緩沖區滿(mǎn)信號,與P3.5相連。要從讀寫(xiě)器發(fā)送數據到PC機,只需當TXE為低時(shí)將WR由高變低即可將數據寫(xiě)入緩沖區,模塊可以自動(dòng)處理。當PC機通過(guò)USB向讀寫(xiě)器發(fā)送數據時(shí),RXF會(huì )變低通知單片機有數據要接收,通過(guò)將RD由低變高即可讀到數據。單片機可以通過(guò)中斷方式接收來(lái)自FT245BM的數據,由于兩個(gè)外部中斷都被占用,所以用定時(shí)/計數器擴展了一個(gè)INT接口。FT245BM的外部連接一個(gè)串行的E2PROM(93C46),用于存放 USB 器件標識碼、讀寫(xiě)器標識符和說(shuō)明、設備序列號等信息。
RC500內部包含256個(gè)可尋址寄存器,其數據總線(xiàn)與 AT89S52 的數據總線(xiàn)相連;其復位控制輸入信號與 AT89S52的P1.6相連,單片機可以控制RC500復位;RC500的輸出中斷請求與單片機的外部中斷 INT1 相連,以隨時(shí)接收 RC500 傳過(guò)來(lái)的數據。
3 軟件的實(shí)現
3.1 讀寫(xiě)器中單片機的軟件
讀寫(xiě)器內軟件的功能包括等待刷卡、接收并處理接收到的 PC 傳來(lái)的數據包、存儲刷卡記錄、LCD 顯示相關(guān)信息等。軟件包括主程序、IC 卡讀寫(xiě)/密碼驗證等操作、時(shí)間顯示以及與 PC 通信中斷服務(wù)程序。主程序和通信中斷服務(wù)程序的流程圖如圖4所示。
3.2 PC端的軟件
讀寫(xiě)器通過(guò) USB 接口與 PC 相連,PC 端必須安裝并運行 FT245.BM的驅動(dòng)程序和讀寫(xiě)器應用程序。通過(guò)使用 FTDI 公司提供的虛擬串口驅動(dòng)程序,對應用程序,外設看起來(lái)如同一個(gè)標準的 COM口。設置波特率的命令可以忽略,因為無(wú)論波特率如何設定,設備總是以它所能達到的最大速度進(jìn)行傳輸。同時(shí)無(wú)需關(guān)心USB接口的枚舉、端點(diǎn)、管道、事務(wù)和傳輸方式等復雜的問(wèn)題。
4 結 語(yǔ)
該系統結構簡(jiǎn)單實(shí)用,在實(shí)際運行中具有很高的可靠性,同時(shí)具備一定的可擴展性,并可以通過(guò) USB 接口與計算機相連接,以進(jìn)行數據通信。由于體積小,重量輕,具有很好的便攜性,擴大了其使用范圍。在此實(shí)現了可脫機使用的便攜式的非接觸式IC卡讀寫(xiě)器。