<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > SLE4418/SLE4428 IC卡及其應(yīng)用

          SLE4418/SLE4428 IC卡及其應(yīng)用

          作者: 時(shí)間:2008-03-07 來(lái)源:網(wǎng)絡(luò) 收藏

            摘要:詳細(xì)介紹SLE448/SLE4428 邏輯,著重說(shuō)明密碼過(guò)程;給出流程和的應(yīng)用示例以及全部的源代碼。

            關(guān)鍵詞:SLE448/SLE4428 程序

            概述

            隨著國(guó)家“金卡工程”的不斷發(fā)展,各種與系統(tǒng)不斷涌現(xiàn),涉及到各個(gè)領(lǐng)域各個(gè)行業(yè)與部門,如各地的IC卡預(yù)付費(fèi)表、

            

            零售服務(wù)業(yè)的汀貨與送化等;而這些系統(tǒng)在各行業(yè)的推廣與實(shí)施,又進(jìn)一步推動(dòng)了IC卡的應(yīng)用。目前,我國(guó)在用的IC卡卡就有億多,隨著科學(xué)技術(shù)與經(jīng)濟(jì)的不斷發(fā)展,IC卡必將得到更廣泛的應(yīng)用。

            SLE4418/SLE4428卡是西門子公司的產(chǎn)品,價(jià)格便宜,使用方便,比較適合于數(shù)量較小的應(yīng)用,是我國(guó)使用較為廣泛的一種IC卡。

            1 SLE4418/SLE4428 IC卡特點(diǎn)和操作時(shí)序分析

            1.1 SLE4418/SLE4428 IC卡的基本特征

            SLE4418 IC卡共有1248位EEPROM,可逐地進(jìn)行寫操作與操作,每個(gè)都有具有程序?qū)懕Wo(hù)位。SLE4428 IC除了以上功能外,還帶有程序密碼邏輯()。由于SLE4418/SLE4428 IC卡內(nèi)置了高壓產(chǎn)生器,因而只需即可進(jìn)行操作,簡(jiǎn)化了接口電路的設(shè)計(jì),可直接由單片機(jī)驅(qū)動(dòng),幾乎不要其它和外接元件。此瞳的基本特點(diǎn)如下:

            ①具有1248位的EEPROM存儲(chǔ)器;

            ②以為編址單位;

            ③具有1241位保護(hù)存儲(chǔ)器,保護(hù)存儲(chǔ)器設(shè)置后不可撤消;

           ?、苋€串行總線;

           ?、菘蛇M(jìn)行10萬(wàn)次擦寫操作;

           ?、迶?shù)據(jù)保存10年;

           ?、呖▋?nèi)具有2個(gè)字節(jié)的程序加密位,數(shù)據(jù)僅在密碼檢驗(yàn)正確后,方可進(jìn)行寫操作。

            

            

            1.2 操作時(shí)序分析

            SLE4418/SLE4428 IC卡通過(guò)三線串行總線性與芯片接口進(jìn)行信息交換。數(shù)據(jù)在程序控制器的統(tǒng)一協(xié)議下,進(jìn)行數(shù)據(jù)序列轉(zhuǎn)換與安全邏輯校驗(yàn)。SLE4418/SLE4428 IC卡的引腳配置及功能說(shuō)明如圖1和表1。

            表1 IC卡引腳功能

            引腳名稱 功 能

            VCC 工作電壓

            RST 復(fù)位端

            CLK 時(shí)鐘

            N.C 空

            GND 地

            I/O 數(shù)據(jù)線

            (1)復(fù)位與復(fù)位應(yīng)答

            IC卡在上電時(shí),芯片進(jìn)入到上電復(fù)位狀態(tài)(POR),POR由一個(gè)復(fù)位操作(Reset)終止。當(dāng)RST引腳由“0”狀態(tài)變換變換為“1”狀態(tài)時(shí)結(jié)束。復(fù)位時(shí),將終止所有當(dāng)前的操作命令。

            上電復(fù)位(POR)后,地在寫數(shù)據(jù)或數(shù)據(jù)前,必須先進(jìn)行一次讀操作。芯片復(fù)位時(shí),地址計(jì)數(shù)器偏移置被設(shè)置為“0”,第一個(gè)數(shù)據(jù)位出現(xiàn)在數(shù)據(jù)線(I/O)上中,如圖2所示。

           ?。?)命令輸入邏輯

            SLE4418/SLE4428共有5條控制命令,SLE4428另有3條密碼操作命令,如表2所列。

            表2 SLE4418/SLE4428IC卡操作命令

            字節(jié)1 字節(jié)2 字節(jié)3 操作內(nèi)容

            S0 S1 S2 S3 S4 S5 A8 A9 A0~A7 D0~D7  

            1 0 0 0 1 1 地址高位

            地址低位

            

            輸入數(shù)據(jù) 帶保護(hù)位寫與

            1 1 0 0 1 1 輸入數(shù)據(jù) 不帶保護(hù)寫或刪除

            0 0 0 0 1 1 比較數(shù)據(jù) 帶信號(hào)位寫(校驗(yàn))

            0 0 1 1 1 1 忽略 帶保護(hù)位數(shù)(讀9位)

            0 1 1 1 0 0 忽略 (不帶保護(hù)位讀(讀8位)

            0 1 0 0 1 1 1 1 253 位掩碼 寫錯(cuò)誤計(jì)數(shù)器

            1 0 1 1 0 0 1 1 254 字節(jié)1 校驗(yàn)第一個(gè)PSC字節(jié)

            1 0 1 1 0 0 1 1 255 PSC字節(jié)2 校驗(yàn)第二個(gè)PSC字節(jié)

            由表2可看出,每條命令由6位控制位,10位地址位和1個(gè)字節(jié)的數(shù)據(jù)組成。進(jìn)行寫數(shù)據(jù)時(shí),數(shù)據(jù)字節(jié)即是所要寫入的數(shù)據(jù),可見(jiàn)SLE4418/SLE4428不能進(jìn)行一次性多字節(jié)的數(shù)據(jù),可見(jiàn)SLE4418/SLE4428不能進(jìn)行一次性多字節(jié)的寫操作;讀數(shù)據(jù)時(shí),數(shù)據(jù)忽略不計(jì),一次性可讀出多字節(jié)。當(dāng)RST由“0”狀態(tài)變?yōu)椤?”狀態(tài),CLK由“0”狀態(tài)變?yōu)椤?”狀態(tài)時(shí)命令輸入邏輯啟動(dòng)。命令輸入完成后,設(shè)置RST為“0”狀態(tài),時(shí)序如圖3所示。

            

            

            (3)寫操作/刪除操作邏輯

            對(duì)IC卡進(jìn)行寫操作,意味著數(shù)據(jù)位由“1”狀態(tài)變?yōu)椤?”狀態(tài);刪除操作意消味著數(shù)據(jù)位由“0”狀態(tài)變?yōu)椤?”狀態(tài)。SLE4418/SLE4428 IC卡在進(jìn)行寫操作與刪除操作時(shí),時(shí)鐘(CLK)必須進(jìn)行延續(xù)。一般來(lái)說(shuō),單獨(dú)的寫操作或者單獨(dú)的刪除操作,數(shù)據(jù)輸入后,時(shí)鐘須延續(xù)103個(gè)脈沖,數(shù)據(jù)刪除后立即進(jìn)行寫操作則需要延續(xù)203個(gè)時(shí)鐘脈沖。SLE4418/SLE4428 IC卡具有三種擦寫操作,即刪除操作后立即寫操作、單獨(dú)的寫操作與單獨(dú)的刪除操作三種方式。如圖4所示。寫保護(hù)位時(shí),只須將數(shù)據(jù)重寫一次,當(dāng)?shù)诙螌懭氲臄?shù)據(jù)與前一次寫入的數(shù)據(jù)相同時(shí),設(shè)置保護(hù)位。保護(hù)位一旦設(shè)置便不能更改。

           ?。?)讀操作邏輯

            

            

            按表2配置好讀命令后,即啟動(dòng)讀操作。當(dāng)CLK為“0”狀態(tài)變?yōu)椤?”狀態(tài)時(shí),第一位數(shù)據(jù)出現(xiàn)在I/O數(shù)據(jù)線上,此后每個(gè)CLK脈沖即接收1位數(shù)據(jù)。接收8位或9位數(shù)據(jù)(帶保護(hù)位時(shí),第9位為保護(hù)位)時(shí)即為1個(gè)字節(jié)。每讀完1個(gè)字節(jié),IC卡地址計(jì)數(shù)器偏移量自動(dòng)加1。當(dāng)RST為“0”狀態(tài)轉(zhuǎn)變?yōu)椤?”狀態(tài)時(shí),讀操作結(jié)束。讀時(shí)序邏輯如圖5所示。

           ?。?)密碼校驗(yàn)邏輯

            SLE4428 IC卡具有2個(gè)字節(jié)的密碼保護(hù)字節(jié)(地址偏移量分別為1022、1023)以及1個(gè)錯(cuò)誤計(jì)數(shù)器(地址偏移量為1021)。如果沒(méi)有進(jìn)行密碼校驗(yàn),則SLE4428 IC卡只能讀出,不能寫入,也不能讀取密碼字節(jié)。在沒(méi)有通過(guò)密碼校驗(yàn)即讀取密碼字節(jié),將返回“00”.進(jìn)行密碼校驗(yàn)時(shí),必須按以下步驟進(jìn)行。

            *改變一個(gè)沒(méi)有寫入的位(沒(méi)有寫入的位,其當(dāng)前狀態(tài)為“1”,改變一個(gè)沒(méi)有寫入的位即使期由“1”狀態(tài)變?yōu)椤?”狀態(tài));

            

            

            *寫入第一位密碼;

            *寫入第二位密碼;

            *刪除錯(cuò)誤計(jì)數(shù)器。

            密碼校驗(yàn)的時(shí)序邏輯如圖6所示。(寫錯(cuò)誤計(jì)數(shù)器請(qǐng)參看寫時(shí)序邏輯)。

            

            

            對(duì)于密碼校驗(yàn),雖然操作流程說(shuō)得很清楚,但實(shí)際使用時(shí)如何實(shí)現(xiàn),還是有一些技巧,因而同時(shí)列出圖7所示的操作流程,以供參考。

            

            

            2 SLE4418/SLE4428在予付費(fèi)系統(tǒng)中的應(yīng)用

            預(yù)付費(fèi)系統(tǒng)最先是為了解決電能表收費(fèi)難而提出的一種收費(fèi)管理方式,在得到用戶的認(rèn)可后,逐步在水、氣行業(yè)得到推廣,并有在其它行業(yè)得到應(yīng)用的趨勢(shì)。不管其行業(yè)如何,預(yù)付費(fèi)管理系統(tǒng),歸根到底是收費(fèi)問(wèn)題,因而管理與操作方式上具有一般性。下面以飛利浦的87LPC764處理器芯片為例進(jìn)行介紹。

            圖8

            預(yù)付費(fèi)系統(tǒng)基本電路原理如圖8所示。

            

            

            圖8中,J1為IC卡卡座;U1為87LPC764單片機(jī);U2為串行存儲(chǔ)器,用于保存現(xiàn)場(chǎng)數(shù)據(jù);SIGN為信號(hào)輸入;BIT、STAGE、DATA為顯示輸出線,以串行的形式驅(qū)動(dòng)LED顯示器 Power為顯示輸出線,以串行的形式驅(qū)動(dòng)LED顯示器;Power為電源監(jiān)控,以保護(hù)電源電壓切斷時(shí)導(dǎo)至的數(shù)據(jù)安全問(wèn)題;Ctrl為控制輸出線,用于控制受器件。主程序流程如圖9所示。

          電能表相關(guān)文章:電能表原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();