產品種類:
通用繼電器
制造商:
Panasonic
RoHS:
詳細信息
產品:
Power Relays
類型:
Polarized
線圈電壓:
12 VDC
觸點形式:
SPST (1 Form A)
觸點端接:
Solder Pin
安裝風格:
Through Hole
線圈端接:
Solder Pin
線圈類型:
Non-Latching
線圈電阻:
720 Ohms
線圈電流:
16.7 mA
封裝:
Tube
商標:
Panasonic Industrial Devices
功耗:
400 mW
工廠包裝數量:
100
隨著信息技術的不斷發展,手機逐漸成為現代社會必不可少的工具。但是,一旦手機丟失,存在SIM卡內的資料也就丟失了,因而造成了很多不必要的麻煩。為了保存這些重要的資料,在電腦上做必要的備份顯得十分重要了。本文利用ST7267單片機的GPIO端口,實現了對SIM卡的讀寫。
1 硬件電路的設計
1.1 ST7267單片機概述
ST7267具有USB2.O的硬件接口,大容量存儲控制接口可以支持各種類型的NAND Flash。具有54 KB的ROM和4KB的RAM空間。
1.2 SIM卡接口電路
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
SIM卡引腳功能的定義如表1所列。
ST7267單片機與SIM卡的接口電路如圖1所示。該電路主要由外圍有源晶體Y2提供4MHz、穩定的時鐘頻率給SIM卡,電源由一顆LDO輸出3.3V、純凈的直流電到SIM卡的Cl_VCC上。這里選擇ST7267的PE2腳作為I/O引腳,通過一個4.7kΩ的上拉電阻與SIM卡實現通訊;選擇PE3腳作為SIM卡的復位控制引腳。
2 底層軟件設計
SIM卡的數據傳輸方式與其他存儲卡不同,它遵循ISO7816標準。因此在進行SIM卡讀寫設計時應該注意數據傳輸時每一個數據位的寬度,然后按照ISO7816的標準編寫程序。首先是接收到正確的復位應答信號(ATR),其次是向SIM卡發送命令,得到正確的返回數據和狀態標志。
2.1 ETU的計算
ETU(基本時間單位)就是SIM卡I/O腳上輸入/輸出每一位數據的時間,計算公式是;
其中:參數F和D分別是時鐘頻率轉換因子和波特率調整因子,這里使用默認的速率,即F=372,D=1;使用的時鐘頻率f是4MHz。可以計算出基本時間單位是93μs。
2.2 基本數據幀結構
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
通信使用的協議是ISO7816-3所規定的T=0的異步半雙工字符傳輸協議。基本的數據幀是由1個起始位(低電平)、8個數據位和1個奇偶校驗位組成的,如圖2所示。其中,校驗位是將8個數據位與其自身做偶校驗,也就是其中1的個數必須足偶數。起始位不做校驗運算。在保護時間內SIM卡和單片機都要處于高電平(即I/O口是高電平)。在T=O協議里,如果SIM卡或者單片機檢測到奇偶校驗結果不正確,則在保護時間內把I/O端口拉低,以示出錯。
2.3 SIM卡的APDU結構
應用協議數據單元APDU(ApplicatiON Protocol Data Units)包括了命令APDU以及應答APDU,其結構如下:
其中:CLA是指令的類別,A0被制定為GSM的應用;INS是指令代碼;Pl、P2、P3是指令參數,P3指示的是數據的長度;Data就是要傳輸的數據;SWl和SW2就是命令處理后返回的狀態。
2.4 基本程序模塊的設計
設myBit為從I/O端口采樣的存儲變量,設Parity為奇偶校驗變量,Parlty的初始化值為0。每次從I/O口采樣后,myBit都要與Parity進行一次“異或”,結果放入Parity。這樣采樣9次后,如果Parity的最終值是0,就說明奇偶校驗正確;如果不是0,就說明讀取數據失敗,返回錯誤信息,要求發送者重發。
按照以上接收一個字節程序的框架,可以很方便地設計出發送一個字節的程序。只是在發送字節時,在發送完奇偶校驗位后,一定要轉為接收模式。如果在接下來的一個ETU里,I/O端口保持高電平,則說明發送數據正確;如果I/O端口被拉低,為低電平,就說明發送數據錯誤,要重發。
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認
ALE14B1只做全新進口原裝--實單供圖確認