SLE4418/SLE4428 IC卡及其應用
摘要:詳細介紹SLE4418/SLE4428 IC卡的操作邏輯,著(zhù)重說(shuō)明密碼校驗過(guò)程;給出操作流程和的應用示例以及全部的操作源代碼。
關(guān)鍵詞:SLE4418/SLE4428 IC卡 校驗程序
概述
隨著(zhù)國家“金卡工程”的不斷發(fā)展,各種IC卡應用方案與系統不斷涌現,涉及到各個(gè)領(lǐng)域各個(gè)行業(yè)與部門(mén),如各地的IC卡預付費表、
零售服務(wù)業(yè)的汀貨與送化等;而這些系統在各行業(yè)的推廣與實(shí)施,又進(jìn)一步推動(dòng)了IC卡的應用。目前,我國在用的IC卡卡就有1億多,隨著(zhù)科學(xué)技術(shù)與經(jīng)濟的不斷發(fā)展,IC卡必將得到更廣泛的應用。
SLE4418/SLE4428卡是西門(mén)子公司的產(chǎn)品,價(jià)格便宜,使用方便,比較適合于數量較小的應用,是我國使用較為廣泛的一種IC卡。
1 SLE4418/SLE4428 IC卡特點(diǎn)和操作時(shí)序分析
1.1 SLE4418/SLE4428 IC卡的基本特征
SLE4418 IC卡共有10248位EEPROM,可逐字節地進(jìn)行寫(xiě)操作與刪除操作,每個(gè)字節都有具有程序寫(xiě)保護位。SLE4428 IC除了以上功能外,還帶有程序密碼校驗邏輯(PSC)。由于SLE4418/SLE4428 IC卡內置了高壓產(chǎn)生器,因而只需即可進(jìn)行操作,簡(jiǎn)化了接口電路的設計,可直接由單片機驅動(dòng),幾乎不要其它和外接元件。此瞳的基本特點(diǎn)如下:
?、倬哂?0248位的EEPROM存儲器;
?、谝?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/字節">字節為編址單位;
?、劬哂?0241位保護存儲器,保護存儲器設置后不可撤消;
?、苋€(xiàn)串行總線(xiàn);
?、菘蛇M(jìn)行10萬(wàn)次擦寫(xiě)操作;
?、迶祿4?0年;
?、呖▋染哂?個(gè)字節的PSC程序加密位,數據僅在密碼檢驗正確后,方可進(jìn)行寫(xiě)操作。
1.2 操作時(shí)序分析
SLE4418/SLE4428 IC卡通過(guò)三線(xiàn)串行總線(xiàn)性與芯片接口進(jìn)行信息交換。數據在程序控制器的統一協(xié)議下,進(jìn)行數據序列轉換與安全邏輯校驗。SLE4418/SLE4428 IC卡的引腳配置及功能說(shuō)明如圖1和表1。
表1 IC卡引腳功能
引腳名稱(chēng) 功 能
VCC 工作電壓
RST 復位端
CLK 時(shí)鐘
N.C 空
GND 地
I/O 數據線(xiàn)
?。?)復位與復位應答
IC卡在上電時(shí),芯片進(jìn)入到上電復位狀態(tài)(POR),POR由一個(gè)復位操作(Reset)終止。當RST引腳由“0”狀態(tài)變換變換為“1”狀態(tài)時(shí)結束。復位時(shí),將終止所有當前的操作命令。
上電復位(POR)后,地在寫(xiě)數據或刪除數據前,必須先進(jìn)行一次讀操作。芯片復位時(shí),地址計數器偏移置被設置為“0”,第一個(gè)數據位出現在數據線(xiàn)(I/O)上中,如圖2所示。
?。?)命令輸入邏輯
SLE4418/SLE4428共有5條控制命令,SLE4428另有3條密碼操作命令,如表2所列。
表2 SLE4418/SLE4428IC卡操作命令
字節1 字節2 字節3 操作內容
S0 S1 S2 S3 S4 S5 A8 A9 A0~A7 D0~D7
1 0 0 0 1 1 地址高位
地址低位
輸入數據 帶保護位寫(xiě)與刪除
1 1 0 0 1 1 輸入數據 不帶保護寫(xiě)或刪除
0 0 0 0 1 1 比較數據 帶信號位寫(xiě)(校驗)
0 0 1 1 1 1 忽略 帶保護位數(讀9位)
0 1 1 1 0 0 忽略 (不帶保護位讀(讀8位)
0 1 0 0 1 1 1 1 253 位掩碼 寫(xiě)錯誤計數器
1 0 1 1 0 0 1 1 254 PSC字節1 校驗第一個(gè)PSC字節
1 0 1 1 0 0 1 1 255 PSC字節2 校驗第二個(gè)PSC字節
由表2可看出,每條命令由6位控制位,10位地址位和1個(gè)字節的數據組成。進(jìn)行寫(xiě)數據時(shí),數據字節即是所要寫(xiě)入的數據,可見(jiàn)SLE4418/SLE4428不能進(jìn)行一次性多字節的數據,可見(jiàn)SLE4418/SLE4428不能進(jìn)行一次性多字節的寫(xiě)操作;讀數據時(shí),數據忽略不計,一次性可讀出多字節。當RST由“0”狀態(tài)變?yōu)椤?”狀態(tài),CLK由“0”狀態(tài)變?yōu)椤?”狀態(tài)時(shí)命令輸入邏輯啟動(dòng)。命令輸入完成后,設置RST為“0”狀態(tài),時(shí)序如圖3所示。
?。?)寫(xiě)操作/刪除操作邏輯
對IC卡進(jìn)行寫(xiě)操作,意味著(zhù)數據位由“1”狀態(tài)變?yōu)椤?”狀態(tài);刪除操作意消味著(zhù)數據位由“0”狀態(tài)變?yōu)椤?”狀態(tài)。SLE4418/SLE4428 IC卡在進(jìn)行寫(xiě)操作與刪除操作時(shí),時(shí)鐘(CLK)必須進(jìn)行延續。一般來(lái)說(shuō),單獨的寫(xiě)操作或者單獨的刪除操作,數據輸入后,時(shí)鐘須延續103個(gè)脈沖,數據刪除后立即進(jìn)行寫(xiě)操作則需要延續203個(gè)時(shí)鐘脈沖。SLE4418/SLE4428 IC卡具有三種擦寫(xiě)操作,即刪除操作后立即寫(xiě)操作、單獨的寫(xiě)操作與單獨的刪除操作三種方式。如圖4所示。寫(xiě)保護位時(shí),只須將數據重寫(xiě)一次,當第二次寫(xiě)入的數據與前一次寫(xiě)入的數據相同時(shí),設置保護位。保護位一旦設置便不能更改。
?。?)讀操作邏輯
按表2配置好讀命令后,輸入命令即啟動(dòng)讀操作。當CLK為“0”狀態(tài)變?yōu)椤?”狀態(tài)時(shí),第一位數據出現在I/O數據線(xiàn)上,此后每個(gè)CLK脈沖即接收1位數據。接收8位或9位數據(帶保護位時(shí),第9位為保護位)時(shí)即為1個(gè)字節。每讀完1個(gè)字節,IC卡地址計數器偏移量自動(dòng)加1。當RST為“0”狀態(tài)轉變?yōu)椤?”狀態(tài)時(shí),讀操作結束。讀時(shí)序邏輯如圖5所示。
?。?)密碼校驗邏輯
SLE4428 IC卡具有2個(gè)字節的密碼保護字節(地址偏移量分別為1022、1023)以及1個(gè)錯誤計數器(地址偏移量為1021)。如果沒(méi)有進(jìn)行密碼校驗,則SLE4428 IC卡只能讀出,不能寫(xiě)入,也不能讀取密碼字節。在沒(méi)有通過(guò)密碼校驗即讀取密碼字節,將返回“00”.進(jìn)行密碼校驗時(shí),必須按以下步驟進(jìn)行。
*改變一個(gè)沒(méi)有寫(xiě)入的位(沒(méi)有寫(xiě)入的位,其當前狀態(tài)為“1”,改變一個(gè)沒(méi)有寫(xiě)入的位即使期由“1”狀態(tài)變?yōu)椤?”狀態(tài));
*寫(xiě)入第一位密碼;
*寫(xiě)入第二位密碼;
*刪除錯誤計數器。
密碼校驗的時(shí)序邏輯如圖6所示。(寫(xiě)錯誤計數器請參看寫(xiě)時(shí)序邏輯)。
對于密碼校驗,雖然操作流程說(shuō)得很清楚,但實(shí)際使用時(shí)如何實(shí)現,還是有一些技巧,因而同時(shí)列出圖7所示的操作流程,以供參考。
2 SLE4418/SLE4428在予付費系統中的應用
預付費系統最先是為了解決電能表收費難而提出的一種收費管理方式,在得到用戶(hù)的認可后,逐步在水、氣行業(yè)得到推廣,并有在其它行業(yè)得到應用的趨勢。不管其行業(yè)如何,預付費管理系統,歸根到底是收費問(wèn)題,因而管理與操作方式上具有一般性。下面以飛利浦的87LPC764處理器芯片為例進(jìn)行介紹。
圖8
預付費系統基本電路原理如圖8所示。
圖8中,J1為IC卡卡座;U1為87LPC764單片機;U2為串行存儲器,用于保存現場(chǎng)數據;SIGN為信號輸入;BIT、STAGE、DATA為顯示輸出線(xiàn),以串行的形式驅動(dòng)LED顯示器 Power為顯示輸出線(xiàn),以串行的形式驅動(dòng)LED顯示器;Power為電源監控,以保護電源電壓切斷時(shí)導至的數據安全問(wèn)題;Ctrl為控制輸出線(xiàn),用于控制受器件。主程序流程如圖9所示。
電能表相關(guān)文章:電能表原理
評論