單片機IC卡讀寫器設(shè)計
1 概述
C卡是集成電路卡(Integrated Circuit Card)的簡稱,有些國家和地區(qū)稱之為微芯片卡(Microchip Card)或微電路卡(Microcircuit Card)。IC卡的大小和磁卡相同,它把集成電路鑲在塑料卡片上,芯片一般是數(shù)據(jù)不易丟失的存儲器(ROM, EPROM.EPROM), 保護邏輯電路,或者CPU。IC卡最初是為了解決金融交易中的安全性問題而設(shè)計的,它帶來全新的交易概念與巨大的優(yōu)勢。很快,這一優(yōu)勢也為其他應(yīng)用部門所看中,使之廣泛應(yīng)用于電話、醫(yī)療保健、路禁控制和門鎖控制等等系統(tǒng)中。隨著時間的推移,應(yīng)用范圍還在不斷擴大,使用IC卡的數(shù)量呈幾何級數(shù)增長。同時,為了不同應(yīng)用場合的需求,IC卡制造商們?nèi)栽诓粩嗟叵蚴袌鐾瞥鲂碌腎C卡,IC卡的價格將隨著使用量的增加而逐年下降,所有這些,無疑又會大大推進IC卡在各個領(lǐng)域的普及。無線SOC開發(fā)平臺499元 S3C44B0 ARM7開發(fā)板378元 S3C2410 ARM9開發(fā)板780元 AT91SAM7S64 ARM7
按照IC卡與讀寫器的數(shù)據(jù)交換方式,IC卡可分為接觸型IC卡和非接觸型IC卡。接觸型IC卡就是在使用時,通過有形的電極觸點將卡的集成電路與外部接口設(shè)備直接接觸連接來進行數(shù)據(jù)交換的IC卡。非接觸型IC卡是通過無線電波或電磁場感應(yīng)的方式,將卡中集成電路內(nèi)的數(shù)據(jù)與外部設(shè)備接口設(shè)備通信,卡片不用直接接觸接口設(shè)備的電極就可以進行數(shù)據(jù)讀寫。按照IC卡的功能和結(jié)構(gòu)又可以把IC卡分為存儲型IC卡和智能型IC卡。存儲型IC卡是屬于被動型,它只能實現(xiàn)數(shù)據(jù)的各種輸入/輸出。這種類型IC卡內(nèi)部電路可分為兩大功能部分,數(shù)據(jù)存儲部分和數(shù)據(jù)加密操作控制部分。而且不是所有IC卡都必須具有這兩大功能。我們把只有數(shù)據(jù)存儲功能的IC卡稱為非加密型存儲卡 (Memory Card)。把具有數(shù)據(jù)存儲功能和數(shù)據(jù)加密操作控制的IC卡稱為加密型存儲卡(Memory Card with Security Logic), 它們有暫時或永久的數(shù)據(jù)存儲能力,其內(nèi)容可供處理或判斷之用。智能型IC卡就是在IC卡的集成電路中帶有微處理器電路的IC卡。它是一種主動型IC卡,不僅能夠管理各種數(shù)據(jù)的I/O操作,校驗來自接口設(shè)備的個人密碼,而且能夠根據(jù)應(yīng)用系統(tǒng)的要求主動識別與之連接的接口設(shè)備。因此,在智能型IC卡中能夠建立各種應(yīng)用系統(tǒng)的授權(quán),存放多個應(yīng)用系統(tǒng)的相關(guān)數(shù)據(jù),并實現(xiàn)對數(shù)據(jù)信息存儲的高可靠性、高安全性控制,可以進行復雜的信息處理和計算通用存貯器IC卡是由通用存貯器芯片封裝而成的,由于它的結(jié)構(gòu)和功能簡單,生產(chǎn)成本低,使用方便,因此在各領(lǐng)域都得到了廣泛的應(yīng)用。目前用于IC卡的通用存貯器芯片多為E2PROM,其常用的協(xié)議主要有兩線串行連接協(xié)議(I2C)和三線串行鏈接協(xié)議,其中比較常用的是ATMEL公司生產(chǎn)的AT24系列芯片。以該系列中的AT24C01為例,它具有1k的存貯容量,適用于2V~5V的低電壓/標準電壓的操作,具有低功耗和高可靠性等優(yōu)點。而AT89C2051 雖是ATMEL公司89系列單片機的低檔型,但它具有2k的FLASH ROM(可重編閃速存貯器)、128×8位內(nèi)部RAM及全靜態(tài)操作方式,同樣也具有低功耗和較強的功能。下面以AT24C2051為例,對通用存貯器IC 卡的工作原理及基本電路連線作一介紹,該線路簡單,使用靈活,能可靠地對通用存貯器IC卡進行讀寫。由于IC卡使用具有流動性與全球性,建立相應(yīng)的國際標準和國家標準就顯得特別重要。在信息技術(shù)領(lǐng)域,ISO(國際標準化組織)和IEC(國際電子技術(shù)委員會)共同建立了一個技術(shù)委員會ISO/IEC JTC1以制定相應(yīng)國際標準。在IC卡應(yīng)用系統(tǒng)的設(shè)計中,讀寫設(shè)備對IC卡的讀寫控制的每一個環(huán)節(jié)都應(yīng)當遵照相應(yīng)的國際標準,才能保證數(shù)據(jù)的正確讀取。這是IC卡讀寫器終端設(shè)計的基礎(chǔ)。
設(shè)計標準
而在這些標準當中,對芯片和電氣特征的定義和操作時序的要求又顯得尤為重要。此處以同步卡的電氣特征和時序為例進行介紹。使用這種卡時,接口設(shè)備將所有線置于狀態(tài)L,然后VCC加電,Vpp處于空閑狀態(tài),CLK、RST和FCB處于狀態(tài)L,接口設(shè)備的I/O置于接收模式。時鐘脈沖在VCC上升沿之后相隔t20后提供,時鐘脈沖的持續(xù)時間為t25。在時鐘脈沖上升沿之后至少相隔t22時間FCB仍維持狀態(tài)L。在I/O線上得到的第1位數(shù)據(jù)可視為應(yīng)答,此時CLK處于狀態(tài)L,并在CLK下降沿t27之后有效。當FCB置于狀態(tài)H時,每一個時鐘脈沖用于讀出I/O線上的下個數(shù)據(jù)位。在復位應(yīng)答時,第一個時鐘脈沖在FCB上升沿之后t24時間給出。時鐘脈沖狀態(tài)H的持續(xù)時間為t25,狀態(tài)L的持續(xù)時間為1us(t26)。第二個及其隨后的數(shù)據(jù)位在時鐘為低和CLK下降沿之后t27時間給出。數(shù)據(jù)位依次用時鐘脈沖的上升沿采樣。
2 硬件特性
2.1 AT24系列存貯器的特性
AT24系列存貯器芯片采用CMOS工藝制造,內(nèi)置有高壓泵,可在單電壓供電條件下工作。其標準封裝為8腳DIP封裝形式,各引腳的功能說明如下:
SCL:串行時鐘。在該腳的上升沿時,系統(tǒng)將數(shù)據(jù)輸入到每個EEPROM器件,在下降沿時輸出。
SDA:串行數(shù)據(jù)。該引腳為開漏極驅(qū)動,可雙向傳送數(shù)據(jù)。
A0、A1、A2:器件/頁面尋址。為器件地址輸入端。在AT24C01/02中,該引腳被硬連接。
Vcc:一般輸入+5V的工作電壓。
圖1是符合ISO7816-2標準的IC卡的觸點圖。對于AT24系列通用存貯器IC卡來說,通常只需使用四個觸點。AT24C01的內(nèi)部組態(tài)為128個8位字節(jié),而對隨機字尋址則需要一個7位地址。
2.2 總線狀態(tài)及時序
A24C01的SCL及SDA兩總線可通過一個電阻上拉為高電平,SDA上的數(shù)據(jù)僅在SCL為低電平時周期才能改變。當SCL為高電平時,SDA的改變表示“開始”和“停止”狀態(tài)。此時,所有地址和數(shù)據(jù)字都以8位串行碼方式輸入輸出EEPROM。
開始狀態(tài):SCL為高電平時,SDA由高電平轉(zhuǎn)入低電平。該命令必須在其它命令前執(zhí)行。
停止狀態(tài):SCL為高電平時,SDA由低電平轉(zhuǎn)入高電平。該命令可終止所有通訊。
確認:相同總線上的設(shè)備在收到數(shù)據(jù)后,以置SDA為低電平的方式對其進行確認。
2.3 器件尋址
AT24系列EEPROM在開始狀態(tài)后需緊接一個8位器件地址,以進行應(yīng)讀寫操作。設(shè)備尋址碼的高4位為1、0、1、0,對于AT24C01/02,尋址碼高4位后面的三位是器件尋址碼,與它們的硬連線管腳相對應(yīng)。最低應(yīng)是讀寫選擇位,置0時可激發(fā)讀操作。
具體的格式如下:
1 | 0 | 1 | 0 | A2 | A1 | A0 | R/W |
2.4 AT89C2051芯片
AT89C2051 是MCS-51產(chǎn)品的兼容型,它具有2k的FLASH ROM、128字節(jié)ROM,15根I/O引線、兩個16位定時/計數(shù)器、一個五向量兩級中斷結(jié)構(gòu)、一個全雙工串行口、一個精密模擬比較器以及片內(nèi)振蕩電路和時鐘電路。它的P1口和P3口是雙向I/O口,其中P1.2~P1.7、P3.0~P3.5和P3.7帶有內(nèi)部上拉電阻。在AT89C2051用作輸入端時,將首先向引腳寫“1”而使內(nèi)部MOS管截止以便引腳處于懸浮狀態(tài),從而可獲得高阻抗輸入。
圖2為通用存貯器IC卡的基本電路連接圖。
3 讀寫操作軟件
當系統(tǒng)采用6MHz晶體振蕩器時所定義的I/O口線及器件地址如下:
SCL BIT P1.7
SDA BIT P1.6
DEVICEAD_W DATA 10100000B ;寫卡器件地址
DEVICEAD_R DATA 10100001B ;讀卡器件地址
3.1 開始條件(START_IC)
在開始條件下,當SCL為高電平時,SDA由高轉(zhuǎn)為低。程序如下:
START_IC:CLR SCL;SCL低電平時才允許SDA更改
NOP ;加入空指令延時以確保信號可靠
NOP
SETB SDA
NOP
NOP
SETB SCL
NOP
NOP
CLR SDA
NOP
NOP
CLR SCL
NOP
RET
上拉電阻相關(guān)文章:上拉電阻原理
評論