基于STR711FR2的SIM卡檢測系統(tǒng)設(shè)計
3 軟件檢測系統(tǒng)的實(shí)現(xiàn)
SIM卡符合國際標(biāo)準(zhǔn)7816協(xié)議規(guī)范,因此本檢測系統(tǒng)分為兩個部分,第一部分是對于7816協(xié)議通信的固件部分,第二部分是上層軟件部分。對于固件部分的操作應(yīng)該包括接口設(shè)備激活電路,冷復(fù)位啟動卡片應(yīng)答、卡片與接口設(shè)備進(jìn)行信息交換和接口設(shè)備釋放電路卡片下電3個過程。
當(dāng)卡片和接口設(shè)備物理連接以后,為啟動機(jī)械連接的卡的互操作,接口設(shè)備需要激活卡片,初始時,所有端口皆處于低電平(L)態(tài),電壓范圍0~0.4 V;VCC電源電壓先上電(H態(tài)),VCC電源端穩(wěn)定一段時間后,將IO端口置為接收方式(H態(tài)),電路的激活順序結(jié)束,卡片進(jìn)入復(fù)位過程。在Ta時間CLK開始提供時鐘信號;卡應(yīng)在時鐘信號開始后至少200個時鐘周期之內(nèi)(延時時間為Ta)置IO口狀態(tài)為接受狀態(tài)。同時,從Ta開始,RST至少保持400個時鐘周期(延時時間為Tb))的L態(tài),即保持到時間Tb后RST置狀態(tài)H,為了保證卡片正常復(fù)位,卡片要在400~40 000個時鐘周期之內(nèi)(延時時間為Tc)作出應(yīng)答,即從IO口返回ATR。復(fù)位過程結(jié)束。時序如圖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時刻停止時鐘,此時VCC保持供電,RST保持高電平。時鐘停止時序如圖7所示。
信息交互完畢卡片進(jìn)行釋放,RST置狀態(tài)L:CLK置狀態(tài)L(除非時鐘已經(jīng)停止在狀態(tài)L上)IO置狀態(tài)L:VCC被釋放。
上層軟件采用C++進(jìn)行設(shè)計,由于卡片在剛剛出廠還沒有交付給運(yùn)營商使用的時候,ATR中有時候也會被寫入生產(chǎn)商的相關(guān)信息,可以根據(jù)此信息來檢測芯片,但是一旦被運(yùn)營商投入市場,那么就會被下載運(yùn)營商的cos,此時ATR也變成了運(yùn)營商的了,那么就無法根據(jù)ATR來進(jìn)行檢測。但是卡片出廠的時候卡商會將自己的cos下載到NVR中,其中包含了卡片生產(chǎn)商的標(biāo)志信息,例如卡片的商業(yè)代碼、生產(chǎn)時間、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è)計,兼容7816的A、B、C 3種卡,為接觸和以后升級的非接觸式卡片讀取信息提供了可行的平臺。
評論