基于SLE4442的IC卡系統(tǒng)設(shè)計與實現(xiàn)
文章出處:http://56733.cn 作者: 人氣: 發(fā)表時間:2012年03月20日
摘要:本文主要介紹了一種基于MCS-51 單片機的IC 卡讀寫終端,設(shè)計了單片機控制IC 卡數(shù)據(jù)讀寫的軟/硬件,以及與PC 機之間的串口通信。
關(guān)鍵詞:SLE4442;51 單片機; 讀寫器; 串口通信
1 引言
IC卡又稱集成電路卡,是Integrated Circuit Card的英文縮寫,它將一個集成電路芯片鑲嵌于塑料基片中,封裝成卡的形式,具有讀寫數(shù)據(jù)和存儲數(shù)據(jù)的能力。IC卡比磁卡存儲容量大,可靠性和安全性高,在應用上除了覆蓋磁卡的全部應用范圍以外,還提供了許多磁卡所不具備的應用特性。正是這些特性,使IC卡在脫機業(yè)務處理和聯(lián)網(wǎng)數(shù)據(jù)一致性等方面表現(xiàn)出前所未有的優(yōu)勢。
2 SLE4442 卡介紹
邏輯加密卡SLE4442是德國西門子公司推出的智能帶寫保護功能和保密邏輯的256字節(jié)EEPROM卡,具有以下特點:二線制通信協(xié)議、串行接口、觸點配置、至少可擦寫 1萬次及數(shù)據(jù)可保持10年以上[1]。
SLE4442芯片的觸點位置與功能符合ISO7816-2標準,觸點位置見圖1所示,觸點功能見表1所示。
圖1 觸點位置 表1 SLE4442的觸點功能
3 接口電路與讀寫控制
3.1 接口電路的設(shè)計
本設(shè)計采用的單片機是8051單片機。SLE4442卡座與8051單片機的最基本連接如圖2所示。SLE4442的RST,CLK,I/O三條線均需接上拉電阻接到+5V上,因選用的接口,內(nèi)有上拉電阻,故可以省去。這三條線上也可以加箝拉保護二極管(在電壓穩(wěn)定、干擾很小的情況下,可以不加)。這種接法線路簡單、實用。為了防止IC卡座被插入鐵片等物而造成短路,卡座的供電最好與單片機系統(tǒng)分開,且讓單片機能檢測到這種短路,不讓P1.7為低電平,從而使IC卡斷電。其中R1,D1,Q組成卡上下電電路,當P1.7=0時,Q導通,IC卡座Vcc得電,當P1.7=1時,Q截止,IC卡座失電。R1,D1用于檢測卡電源是否短路,以防人為破壞,在對IC卡供電時,如果單片機檢測到P1.6=0,說明電源短路,發(fā)報警信號。SW1、SW2為IC卡卡座的一對常開觸點,當有卡插人時,SW1、SW2短路,給INT0送人低電平,此信號用來檢測有無卡插入[2]。
圖2 SLE4442它與8051的接口電路
3.2 SLE4442 操作命令的實現(xiàn)
1)SLE4442 的模式
SLE4442傳輸協(xié)議是在接口設(shè)備IFD與IC卡的集成電路之間的兩線連接協(xié)議,其協(xié)議類型為S=A。I/O線上的數(shù)據(jù)變化只在CLK信號的下降沿才有效。該傳輸協(xié)議包括4種模式:復位與復位應答、命令模式、輸出數(shù)據(jù)模式以及數(shù)據(jù)處理模式。
2) SLE4442 的操作命令
SLE4442共有7條操作命令,針對操作對象的不同,分為三類:
主存儲區(qū):讀主存儲區(qū)、寫主存儲區(qū);
保護區(qū):讀保護區(qū)、寫保護區(qū);
密碼區(qū):讀密碼區(qū)、寫密碼區(qū)、比較密碼。
SLE4442操作命令格式如表2所示。每條命令包含三個字節(jié):命令控制字、地址、數(shù)據(jù)。命令傳輸?shù)捻樞蛞来问强刂谱?,地址,?shù)據(jù)。每個字節(jié)的最低有效位LSB最先傳送。
表2 操作命令格式
本文需要解決的問題之一即是如何通過微處理器發(fā)控制命令,卡的讀寫操作,實現(xiàn)IC卡與接口設(shè)備之間的數(shù)據(jù)交換。
3) SLE4442 讀寫操作
由圖2的接口電路可以看出SLE4442的時鐘、上下電以及讀寫操作均由單片機控制,因此單片機編程時應符合SLE4442的傳輸協(xié)議和操作命令。本設(shè)計首先按照要求編寫對SLE4442進行操作的子程序,再編寫主程序形成一套完整的IC卡讀寫系統(tǒng)。其中密碼效驗和讀寫控制的程序流程比較常見,本文省略。幾個主要子程序流程圖如圖3、圖4所示:
圖3 插卡識別流程圖 圖4 復位和復位應答程序流程圖
第1頁第2頁 |