新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM的SIM卡檢測系統平臺的設計與實現

基于ARM的SIM卡檢測系統平臺的設計與實現

作者: 時間:2017-06-04 來源:網絡 收藏

隨著現代社會科學技術的發(fā)展,人們對于移動產品的便攜性和便利性和高效性的要求越來越高。作為智能卡中特殊的一種,采用標準的接觸式IC卡,符合IS07816標準規(guī)范,它沿襲了智能卡在安全中的特色,在移動商務中扮演著很重要的角色。因此的應用范圍也變得越來越廣,可以應用于金融、便捷支付等高端應用領域。但是對于已經投放到市場上的卡片,運營商對于鑒別是哪個供應商供應的產品比較困難,而且對于供應商自己來說對于自己生產的卡片進行質量檢測也是十分必要的。鑒于ARM的高性價比,本文采用一種基于ARM7TDMI內核的CPU STR711FR2作為處理器作為系統核心,設計一款讀卡系統,它可以兼容符合7816協議的A,B,C 3種卡片,用來讀出被芯片固化在芯片內部的信息,以便來確認芯片的生產商以及對芯片實現質量檢測。

本文引用地址:http://butianyuan.cn/article/201706/348295.htm

1 系統結構

讀卡系統主要由讀卡模塊、串口通信模塊、USB通信模塊、JTAC下載調試模塊以及相應的時鐘和復位電路模塊和上層軟件組成。主控電路由ST公司的STR711FR2及其外圍電路構成,主要實現對命令的發(fā)送和對收到的數據進行傳輸和處理。系統采用接觸式的工作方式,把芯片插入到接口插槽中,通過主控芯片發(fā)送指令完成對卡片數據的讀取,再把得到數據通過串口通信模塊把數據傳輸到PC機上,通過上層軟件對所接收到的數據進行處理和判斷,再把結果在PC機上面顯示。系統結構如圖1所示。


2 硬件平臺設計


2.1 平臺構架

STR711FR2是ST公司的一款基于ARM7TDMI內核、高性能、低成本、低功耗的微控制器。它內嵌256+16 k的Flash以及64 k的RAM,具有豐富的外設:如智能卡ISO-7816-3接口、USB 2.0接口以及UART接口和豐富的IO接口等。

本系統STR711FR2作為主處理器,使用USB接口用來給系統供電,同時作為備用數據通道;JTAG接口用來給系統進行調試和下載固件;78 16智能卡接口作為插卡口;串口等用來傳輸讀到的數據。系統由USB接口供電;STR711FR2由外部提供4 M晶振提供時鐘,32.768 k晶振作為輔助時鐘同時提供給內部的實時時鐘。STR711FR2與LTC1955之間通過串口發(fā)送不同的指令,來判斷插入卡片的類型,以便產生卡片相應的電壓,然后發(fā)命令把數據讀出來,再通過串口通信模塊把數據傳輸到PC機上面顯示。硬件平臺構架如圖2所示。


2.2 電源部分

USB接口部分電源電壓為5 V,最大電流可以達到500 mA,系統中的MCU和Reader是兩個主要的耗能元器件,其中STR711FR2滿負荷工作電流為200mA,LTC1955滿負荷工作電流不超過為100 mA。LTC1955以及STR711FR2額定電壓為3.3 V,因此需要將5 V轉換成3.3 V電壓,轉換芯片采用ASM1117S33。經過轉換之后系統完全可以使用USB進行供電。另外STR711FR2支持USB2.0傳輸協議,所以可以將USB的差分線用1.5kΩ的電阻進行弱上托,分別與主MCU的42腳和43腳相連。以此來支持USB的高速傳輸模式,因此此部分也可以作為備用的數據傳輸通道。電路如圖3所示。


2.3 7816接口部分

SIM卡的引腳定義符合ISO7816帶觸電集成電路卡規(guī)范,它實際上是一個裝有微處理器的芯片卡,包括5個模塊并且具有機卡分離接口,通信安全可靠成本較低。其中C1腳是電源VCC、C2腳為復位RST、C3腳為時鐘CLK、C4腳不接、C5腳為接地GND、C6腳編程電壓VPP、C7腳為數據I/O口、C8腳不接。除了C4和C8腳已被國際標準組織擴展為新一代高速SIM卡接口,C6高壓編程引腳已經失去作用,因為SIM卡可以不必外部提供VPP信號即可在內部實現EEPROM的擦寫功能。

7816接口部分采用Linear公司的專用芯片LTC1955,LTC1955支持ISO7816-3協議,具有很好的電源管理和控制能力,具有串行數據接口,可以通過它進行數據控制和狀態(tài)控制,能夠在出現電氣錯誤的時候實現自動的掉電。內置電壓崩,能夠產生1.8 V、3 V以及5 V電壓,因此能夠兼容7816的A,B,C3種卡??ㄆ涌谀軌蛲ㄟ^自動震蕩電路產生的偵測通道自動偵測卡片類型,串口根據偵測到的信息發(fā)送命令可以實現卡片類型的選擇,不同命令狀態(tài)位可以選擇不同類型的卡。本系統設計只采用了一個B卡插槽,芯片的32腳和31腳分別為同步和非同步引腳,分別于主控芯片的P1.8和P1.9腳連接.通過中控IO發(fā)送同步和非同步的命令,來選擇傳輸模式。數據腳DATA與主控芯片的P1.15腳相接,用來傳送接收到的數據,RIN復位腳信息通過主控芯片的P1.14控制發(fā)送。電路設計如圖4所示。


2.4 UART部分

通信接口是系統與外界進行信息交互的通道和橋梁,因此通信接口的設計在系統中是必不可少的,通過目前主流的兒種通信方式設計比較,本系統采用了UART方式。UART電路的關鍵是實現STR711FR2與PC電平匹配,PC機電平是12 V而STR711FR2的電平為3.3 V,這就需要進行電平轉換,目前此類電平轉換芯片有很多,如MAX3232及ST3232等等,本系統采用MAX3232芯片進行轉換,MAX3232不僅能保證主機需要,而且單一3.3 V供電,可以同時實現發(fā)送轉換和接受轉換功能。芯片提供了2個UART通道,可以接2個RS3232,本系統只采用一個UART,只用選擇第一個通道,另外一個不接。其電路設計如圖5。


3 軟件檢測系統的實現


SIM卡符合國際標準7816協議規(guī)范,因此本檢測系統分為兩個部分,第一部分是對于7816協議通信的固件部分,第二部分是上層軟件部分。對于固件部分的操作應該包括接口設備激活電路,冷復位啟動卡片應答、卡片與接口設備進行信息交換和接口設備釋放電路卡片下電3個過程。

當卡片和接口設備物理連接以后,為啟動機械連接的卡的互操作,接口設備需要激活卡片,初始時,所有端口皆處于低電平(L)態(tài),電壓范圍0~0.4 V;VCC電源電壓先上電(H態(tài)),VCC電源端穩(wěn)定一段時間后,將IO端口置為接收方式(H態(tài)),電路的激活順序結束,卡片進入復位過程。在Ta時間CLK開始提供時鐘信號;卡應在時鐘信號開始后至少200個時鐘周期之內(延時時間為Ta)置IO口狀態(tài)為接受狀態(tài)。同時,從Ta開始,RST至少保持400個時鐘周期(延時時間為Tb))的L態(tài),即保持到時間Tb后RST置狀態(tài)H,為了保證卡片正常復位,卡片要在400~40 000個時鐘周期之內(延時時間為Tc)作出應答,即從IO口返回ATR。復位過程結束。時序如圖6所示。

上電后,接口設備可根據卡片返回的ATR來選擇工作模式,如果ATR中規(guī)定了TA2,則接口設備根據新的參數啟動與卡片信息交換方式;如果ATR中沒有規(guī)定TA2,則接口設備和卡之間可進行PPS過程或者接口設備根據TD1中的參數(T)選擇采用哪種通信協議。如果接口設備與卡片停止數據交換,并且IO口保持H狀態(tài)至少1 860(Tg)個clock,則接口設備可在Te時刻停止時鐘,此時VCC保持供電,RST保持高電平。時鐘停止時序如圖7所示。

信息交互完畢卡片進行釋放,RST置狀態(tài)L:CLK置狀態(tài)L(除非時鐘已經停止在狀態(tài)L上)IO置狀態(tài)L:VCC被釋放。

上層軟件采用C++進行設計,由于卡片在剛剛出廠還沒有交付給運營商使用的時候,ATR中有時候也會被寫入生產商的相關信息,可以根據此信息來檢測芯片,但是一旦被運營商投入市場,那么就會被下載運營商的cos,此時ATR也變成了運營商的了,那么就無法根據ATR來進行檢測。但是卡片出廠的時候卡商會將自己的cos下載到NVR中,其中包含了卡片生產商的標志信息,例如卡片的商業(yè)代碼、生產時間、lot號以及坐標等等。而這些內容一旦下載進去就不能被修改,因此可以據此來檢測。檢測流程如圖8所示。


4 結束語


文中給出了一種基于的SIM卡檢測系統,通過測試可以順利的實現檢測功能,本系統采用標準接觸式卡片設計,兼容7816的A、B、C 3種卡,為接觸和以后升級的非接觸式卡片讀取信息提供了可行的平臺。



評論


相關推薦

技術專區(qū)

關閉