當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 本文主要介紹了一種新型的IC卡讀寫終端的設(shè)計(jì),IC卡讀寫終端是一個(gè)單片機(jī)嵌入式應(yīng)用系統(tǒng)。論文從IC卡的國際標(biāo)準(zhǔn)入手,介紹了實(shí)現(xiàn)IC卡數(shù)據(jù)存儲(chǔ)的控制方法,并以西門子公司的SLE4442型邏輯加密卡為基礎(chǔ),詳細(xì)分析了單片機(jī)控制IC卡數(shù)據(jù)讀寫的軟、硬件實(shí)現(xiàn)。

摘要: 本文主要介紹了一種新型的IC卡讀寫終端的設(shè)計(jì),IC卡讀寫終端是一個(gè)單片機(jī)嵌入式應(yīng)用系統(tǒng)。論文從IC卡的國際標(biāo)準(zhǔn)入手,介紹了實(shí)現(xiàn)IC卡數(shù)據(jù)存儲(chǔ)的控制方法,并以西門子公司的SLE4442型邏輯加密卡為基礎(chǔ),詳細(xì)分析了單片機(jī)控制IC卡數(shù)據(jù)讀寫的軟、硬件實(shí)現(xiàn)。
關(guān)鍵詞: 89C51 IC卡 嵌入式 串口

1        前言

IC卡是集成電路卡(Integrated Circuit Card)的簡稱,有些國家和地區(qū)稱之為微芯片卡(Microchip Card)或微電路卡(Microcircuit Card)。IC卡的大小和磁卡相同,它把集成電路鑲在塑料卡片上,芯片一般是數(shù)據(jù)不易丟失的存儲(chǔ)器(ROM, EPROM.EPROM), 保護(hù)邏輯電路,或者CPU。IC卡最初是為了解決金融交易中的安全性問題而設(shè)計(jì)的,它帶來全新的交易概念與巨大的優(yōu)勢(shì)。很快,這一優(yōu)勢(shì)也為其他應(yīng)用部門所看中,使之廣泛應(yīng)用于電話、醫(yī)療保健、路禁控制和門鎖控制等等系統(tǒng)中。隨著時(shí)間的推移,應(yīng)用范圍還在不斷擴(kuò)大,使用IC卡的數(shù)量呈幾何級(jí)數(shù)增長。同時(shí),為了不同應(yīng)用場(chǎng)合的需求,IC卡制造商們?nèi)栽诓粩嗟叵蚴袌?chǎng)推出新的IC卡,IC卡的價(jià)格將隨著使用量的增加而逐年下降,所有這些,無疑又會(huì)大大推進(jìn)IC卡在各個(gè)領(lǐng)域的普及。無線SOC開發(fā)平臺(tái)499元 S3C44B0 ARM7開發(fā)板378元 S3C2410 ARM9開發(fā)板780元 AT91SAM7S64 ARM7
    按照IC卡與讀寫設(shè)備的數(shù)據(jù)交換方式,IC卡可分為接觸型IC卡和非接觸型IC卡。接觸型IC卡就是在使用時(shí),通過有形的電極觸點(diǎn)將卡的集成電路與外部接口設(shè)備直接接觸連接來進(jìn)行數(shù)據(jù)交換的IC卡。非接觸型IC卡是通過無線電波或電磁場(chǎng)感應(yīng)的方式,將卡中集成電路內(nèi)的數(shù)據(jù)與外部設(shè)備接口設(shè)備通信,卡片不用直接接觸接口設(shè)備的電極就可以進(jìn)行數(shù)據(jù)讀寫。按照IC卡的功能和結(jié)構(gòu)又可以把IC卡分為存儲(chǔ)型IC卡和智能型IC卡。存儲(chǔ)型IC卡是屬于被動(dòng)型,它只能實(shí)現(xiàn)數(shù)據(jù)的各種輸入/輸出。這種類型IC卡內(nèi)部電路可分為兩大功能部分,數(shù)據(jù)存儲(chǔ)部分和數(shù)據(jù)加密操作控制部分。而且不是所有IC卡都必須具有這兩大功能。我們把只有數(shù)據(jù)存儲(chǔ)功能的IC卡稱為非加密型存儲(chǔ)卡 (Memory Card)。把具有數(shù)據(jù)存儲(chǔ)功能和數(shù)據(jù)加密操作控制的IC卡稱為加密型存儲(chǔ)卡(Memory Card with Security Logic), 它們有暫時(shí)或永久的數(shù)據(jù)存儲(chǔ)能力,其內(nèi)容可供處理或判斷之用。智能型IC卡就是在IC卡的集成電路中帶有微處理器電路的IC卡。它是一種主動(dòng)型IC卡,不僅能夠管理各種數(shù)據(jù)的I/O操作,校驗(yàn)來自接口設(shè)備的個(gè)人密碼,而且能夠根據(jù)應(yīng)用系統(tǒng)的要求主動(dòng)識(shí)別與之連接的接口設(shè)備。因此,在智能型IC卡中能夠建立各種應(yīng)用系統(tǒng)的授權(quán),存放多個(gè)應(yīng)用系統(tǒng)的相關(guān)數(shù)據(jù),并實(shí)現(xiàn)對(duì)數(shù)據(jù)信息存儲(chǔ)的高可靠性、高安全性控制,可以進(jìn)行復(fù)雜的信息處理和計(jì)算。

IC卡國際標(biāo)準(zhǔn)和讀寫要求

由于IC卡使用具有流動(dòng)性與全球性,建立相應(yīng)的國際標(biāo)準(zhǔn)和國家標(biāo)準(zhǔn)就顯得特別重要。在信息技術(shù)領(lǐng)域,ISO(國際標(biāo)準(zhǔn)化組織)和IEC(國際電子技術(shù)委員會(huì))共同建立了一個(gè)技術(shù)委員會(huì)ISO/IEC JTC1以制定相應(yīng)國際標(biāo)準(zhǔn)。在IC卡應(yīng)用系統(tǒng)的設(shè)計(jì)中,讀寫設(shè)備對(duì)IC卡的讀寫控制的每一個(gè)環(huán)節(jié)都應(yīng)當(dāng)遵照相應(yīng)的國際標(biāo)準(zhǔn),才能保證數(shù)據(jù)的正確讀取。這是IC卡讀寫器終端設(shè)計(jì)的基礎(chǔ)。

而在這些標(biāo)準(zhǔn)當(dāng)中,對(duì)芯片和電氣特征的定義和操作時(shí)序的要求又顯得尤為重要。此處以同步卡的電氣特征和時(shí)序?yàn)槔M(jìn)行介紹。使用這種卡時(shí),接口設(shè)備將所有線置于狀態(tài)L,然后VCC加電,Vpp處于空閑狀態(tài),CLK、RST和FCB處于狀態(tài)L,接口設(shè)備的I/O置于接收模式。時(shí)鐘脈沖在VCC上升沿之后相隔t20后提供,時(shí)鐘脈沖的持續(xù)時(shí)間為t25。在時(shí)鐘脈沖上升沿之后至少相隔t22時(shí)間FCB仍維持狀態(tài)L。在I/O線上得到的第1位數(shù)據(jù)可視為應(yīng)答,此時(shí)CLK處于狀態(tài)L,并在CLK下降沿t27之后有效。當(dāng)FCB置于狀態(tài)H時(shí),每一個(gè)時(shí)鐘脈沖用于讀出I/O線上的下個(gè)數(shù)據(jù)位。在復(fù)位應(yīng)答時(shí),第一個(gè)時(shí)鐘脈沖在FCB上升沿之后t24時(shí)間給出。時(shí)鐘脈沖狀態(tài)H的持續(xù)時(shí)間為t25,狀態(tài)L的持續(xù)時(shí)間為1us(t26)。第二個(gè)及其隨后的數(shù)據(jù)位在時(shí)鐘為低和CLK下降沿之后t27時(shí)間給出。數(shù)據(jù)位依次用時(shí)鐘脈沖的上升沿采樣。

圖 一

3        SLEE4442接口電路的設(shè)計(jì)

SLE4442是由德國西門子公司設(shè)計(jì)的邏輯加密存儲(chǔ)卡。它具有2K位的存儲(chǔ)容量和完全獨(dú)立的可編程加密代碼存儲(chǔ)器。內(nèi)部電壓提升電路保證了芯片能夠以單5V電壓供電,較大的存儲(chǔ)器容量能夠滿足應(yīng)用領(lǐng)域的各種要求。是目前國內(nèi)應(yīng)用較多的一種IC卡芯片。這種芯片的特點(diǎn)是采用多存儲(chǔ)器結(jié)構(gòu);2線連接協(xié)議,串行接口滿足ISO7816同步傳送協(xié)議;芯片采用NMOS工藝技術(shù),每字節(jié)的擦除/寫入編程時(shí)間為2.5ms;存儲(chǔ)器采用至少104次的擦除/寫入周期,數(shù)據(jù)保持時(shí)間至少為10年。

而讀寫器的主控芯片采用的是89C51單片機(jī)。89C51單片機(jī)是Intel公司開發(fā)的8位的系列化處理芯片。內(nèi)部帶有一個(gè)8位的CPU,256個(gè)字節(jié)的RAM,21個(gè)特殊功能寄存器(SFR),2個(gè)16位的定時(shí)/計(jì)數(shù)器,4個(gè)8位并行接口,一個(gè)全雙工的串行接口,5個(gè)中斷源及片內(nèi)時(shí)鐘振蕩器等。由于這是一款非常成熟的單片機(jī),因此本文不作更多的贅述。

該讀寫器的核心模塊即如何實(shí)現(xiàn)對(duì)IC芯片的有效控制和讀寫操作。而接口電路的設(shè)計(jì)直接反映了對(duì)該芯片的具體操作思想。由于IC卡的邏輯接口電路一般采用集電極開路(OC)輸出及非保護(hù)式輸入結(jié)構(gòu),所有讓上拉電阻R源端與IC卡的供電電源相連接。當(dāng)IC卡處于供電狀態(tài)時(shí),整個(gè)接口電路接通,接口設(shè)備與IC卡間構(gòu)成邏輯通路;而當(dāng)IC卡處于下電狀態(tài)時(shí),上拉電阻R的源端失去了供電,整個(gè)與卡接口的電路均處于不帶電狀態(tài)。所有的IC卡接口部分都加入了保護(hù)二極管,這些二極管可以使各引腳上的電壓嚴(yán)格地限定在-VD~VCC+ VD之間(VD是保護(hù)二極管的正向壓降,通常為0.6左右)。這樣,可以抑制由于線路干擾和邏輯電平變化的邊沿產(chǎn)生抖動(dòng)所帶來的瞬間過壓,為IC卡提供了進(jìn)一步的保護(hù)措施。所設(shè)計(jì)的接口電路圖如圖二所示。

圖 二  IC卡控制和讀寫電路

 

  IC卡的插入與退出的識(shí)別是通過IC卡適配插座上的感應(yīng)開關(guān)來識(shí)別的,對(duì)于簡單的手動(dòng)插拔的IC卡適配插座來說,這種識(shí)別過程相當(dāng)簡單,僅有一個(gè)開關(guān),表示卡是否已插入。如果卡己插入到正確位置,IC卡適配插座就會(huì)給出一個(gè)開關(guān)接通(或斷開)的信號(hào),而一旦卡離開這個(gè)位置,該信號(hào)就會(huì)立即發(fā)生翻轉(zhuǎn)。設(shè)計(jì)中采用的適配器,無卡插入時(shí)開關(guān)常閉,卡插到位時(shí)開關(guān)斷開。對(duì)于手動(dòng)式IC卡適配插座來說,這一信號(hào)已經(jīng)足夠了。為了確保IC卡已準(zhǔn)確地插到位置,插入的識(shí)別過程必須加入消顫處理,這主要由軟件來實(shí)現(xiàn)。

大多數(shù)符合ISO7816標(biāo)準(zhǔn)的同步型IC卡的地址計(jì)數(shù)器是與時(shí)鐘緊密相關(guān)的,當(dāng)卡復(fù)位時(shí),地址計(jì)數(shù)器置0。以后每向卡發(fā)一個(gè)節(jié)拍的時(shí)鐘,都將使IC卡的地址計(jì)數(shù)器加‘1’。這一時(shí)鐘頻率上限為50kHz或280kHz。復(fù)位之后的頭32個(gè)時(shí)鐘周期內(nèi),是卡的復(fù)位響應(yīng)過程,該過程中,廠家的產(chǎn)品編碼以位編碼方式逐一在數(shù)據(jù)線上送出,以后的字段則根據(jù)廠家及用戶所定義的含義不同而各不相同。若某字段定義為可讀的,則可將時(shí)鐘運(yùn)行到該字段上,然后再逐時(shí)鐘讀出。數(shù)據(jù)的讀出過程可分為三個(gè)基本過程:復(fù)位,數(shù)據(jù)字段的定位和數(shù)據(jù)讀出。

4、89C51軟件模塊設(shè)計(jì)

由于89C51是主控芯片,因此89C51需要完成對(duì)IC芯片的復(fù)位、讀寫等操作。首先對(duì)于復(fù)位響應(yīng)操作,由于復(fù)位響應(yīng)是根據(jù)ISO7816標(biāo)準(zhǔn)來進(jìn)行的。在操作期間的任何時(shí)候都可以復(fù)位,只有經(jīng)過了復(fù)位才能對(duì)IC卡進(jìn)行其他操作。開始時(shí)地址計(jì)數(shù)器隨一個(gè)時(shí)鐘脈沖而被設(shè)置成0。當(dāng)RST線從H狀態(tài)置到L狀態(tài)時(shí),第一個(gè)數(shù)據(jù)位的內(nèi)容被送到I/O線上。若連續(xù)輸入32個(gè)時(shí)鐘脈沖,主存儲(chǔ)器中的前4個(gè)字節(jié)地址單元中的內(nèi)容被讀出。在第33個(gè)時(shí)鐘脈沖的下降沿,I/O線被置成H狀態(tài)而關(guān)閉。 在復(fù)位響應(yīng)期間,“啟動(dòng)”和“停止”狀態(tài)被忽略。單片機(jī)上的程序設(shè)計(jì)如下:

CARD_RST:         

CLR    RST

CLR    CLK

LCALL  DELAY_20US

SETB    RST

LCALL  DELAY_20US

SET     CLK

LCALL  DELAY_20US

CLR     CLK

LCALL   DELAY_20US

CLR     RST

LCALL  DELAY_20US

MOV    B,#32

RESET1:

SETB    CLK

LCALL   DELAY_20US

CLR     CLK

LCALL   DELAY_20US

DJNZ    B,RESET1

RET

在命令模式下,復(fù)位響應(yīng)之后,芯片等待著命令。每條命令都以一個(gè)“啟動(dòng)狀態(tài)”開始。整個(gè)命令包括三個(gè)字節(jié)。隨后緊跟著一個(gè)附加脈沖并用一個(gè)“停止?fàn)顟B(tài)”來結(jié)束操作。當(dāng)CLK為H狀態(tài)期間,I/O線的下降沿為啟動(dòng)狀態(tài);當(dāng)CLK為H狀態(tài)期間,I/O線的上升沿為停止?fàn)顟B(tài);限于篇幅,此處不再列出整個(gè)讀寫操作的程序代碼。需要注意的是:脈沖的下降沿之后,I/O線上的第一位數(shù)據(jù)變?yōu)橛行?。隨后每增加一個(gè)時(shí)鐘脈沖,芯片內(nèi)部的一位數(shù)據(jù)被送到I/O線上。其輸出的順序是從侮個(gè)字節(jié)的最低位開始。當(dāng)所需要的最后一個(gè)數(shù)據(jù)送出以后,需要再附加一個(gè)時(shí)鐘脈沖來把I/O線置成H狀態(tài),以便準(zhǔn)備接受新的命令。在輸出數(shù)據(jù)期間,任何“啟動(dòng)狀態(tài)”和“停止?fàn)顟B(tài)”均被屏蔽掉。

5、結(jié)束語

     本文的創(chuàng)新點(diǎn)是提出了一種新型的IC卡讀寫器設(shè)計(jì)方案,在串口通訊的設(shè)計(jì)中,除了要對(duì)單片機(jī)的異步通訊口進(jìn)行操作,還要對(duì)PC 機(jī)的串口進(jìn)行底層實(shí)時(shí)控制,并通過調(diào)用系統(tǒng)的API 函數(shù)的方法成功的解決了這一問題。由于西門子公司的SLE4442型邏輯加密IC卡是一種比較通用的IC卡芯片,因此通過更新讀寫器軟件也可以操作其他類型的接觸式同步IC一卡,使得這種接觸式IC卡讀寫器成為一種通用的讀寫器。

參考文獻(xiàn):

1         王卓人,鄧晉均,劉宗祥, 《IC卡的技術(shù)與應(yīng)用》,北京:電子工業(yè)出版社,1999
2         王愛英《智能卡技術(shù)》,北京:清華大學(xué)出版社,2000
3         何立民等 《單片機(jī)高級(jí)教程》,北京:北京航空航天大學(xué)出版社,2000.8
4         陳志斌 卓家靖 基于單片機(jī)和CPLD的嵌入式脈沖發(fā)生器設(shè)計(jì),北京,《微計(jì)算機(jī)信息》,2005。NO.2,P107

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉