IC卡讀寫系統(tǒng)的單片機(jī)實(shí)現(xiàn)綜述綜述_第1頁(yè)
IC卡讀寫系統(tǒng)的單片機(jī)實(shí)現(xiàn)綜述綜述_第2頁(yè)
IC卡讀寫系統(tǒng)的單片機(jī)實(shí)現(xiàn)綜述綜述_第3頁(yè)
IC卡讀寫系統(tǒng)的單片機(jī)實(shí)現(xiàn)綜述綜述_第4頁(yè)
IC卡讀寫系統(tǒng)的單片機(jī)實(shí)現(xiàn)綜述綜述_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、天 津 大 學(xué) 網(wǎng) 絡(luò) 教 育 學(xué) 院專科畢業(yè)論文題目:IC卡讀寫系統(tǒng)的單片機(jī)實(shí)現(xiàn)完成期限:2016年1月8日 至 2016年4月20日學(xué)習(xí)中心:嘉興專業(yè)名稱:電氣自動(dòng)化技術(shù)學(xué)生姓名:姚國(guó)良學(xué)生學(xué)號(hào):132092433073指導(dǎo)教師:李娜娜天津大學(xué)網(wǎng)絡(luò)教育學(xué)院專科畢業(yè)論文IC卡讀寫系統(tǒng)的單片機(jī)實(shí)現(xiàn)第1章 緒論本章介紹了IC卡的發(fā)展歷史和應(yīng)用情況,說(shuō)明了現(xiàn)代IC卡技術(shù)的基礎(chǔ)知識(shí),最后分析了目前常見(jiàn)的IC卡讀寫器終端,并提出了本課題中IC卡讀寫器的設(shè)計(jì)目標(biāo)。1.1 IC卡的發(fā)展和應(yīng)用使用情況卡片是作為個(gè)人身份識(shí)別的手段而引進(jìn)的,而作為交易憑證的卡片則早在19世紀(jì)80年代就萌芽于英國(guó)了,1950年,

2、美國(guó)商人設(shè)計(jì)了第一張現(xiàn)代的塑料信用卡,1951年美國(guó)富蘭克林銀行作為金融機(jī)構(gòu)率先發(fā)行了信用卡,到60年代中期,人們?cè)谒芰辖鹑诮灰卓ǖ谋趁尜N上磁條,發(fā)展成為能夠自動(dòng)讀取信息進(jìn)行在線處理的磁卡,磁卡因?yàn)榻Y(jié)構(gòu)簡(jiǎn)單,價(jià)格低廉,得到迅速推廣。 IC卡是近年從歐洲開(kāi)始出現(xiàn)的,IC卡具有突出的3S特點(diǎn),即Standard(國(guó)際標(biāo)準(zhǔn)化)、Smart(靈巧智能化)、和Security(安全性)。因而發(fā)展迅速,在金融、通訊、交通等眾多領(lǐng)域中后來(lái)居上,即使那些磁卡已經(jīng)普及應(yīng)用的范圍也將被取而代之。IC卡不僅改變了現(xiàn)有多種卡的使用方法和功能作用,還不斷開(kāi)創(chuàng)出新的應(yīng)用領(lǐng)域。將IC卡和其他設(shè)備組成系統(tǒng)就能提供非常豐富的服

3、務(wù)功能,把這些功能與生產(chǎn)或流通領(lǐng)域有機(jī)地結(jié)合起來(lái),將出現(xiàn)令人意想不到的奇跡,創(chuàng)造出巨大的經(jīng)濟(jì)和社會(huì)效益。隨著信息技術(shù)的發(fā)展,IC卡作為一種先進(jìn)的信息存儲(chǔ)介質(zhì),它的應(yīng)用己經(jīng)滲透到各國(guó)的經(jīng)濟(jì)、社會(huì)生活、軍事等各個(gè)方面,將來(lái)更有著廣闊的發(fā)展空間。1.2 IC卡應(yīng)用技術(shù)IC卡比磁卡存儲(chǔ)容量大,可靠性和安全性高,在應(yīng)用上除了覆蓋磁卡的全部應(yīng)用范圍以外,還提供了許多磁卡所不具備的應(yīng)用特性。正是這些特性,使IC卡在脫機(jī)業(yè)務(wù)處理和聯(lián)網(wǎng)數(shù)據(jù)一致性等方面表現(xiàn)出前所未有的優(yōu)勢(shì)。IC 卡雖然有很強(qiáng)的功能,但僅當(dāng)IC卡加入到應(yīng)用系統(tǒng)中,構(gòu)成發(fā)行商、應(yīng)用系統(tǒng)和持卡人之間的數(shù)據(jù)傳輸媒介時(shí),才能有效地發(fā)揮其優(yōu)勢(shì)。一個(gè)好的IC

4、卡應(yīng)用系統(tǒng),應(yīng)具備良好的應(yīng)用特性和性能價(jià)格比,還要有好的安全特性。1.3 課題中IC卡的設(shè)計(jì)目標(biāo)讀寫器是IC卡應(yīng)用系統(tǒng)的終端設(shè)備,只有通過(guò)讀寫設(shè)備才能和IC卡建立聯(lián)系,讀寫IC卡中的數(shù)據(jù);讀寫器一般還要求和信息網(wǎng)絡(luò)中的上位機(jī)進(jìn)行通訊,把IC卡中的數(shù)據(jù)融入到上層數(shù)據(jù)庫(kù)。設(shè)計(jì)選擇讀寫器是建立IC卡應(yīng)用系統(tǒng)的關(guān)鍵。本文是就設(shè)計(jì)IC卡讀寫器展開(kāi)的,課題的設(shè)計(jì)目標(biāo)是一種通用的接觸式IC卡讀寫終端,要求讀寫器能夠單獨(dú)工作。預(yù)期目標(biāo):l 實(shí)現(xiàn)用戶信息的存儲(chǔ)l 通過(guò)鍵盤顯示電路實(shí)現(xiàn)人機(jī)交互l 實(shí)現(xiàn)卡的插入與退出識(shí)別l 實(shí)現(xiàn)偽卡的識(shí)別 第2章 IC卡芯片的介紹2.1 SLE4442IC卡IC卡是集成電路卡(In

5、tegratedC ircuit Card)的簡(jiǎn)稱,有些國(guó)家和地區(qū)稱之為微芯片卡(Microchip card)或微電路卡(Microcircuit Card)。IC卡的大小和磁卡相同,它把集成電路鑲在塑料卡片上,芯片一般是不易揮發(fā)性存儲(chǔ)器(ROM, EPROM. EPROM),保護(hù)邏輯電路,甚至于CPU。本節(jié)介紹IC卡的一些基本知識(shí),使讀者對(duì)IC卡有一個(gè)大概的了解。由于本設(shè)計(jì)所采用的IC卡為接觸型邏輯加密卡(SLE4442),所以本節(jié)的內(nèi)容重點(diǎn)介紹此卡。SLE4442是由德國(guó)西門子公司設(shè)計(jì)的邏輯加密存儲(chǔ)卡。它具有2K位的存儲(chǔ)容量和完全獨(dú)立的可編程加密代碼存儲(chǔ)器。內(nèi)部電壓提升電路保證了芯片能夠

6、以單5V電壓供電,較大的存儲(chǔ)器容量能夠滿足應(yīng)用領(lǐng)域的各種要求。是目前國(guó)內(nèi)應(yīng)用較多的一種IC卡芯片。2.1.1 芯片特點(diǎn)l 面向字節(jié)尋址;l 采用多存儲(chǔ)器結(jié)構(gòu):主存儲(chǔ)器、保護(hù)型存儲(chǔ)器、加密存儲(chǔ)器;l 線連接協(xié)議,觸點(diǎn)和串行接口滿足ISO7816同步傳送協(xié)議;l 芯片采用NMOS工藝技術(shù),每字節(jié)的擦除/寫入編程時(shí)間為2.5ms;l 復(fù)位響應(yīng)(ATR)符合ISO/IEC7816-3協(xié)議;l 存儲(chǔ)器采用至少10 000次的擦除/寫入周期,數(shù)據(jù)保持時(shí)間至少為10年;l 額外特性:數(shù)據(jù)僅能在正確輸入24位可編程安全碼(安全存儲(chǔ)器)之后才能改變。2.1.2 芯片的引腳配置芯片的引腳與國(guó)際標(biāo)準(zhǔn)兼容,下表3-1

7、是引腳的定義和功能說(shuō)明:表2-1 SLE4442引腳功能引腳卡觸點(diǎn)符號(hào)功能12345678C1C2C3C4C5C6C7C8VCCRSTCLKNCGNDNCI/ONC操作電壓5V復(fù)位時(shí)鐘未用地未用雙向數(shù)據(jù)線(漏極開(kāi)路)未用2.1.3 芯片功能SLE4442IC卡芯片主要包括三個(gè)存儲(chǔ)器:256×8位EEPROM型主存儲(chǔ)器、32×1位PROM型保護(hù)存儲(chǔ)器和4×8位EEPROM型加密存儲(chǔ)器。1)主存儲(chǔ)器:主存儲(chǔ)器為可重復(fù)擦除使用的EEPROM型存儲(chǔ)器。按字節(jié)尋址,擦除寫入。在擦除時(shí),一個(gè)數(shù)據(jù)字節(jié)的所有8位被全部置“1”。在寫入時(shí),在EEPROM單元中的信息則根據(jù)輸入的數(shù)據(jù)

8、,按字位方式變換成邏輯“0”(即在EEPROM中,新寫入的數(shù)據(jù)與原來(lái)存在的數(shù)據(jù)進(jìn)行“邏輯與”)。通常,要改變一個(gè)數(shù)據(jù)需要先進(jìn)行擦除再進(jìn)行寫入兩項(xiàng)操作。如果在被尋址的字節(jié)中8位沒(méi)有一個(gè)字位需要從0變?yōu)?,則可以不進(jìn)行擦除處理。反之亦然,在被尋址的字節(jié)中,如果沒(méi)有一個(gè)字節(jié)需要從1變?yōu)?,則可以不做寫入處理,寫入或擦除操作一次至少耗費(fèi)2.5ms時(shí)間。主存儲(chǔ)器的地址是從00H到FFH。但主存儲(chǔ)器可分為兩個(gè)數(shù)據(jù)區(qū):保護(hù)數(shù)據(jù)區(qū)和應(yīng)用數(shù)據(jù)區(qū),保護(hù)數(shù)據(jù)區(qū)是主存儲(chǔ)器前32個(gè)字節(jié)數(shù)據(jù)區(qū)。其地址是從0(00H)到31(1FH)這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入操作均受到保護(hù)存儲(chǔ)器內(nèi)部數(shù)據(jù)狀態(tài)的限制。當(dāng)保護(hù)存儲(chǔ)器

9、中第N位為0時(shí),則對(duì)應(yīng)主存儲(chǔ)器中第N個(gè)字節(jié)就不允許進(jìn)行擦除和寫入操作。故保護(hù)數(shù)據(jù)區(qū)一般均作為IC卡的標(biāo)識(shí)數(shù)據(jù)區(qū),存放一些固定不變的標(biāo)識(shí)參數(shù)。應(yīng)用數(shù)據(jù)區(qū)為主存儲(chǔ)器后224個(gè)字節(jié)。其地址從32(20H)到255(FFH).這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入受控于加密存儲(chǔ)器數(shù)據(jù)校驗(yàn)比較結(jié)果的影響。當(dāng)需要修改應(yīng)用數(shù)據(jù)區(qū)的內(nèi)容時(shí),必須首先輸入一個(gè)3字節(jié)長(zhǎng)的“校驗(yàn)字”。這個(gè)新輸入的“校驗(yàn)字”與原來(lái)存在在加密存儲(chǔ)器中的“參照字”進(jìn)行一對(duì)一的比較。只有當(dāng)兩者完全一致時(shí),芯片的加密控制邏輯才打開(kāi)芯片的主存儲(chǔ)器,允許后面的擦除和寫入操作。芯片允許在有限的次數(shù)內(nèi)重試比較操作。如果在連續(xù)三次比較失敗之后,芯片的錯(cuò)

10、誤計(jì)數(shù)器計(jì)數(shù)到“0”,并將鎖死主存儲(chǔ)器,禁止隨后的任何比較操作和寫入擦除操作。這時(shí)整個(gè)主存儲(chǔ)器變成一個(gè)只讀存儲(chǔ)器。芯片中各存儲(chǔ)器的內(nèi)容不能再改變。2)保護(hù)存儲(chǔ)器是一個(gè)32×1位的一次性可編程只讀存儲(chǔ)器(PROM)。它是按字位方式尋址和寫入。保護(hù)存儲(chǔ)器從032的每一位對(duì)應(yīng)著主存儲(chǔ)器地址從0到31的字節(jié)。因此可以理解為每個(gè)字節(jié)單元的控制熔絲。從出廠到被初始化之前,保護(hù)存儲(chǔ)器的狀態(tài)為全“1”。從控制方面來(lái)說(shuō),保護(hù)存儲(chǔ)器的內(nèi)容只能從“1"寫成“0”而不能從“0”擦除成“1”。保護(hù)存儲(chǔ)器每個(gè)被寫“0”的單元所對(duì)應(yīng)控制的主存儲(chǔ)器的字節(jié)單元將不再接收任何擦除和寫入命令,從而使得該字節(jié)單元

11、的數(shù)據(jù)不可再改變。從使用方面來(lái)講,如果需要防止一些固定的標(biāo)識(shí)參數(shù)被改動(dòng),可以將這類參數(shù)先寫入主存儲(chǔ)器的保護(hù)存儲(chǔ)區(qū),然后將對(duì)應(yīng)單元的保護(hù)存儲(chǔ)器的字位寫位“0”,從而使這一部分單元中的參數(shù)內(nèi)容永遠(yuǎn)不可更改。保護(hù)存儲(chǔ)器本身的讀出操作不受限制。但對(duì)其寫入操作仍然受到加密存儲(chǔ)器比較校驗(yàn)操作結(jié)果的控制。當(dāng)輸入的“校驗(yàn)字”與芯片內(nèi)的“參照字”一致,則可以執(zhí)行后續(xù)的寫入操作。如果比較不成功,則控制邏輯將閉鎖保護(hù)存儲(chǔ)器。3)加密存儲(chǔ)器:加密存儲(chǔ)器是一個(gè)4×8位的EEPROM型存儲(chǔ)器。在這個(gè)存儲(chǔ)器中,第0字節(jié)為“密碼輸入錯(cuò)誤計(jì)數(shù)器”(EC)。密碼輸入錯(cuò)誤計(jì)數(shù)器的有效位是低3位。在芯片初始化時(shí),計(jì)數(shù)器設(shè)置

12、成"111"。這一字節(jié)是可讀的。每次比較密碼時(shí),先判斷計(jì)數(shù)器中是否還有“1”。如果還有“1”,則將其中一個(gè)“1”寫成“0”,然后進(jìn)行比較“校驗(yàn)字”操作。如果比較結(jié)果一致,密碼錯(cuò)誤計(jì)數(shù)器將允許進(jìn)行擦除操作(芯片不能自動(dòng)進(jìn)行擦除操作),同時(shí)打開(kāi)主存儲(chǔ)器、保護(hù)存儲(chǔ)器和加密存儲(chǔ)器,并允許進(jìn)行擦除和寫入操作。如果比較結(jié)果不一致,則密碼錯(cuò)誤計(jì)數(shù)器中為“1”的個(gè)數(shù)將減少一位。只要計(jì)數(shù)器的內(nèi)容不全為0,則芯片的比較“校驗(yàn)字”操作還允許進(jìn)行。當(dāng)密碼計(jì)數(shù)器減數(shù)為零,則芯片的存儲(chǔ)單元將全部鎖死。加密存儲(chǔ)器的第1,2,3字節(jié)為“參照字”存儲(chǔ)區(qū)。這3個(gè)字節(jié)的內(nèi)容作為一個(gè)整體披稱為可編程加密代碼(PS

13、C)。值得注意的是:這3個(gè)字節(jié)的內(nèi)容在PSC比較成功前是不可讀的,只能進(jìn)行比較操作。而“寫入、擦除”操作也受自身“比較”操作結(jié)果的控制。只有當(dāng)“比較”成功,加密存儲(chǔ)器各字節(jié)內(nèi)容才可以進(jìn)行讀出、寫入和擦除。2.1.4 芯片傳送協(xié)議傳送協(xié)議是在接口設(shè)備IFD與IC卡的集成電路之間的兩線連接協(xié)議,SLE4442芯片的協(xié)議類型為S=10(同步卡協(xié)議)。I/O線上數(shù)據(jù)變化只在CLK信號(hào)的下降沿才有效。傳送協(xié)議包括4種模式:l 復(fù)位和復(fù)位響應(yīng)l 命令模式l 輸出數(shù)據(jù)模式l 處理模式1)復(fù)位和復(fù)位響應(yīng):復(fù)位響應(yīng)是根據(jù)ISO 7816-3標(biāo)準(zhǔn)來(lái)進(jìn)行的。在操作期間的任何時(shí)候都可以復(fù)位,只有經(jīng)過(guò)了復(fù)位才能對(duì)IC卡

14、進(jìn)行其他操作.開(kāi)始時(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)閉。圖3-1為芯片復(fù)位即復(fù)位響應(yīng)的時(shí)序關(guān)系。在復(fù)位響應(yīng)期間,“啟動(dòng)”和“停止”(見(jiàn)下面)狀態(tài)被忽略。圖2-1芯片復(fù)位及復(fù)位響應(yīng)的時(shí)序關(guān)系2)命令模式:復(fù)位響應(yīng)之后,芯片等待著命令。每條命令都以一個(gè)“啟動(dòng)狀態(tài)”開(kāi)始。整個(gè)命令包括三個(gè)字節(jié)(命令含義后面解釋)。隨后緊跟著一個(gè)附加脈沖并用一個(gè)“停止?fàn)顟B(tài)”來(lái)結(jié)束操作。圖3-2為命令模式時(shí)序關(guān)系。啟動(dòng)狀態(tài):在

15、CLK為H狀態(tài)期間,I/O線的下降沿為啟動(dòng)狀態(tài)。停止?fàn)顟B(tài):在CLK為H狀態(tài)期間,I/O線的上升沿為停止?fàn)顟B(tài)。在接受一個(gè)命令之后,有兩種可能的模式:輸出數(shù)據(jù)模式(即讀數(shù)據(jù)模式)和處理數(shù)據(jù)模式。圖2-2命令模式的時(shí)序關(guān)系3) 輸出數(shù)據(jù)模式:這種模式是將IC卡芯片中的數(shù)據(jù)傳送給外部接口設(shè)備的一種操作。圖3-3為輸出數(shù)據(jù)模式的時(shí)序關(guān)系。在第一個(gè)CLK脈沖的下降沿之后,I/O線上的第一位數(shù)據(jù)變?yōu)橛行АkS后每增加一個(gè)時(shí)鐘脈沖,芯片內(nèi)部的一位數(shù)據(jù)被送到I/O線上。其輸出的順序是從每個(gè)字節(jié)的最低位開(kāi)始。當(dāng)所需要的最后一個(gè)數(shù)據(jù)送出以后,需要再附加一個(gè)時(shí)鐘脈沖來(lái)把I/O線置成H狀態(tài),以便準(zhǔn)備接受新的命令。在輸出數(shù)

16、據(jù)期間,任何“啟動(dòng)狀態(tài)”和“停止?fàn)顟B(tài)”均被屏蔽掉。圖2-3輸出數(shù)據(jù)模式的時(shí)序關(guān)系4) 處理數(shù)據(jù)模式:這種模式是對(duì)IC卡芯片做內(nèi)部處理。圖3-4為處理數(shù)據(jù)模式的時(shí)序關(guān)系。芯片在第一個(gè)時(shí)鐘脈沖的下降沿將I/O從H狀態(tài)拉為L(zhǎng)狀態(tài)并開(kāi)始處理。此后芯片在內(nèi)部連續(xù)計(jì)時(shí)計(jì)數(shù),直到第N個(gè)時(shí)鐘脈沖之后的附加時(shí)鐘脈沖的下降沿I/O線被再次置高,完成芯片的處理過(guò)程。在整個(gè)處理過(guò)程中I/O線被鎖定成低狀態(tài)。圖2-4處理數(shù)據(jù)模式的時(shí)序關(guān)系第3章 硬件電路設(shè)計(jì)所設(shè)計(jì)的讀寫器以8051單片機(jī)為核心,配以IC卡接口電路、串行通信電路、存儲(chǔ)電路、掉電檢測(cè)電路、鍵盤顯示電路等部分。通過(guò)讀寫器插槽與IC卡芯片通信,由51單片機(jī)控制

17、數(shù)據(jù)傳輸過(guò)程,實(shí)現(xiàn)讀卡和寫卡操作。圖4-1為系統(tǒng)的總體框圖。51單片機(jī)IC卡芯片串行通信電路掉電檢測(cè)鍵盤液晶顯示存儲(chǔ)模塊圖3-1 總體框圖IC卡接口設(shè)備的種類很多,功能上由于不同的應(yīng)用需要,差別也很大,但就其對(duì)卡 (以接觸式卡為例)的操作功能來(lái)說(shuō),都應(yīng)具備以下幾個(gè)基本功能:l IC卡的插入/退出的識(shí)別與控制(接觸式卡):IC卡進(jìn)/出RF區(qū)的識(shí)別和控制(非接觸式卡)。l 向IC卡提供其所需的穩(wěn)定的電源與時(shí)鐘信號(hào)。l 實(shí)現(xiàn)與卡的數(shù)據(jù)交換,并提供相應(yīng)的控制信號(hào)。l 對(duì)于加密數(shù)據(jù)系統(tǒng),應(yīng)提供相應(yīng)的加密解密處理及密鑰管理機(jī)制。l 提供相應(yīng)的外部控制信息及其它設(shè)備的信息交換。很多讀寫設(shè)備除了對(duì)卡的基本操作

18、外,還設(shè)計(jì)了其他一些重要功能:l 必要的控制界面和顯示界面。l 提供數(shù)據(jù)通訊接口與上位機(jī)進(jìn)行數(shù)據(jù)通訊。l 網(wǎng)絡(luò)控制功能,實(shí)現(xiàn)遠(yuǎn)程適時(shí)控3.1 單片機(jī)系統(tǒng)電路AT89C51單片機(jī)是該系統(tǒng)的核心器件,其控制著所有的外圍電路,并及時(shí)響應(yīng)外部請(qǐng)求。整個(gè)系統(tǒng)電路設(shè)計(jì)如下:(1)按鍵S17,電容C8,電阻R13構(gòu)成單片機(jī)的人工復(fù)位裝置;兩個(gè)30pF的電容,12M的晶振構(gòu)成單片機(jī)的振蕩電路。(2)矩陣式鍵盤由P1口來(lái)控制,P1.0,P1.1,P1.2,P1.3接行線,P1.4、P1.5、P1.6、P1.7接列線。單片機(jī)對(duì)鍵盤進(jìn)行行列掃描讀取鍵值。(3)數(shù)碼管顯示電路由P2口控制,單片機(jī)對(duì)數(shù)碼管進(jìn)行動(dòng)態(tài)掃描。

19、P2.0與P2.1口通過(guò)一串入并出的74LS164與所有LED的a,b,c,d,e,f,g,sp引線相連,P2口接LED的控制端,單片機(jī)通過(guò)P3口控制各LED是否點(diǎn)亮。(4)P0口設(shè)計(jì)為與IC卡卡座的接口,AT89C51單片機(jī)通過(guò)IC卡座完成單片機(jī)與IC卡的連接。 圖3.1 AT89C51最小系統(tǒng)3.2 接觸式IC卡的接口電路IC卡的接口電路是連接IC卡與讀寫設(shè)備的通路,由它實(shí)現(xiàn)對(duì)IC卡的供電,并滿足不帶電插拔的要求。IC卡接口設(shè)備中的IC卡供電電路應(yīng)是一個(gè)相對(duì)獨(dú)立于其他回路,并提供完善的過(guò)流保護(hù)措施的穩(wěn)壓電路,這是由于IC卡接口設(shè)備是一個(gè)獨(dú)立于IC卡的設(shè)備,當(dāng)有卡插入時(shí),接口設(shè)備便開(kāi)始向IC

20、卡提供其所需的電力。如果插入的是一張電源與地?fù)舸┑膲目?,或是一個(gè)金屬片之類的物質(zhì),就會(huì)造成供電回路的短路現(xiàn)象,若IC卡接口設(shè)備中無(wú)過(guò)流保護(hù)回路,就會(huì)干擾整個(gè)設(shè)備的正常工作。為了提高IC卡操作的可靠性,必須有上下電控制電路、卡插入檢測(cè)電路、卡短路檢測(cè)電路。下圖4-2所示是IC卡接口電路。圖3-2 IC卡接口電R2、VD1、VT1組成卡上下電電路。當(dāng)8051的P1.6=0時(shí),VT1導(dǎo)通,IC卡的VCC得電;當(dāng)8051的P1.6=1時(shí),VT1截止,IC卡的VCC失電。如果插入的是一張電源與地?fù)舸┑膲目?,或是一個(gè)金屬片之類的物質(zhì),就會(huì)造成回路的短路現(xiàn)象。IC卡的VCC同時(shí)經(jīng)VD2送至CPU的P1.5,

21、檢測(cè)有無(wú)卡電源短路現(xiàn)象,以防人為破環(huán)。IC卡的控制與讀寫是IC卡接口設(shè)備中的核心操作部分,各種IC卡的實(shí)際操作有較大的不同,(ISO-7816標(biāo)準(zhǔn)只定義了一個(gè)最小操作,因而符合這一標(biāo)準(zhǔn)的卡亦不能保證其他操作的一致性),這里先選擇其中較具共性的部分介紹,后面會(huì)針對(duì)SLE4442芯片的具體操作做詳細(xì)說(shuō)明。1)IC卡的插入/退出識(shí)別與上電/下電控制技術(shù)IC卡的插入與退出的識(shí)別是通過(guò)IC卡接口電路來(lái)識(shí)別的,如果卡己插入到正確位置,且卡是合法卡,則置P1.1為0,VT2導(dǎo)通,圖4-6中的LED點(diǎn)亮。若卡是非法卡,卡電源短路,低電平送至P1.5,則P1.0為0,VT3導(dǎo)通,圖4-7中的報(bào)警電路報(bào)警。為了確

22、保IC卡已準(zhǔn)確地插到位置,插入的識(shí)別過(guò)程必須加入消顫處理。IC卡插入識(shí)別程序如下所示:RE_ DETECT:SETB IC_SWMOV C,IC_SW ;輸出高電平至檢測(cè)端JNC RE_ DETECT ;無(wú)卡插入,等待LCALL DELAY_5MS ;延時(shí)5msMOV C,IC_SWJNC RE_DETECT ;再次判斷,若無(wú)卡輸入等待RET ;有卡插入,進(jìn)行處理IC卡的供電控制是一個(gè)直接涉及是否能安全可靠地操作IC卡的過(guò)程。它必須嚴(yán)格遵循ISO7816-3所規(guī)定的操作順序,否則就有可能對(duì)IC卡帶來(lái)永久的損壞。ISO7816-3標(biāo)準(zhǔn)規(guī)定的操作順序如下:IC卡的激活(上電過(guò)程): RST處于L狀

23、態(tài) VCC供電 接口設(shè)備處于接收方式 Vpp上升為空閑狀態(tài) CLK由相應(yīng)穩(wěn)定的時(shí)鐘提供IC卡的去激活過(guò)程(下電過(guò)程):RST為狀態(tài)LCLK為狀態(tài)LVpp不起作用I/O為狀態(tài)AVCC關(guān)閉由于IC卡技術(shù)的進(jìn)步,現(xiàn)在的IC卡事實(shí)上都己使用卡內(nèi)自帶升壓電路,因此Vpp控制已逐漸失去具體含義。下面是上下電程序控制過(guò)程:POWERON: ;上電控制LCALL RE_DETECT ;識(shí)別是否有卡插入CLR RST ;使RST=LCLR CLK ;使CLK二LLCALL DELAY_500us ;延遲0.5ms,使端口邏輯信號(hào)穩(wěn)定CLR POWER ;給卡供電SETB D_OUT ;使I/O端口為高電平,準(zhǔn)備

24、接受數(shù)據(jù)RETPOWER_OFF: ;下電控制CLR RST ;使RST=LCLR CLK ;使CLK=LCLR D_OUT ;使I/O=L LCALL DELAY_500us ;延時(shí)0.5ms,使端口邏輯信號(hào)穩(wěn)定 SETB POWER ;給卡下電RET2)IC卡的讀寫技術(shù)不同類型的IC卡其讀寫方式或數(shù)據(jù)協(xié)議方式是不同的,ISO7816標(biāo)準(zhǔn)對(duì)異步型IC卡的讀寫協(xié)議做了較充分的定義,而對(duì)于同步型IC卡,則只定義了其復(fù)位響應(yīng)過(guò)程的協(xié)議標(biāo)準(zhǔn),這使得各廠家設(shè)計(jì)的同步型IC卡的讀寫方式不盡相同,而且同步型IC卡接口協(xié)議是面向操作而進(jìn)行的,因此,其操作協(xié)議方式也各不相同。但許多廠家生產(chǎn)的IC卡都以ISO7

25、816同步復(fù)位響應(yīng)協(xié)議作為IC卡的數(shù)據(jù)讀協(xié)議。大多數(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)過(guò)程,該過(guò)程中,廠家的產(chǎn)品編碼以位編碼方式逐一在數(shù)據(jù)線上送出,以后的字段則根據(jù)廠家及用戶所定義的含義不同而各不相同。若某字段定義為可讀的,則可將時(shí)鐘運(yùn)行到該字段上,然后再逐時(shí)鐘讀出。數(shù)據(jù)的讀出過(guò)程可分為三個(gè)基本過(guò)程:復(fù)位,數(shù)據(jù)字段的定位和數(shù)據(jù)讀出。3.2 串行通信電路由于PC機(jī)的串口電壓為±

26、12V,而單片機(jī)的工作電壓為5V,所以需要MAX接口芯片實(shí)現(xiàn)TTL與RS232電平轉(zhuǎn)換,采用簡(jiǎn)單的3線制通信方式。圖4-3為串行通信電路。圖3-3 串行通信電路3.3 鍵盤電路由于需要16個(gè)按鍵,采用并行接口的鍵盤電路至少需要4+4=8條I/O線,而串行接口的鍵盤電路只需要3條I/O口線,一條用作鍵盤行線,一條串行移位輸出列掃描信號(hào),另一條用作移位寄存器74LS164的移位時(shí)鐘脈沖信號(hào)線。16個(gè)按鍵構(gòu)成了讀寫系統(tǒng)的鍵盤電路部分。圖4-8為鍵盤與單片機(jī)的接口電路。圖3-4 8051與鍵盤接口電路圖中,P2.2為行線,接有上拉電阻 R=5V/1 mA=5k。 因而選用5.1K的電阻,上拉電阻保證了

27、沒(méi)有鍵輸入時(shí),I/O口線上有確定的高電平輸入。由P2.3端輸出列掃描信號(hào),通過(guò)移位寄存器74LS164輸出端QAQH接至鍵盤作為鍵盤列線。掃描信號(hào)通過(guò)74LS164移位,實(shí)現(xiàn)逐列置低電平,達(dá)到掃描各鍵的目的。3.4 顯示電路應(yīng)用系統(tǒng)中常用的顯示器有:發(fā)光二極管顯示器,簡(jiǎn)稱LED;液晶顯示器,簡(jiǎn)稱LCD;熒光顯示器。本文采用LCD,所以只對(duì)LCD進(jìn)行介紹。LCD是一種極低功耗顯示器,目前,高分辨率的LCD點(diǎn)陣式顯示器有顯示靈活,顯示圖型字符美觀等優(yōu)點(diǎn),在很多系統(tǒng)中應(yīng)用非常廣泛。顯示設(shè)計(jì)使用現(xiàn)有的液晶顯示功能模塊SMG12232B-2,該模塊能提供122*22的分辨率,帶中文字庫(kù),更重要的是它可以

28、有并行和串行兩種輸入方式,接口方便,這樣我們可以使用單片機(jī)的異步通訊口驅(qū)動(dòng)顯示模塊,軟硬件實(shí)現(xiàn)都非常簡(jiǎn)單,外圍電路非常簡(jiǎn)潔。圖4-9是單片機(jī)與顯示器的接口電路。圖3-5 顯示器與單片機(jī)接口電路第4章 軟件系統(tǒng)設(shè)計(jì)本章主要介紹接觸式IC卡讀寫器的程序設(shè)計(jì)。本設(shè)計(jì)的所有程序用C51語(yǔ)言編寫,由主程序和子程序組成。其中子程序包括比較校驗(yàn)數(shù)據(jù)子程序、插卡子程序、顯示中斷子程序。4.1 主程序主程序主要完成初始化并檢測(cè)系統(tǒng)的狀態(tài),如果是剛上電狀態(tài),則恢復(fù)掉電瞬間保存的數(shù)據(jù)。主程序的流程圖如圖5-1所示。主程序如下:#include< at8051.h> /頭文件#define uint un

29、signed int#define uchar unsigned char#define addrl 0x40uint data consl; /全局變量定義uchar data cons22=0,0;main ( ) uchar data *p; /指針定義if(consl=0) /判斷是否剛上電狀態(tài) p=cons2;Read24c02(p,addrl,2); /從24c02中讀出掉電時(shí)保存的數(shù)據(jù)consl=OxOOOF; /修改標(biāo)志位ITO=1; /外部中斷0下降沿觸發(fā)EXO=1; /外部中斷0開(kāi)中斷EA=1; /CPU開(kāi)中斷IDL=1; /設(shè)置節(jié)電工作方式do while(1);開(kāi)始初始

30、化待機(jī)是否有卡插入 N Y密碼效驗(yàn) 有無(wú)按鍵 N Y執(zhí)行相應(yīng)功能顯示圖4-1主程序流程圖4.2 鍵盤掃描子程序16個(gè)按鍵的鍵盤電路分別為:數(shù)字鍵09及小數(shù)點(diǎn)“.”,可以設(shè)定用戶信息及余額;此外還有5個(gè)功能鍵,分別為:(1) 修改/確認(rèn)鍵,用來(lái)控制信息的改寫及確認(rèn);(2) 賬號(hào)顯示鍵,用來(lái)控制用戶賬號(hào)信息的顯示;(3) 余額/總數(shù)顯示鍵,用來(lái)控制余額或總數(shù)的顯示;(4) 計(jì)數(shù)開(kāi)始/停止鍵,用來(lái)控制計(jì)數(shù)系統(tǒng)的計(jì)數(shù);(5) 備用鍵;(6) 備用鍵。此讀寫系統(tǒng)中,鍵盤采用編程掃描方式。所謂編程掃描就是CPU對(duì)鍵盤的掃描采取程序控制方式,一旦進(jìn)入鍵盤掃描狀態(tài)則反復(fù)地掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)

31、據(jù)。而在執(zhí)行鍵入命令或處理鍵入數(shù)據(jù)的過(guò)程中,CPU不再響應(yīng)鍵入要求,直到CPU返回重新掃描鍵盤為止。鍵盤掃描子程序流程圖如圖5-3所示。圖中可見(jiàn),鍵盤掃描子程序要完成以下的功能:1) 判斷鍵盤上有無(wú)鍵按下。其方法為P2.3口連續(xù)16次全輸出為“0”電平時(shí),讀P2.2口行線電平狀態(tài),若行電平全為“1”電平,則鍵盤無(wú)鍵按下,若不為“1”電平,則有鍵按下。2) 取出鍵抖動(dòng)及重鍵的影響。在鍵盤電路中,按鍵按下閉合后,將產(chǎn)生一個(gè)一個(gè)負(fù)的矩形脈沖。但由于在按動(dòng)按鍵時(shí)總有一些抖動(dòng),因此在負(fù)脈沖的開(kāi)始和末尾部位總要出現(xiàn)一些毛齒波,毛齒波的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為510ms。除了抖動(dòng)之外還有重鍵,即一個(gè)

32、鍵按下后緊接著由按下另一鍵,或者兩個(gè)鍵同時(shí)按下。這些需要采取一定的措施加以消除。本系統(tǒng)采用軟件延時(shí)的方法來(lái)解決。通過(guò)延時(shí)來(lái)等待信號(hào)穩(wěn)定,在信號(hào)穩(wěn)定后查詢鍵碼。其過(guò)程是在查詢到有按鍵按下后延時(shí)一段時(shí)間,一般為10ms。再查詢一次看是否有鍵按下。若這次查詢不到,則說(shuō)明前一次查詢結(jié)果為干擾或抖動(dòng),若這次查詢到有鍵按下,則說(shuō)明信號(hào)已經(jīng)穩(wěn)定,然后判斷閉合按鍵的鍵碼。當(dāng)閉合按鍵地鍵碼確定之后,再去查詢按鍵是否釋放,待按鍵釋放后再進(jìn)行處理,這樣既可消除釋放抖動(dòng)的干擾。對(duì)于重鍵則以后一次查詢?yōu)樽詈蠼Y(jié)果。3) 掃描鍵盤,得到按下的鍵的鍵值。方法是P2.3口連續(xù)16次輸出“1”電平,然后輸出一次“0”電平,同時(shí)進(jìn)行計(jì)數(shù)為00H,若P2.2口仍為“1”電平,則繼續(xù)連續(xù)輸出“1”電平進(jìn)行移位,并同時(shí)計(jì)數(shù),直到P2.2口輸入的電平為“0”電平,表明此時(shí)的鍵即為按下的鍵,對(duì)應(yīng)的計(jì)數(shù)值即為鍵值,然后調(diào)用對(duì)應(yīng)的鍵處理子程序。鍵值與鍵號(hào)的對(duì)應(yīng)關(guān)系如表5-1所示。4) 表4-1 鍵值與鍵號(hào)對(duì)應(yīng)表鍵值00H01H02H03H04H05H鍵號(hào)012345鍵值06H

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論