




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)論文論文題目 接觸式ic卡讀寫器設計 日 期 2009年5月28日 摘要本文首先介紹了ic卡的產生、發(fā)展、應用及其國際標準,然后介紹基于單片機的接觸式ic卡的讀寫的設計過程,此項設計主要是實現(xiàn)單片機對接觸式ic卡(sle4442)的讀和寫。此設計實現(xiàn)對卡的密碼(psc)校驗,讀出數(shù)據(jù),修改數(shù)據(jù),修改密碼等功能。本文根據(jù)國際標準iso/iec 7816及din s=10標準,以sle4442為例,詳細分析了邏輯加密卡的工作時序,設計了邏輯加密卡與微處理器之間的接口電路,成功地實現(xiàn)了兩者間的數(shù)據(jù)交換。本文對系統(tǒng)各模塊進行了方案論證與選擇,重點論述了系統(tǒng)各模塊的硬件電路設計,對軟件設計和軟硬件綜
2、合調試進行了全面地分析與說明。本設計以單片機stc89c52rc作為主控制器,以lcd1602作為顯示器,用44矩陣鍵盤作為輸入設備,具有友好的人機界面。經過調試,本設計的硬件與軟件都實現(xiàn)了設計任務的各項指標。關鍵詞:stc89c52rc,sle4442,ic卡,接觸式,邏輯加密abstractin this paper, the generation, development and application of ic card are introduced at first, as well as the international standar. then the paper intr
3、oduces the designed process of the read-write of contact ic card based on single-chip microcomputer. the design mostly make it come true that the single-chip microcomputer achieve the read-write of contact ic card (sle4442).the design complete the function of the code (psc) verification, reading dat
4、a, modification data, modification code of the ic card, and so on. according to the standard iso/ieo 7816 and din s=10, taking sle4442 for example, the interface device(ifd) between ic card and mpu is designed by the thorough analysis of the working timing of the synchronous logical encryption ic ca
5、rd, which realizes data exchange at the bottom of ic card successfully. the paperproves and choices the programme of the system modules, focuses on the hardware circuit de equipment sign of the system module, analysis and describes software design, hardware and softwarede bugging completely. the des
6、ign use stc89c52rc as the main controller, use lcd1602 as displaying , use 4 4 matrix keyboard as input equipment, and having a friendly man-machine interfaces. after debugging, hardware and software of the design achieve the indicators in designed task.keyword:stc89c52rc, sle4442, ic card, contact,
7、 logic encryption目錄1 緒論12 總體設計方案22.1 設計任務22.2 方案論證與選擇22.2.1 控制器模塊32.2.2 電源模塊32.2.3 顯示模塊32.2.4 設置模塊42.3 最終方案43 硬件電路設計53.1 stc89c52rc簡介53.2邏輯加密卡sle444263.2.1總體描述63.2.2存儲器結構73.2.3傳送協(xié)議與操作模式93.2.4芯片的操作命令113.2.5 psc校驗153.2.6中止與錯誤狀態(tài)163.3 lcd1602液晶顯示器173.3.1 lcd1602的引腳以及字符庫介紹173.3.2 lcd1602的指令183.4系統(tǒng)各模塊硬件電路
8、設計203.4.1下載程序模塊電路圖203.4.2復位和晶振電路203.4.3顯示模塊電路213.4.4 ic卡座電路213.4.5 設置電路223.5總體電路硬件設計224 軟件設計234.1 程序流程圖234.1.1 系統(tǒng)主程序流程圖如圖4.1所示234.1.2 psc流程圖如圖4.2所示244.1.3 修改ic卡流程圖如圖4.3所示254.1.4 ic卡的刷卡流程圖如圖4.4所示264.2 程序設計275 軟硬件綜合調試285.1 軟件調試285.1.1 應用keil軟件進行程序調試285.1.2 下載程序到單片機285.2 軟硬件綜合調試29致謝30參考文獻31附錄32附錄:硬件電路圖
9、32附錄: 本設計的部分源程序331 緒論 ic卡從誕生至今已發(fā)展了二十多年,這一張將微電子技術和計算機技術結合在一起的小卡片,在社會多個領域里得到了廣泛應用,諸如金融、交通、醫(yī)療、通信以及安全管理等領域,大大提高了人們生活的現(xiàn)代化程度。在世界信息技術日新月異發(fā)展的今天,作為信息載體的ic卡扮演了相當重要的角色。1994年全球共生產了5.8億張ic卡,就在這一年,我國政府為推動國民經濟信息化的建設,提出了“三金”工程的重大舉措,其中之一便是 “金卡工程”(即電子貨幣工程)。金卡工程計劃用 10年 (19942003年)時間,全國400個城市3億人口地區(qū),發(fā)卡量達到2億張,這其中還不包括其它領域
10、里使用的ic卡。由此可見 ic卡在國內具有的巨大發(fā)展?jié)摿?,從?ic卡及其配套設備的設計、制造、維護以及與卡有關的應用系統(tǒng)的開發(fā),對推廣 ic卡的使用,有著重大意義。 當前應用最廣泛的是接觸式邏輯加密 ic卡,它功能適中,具有一定的邏輯加密功能,價格低廉,在實踐中最富有生命力,為此本文以之作為研究對象,以最簡單、明了的方法向人們展示接觸式ic卡的讀寫。在實際應用中,接觸式ic卡由于觸點之間存在機械接觸,容易磨損,引起接觸不良。當使用環(huán)境惡劣時,灰塵、水汽、油污等都會成為 ic卡和 ic卡座的大敵,大大降低了系統(tǒng)的可靠性,縮短了ic卡及其讀寫設備的使用壽命,增加了維護成本。另外,有些ic卡設備安
11、裝的地方不便于人們插拔卡,或者現(xiàn)場不安全,對人身安全有害,這樣就限制了接觸式ic卡的使用。近幾年非接觸式ic卡 (又稱射頻卡)發(fā)展迅速,以其無接觸、無電源、操作方便快捷、可防止沖突、保密性好等特點,在應用中發(fā)揮了接觸式ic卡所不具有的優(yōu)勢。但是非接觸式 ic卡及其讀寫設備價格昂貴,遠遠高于接觸式 ic卡,不利于普及。本文對同步型邏輯加密卡sle4442的工作時序進行了詳細分析,設計了sle4442與微處理器之間進行數(shù)據(jù)交換的方法,包括硬件接口電路和軟件的設計。經過實驗,運行結果完全正確,成功的實現(xiàn)了ic卡的底層數(shù)據(jù)交換。在此基礎上,就可以設計出各種各樣的ic卡專用和通用設備。2 總體設計方案2
12、.1 設計任務設計一個基于單片機的電路,實現(xiàn)對接觸式ic卡(sle4442)的讀寫。要求可以對卡進行讀數(shù)據(jù)操作,并把數(shù)據(jù)顯示在1602lcd上,還要求可以對卡進行寫數(shù)據(jù)操作,并把數(shù)據(jù)顯示在1602lcd上。設計主要內容和基本要求如下:(1)設計一個44的鍵盤;(2)卡、卡座與單片機的連接;(3)設計1602lcd的顯示電路;(4)當在鍵盤上輸入正確的密碼時,才可以讀出卡內的數(shù)據(jù);(5)可以從鍵盤上隨意修改卡內的數(shù)據(jù)(如:密碼、具有某種意義的數(shù)據(jù)(如金錢)等);2.2 方案論證與選擇根據(jù)設計任務要求,通過認真分析,基于單片機的接觸式ic卡(sle4442)的讀寫系統(tǒng)的設計包含如下模塊:1.控制器
13、模塊、2.電源模塊、3.定時模塊、4.時鐘模塊、5.顯示模塊、6.設置模塊、7.指示模塊。系統(tǒng)模塊圖如圖2.1所示:電源模塊控制器模塊顯示模塊設置模塊外部設備(卡座)圖2.1系統(tǒng)模塊圖為了更好地實現(xiàn)系統(tǒng)的功能,對各模塊進行方案論證、選擇, 方案論證選擇如下:2.2.1 控制器模塊根據(jù)設計要求,控制器主要用于對顯示模塊、設置模塊、外部設備等模塊進行控制和處理,使各模塊能夠有序正常工作。設計要求用單片機作控制器,對于控制器的選擇提供以下兩種方案:方案一:采用stc系列單片機。 stc單片機是由美國設計,國內宏晶公司生產的產品。該單片機具有高速運行,程序加密性強,超強抗干擾,超低功耗,高可靠性,無需
14、編程器,方便用戶在線調試等優(yōu)點,但該芯片購買不太方便。方案二:采用atmel公司的at89系列單片機作控制器。該單片機算術運算功能強,軟件編程靈活、自由度大,可用軟件編程實現(xiàn)各種算法和邏輯控制,且由于其功耗低、體積小、技術成熟和成本低等優(yōu)點,使其在各個領域應用廣泛,該芯片購買方便。由于本設計要用到較多的i/o口,stc系列單片機有32個可編程i/o口,能夠滿足要求,并且它是用串口燒寫,燒寫程序方便。最重要的是,這有現(xiàn)成的stc設備供使用,所以,采用有8k字節(jié)在系統(tǒng)可編程flash的stc89c52rc單片機作為本設計的控制器。本設計采用方案一。2.2.2 電源模塊本設計中控制模塊、顯示模塊、指
15、示模塊、時鐘模塊正常工作用到的電源主要為+5v直流電壓,電源雖然簡單,但不能忽視,它需要功能可靠,抗干擾能力強。電源設計的兩種方案如下:方案一: 電源模塊采用lm7805三端不可調節(jié)的穩(wěn)壓集成器實現(xiàn)+5v直流電壓。交流電源從電源插座輸入,先將220v/50hz的交流電源電壓通過變壓器將其電壓轉換為12v,然后接入電橋進行全波整流,接著通過電容和lm7805組成的電路進行濾波和穩(wěn)壓,得到所要求的+5v直流電壓。這種電源結構簡單易行,輸出電壓穩(wěn)定,抗外界干擾能力強,且紋波電壓小。方案二:從電腦主機usb接口獲取5v電源。只要用相應的usb線從電腦主機即可獲取5v直流電源。這種電源提供的電壓穩(wěn)定性較
16、差,使用時要開電腦主機,不太方便,但成本較低,只需一根usb線即可。在設計時,調試程序方便。本設計為供電和燒寫程序方便,節(jié)約電子器件,所以使用電腦主機的usb電源,選用方案二。 2.2.3 顯示模塊 根據(jù)要求,本系統(tǒng)要顯示的內容為0到9的數(shù)字以及相關的字符,對于顯示模塊的選擇,主要有兩種方案:方案一:采用led數(shù)碼管顯示。led數(shù)碼管顯示是一種經濟實用的方法。led數(shù)碼管耗電與發(fā)熱少,價格低廉,比較適合簡單電路設計的應用。采用led作為顯示模塊,該方案的優(yōu)點在于硬件及編程容易,亮度高。缺點在于顯示的字符數(shù)很有限,不能滿足多字符同時顯示。方案二:采用lcd液晶顯示器顯示。lcd液晶顯示器能夠表達
17、的信息豐富,操作界面友好。結構簡單,體積小,功耗低,散熱小,液晶是完全平面的顯示器,畫面不閃爍,顯示非常穩(wěn)定,屏幕調節(jié)簡單、方便。本系統(tǒng)顯示的內容較多,為了使顯示界面更友好,要顯示適當?shù)奈淖郑赃x用lcd液晶顯示器顯示。lcd有帶中文字庫的,如:12232f,也有不帶中文字庫的,如:lcd1602。12232f與單片機通信可采用串行和并行方式,為節(jié)約硬件資源,采用串行方式為宜,要顯示的文字可直接從漢字碼址表中調用,但12232f價格昂貴;lcd1602只能并行顯示輸出,占用較多的硬件資源,本設計顯示的文字可通過內部的字符發(fā)生器來定義,但其價格較便宜。綜合考慮,選擇lcd1602作為本設計的顯
18、示器。2.2.4 設置模塊設置模塊的主要功能是輸入卡密碼、修改卡內的數(shù)據(jù)以及一些功能鍵的設置,所以可通過鍵盤來設置,以下提供兩種方案作選擇:方案一:采用獨立式鍵盤。這種方式是各按鍵相互獨立,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。軟件設計采用查詢方式和外部中斷相結合的方法來設計,低電平有效。通過檢測輸入線的電平狀態(tài)可以很容易判斷哪個按鍵被按下了。采用獨立式鍵盤電路配置靈活,軟件簡單。但每個按鍵需要占用一根輸入線,在按鍵數(shù)量較多時,需要較多的輸入口線,所以這種方法適用于按鍵較少或操作速度較高的場合。方案二:采用矩陣式鍵盤。采用44矩陣鍵盤輸入,這種接口方
19、式適用于按鍵數(shù)量較多的場合,它由行線和列線組成,按鍵位于每個行、列的交叉處。對于矩陣式鍵盤,按鍵的位置由行號和列號唯一決定。這樣,使用8個i/o口,就可以有16個按鍵。若使用“一鍵多功能”能實現(xiàn)更多更方便的設置。本設計要用到的按鍵有數(shù)字鍵、功能鍵、符號鍵。采用獨立式鍵盤,需要占用相當多的i/o口;采用矩陣式鍵盤,使用用8個i/o口,有16個按鍵,可設置數(shù)字0至9共10個數(shù)字鍵,設置速度快,剩余的按鍵可用來作功能鍵。綜合考慮,為方便快速的設置,本設計采用44矩陣式鍵盤。2.3 最終方案經過仔細分析與論證,系統(tǒng)各模塊的最終方案如下:(1)控制器采用宏晶公司生產的stc89c52rc單片機;(2)主
20、機的usb直流電源;(3)顯示模塊采用lcd1602;(4)設置模塊采用44矩陣鍵盤進行設置和控制。3 硬件電路設計3.1 stc89c52rc簡介stc89c52rc單片機是宏晶科技推出的新一代超強抗干擾/高速/低功耗的單片機,指令代碼完全兼容傳統(tǒng)的8051單片機,12時鐘/機器周期和6時鐘/機器周期可任意選擇。stc89c52rc具有以下標準功能:8k字節(jié)flash,512字節(jié)ram,32 位i/o 口線,三個16 位定時器/計數(shù)器, 8個中斷源,4個優(yōu)先級,全雙工串行口,片內有看門狗,片內晶振及時鐘電路。 stc89c52rc芯片的引腳如圖3.1:它跟at89c52相比,有如下特點:1.
21、 增強型6時鐘/機器周期,12時 鐘/機器周期 8051 cpu2. 工作電壓:5.5-3.4(5v單片機)/3.8v-2.0v(3v單片機)3. 工作頻率范圍:0-40mhz,相當于普通8051的0-80mhz。實際工作頻率可達48mhz。 4. 用戶應用程序空間4k/8k/13k/16 k/20k/32k/64k 字節(jié) 5. 片上集成1280字節(jié)/512字節(jié)ram 6. 通用i/o口(32/36個),復位后為: 圖3.1 p1、p2、p3、p4是準雙向口、弱上拉(普通8051傳統(tǒng)i/o口),p0口是開漏輸出,作為總線擴展用時,不用加上拉電阻,作為i/o口用時,需加上拉電阻。7. isp(在
22、系統(tǒng)可編程)/iap(在應用可編程),無需專用編程器/仿真器,可通過串口(p3.0/p3.1)直接下載用戶程序,8k程序3秒即可完成。8. eeprom功能9. 看門狗10. 共3個16位定時器/計數(shù)器,其中定時器0還可以當成2個8位定時器使用。11. 外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,power down模式可由外部中斷低電平觸發(fā)中斷方式喚醒。12. 通用異步串行口(uart),還可以用定時器軟件實現(xiàn)多個uart。13. 工作溫度范圍:0-75c/-40-85c 14. 封裝:lqfp-44,pdip-40,plcc-44,pqfp-44,對于選用stc89系列的,優(yōu)先選擇lqfp-
23、44封裝。3.2邏輯加密卡sle4442sle4442是由德國西門子(siemens)公司設計的邏輯加密存儲卡。它具有2 kb的存儲容量和完全獨立的可編程加密代碼(psc,programmable security code)存儲器。內部電壓提升電路保證了芯片能夠以單+5電壓供電,較大的存儲容量能夠滿足通常應用領域的各種要求。因此是目前國內應用較多的一種ic卡芯片。 3.2.1總體描述 sle4442卡芯片的特點如下: (1) 采用多存儲器結構。 (2) 2線連接協(xié)議,復位響應滿足iso/iec 7816-3標準。 (3) 觸點配置及串行接口滿足iso/iec 7816(同步傳輸協(xié)議)。 (4
24、) 僅當正確輸入3個字節(jié)的可編程加密代碼(psc)后方可修改數(shù)據(jù)。 (5) 芯片采用nmos工藝技術,每個字節(jié)的寫入/擦除編程時間為2.5 ms。 (6) 存儲器具有至少104次的寫入/擦除周期,數(shù)據(jù)保持時間至少10年。 圖3.2 sle4442的觸點配置圖表3.1 sle4442引腳定義和功能說明3.2.2存儲器結構 sle4442卡芯片采用了多存儲器結構,主要包括三個存儲器:2568 b的eeprom型主存儲器;321 b的prom型保護存儲器;48 b的eeprom型加密存儲器。sle4442的存儲器結構見圖3.3。 圖3.3 sle4442的存儲器結構1) 主存儲器(main memo
25、ry) 主存儲器為可重復擦除使用的eeprom型存儲器,按字節(jié)尋址、擦除和寫入。在擦除時,一個數(shù)據(jù)字節(jié)的所有8位被全部置1。在寫入時,eeprom單元中的信息則根據(jù)輸入的數(shù)據(jù),被逐位變換成邏輯“0”(即在eeprom中,新寫入的數(shù)據(jù)與原來存有的數(shù)據(jù)進行“邏輯與”)。通常,一個數(shù)據(jù)的改變包含先擦除(全寫為1),后寫入(將相應的1寫為0)兩項操作。如果在被尋址的字節(jié)里8位中沒有一個字位需要從0變到1,則可以不進行擦除處理,例如,01101100變?yōu)?0100100;反之亦然,在被尋址的字節(jié)中,如果沒有一個字位需要從1變到0,則可以不作寫入處理,例如,01101100變?yōu)?1111101。寫入或擦除
26、操作一次都至少要耗費2.5 ms時間。 主存儲器的地址是從0(00)到255(ffh),共256 b(2 kb)。主存儲器可分為兩個數(shù)據(jù)區(qū):保護數(shù)據(jù)區(qū)和應用數(shù)據(jù)區(qū)。 (1) 保護數(shù)據(jù)區(qū)。主存儲器前32 b為保護數(shù)據(jù)區(qū),地址從0(00h)到31(1fh)。這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入操作均受到保護存儲器內部數(shù)據(jù)狀態(tài)的限制。當保護存儲器中第n位(n=031)為1時,則對應主存儲器中第n個字節(jié)允許進行擦除和寫入操作;而當保護存儲器第n位為0時,則對應主存儲器中第n個字節(jié)就不允許進行擦除和寫入操作。根據(jù)這一特性,主存儲器的保護數(shù)據(jù)區(qū)一般均作為ic卡的標識數(shù)據(jù)區(qū),存放一些固定不變的標識參數(shù),如
27、廠商代碼、發(fā)行商代碼等。 (2)應用數(shù)據(jù)區(qū)。主存儲器后224 b為應用數(shù)據(jù)區(qū),地址從32(20h)到255(ffh)。這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入均受控于加密存儲器數(shù)據(jù)校驗比較結果的影響。當需要修改應用數(shù)據(jù)區(qū)的內容時(擦除或寫入操作),必須首先輸入一個3字節(jié)長的“校驗字”。這個用戶輸入的“校驗字”與原來存在加密存儲器中的“參照字”進行一對一的比較。只有當兩者完全一致時,芯片的加密控制邏輯才打開芯片的主存儲器,允許后面的擦除和寫入操作。應該注意的是這種加密校驗的控制是對整個主存儲器實施的(即包括保護數(shù)據(jù)區(qū)和應用數(shù)據(jù)區(qū))。如果新輸入的校驗字與芯片中的“參照字”不同,則控制邏輯閉鎖主存儲器
28、。芯片允許在有限的次數(shù)內(一般為三次)重試比較操作。如果在連續(xù)三次比較失敗之后,芯片的錯誤計數(shù)器計數(shù)到“0”,并將鎖死主存儲器,禁止隨后的任何比較操作和寫入擦除操作。這時,整個主存儲器變成一個只讀存儲器,芯片中各存儲器的內容不能再改變。 2) 保護存儲器(protection memory) 保護存儲器是一個321 b的一次性可編程只讀存儲器(prom)。它是按位尋址和寫入。保護存儲器為031的每一位對應著主存儲器地址為031的每一個字節(jié),因此可以理解為每個字節(jié)單元的控制熔絲。從出廠到被初始化之前,保護存儲器的狀態(tài)為全“1”。從控制方面來說,保護存儲器的內容只能從“1”寫成“0”(即熔斷熔絲)
29、,而不能從“0”擦除成“1”。保護存儲器每個被寫“0”的單元所對應控制的主存儲器的字節(jié)單元將不再接受任何擦除和寫入操作命令,從而使得該字節(jié)單元內的數(shù)據(jù)不可再改變。因此,對保護存儲器單元的寫入一定要特別小心。 從使用方面來說,如果需要防止一些固定的標識參數(shù)(例如,生產廠家代碼、發(fā)行商代碼、卡片編號等)被改動,以免造成使用混亂,則可以將這類參數(shù)先寫入主存儲器的保護存儲區(qū),然后將對應單元的保護存儲器的字位寫0,從而使這一部分單元中的參數(shù)內容永遠不可更改。 保護存儲器本身的讀出操作不受限制。但對其寫入操作仍然受到加密存儲器比較校驗操作結果的控制。當輸入的“校驗字”與芯片內原來存有的“參照字”一致時,則
30、可以執(zhí)行后續(xù)的寫入操作。如果比較不成功,則控制邏輯將閉鎖保護存儲器。 3) 加密存儲器(security memory) 加密存儲器是一個48 b的eeprom型存儲器。在這個存儲器中,第0個字節(jié)為“密碼輸入錯誤計數(shù)器”(ec,error counter)。密碼輸入錯誤計數(shù)器的有效位是低3位。在芯片初始化時,計數(shù)器設置成“111”。這一字節(jié)是可讀的,每次比較密碼時,先要判定計數(shù)器中是否還有“1”。如果還有“1”,則將一個“1”寫成“0”,然后進行比較“校驗字”操作。如果比較結果一致,則密碼錯誤計數(shù)器將允許進行擦除操作(注意,芯片不能自動進行擦除操作),同時打開主存儲器、保護存儲器和加密存儲器,
31、并允許進行擦除和寫入操作。如果比較結果不一致,則密碼錯誤計數(shù)器中為“1”的個數(shù)減少1位。只要計數(shù)器的內容不全為0,則芯片的比較“校驗字”操作還允許再次進行。當連續(xù)三次輸入錯誤密碼后(即密碼計數(shù)器減少為0),則芯片的存儲單元將全部被鎖死。由此可見,加密存儲器可以理解為進入整個芯片的“關卡”。 加密存儲器的第1、2、3個字節(jié)為“參照字”存儲區(qū)。這3個字節(jié)的內容作為一個整體被稱為可編程加密代碼(psc)。值得注意的是:這3個字節(jié)的內容在psc比較成功前是不可讀的,只能進行比較操作。而寫入和擦除操作也受自身比較操作結果的控制。只有當比較操作成功時,加密存儲器各字節(jié)的內容才可以進行讀出、寫入和擦除。 3
32、.2.3傳送協(xié)議與操作模式 sle4442卡與接口設備(ifd,interface device)之間的傳送采用2線連接協(xié)議,滿足iso/iec 7816同步傳送協(xié)議,i/o線上的數(shù)據(jù)變化只在clk信號上升沿有效。 傳送協(xié)議包括4種模式:復位和復位響應(atr,answer-to-reset)、命令模式(command mode)、輸出數(shù)據(jù)模式(outgoing data mode)、處理模式(processing mode) 。注意: i/o引腳為漏極開路型,因此需要外加上拉電阻才能得到高電平。1) 復位和復位響應(reset and answer-to-reset) sle4442卡芯片的
33、復位方式有: (1) 復位和復位響應(外部復位方式):基于iso/iec 7816-3的同步協(xié)議。 (2) 加電復位(power on reset,內部復位方式):加電后i/o被置于高阻態(tài)。必須在對任意地址進行讀操作或做一個復位響應操作之后才可以進行數(shù)據(jù)交換。 復位響應是根據(jù) iso/iec 7816-3(atr)標準來進行的,復位及復位響應的時序關系如圖3.4所示。在操作期間的任意時刻都可以復位。 圖3.4 復位及復位響應的時序關系開始,接口設備ifd將所有線置于狀態(tài)l,然后vcc加電,clk和rst保留于狀態(tài)l,方式接口設備的i/o置于接收。之后,rst線被置于h狀態(tài),并維持至少15 s,
34、時鐘脈沖在rst上升沿之后相隔t10時間后給出,地址計數(shù)器隨這個時鐘脈沖被設置為0。在rst為高時只允許有一個時鐘脈沖。clk與rst下降沿之間的時間間隔為t11。當rst線從高狀態(tài)(h狀態(tài))置到低狀態(tài)(l狀態(tài))時,第一個數(shù)據(jù)位(lsb)的內容被送到i/o上,這一數(shù)據(jù)可視為復位應答。若繼續(xù)輸入后面的31個時鐘脈沖(共32個脈沖),主存儲器中的前4個字節(jié)(48 b= 32 b)地址單元中的內容被讀出。在第32個時鐘脈沖的下降沿,i/o線被置成高阻狀態(tài)(z狀態(tài))而關閉,atr過程結束。 在復位響應期間,“啟動”和“停止”狀態(tài)都被忽略。 2) 命令模式(command mode) 復位響應以后,芯片
35、等待著命令。每條命令都以一個“啟動狀態(tài)”開始。整個命令包括3個字節(jié)。隨后緊跟著一個附加脈沖并用一個“停止狀態(tài)”來結束操作。圖3.5為命令模式的時序關系。 圖3.5 命令模式的時序關系(1) 啟動狀態(tài):在clk為高狀態(tài)(h狀態(tài))期間,i/o線的下降沿為啟動狀態(tài)。(2) 停止狀態(tài):在clk為高狀態(tài)(h狀態(tài))期間,i/o線的上升沿為停止狀態(tài)。接收了一個命令之后,卡芯片處于兩種可能的模式: (1) 讀數(shù)據(jù)時處于輸出數(shù)據(jù)模式; (2) 寫入和擦除時處于處理模式。 3) 輸出數(shù)據(jù)模式(outgoing data mode) 在這一模式下ic卡芯片發(fā)送數(shù)據(jù)給ifd。圖3.5右上角為輸出數(shù)據(jù)模式的時序關系圖。
36、 在第一個clk脈沖的下降沿之后,i/o線上的第一位數(shù)據(jù)變?yōu)橛行АkS后每增加一個時鐘脈沖,芯片內部的一位數(shù)據(jù)被送到i/o線上,低位在前。當所需要的最后一個數(shù)據(jù)送出以后,需要再附加一個時鐘脈沖來把i/o線置成高阻狀態(tài)(z狀態(tài)),以便準備接收新的命令。在輸出數(shù)據(jù)期間,任何“啟動狀態(tài)”和“停止狀態(tài)”均被屏蔽。4) 處理模式(processing mode) 在這一模式下對ic卡芯片做內部處理。圖3.5右下角為處理模式的時序關系圖。 芯片在第一個時鐘脈沖的下降沿,將i/o線從高狀態(tài)(h狀態(tài))拉到低狀態(tài)(l狀態(tài))并開始處理。此后應連續(xù)給芯片提供脈沖,使芯片在內部連續(xù)計時計數(shù),直到第n個時鐘脈沖之后的附加
37、一個時鐘脈沖的下降沿i/o線被置為高阻態(tài),完成芯片的處理過程。在整個處理過程中i/o線被鎖定成低狀態(tài),任何“啟動狀態(tài)”和“停止狀態(tài)”均被屏蔽。 3.2.4芯片的操作命令1) 命令格式 msb 控制字 lsbmsb 地址字 lsbmsb 數(shù)據(jù)字 lsbb7 b6 b5 b4 b3 b2 b1 b0a6 a6 a5 a4 a3 a2 a1 a0d7 d6 d5 d4 d3 d2 d1 d0 命令的傳送總是從控制字節(jié)開始,首先傳送字節(jié)的最低位lsb(即b0位)??刂谱止?jié)傳送完畢之后,依次傳送地址字節(jié)和數(shù)據(jù)字節(jié),均為低位在前。在最后一位d7傳送完成之后,需要增加一個附加時鐘脈沖把i/o線置成高狀態(tài)。
38、3.2 sle4442命令表字節(jié)1控制字字節(jié)2地址字字節(jié)3數(shù)據(jù)字操 作模 式b7b0a7a0d7d000110000地址無效讀主存儲器輸出數(shù)據(jù)模式00111000地址輸入數(shù)據(jù)修改主存儲器處理數(shù)據(jù)模式00110100地址無效讀保護存儲器輸出數(shù)據(jù)模式00111100地址輸入數(shù)據(jù)寫保護存儲器處理數(shù)據(jù)模式00110001地址無效讀加密存儲器輸出數(shù)據(jù)模式00111001地址輸入數(shù)據(jù)修改加密存儲器處理數(shù)據(jù)模式00110011地址輸入數(shù)據(jù)比較校驗數(shù)據(jù)處理數(shù)據(jù)模式2) 讀主存儲器(read main memory)讀主存儲器命令格式如下: 命 令控制字地址字數(shù)據(jù)字讀主存儲器30h00hffh無效讀主存儲器命令
39、讀出主存儲器的內容,命令的控制字為30h。對于每個字節(jié)來說,總是從最低位lsb開始讀出,從給定的字節(jié)地址(n=0255)開始,直到整個存儲器的末尾。在該命令輸入以后,接口設備ifd必須提供足夠的時鐘脈沖,從地址(n)開始讀數(shù)據(jù)所需要的時鐘脈沖數(shù)為m=(256n)81。對主存儲器進行讀操作不受限制。讀主存儲器的時序見圖3.7。 圖3.7 讀主存儲器的時序圖3) 讀保護存儲器(read protection memory)讀保護存儲器命令格式如下: 命 令控 制 字地 址 字數(shù) 據(jù) 字讀保護存儲器34h無效無效讀保護存儲器命令的控制字為34h。在連續(xù)輸入32個時鐘脈沖的情況下,芯片將保護存儲器內各
40、位的內容傳送到i/o線上,最后通過一個附加時鐘脈沖將i/o線置為高阻狀態(tài)(z狀態(tài))。對保護存儲器進行讀取操作不受限制。讀保護存儲器的時序見圖3.8。 圖3.8 讀保護存儲器的時序圖4) 讀加密存儲器(read security memory)讀加密存儲器命令格式如下: 命 令控 制 字地 址 字數(shù) 據(jù) 字讀加密存儲器31h無效無效讀加密存儲器命令類似于讀保護存儲器,可以讀出4b的加密存儲器的內容。該命令的控制字為31h。在輸出數(shù)據(jù)的模式下,所需時鐘脈沖的數(shù)量為32。其后再附加一個時鐘脈沖將i/o線置成高阻狀態(tài)(z狀態(tài))。如果可編程加密代碼(psc)的校驗不成功,則“參照字”字節(jié)的輸出被禁止,讀
41、保護存儲器除第0個字節(jié)可讀出外,i/o線總保持為低(l)狀態(tài)(即“參照字”字節(jié)的輸出總是“0”)。讀加密存儲器的時序見圖3.9。 圖3.9 讀加密存儲器的時序圖5) 修改主存儲器(update main memory)修改主存儲器命令格式如下: 命 令控 制 字地 址 字數(shù) 據(jù) 字修改主存儲器38h00hffh輸入的數(shù)據(jù)修改主存儲器命令根據(jù)所傳送的字節(jié)數(shù)據(jù),尋址主存儲器的eeprom字節(jié),然后修改相應字節(jié)的內容。該命令的控制字為38h。在處理模式期間,根據(jù)新、舊數(shù)據(jù),可能發(fā)生下列幾種情況之一: 先擦除后寫入:5 ms,相當于m=256個時鐘脈沖。 只寫入不擦除:2.5 ms,相當于 m=124
42、個時鐘脈沖。 只擦除不寫入:2.5 ms,相當于m=124個時鐘脈沖。 圖3.9 修改主存儲器的時序圖6) 修改加密存儲器修改加密存儲器命令格式如下:命 令控 制 字地 址 字數(shù) 據(jù) 字修改加密存儲器39h00h03h輸入的數(shù)據(jù)(psc)為保護參照字字節(jié),這一命令僅當psc成功校驗之后方能執(zhí)行,否則,只能對錯誤計數(shù)器(地址0)進行由“1”寫“0”的操作。該命令所要求的執(zhí)行時間和時鐘脈沖數(shù)與執(zhí)行修改主存儲器的情況相同。 7) 寫保護存儲器(write protection memory)寫保護存儲器命令格式如下:命 令控制字地址字數(shù)據(jù)字寫保護存儲器3ch00h1fh輸入的數(shù)據(jù)寫保護存儲器命令的執(zhí)
43、行過程包含一個把被輸入的數(shù)據(jù)與在eeprom中對應數(shù)據(jù)進行比較的過程。在確認一致的情況下,保護字位被寫0,從而使得主存儲器中的信息不可更改。如果數(shù)據(jù)比較結果不一致,則保護字位的寫操作將被禁止執(zhí)行。該命令所要求的時鐘脈沖和執(zhí)行時間與修改主存儲器命令的情況相同。8) 比較校驗數(shù)據(jù)(compare varification data)比較校驗數(shù)據(jù)命令格式如下:命 令控制字地址字數(shù)據(jù)字寫保護存儲器3ch00h1fh輸入的數(shù)據(jù)比較校驗數(shù)據(jù)命令必須與修改錯誤計數(shù)器的過程同時執(zhí)行。該命令把輸入的“校驗數(shù)據(jù)”的各個字節(jié)與相對應的參照數(shù)據(jù)(存放在加密存儲器中)進行比較,這一過程將在處理模式中需要給出時鐘脈沖。比
44、較校驗數(shù)據(jù)命令的時序如圖3.10所示。圖3.10 比較校驗數(shù)據(jù)命令的時序圖3.2.5 psc校驗 如果需要修改sle4442的數(shù)據(jù),則必須正確校驗存儲在加密存儲器中的可編程加密代碼psc。校驗的過程并不是僅由比較校驗數(shù)據(jù)命令來完成的,而是由多個命令構成的一個流程來共同完成,psc校驗流程見圖2.34。這一流程必須被精確地執(zhí)行,任何變化都將導致校驗失敗,從而使寫入/擦除操作被禁止。只要校驗過程未能成功完成,密碼錯誤計數(shù)器的一個字位將只會被從“l(fā)”寫成“0”,并且不能被擦除。首先用一個修改加密存儲器命令將密碼錯誤計數(shù)器中的一位寫0。 然后緊跟著三條比較校驗數(shù)據(jù)命令。比較從參照數(shù)據(jù)的字節(jié)1開始。整個
45、比較過程成功與否是用能否擦除密碼錯誤計數(shù)器來證實的,密碼錯誤計數(shù)器不能自動擦除。如果比較成功,則擦除操作執(zhí)行有效,這時只要不斷電,對整個芯片各存儲器的各區(qū)域的寫入/擦除處理都可以進行;如果比較不成功,擦除操作執(zhí)行無效,密碼錯誤計數(shù)器將不會恢復為“111”。但只要ec不全為0,就允許外部接口設備ifd對芯片進行重試。當校驗數(shù)據(jù)比較成功,加密存儲器也同樣被打開時,其單元中的參照數(shù)據(jù)也可以像其他eeprom單元一樣被讀出和修改。圖3.11 psc校驗流程表3.3 psc校驗命令一覽表命 令控制字地址字數(shù)據(jù)字備 注讀加密存儲器31h無效無效檢查錯誤計數(shù)器是否還有“1”修改加密存儲器39h00h輸入數(shù)據(jù)
46、將錯誤計數(shù)器其中一位由“1”寫“0”比較校驗數(shù)據(jù)33h01h輸入數(shù)據(jù)參照字數(shù)據(jù)字節(jié)1比較校驗數(shù)據(jù)33h02h輸入數(shù)據(jù)參照字數(shù)據(jù)字節(jié)2比較校驗數(shù)據(jù)33h03h輸入數(shù)據(jù)參照字數(shù)據(jù)字節(jié)3修改加密存儲器39h00hffh擦除錯誤計數(shù)器讀加密存儲器31h無效無效檢查錯誤計數(shù)器是否成功擦除3.2.6中止與錯誤狀態(tài) 1) 中止(break) 在clk為低狀態(tài)期間,如果rst置為高狀態(tài),則任何操作均無效,i/o線被鎖定到高阻狀態(tài)(z狀態(tài))。需要一個最小維持時間tres=5 s 之后,芯片才能接收新的有效復位。中止后芯片準備做進一步的操作。2) 錯誤狀態(tài)(failures) 在芯片操作過程中,可能出現(xiàn)以下幾種操
47、作失敗的情況: (1) 比較失敗。 (2) 錯誤命令。 (3) 不正確的命令脈沖數(shù)。 (4) 對已被保護的字節(jié)進行重寫或擦除操作。 (5) 對保護存儲器的一位進行重寫或擦除操作。 在上述錯誤發(fā)生時,芯片總是在8個時鐘脈沖的最后,將i/o線置成高阻狀態(tài)(z狀態(tài))。3.3 lcd1602液晶顯示器3.3.1 lcd1602的引腳以及字符庫介紹lcd1602采用標準的16腳接口,如圖3.13所示圖3.13 lcd1602引腳圖下面對lcd1602的引腳功能進行介紹:第1腳:vss為地。本設計中該引腳接地。第2腳:vdd接+5v電源。本設計中該引腳接+5v電壓。第3腳:vee為液晶顯示器對比度調整端,
48、接正電源時對比度最弱,接地源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10k的電位器調整對比度。第4腳:rs為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:rw為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當rs和rw共同為低電平時可以寫入指令或者顯示地址,當rs為低電平rw為高電平時可以讀忙信號,當rs為高電平rw為低電平時可以寫入數(shù)據(jù)。第6腳:e端為使能端,當e端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:d0d7為8位雙向數(shù)據(jù)線。本設計中接到p0口。第1516腳:空腳。在制作的實物中,液晶不能正常的顯示,經過調試,第15腳接+5v
49、電壓,第16腳接地。lcd1602液晶模塊內部的字符發(fā)生存儲器(cgrom)已經存儲了160個不同的點陣字符圖形,如表5.1所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。表3.4 cgrom和cgram中字符代碼與字符圖形對應關系高低位位00000010001101000101011001111010101111001101111011110000cgram(1)一0001(2)!0010(3)0011(4)0100(5)0101(6)0110(7)0111(8)1000(1)(1001(2)1010(3):千1011(4);萬1100
50、(5),1101(6)1110(7)1111(8)?3.3.2 lcd1602的指令lcd1602液晶模塊內部的控制器共有11條控制指令,如表3.14所示: 表3.5 lcd1602內部控制器指令表指令rsr/wd7d6d5d4d3d2d1d01清顯示00000000012光標返回000000001*3置輸入模式00000001i/ds4顯示開/關控制0000001dcb5光標或字符移位000001s/cr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址(agg)8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址(add)9讀忙標志或地址01bf計數(shù)器地址(ac)10寫數(shù)到cgram或ddram10要寫的數(shù)11從cgram或ddram讀數(shù)11讀出的數(shù)據(jù)它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01h,光標復位到地址00h位置。指令2:光標復位,光標返回到地址00h位置。指令3:光標和顯示模式設置 i/d:光標移動方向,高電平右移,低電平左移 s: 屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關控制。 d:控制整體顯示的開與關,高電平表示開顯示,低電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 語言學英語語音學知識重點解析
- 云PAAS相關行業(yè)投資規(guī)劃報告范本
- 變壓器、整流器和電感器行業(yè)相關投資計劃提議范本
- 產品采購及供應鏈合作協(xié)議事項說明
- 心臟除顫器相關項目投資計劃書范本
- 化學工程工藝及設備安全管理試題
- 廣告設計相關行業(yè)投資規(guī)劃報告范本
- 預防下肢血栓護理新進展
- 農業(yè)生產品質控制與管理方案
- 2022年6月全國翻譯專業(yè)資格(水平)英語二級筆譯實務試題真題及答案
- 朗讀技巧與朗讀教學課件
- 最新安全生產管理教材電子版
- 藥業(yè)有限公司內部審計報告
- 空分制氧工基礎知識題庫完整
- 茶樹栽培學茶樹的修剪課件
- 辦公用品申購單
- 檢驗流程圖樣板
- 《新課標高中化學學業(yè)水平考試合格考知識點總結》
- 帶電子手表去學校的檢討
- 2022年春新冀人版科學五年級下冊全冊課件
- 導熱油使用操作規(guī)程
評論
0/150
提交評論