基于ARM的SIM卡檢測系統的研究
當卡片和接口設備物理連接以后,為啟動機械連接的卡的互操作,接口設備需要激活卡片,初始時,所有端口皆處于低電平(L)態,電壓范圍0~0.4 V;VCC電源電壓先上電(H態),VCC電源端穩定一段時間后,將IO端口置為接收方式(H態),電路的激活順序結束,卡片進入復位過程。在Ta時間CLK開始提供時鐘信號;卡應在時鐘信號開始后至少200個時鐘周期之內(延時時間為Ta)置IO口狀態為接受狀態。同時,從Ta開始,RST至少保持400個時鐘周期(延時時間為Tb))的L態,即保持到時間Tb后RST置狀態H,為了保證卡片正常復位,卡片要在400~40 000個時鐘周期之內(延時時間為Tc)作出應答,即從IO口返回ATR。復位過程結束。時序如圖6所示。
上電后,接口設備可根據卡片返回的ATR來選擇工作模式,如果ATR中規定了TA2,則接口設備根據新的參數啟動與卡片信息交換方式;如果ATR中沒有規定TA2,則接口設備和卡之間可進行PPS過程或者接口設備根據TD1中的參數(T)選擇采用哪種通信協議。如果接口設備與卡片停止數據交換,并且IO口保持H狀態至少1 860(Tg)個clock,則接口設備可在Te時刻停止時鐘,此時VCC保持供電,RST保持高電平。時鐘停止時序如圖7所示。
信息交互完畢卡片進行釋放,RST置狀態L:CLK置狀態L(除非時鐘已經停止在狀態L上)IO置狀態L:VCC被釋放。
上層軟件采用C++進行設計,由于卡片在剛剛出廠還沒有交付給運營商使用的時候,ATR中有時候也會被寫入生產商的相關信息,可以根據此信息來檢測芯片,但是一旦被運營商投入市場,那么就會被下載運營商的cos,此時ATR也變成了運營商的了,那么就無法根據ATR來進行檢測。但是卡片出廠的時候卡商會將自己的cos下載到NVR中,其中包含了卡片生產商的標志信息,例如卡片的商業代碼、生產時間、lot號以及坐標等等。而這些內容一旦下載進去就不能被修改,因此可以據此來檢測。檢測流程如圖8所示。
4 結束語
文中給出了一種基于ARM7內核的SIM卡檢測系統,通過測試可以順利的實現檢測功能,本系統采用標準接觸式卡片設計,兼容7816的A、B、C 3種卡,為接觸和以后升級的非接觸式卡片讀取信息提供了可行的平臺。
評論