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