【正文】
硬件資源和數(shù)據(jù)資源是其基本任務(wù) .IC 卡上的硬件資源包括 CPU,ROM,EEPROM和 RAM及通訊接口 ,這些都由 IC卡上操作系統(tǒng)統(tǒng)一管理 , 使外部不能直接控制這些資源 ,使 IC卡對(duì)外表現(xiàn)為一個(gè) 黑匣子 ,從而加強(qiáng)了系統(tǒng)的保密性能 . 智能卡通 訊管理主要功能是執(zhí)行智能 IC卡的信息傳送協(xié)議 , 接收讀寫器發(fā)出的指令 ,并對(duì)指令傳遞是否正確進(jìn)行判斷 .一般可采用奇偶檢 ,CRC 校驗(yàn)等方式判斷傳輸錯(cuò)誤 .對(duì)于采用分組傳輸協(xié)議的系統(tǒng) , 還可以通過(guò)分組長(zhǎng)度變化來(lái)檢出錯(cuò)誤。在 IC 卡內(nèi)執(zhí)行讀 寫器的各種操作命令 .有了 CPU與 COS,IC卡就有了智能 .因此智能 IC 卡具有超強(qiáng)的存儲(chǔ)性能 ,提供很高的信息安全性和可靠性 . 1. 2 系統(tǒng) 的研究方向及功能概述。 軟件結(jié)構(gòu)設(shè)計(jì)及其分析; 軟件系統(tǒng)分析; 2. 5 軟件程序設(shè)計(jì) 3 系統(tǒng)調(diào)試 4 結(jié)論 5 參考文獻(xiàn) 6 致謝 附錄: 附錄一:外文專業(yè)參考資料譯文 附錄二:外文專業(yè)參考資料原文 附錄三:電路原理圖 附錄四:程序流程圖 附錄五:程序清單 1. 前言 1. 1 系統(tǒng)的提出及研究意義。s reading and write a machine is the IC card and of the calculator deliver medium, it goes to connect with each other with of the calculator through a string, this text applies a single slice of 89C2051 machine for the core mainly to the SLE4442 cardses to carry on reading and write a control. The contact type IC card is a newly arisen technique of the IC card realm, it is the oute that the radio frequency identifies the technique and the IC card technique to bine together. First introduced in the introduction to the topic of significance and functions outlined. Secondly the text inside describes the system hardware work principle, and introduce the ICSLE4442internal structure and chip figure, discuss the function and working process of these degree graduation project station applied each hardware interface technology and each interface module. I This system edits collected materials the language to proceed with single the basic language of a machine the software designs, the instruction carries out the speed quick, save memory. . In conclusion concretion description soft and hardware debug of each functional predominance thought that this text pose is soft, the hardware bines together, regarding hardware as the foundation, proceeds the plait of each function mold piece write. Key words: Read and write a control, single slice machine, IC card. 目錄 : 1 前言 1. 1 系統(tǒng)的提出及研究意義。 首先在緒論 中介紹了課題的開(kāi)發(fā)意義及功能概述。 接觸式 IC 卡是 IC卡領(lǐng)域的一項(xiàng)新興技術(shù) ,它是射頻識(shí)別技術(shù)和 IC 卡技術(shù)相結(jié)合的產(chǎn)物。 IC card39。 — 232 通信接口芯片: 2. 4 軟件設(shè)計(jì)思想。管理 IC 卡上各種存儲(chǔ)器 。因此,在設(shè)計(jì)階段應(yīng)注意 IC卡讀 /寫設(shè)備環(huán)境。它具有 2K 位的存儲(chǔ)容量和完全獨(dú)立的可編程代碼存儲(chǔ)器。此型號(hào)的單片機(jī)是一種低消耗,高性能的 8 位CMOS 微處理芯片。 (3)( SP) =07H 表示復(fù)位后堆棧在片內(nèi) RAM 的 08H 單元處建立 。 引腳結(jié)構(gòu): ? XTAL1 反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 從功能上可分為 : 程序存儲(chǔ)器、 內(nèi)部數(shù)據(jù)存儲(chǔ)器、 特殊功能寄存器、 位地址空間和外部數(shù)據(jù)存儲(chǔ)器 5 大部分。在空閑方式下,當(dāng)晶振 fosc=12MHz、電源電壓 VCC=6V 時(shí),電源電流 ICC 從 20mA 降至 5mA,而 VCC=3V 時(shí), ICC 由 降至 1mA。在掉電方式下, VCCmin=2V。 SLE4442IC 卡的簡(jiǎn)介: ? 概述: SLE4442 是德國(guó)西門子 SIMENS 公司設(shè)計(jì)的邏輯加密存儲(chǔ)卡它具有 2K 位的存儲(chǔ)容量和完全獨(dú)立的可編程代碼存儲(chǔ)器 PSC 內(nèi)部電壓提升電路保證了芯片能夠以單 +5V 電壓供電較大的存儲(chǔ)容量能夠滿足通常應(yīng)用領(lǐng)域的各種需要因此是目前國(guó)內(nèi)應(yīng)用較多的一種IC 卡芯片芯片采用多存儲(chǔ)器結(jié)構(gòu) 2 線連接協(xié)議串行接口滿足 ISO7816 同步傳送協(xié)議NMOS 工藝技術(shù)每字節(jié)的擦除 /寫入編程時(shí)間為 存儲(chǔ)器具有至少 10000 次的擦寫周期數(shù)據(jù)保持時(shí)間至少 10 年。 3. 4x8 位 EEPROM 型加密存儲(chǔ)器 .第 0 字節(jié)為密碼輸入錯(cuò)誤計(jì)數(shù)器 (EC).EC的有效位是低三位 ,芯片初始化時(shí)設(shè)置成 ”111”這一字節(jié)是可讀的 (EC).的 1,2,3字節(jié)為參照字存儲(chǔ)區(qū) .這3 個(gè)字節(jié)的內(nèi)容作為一個(gè)整 體被稱為可編程加密代碼 (PSC).其讀出寫入和擦除均受自身比較操作結(jié)果的控制。整個(gè)命令包括 3 個(gè)字節(jié)。當(dāng)所需要的最后一個(gè)數(shù)據(jù)送出以后,需要再附加一個(gè)時(shí)鐘脈沖來(lái)把 I/O口置成高狀態(tài),以便接受新的命令。必須在對(duì)任意地址進(jìn)行讀操作或做一個(gè)復(fù)位響應(yīng)操作之后才可以進(jìn)行數(shù)據(jù)交換。MSB 控制字 LSB MSB 地址字 LSB MSB 數(shù)據(jù)線 LSB B7B6B5B4B3B2B1B0 A7A6A5A4A3A2A1A0 D7D6D5D4D3D2D1D0 字節(jié) 1(控制) B7~B0 字節(jié) 2(地址)A7~A0 字節(jié) 3(數(shù)據(jù)) 功能 命令模式 30H 地址數(shù) 無(wú)效 讀主存器 輸出數(shù)據(jù)模式 38H 地址數(shù) 輸入數(shù)據(jù) 改主存器 處理模式 34H 無(wú)效 無(wú)效 讀保護(hù)存儲(chǔ)器 輸出數(shù)據(jù)模式 3CH 地址數(shù) 輸入數(shù)據(jù) 修改加密 處理模式 31H 無(wú)效 無(wú)效 比較校驗(yàn)數(shù)據(jù) 輸出模式 39H 地址數(shù) 輸入數(shù)據(jù) 修改加密 處理模式 33H 地址數(shù) 輸入數(shù)據(jù) 比較校驗(yàn) 處 理模式 若帶電插拔 IC 卡,可能會(huì)給 IC 卡帶來(lái)?yè)p傷,甚至損壞它。解決這一問(wèn)題的辦法有兩種,第一種:是通過(guò)減小時(shí)鐘驅(qū)動(dòng)端的上拉電,減小上升時(shí)間來(lái)解決;另一種是采用互補(bǔ)驅(qū)動(dòng)方式來(lái)進(jìn)行時(shí)鐘驅(qū) 動(dòng),這種方式結(jié)構(gòu)復(fù)雜些,但可以實(shí)現(xiàn)更高的時(shí)鐘頻率。它必須嚴(yán)格地遵循 ISO78163 規(guī)定,其操作如下: ( 1)上電過(guò)程: —— RST 處于 L狀態(tài); ( 2)下電過(guò)程: —— RST 為狀態(tài) L; —— vcc 供電; —— CLK 為狀態(tài) L; —— 接口設(shè)備處于接受 —— VPP 不起作用; 方式 。 END ? IC卡的讀寫技術(shù):不同類型的 IC卡其讀寫方式或數(shù)據(jù)協(xié)議方式是不同的,其地址計(jì)數(shù)器是與時(shí)鐘緊密相關(guān)的,當(dāng)卡復(fù)位時(shí),地址計(jì)數(shù)器置“ 0”,以后,每向卡發(fā)一個(gè)節(jié)拍的時(shí)鐘,都將使 IC卡的地址計(jì)數(shù)器加“ 1”,這一時(shí)鐘頻率上限為 50KHZ 或 280KHZ。時(shí)序中的數(shù)據(jù)為寫字節(jié)時(shí),由 IC 卡讀 /寫器中的單片機(jī)在 SDA 發(fā)送一個(gè) 8 位碼長(zhǎng)的數(shù)據(jù);卡片每收到一個(gè)數(shù)據(jù)字節(jié) 后,都要通過(guò) SDA 回送一個(gè)“確認(rèn)”信號(hào)。 ◇接口電路的 I/O 應(yīng)置于接收狀態(tài); ◇向 IC 卡的 CLK 提供時(shí)鐘信號(hào) (A類卡 1~ 5MHz, B類卡 1~ 4MHz)。 通過(guò)觸點(diǎn)向卡提供穩(wěn)定的電源 IC 卡接口電路應(yīng)能在表 1 規(guī)定的電 壓范圍內(nèi),向 IC卡提供相應(yīng)穩(wěn)定的電流。 SLE4442卡內(nèi)含 256*8位 EEPROM存儲(chǔ)器和 32*1位保護(hù)存儲(chǔ)器,該保護(hù)存儲(chǔ)器對(duì) EEPROM的前 32 字節(jié)進(jìn)行寫 /刪除保護(hù)。其驅(qū)動(dòng)器負(fù)載電容不超過(guò) 2500PF,通信距離受此電容的限制。每次對(duì) IC 卡讀 /寫完成后,即及時(shí)下電,以減少插拔時(shí)帶電的可能性。 2.4 軟件的設(shè)計(jì)思想: ? 軟件結(jié)構(gòu)設(shè)計(jì)及其分析: 讀/寫器軟件結(jié)構(gòu):讀寫器的讀/寫操作由上位PC機(jī)進(jìn)行控制,通過(guò)串行通信的命令字來(lái)實(shí)現(xiàn),具體規(guī)定為:如握手信號(hào)為0AAH,則讀卡;如握手信號(hào)為0BBH,則寫卡。 ? 軟件系統(tǒng)分析: 為保證 IC 卡讀 /寫過(guò)程準(zhǔn)確可靠,除要保證讀 /寫函數(shù)嚴(yán)格按照 IC 卡的讀 /寫時(shí)序外,還須采用“重讀”和“回讀”措施。要做的工作主要是查閱資料,由于單片機(jī)外圍接口電路設(shè)計(jì)可借鑒的資料十分豐富。本次設(shè)計(jì)結(jié)束了我的大學(xué)生涯,它是具有標(biāo)志性的。 最后,將次 文獻(xiàn)給所有關(guān)心我,教育我,支持我的親人老師和朋友們謝謝你們的鼓勵(lì),此次畢業(yè)設(shè)計(jì)才會(huì)順利完成! 附錄一:外文專業(yè)參考資料譯文: 附錄二:外文專業(yè)參考資料原文: 附錄三:電路原理圖: 附錄四:程序流程圖: 附錄五:程序清單: include〈 〉 include define uchar unsigned char define uint unsigned int /*IC 卡信號(hào)輸入 /輸出 */ sbit scl=P1^7。 /*0: 2400; 1: 4800*/ /*24c01~ 24c16 讀 /寫驅(qū)動(dòng)程序 */ sbit a0=ACC^0。 /*讀 /寫數(shù)據(jù)緩沖區(qū) ,24c01 最多為 128B*/ uchar buf[16]。 sda=0。 /*在 scl=1,sda 的 0到 1 跳變結(jié)束 */ delay(6)。 sda=1。 scl=1。scl=0。a0=sda。scl=1。 sda=a4。scl=0。scl=1。 x=rd24()。 } } /**/ /*字節(jié)寫入模式寫函數(shù),其中阿對(duì) address 為單元地址, dd 為數(shù)據(jù) */ void wrirebyte(uchar address,uchar dd) { Startic()。 if(a!=y)goto l1。 /*系統(tǒng)熱復(fù)位標(biāo)志清除,只有拔卡才能置位 */ PWR=1。 If(BAUD= =0) { PCON=0X80。i++) { SBUF=buf[i]。i16。y++) { Writbyte(address+y,buf[y])。 for(k=0。 /*等待 IC 卡插入 */ delay(10)。 switch(a) { case 0xaa: SBUF=0xaa。 /*上位機(jī)在發(fā)送前必須適當(dāng)延時(shí),以等待下位機(jī)準(zhǔn)備好 */ receive()。 /*清正在通信標(biāo)志