ST7267單片機與SIM卡的接口設(shè)計
發(fā)布時間:2008/8/16 0:00:00 訪問次數(shù):789
隨著信息技術(shù)的不斷發(fā)展,手機逐漸成為現(xiàn)代社會必不可少的工具。但是,一旦手機丟失,存在sim卡內(nèi)的資料也就丟失了,因而造成了很多不必要的麻煩。為了保存這些重要的資料,在電腦上做必要的備份顯得十分重要了。本文利用st7267單片機的gpio端口,實現(xiàn)了對sim卡的讀寫。
1 硬件電路的設(shè)計
1.1 st7267單片機概述
st7267具有usb2.o的硬件接口,大容量存儲控制接口可以支持各種類型的nand flash。具有54 kb的rom和4kb的ram空間。
1.2 sim卡接口電路
sim卡引腳功能的定義如表1所列。
st7267單片機與sim卡的接口電路如圖1所示。該電路主要由外圍有源晶體y2提供4mhz、穩(wěn)定的時鐘頻率給sim卡,電源由一顆ldo輸出3.3v、純凈的直流電到sim卡的cl_vcc上。這里選擇st7267的pe2腳作為i/o引腳,通過一個4.7kω的上拉電阻與sim卡實現(xiàn)通訊;選擇pe3腳作為sim卡的復(fù)位控制引腳。
2 底層軟件設(shè)計
sim卡的數(shù)據(jù)傳輸方式與其他存儲卡不同,它遵循iso7816標(biāo)準(zhǔn)。因此在進行sim卡讀寫設(shè)計時應(yīng)該注意數(shù)據(jù)傳輸時每一個數(shù)據(jù)位的寬度,然后按照iso7816的標(biāo)準(zhǔn)編寫程序。首先是接收到正確的復(fù)位應(yīng)答信號(atr),其次是向sim卡發(fā)送命令,得到正確的返回數(shù)據(jù)和狀態(tài)標(biāo)志。
2.1 etu的計算
etu(基本時間單位)就是sim卡i/o腳上輸入/輸出每一位數(shù)據(jù)的時間,計算公式是;
其中:參數(shù)f和d分別是時鐘頻率轉(zhuǎn)換因子和波特率調(diào)整因子,這里使用默認(rèn)的速率,即f=372,d=1;使用的時鐘頻率f是4mhz?梢杂嬎愠龌緯r間單位是93μs。
2.2 基本數(shù)據(jù)幀結(jié)構(gòu)
通信使用的協(xié)議是iso7816-3所規(guī)定的t=0的異步半雙工字符傳輸協(xié)議;镜臄(shù)據(jù)幀是由1個起始位(低電平)、8個數(shù)據(jù)位和1個奇偶校驗位組成的,如圖2所示。其中,校驗位是將8個數(shù)據(jù)位與其自身做偶校驗,也就是其中1的個數(shù)必須足偶數(shù)。起始位不做校驗運算。在保護時間內(nèi)sim卡和單片機都要處于高電平(即i/o口是高電平)。在t=o協(xié)議里,如果sim卡或者單片機檢測到奇偶校驗結(jié)果不正確,則在保護時間內(nèi)把i/o端口拉低,以示出錯。
2.3 sim卡的apdu結(jié)構(gòu)
應(yīng)用協(xié)議數(shù)據(jù)單元apdu(application protocol data units)包括了命令apdu以及應(yīng)答apdu,其結(jié)構(gòu)如下:
其中:cla是指令的類別,a0被制定為gsm的應(yīng)用;ins是指令代碼;pl、p2、p3是指令參數(shù),p3指示的是數(shù)據(jù)的長度;data就是要傳輸?shù)臄?shù)據(jù);swl和sw2就是命令處理后返回的狀態(tài)。
2.4 基本程序模塊的設(shè)計
設(shè)mybit為從i/o端口采樣的存儲變量,設(shè)parity為奇偶校驗變量,parlty的初始化值為0。每次從i/o口采樣后,mybit都要與parity進行一次“異或”,結(jié)果放入parity。這樣采樣9次后,如果parity的最終值是0,就說明奇偶校驗正確;如果不是0,就說明讀取數(shù)據(jù)失敗,返回錯誤信息,要求發(fā)送者重發(fā)。
按照以上接收一個字節(jié)程序的框架,可以很方便地設(shè)計出發(fā)送一個字節(jié)的程序。只是在發(fā)送字節(jié)時,在發(fā)送完奇偶校驗位后,一定要轉(zhuǎn)為接收模式。如果在接下來的一個etu里,i/o端口保持高電平,則說明發(fā)送數(shù)據(jù)正確;如果i/o端口被拉低,為低電平,就說明發(fā)送數(shù)據(jù)錯誤,要重發(fā)。
結(jié)語
本文介紹了基于st7267讀寫sim卡的方法。相對于其他硬件讀卡芯片,這種用軟件實現(xiàn)的方法更加靈活,而且可以實現(xiàn)多種設(shè)備(例如u盤和sim卡讀卡器)的整合,這樣可以降低產(chǎn)品的成本。
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
隨著信息技術(shù)的不斷發(fā)展,手機逐漸成為現(xiàn)代社會必不可少的工具。但是,一旦手機丟失,存在sim卡內(nèi)的資料也就丟失了,因而造成了很多不必要的麻煩。為了保存這些重要的資料,在電腦上做必要的備份顯得十分重要了。本文利用st7267單片機的gpio端口,實現(xiàn)了對sim卡的讀寫。
1 硬件電路的設(shè)計
1.1 st7267單片機概述
st7267具有usb2.o的硬件接口,大容量存儲控制接口可以支持各種類型的nand flash。具有54 kb的rom和4kb的ram空間。
1.2 sim卡接口電路
sim卡引腳功能的定義如表1所列。
st7267單片機與sim卡的接口電路如圖1所示。該電路主要由外圍有源晶體y2提供4mhz、穩(wěn)定的時鐘頻率給sim卡,電源由一顆ldo輸出3.3v、純凈的直流電到sim卡的cl_vcc上。這里選擇st7267的pe2腳作為i/o引腳,通過一個4.7kω的上拉電阻與sim卡實現(xiàn)通訊;選擇pe3腳作為sim卡的復(fù)位控制引腳。
2 底層軟件設(shè)計
sim卡的數(shù)據(jù)傳輸方式與其他存儲卡不同,它遵循iso7816標(biāo)準(zhǔn)。因此在進行sim卡讀寫設(shè)計時應(yīng)該注意數(shù)據(jù)傳輸時每一個數(shù)據(jù)位的寬度,然后按照iso7816的標(biāo)準(zhǔn)編寫程序。首先是接收到正確的復(fù)位應(yīng)答信號(atr),其次是向sim卡發(fā)送命令,得到正確的返回數(shù)據(jù)和狀態(tài)標(biāo)志。
2.1 etu的計算
etu(基本時間單位)就是sim卡i/o腳上輸入/輸出每一位數(shù)據(jù)的時間,計算公式是;
其中:參數(shù)f和d分別是時鐘頻率轉(zhuǎn)換因子和波特率調(diào)整因子,這里使用默認(rèn)的速率,即f=372,d=1;使用的時鐘頻率f是4mhz。可以計算出基本時間單位是93μs。
2.2 基本數(shù)據(jù)幀結(jié)構(gòu)
通信使用的協(xié)議是iso7816-3所規(guī)定的t=0的異步半雙工字符傳輸協(xié)議;镜臄(shù)據(jù)幀是由1個起始位(低電平)、8個數(shù)據(jù)位和1個奇偶校驗位組成的,如圖2所示。其中,校驗位是將8個數(shù)據(jù)位與其自身做偶校驗,也就是其中1的個數(shù)必須足偶數(shù)。起始位不做校驗運算。在保護時間內(nèi)sim卡和單片機都要處于高電平(即i/o口是高電平)。在t=o協(xié)議里,如果sim卡或者單片機檢測到奇偶校驗結(jié)果不正確,則在保護時間內(nèi)把i/o端口拉低,以示出錯。
2.3 sim卡的apdu結(jié)構(gòu)
應(yīng)用協(xié)議數(shù)據(jù)單元apdu(application protocol data units)包括了命令apdu以及應(yīng)答apdu,其結(jié)構(gòu)如下:
其中:cla是指令的類別,a0被制定為gsm的應(yīng)用;ins是指令代碼;pl、p2、p3是指令參數(shù),p3指示的是數(shù)據(jù)的長度;data就是要傳輸?shù)臄?shù)據(jù);swl和sw2就是命令處理后返回的狀態(tài)。
2.4 基本程序模塊的設(shè)計
設(shè)mybit為從i/o端口采樣的存儲變量,設(shè)parity為奇偶校驗變量,parlty的初始化值為0。每次從i/o口采樣后,mybit都要與parity進行一次“異或”,結(jié)果放入parity。這樣采樣9次后,如果parity的最終值是0,就說明奇偶校驗正確;如果不是0,就說明讀取數(shù)據(jù)失敗,返回錯誤信息,要求發(fā)送者重發(fā)。
按照以上接收一個字節(jié)程序的框架,可以很方便地設(shè)計出發(fā)送一個字節(jié)的程序。只是在發(fā)送字節(jié)時,在發(fā)送完奇偶校驗位后,一定要轉(zhuǎn)為接收模式。如果在接下來的一個etu里,i/o端口保持高電平,則說明發(fā)送數(shù)據(jù)正確;如果i/o端口被拉低,為低電平,就說明發(fā)送數(shù)據(jù)錯誤,要重發(fā)。
結(jié)語
本文介紹了基于st7267讀寫sim卡的方法。相對于其他硬件讀卡芯片,這種用軟件實現(xiàn)的方法更加靈活,而且可以實現(xiàn)多種設(shè)備(例如u盤和sim卡讀卡器)的整合,這樣可以降低產(chǎn)品的成本。
歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)
熱門點擊
- 教你做2SD315AI的驅(qū)動電路設(shè)計
- 1-Wire總線與DS18B20應(yīng)用仿真
- 在嵌入式系統(tǒng)中應(yīng)用NAND Flash閃存作
- Molex推出新系列2.00mm間距SMT線
- 韋爾推出用于超高速接口的靜電保護芯片ESDA
- 基于μPD780822型單片機的客車CAN總
- 基于USB的ARINC429總線接口模塊設(shè)計
- 賽普拉斯2Mb/8Mb nvSRAM無需電池
- ST7267單片機與SIM卡的接口設(shè)計
- 基于鐵電存儲器FM25640在電表數(shù)據(jù)存儲中
推薦技術(shù)資料
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對位置編碼器技術(shù)參數(shù)設(shè)計
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究