本科畢業(yè)論文開題報告
時間:2022-08-13 08:52:00
導(dǎo)語:本科畢業(yè)論文開題報告一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
論文題目
通用預(yù)付費安全組件技術(shù)研究-下位機
學生姓名
馬楊軍
專業(yè)班級
計本021
性別
男
⒈課題研究意義及現(xiàn)狀
預(yù)付費水,電,氣一卡通系統(tǒng)為民用智能水表,電表,管道燃氣表及小區(qū)費用管理(如衛(wèi)生管理費,治安費,停車費,寬帶網(wǎng)絡(luò)費等)提供了"一卡通"管理平臺;我們制作的自能水表,電表及管道燃氣表,則為"一卡通"管理提供了可靠,實惠,實用的表具.兩者相結(jié)合,只用一張IC卡,就能實現(xiàn)水,電,氣及小區(qū)費用等多種收費的管理,省時,剩事,省力,不僅方便了居民生活,更有利于管理部門的集中統(tǒng)一控制,是今后小區(qū)智能化管理的必趨勢.
一戶一卡,一卡多表,每張IC卡最多可管理8塊智能表,為將來系統(tǒng)的擴展提供了良好的技術(shù)基礎(chǔ).
卡中數(shù)據(jù)安全可靠,各表數(shù)據(jù)均獨立存放于IC卡中,互不影響;卡中各類數(shù)據(jù)均進行加密處理,且使用校驗和檢錯技術(shù)和寫卡密碼保護機制,確??ㄖ薪灰讛?shù)據(jù)的可靠,準確和完整.
采用一套管理系統(tǒng),功能完善,操作簡單.對遺失卡用戶可進行補卡操作,對換表用戶可進行換表處理,對需要退費的用戶可進行退費處理.
融合了IC卡預(yù)付費水表,電表,氣表的各種功能特點.
適用范圍:小區(qū)智能化管理;學校智能化后勤管理
隨著預(yù)付費系統(tǒng)應(yīng)用的發(fā)展,安全認證要求越來越多,要求安全系統(tǒng)滿足不斷發(fā)展的業(yè)務(wù)要求.針對安全要求的不斷變化,本項目采用開放的系統(tǒng)架構(gòu)和安全功能模塊化的設(shè)計思想,通過靈活的配置,滿足各種安全要求.
⒉課題研究的主要內(nèi)容,預(yù)期目標和研究方案
研究內(nèi)容:
本項目主要研究基于ISO-7816的智能卡技術(shù),實現(xiàn)獨立于SmartCos的安全認證下位機組件.
1.IC卡技術(shù):
研究基于SmartCos的IC卡技術(shù),實現(xiàn)ISO7816-4通訊.
2.智能卡框架技術(shù):
研究基于ANSIC的智能卡技術(shù),實現(xiàn)獨立于COS的安全認證組件.
3.智能卡模擬技術(shù):
研究獨立于具體設(shè)備的IC卡應(yīng)用組件,探索設(shè)備內(nèi)嵌安全組件的軟件模擬方法.
預(yù)期目標:
完成智能卡的讀取,分辨,和處理相關(guān)卡的各項功能,做到安全,可靠地使用.
研究方案
基于ANSIC實現(xiàn)下位機軟件的設(shè)備獨立性,以預(yù)付費電卡表為例實現(xiàn)下位機的安全組件功能,實現(xiàn)密鑰存儲,傳輸和管理,以及與上位機的通訊和認證功能.
⒊課題進度計劃
2005-1-20~2005-2-10:熟悉ISO-7816的智能卡技術(shù).
2006-2-11~2006-3-1:熟悉E-SAM模塊的功能.
2006-3-2~2005-3-25:完成智能卡讀取,處理等模塊功能.
2005-3-26~2005-4-1:對所做的功能進行測試,修改.
2005-4-2~2005-5-1:撰寫畢業(yè)論文.
⒋參考文獻
[1]陳邦媛.射頻通信電路[M].北京:科學出版社,2002
[2]王愛英.智能卡技術(shù)――IC卡[M].北京:清華大學出版社,2000
[3]李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航天大學出版社,1998
[4]張肅文,陸兆熊.高頻電子線路[M].北京:高等教育出版社,1992
指導(dǎo)教師意見
指導(dǎo)教師簽名:
年月日
論文摘要
中文摘要:本文針對IC卡式電子預(yù)付費電能表的實際設(shè)計出發(fā),介紹了接觸式IC卡智能電表的IC卡選用,及讀卡器的設(shè)計與實現(xiàn),著重于IC卡數(shù)據(jù)記錄,讀取原理介紹,功能實現(xiàn)過程.設(shè)計基于IC卡的預(yù)付費電子電能表系統(tǒng),采用AT24CO1實現(xiàn)數(shù)據(jù)記錄,資料保存.采用MCS-51系列單片機89C52微處理芯片與計算機串行口通訊實現(xiàn)微機對卡的數(shù)據(jù)操作.
關(guān)鍵詞:智能IC卡,讀寫器
Abstract:
TheICcard''''schoiceofcontactedICcardsintelligent-meterisintroducesinthethesis,andthedesignandrealizationofcard-readeraswell.AccordingtothepracticaldesignofIC-Cardwiseandelectricallypreparedelectricitymeter.Andthestressisputontheintroductionofdatarecord;readingprincipleofICcardelectricallypreparedelectivelysystemisbasedonICcard.Inwhichisadoptedtofitfuldatarecordandstoreofreference,andsingle-chipcomputer89C52microprocessorcommunicationareadoptedtorealizethecomputer-to-carddataoperation.
Keywords:intelligentICcard,cardreader
目錄
引言
第一章:總體方案設(shè)計與論證
第二章:IC卡系統(tǒng)設(shè)計與實現(xiàn)
2.1IC卡介紹
2.2讀卡器基本原理及設(shè)計
第三章:系統(tǒng)硬件設(shè)計與實現(xiàn)
3.1標準異步串行通信接口技術(shù)
3.289C51與24C01通信的硬件設(shè)計
第四章:系統(tǒng)軟件設(shè)計與實現(xiàn)
4.1模擬I2C總線數(shù)據(jù)傳輸編程
4.2系統(tǒng)軟件程序流程圖
附錄一系統(tǒng)硬件電路圖
附錄二參考文獻
----引言----
1970年,法國人羅蘭德・默瑞諾(RolandMoreo)第一次將可編程的集成電路芯片(IC-IntegratedCircuit)放于卡片中,使卡片具有了更多的功能,這一發(fā)明給世界帶來了極大的改變,這種卡片就是被稱為IC卡的新型智能卡.
IC卡概念及分類
(1).什么是IC卡以下幾種解釋從不同方面對IC卡進行了描述.
①其外型和信用卡一樣,但卡上含有符合國際標準化組織(ISO)有關(guān)標準的集成電路芯片(IC).
②由一個或多個集成電路芯片組成,并封裝成便于攜帶的卡片;具有暫時或永久性的數(shù)據(jù)存儲能力,其內(nèi)容可供外部讀取或供內(nèi)部處理,判斷使用;具有邏輯和數(shù)學運算處理能力,用于識別和響應(yīng)外部提供的信息和芯片本身的處理需求.
③實際上,IC卡就是集成電路卡.它是一種隨著半導(dǎo)體技術(shù)的發(fā)展和社會對信息安全性等要求的日益提高應(yīng)運而生的,是一種將具有微處理器及大容量存儲器等集成電路芯片嵌裝于塑料基片上而制成的卡片.
在IC卡的左上角封裝有IC芯片,其上覆蓋有6或8個觸點和外部設(shè)備進行通訊.
IC卡屬于半導(dǎo)體卡.半導(dǎo)體卡片采用微電子技術(shù)進行信息的存儲,處理,又可以分為:有接觸點卡和無接觸點卡.前者由讀寫設(shè)備的接觸點和卡片上的觸點相接觸,進行信息的讀寫;而后者則與讀寫設(shè)備無電路接觸,由非接觸式的讀寫技術(shù)進行讀寫(例如,光或無線電技術(shù)).
有接觸點卡又分為:存儲卡和智能卡(帶微控制器).存儲卡又可分成RAM卡(可讀寫)和ROM卡(只讀).
此外,從功能上IC卡大致可分成三類::存儲器卡,智能卡(帶微控制器)和超級智能卡.其中,存儲器卡由于價格便宜,開發(fā)應(yīng)用相對簡單等原因,目前在各個領(lǐng)域已有大量的應(yīng)用,還可以再分為以下兩種:普通存儲器IC卡,智能存儲器IC卡等.
IC卡應(yīng)用技術(shù)
IC卡是硬件與軟件技術(shù)的高度結(jié)合,主要技術(shù)包含三個部分:硬件技術(shù),軟件技術(shù)及相關(guān)應(yīng)用領(lǐng)域的專業(yè)技術(shù).
IC卡軟件,指智能卡中所出現(xiàn)的IC卡系統(tǒng)監(jiān)控程序或IC卡操作系統(tǒng),而IC卡操作系統(tǒng)則更完善,復(fù)雜.智能卡的硬件就是一個小型的微控制器系統(tǒng),只是在安全方面有更多的設(shè)計而已.而軟件則是智能IC卡實現(xiàn)其安全性的關(guān)鍵.
一個較完善的IC卡操作系統(tǒng)必須能夠管理一個或多個相互獨立的應(yīng)用.它應(yīng)能為有關(guān)應(yīng)用提供相應(yīng)的應(yīng)用管理,傳輸管理,文件管理,安全管理等功能.
IC卡作為一種電子信息媒體,同磁卡,光卡等信息媒體一樣,必然由計算機或相應(yīng)的專用設(shè)備對其中存儲的信息進行讀取,分析,處理.而這種設(shè)備中往往不具備IC卡的讀寫接口,IC卡讀寫設(shè)備就是計算機同IC卡之間的接口設(shè)備.
從IC卡讀寫方式的角度分析,IC卡讀寫技術(shù)可以分為兩大類:
一,通過機械觸點進行電氣連接,與計算機等設(shè)備進行通訊.此種類型的IC卡為接觸式IC卡,它同計算機之間的接口設(shè)備為接觸式IC卡讀寫設(shè)備,是目前應(yīng)用最廣泛的IC卡.
二,IC卡同計算機之間通過無線方式,如無線電波,進行通訊..此種類型的IC卡為無接觸式IC卡,它同計算機之間的接口設(shè)備,即為無接觸式IC卡讀寫設(shè)備.目前,由于技術(shù)及應(yīng)用上的限制,此種IC卡的應(yīng)用還不很廣泛.
一般IC卡所使用的主要芯片分為通用芯片和專用芯片兩大類.所謂通用芯片,就是普通的集成電路芯片,如本設(shè)計中應(yīng)用的美國ATMEL公司的AT24C01兩線串行連接協(xié)議存儲芯片.其出廠時就有兩種供貨形式,一是封裝成集成電路直接提供給最終用戶使用,二是以裸芯片的形式提供給IC卡生產(chǎn)廠商封裝成IC卡.裸芯片幾乎沒有安全性設(shè)計,也不完全符合目前IC卡的國際標準,但因其開發(fā)使用簡單,價格便宜,比較適合于初期的對安全性要求不高的IC卡應(yīng)用.所謂專用芯片,就是專為IC卡而設(shè)計,制造的芯片,如荷蘭Philips公司的PCB2032/2042芯片.這種芯片符合目前IC卡的ISO國際標準,具有較高的安全性.
IC卡所使用的專用芯片一般分為存儲器芯片和微處理器芯片兩大類.存儲卡使用存儲器芯片作為卡芯;智能卡則使用微處理器芯片作為IC卡芯片.
IC卡常使用的存儲器芯片種類及特性
存儲器類型:
1.ROM(ReadOnlyMemory)
只讀存儲器,一次寫入后不可更改或刪除.一般由芯片制造商進行掩膜寫入信息,價格便宜,適合于大量的應(yīng)用.
2.RAM(RandomAccessMemory)
隨機存取存儲器,掉電后信息丟失,卡片上需電源.一般和其它種類的存儲器共同使用,作為信息處理時的臨時存儲.
3.PROM(ProgrammableROM)
一次編程多次讀出存儲器,可由用戶編程寫入應(yīng)用信息,價格較便宜適合于較大量的應(yīng)用.
4.EPROM(ErasablePROM)
可在紫外線擦除之后寫入信息.目前,在IC卡中已經(jīng)很少應(yīng)用.
5.E2PROM(ElectronicallyEPROM)
電可擦除,寫入存儲器.
目前,在IC卡上應(yīng)用得最多的為帶加密運算的微控制器(MPU+CPU)邏輯控制,管理功能,加密,解密等運算功能如:飛利浦公司的83C852等.
不帶加密運算的微控制器(CPU)邏輯控制,管理等功能如:日立公司的H8系列等.
第一章:總體方案設(shè)計與論證
方案設(shè)計與論證:
電子式電能表系統(tǒng)一般包括:電能表部分和IC卡讀寫器部分,設(shè)計中IC卡是作為數(shù)據(jù)的存儲中介,因而IC卡的選用十分重要.選用的IC卡應(yīng)能夠完成數(shù)據(jù)存儲,電能表識別等功能,還應(yīng)具有密碼保護,數(shù)據(jù)加密的功能.數(shù)據(jù)能否正確寫入IC卡,因而微機與讀寫器通訊也是關(guān)鍵.這兩部分直接影響到整個系統(tǒng)的功能實現(xiàn)與否,下面對各種方案的選擇進行設(shè)計和論證:
IC卡選用方案設(shè)計
方案一:采用只讀識別卡
采用只讀識別卡作為本系統(tǒng)的存儲媒介,通過電能表識別IC卡持有者身份,利用微機與電能表通訊得取用戶的數(shù)據(jù)信息(如:用戶個人資料,預(yù)存電費,已用電費…),進行電費計費.其優(yōu)點是:無須對IC卡本身進行操作,可以防止人為對卡保存的個人資料的篡改;使用壽命長,硬件成本低.缺點:需要編寫專用的微機操作系統(tǒng)進行數(shù)據(jù)管理程序,異地通訊程序,在無微機的地域不適用,通用性不強.
方案二:采用存儲卡作為本系統(tǒng)的存儲媒介
利用微機控制專用讀寫器對IC卡進行數(shù)據(jù)操作(對卡充值),通過電能表讀取IC卡上的數(shù)據(jù),(預(yù)存電費,已用電量…)進行電費計費.其優(yōu)點是:只要使用專用的電能表,IC卡就能通用,通用性強;硬件成本不高;其缺點是:數(shù)據(jù)保密性不強.其典型型號有:
AT24C01A/02/04/08/16/32/64二線串行E2PROM;
AT93C46/56/66三線串行E2PROM;
Microchip24LC01A/02/04/08/16/32/65二線串行E2PROM;
方案三:采用邏輯加密存儲卡作為本系統(tǒng)的存儲媒介
加密存儲器卡(Securitycards接觸型)內(nèi)嵌芯片在存儲區(qū)外增加了控制邏輯.在訪問存儲器前,需要核對密碼.只有密碼正確,才能存取數(shù)據(jù).允許連續(xù)密碼核驗的錯誤次數(shù)很少(一般在十次以內(nèi)),可以有效防止非法試探.若在限定的次數(shù)密碼仍不對,則卡片死鎖作廢.利用微機控制專用讀寫器對IC卡進行數(shù)據(jù)操作(對卡充值,更改資料…),通過電能表進行密碼識別,讀取IC卡上的數(shù)據(jù)(預(yù)存電費,已用電量…),進行電費計費.其優(yōu)點是:只要使用專用的電能表,IC卡就能通用,通用性強;數(shù)據(jù)保密性強.缺點是:較以上二種方案成本過高.典型型號有:
AT88SC101內(nèi)嵌帶加密邏輯1K串行E2POM(一個應(yīng)用區(qū));
AT88SC102內(nèi)嵌帶加密邏輯1K串行E2POM(二個應(yīng)用區(qū))
SLE4404416位帶內(nèi)部PIN校驗的智能E2POM;
SLE44281K字節(jié)E2POM,帶寫保護和可編程密碼;
1.1.4方案四:采用CPU卡作為存儲媒介
CPU卡(SMARTCARDS接觸型)內(nèi)嵌芯片相當于一個特殊類型的單片機,內(nèi)部除了帶控制器,存儲器,時序控制邏輯外,還帶有算法單元和操作系統(tǒng).IC卡本身可以完成所有的數(shù)據(jù)操作,其保密性更強.其特點是存儲容量大,處理能力強,信息存儲安全等特性,因此,被廣泛應(yīng)用于信息安全性要求特別高的場合.其典型型號有:
MC68HC05SC011.8KROM/36字節(jié)RAM/1KEPROM/無E2POM;
MC68HC05SC216KROM/128字節(jié)RAM/無EPROM/3KE2POM;
MC68HC05SC266KROM/224字節(jié)PAM/無EPROM/1KE2POM;
MC68HC05SC2716KROM/240字節(jié)PAM/無EPROM/3KE2POM;
MC68HC05SC2813KROM/240字節(jié)PAM/無EPROM/8KE2POM;
MC68HC05SC2913KROM/512字節(jié)PAM/無EPROM/4KE2POM;
1.1.5方案五:采用射頻CPU卡
射頻CPU卡(RFCPU非接觸型)的信息存取是通過無線電波來完成的,主機與射頻卡之間沒有機械觸點,其內(nèi)嵌電路除了存儲單元,控制邏輯外,還有電源和射頻收發(fā)電路.這類卡主要用于存取頻繁,可靠,安全要求特別高的場合.其優(yōu)點是:IC卡與讀寫器無需接觸,減少了機械磨損,卡的使用壽命很長,使用方便,其缺點是:讀卡器電路復(fù)雜,設(shè)計成本高.其典型型號有:
型號
程序存儲器容量(KB)
RAM容量(B)
AT88SC51
4
128
AT88SC52
8
256
AT88SC53
12
256
AT88SC54
16
256
AT88SC54C
16
256
AT88SC55
20
512
較以上五種方案,方案三采用邏輯加密存儲卡作為數(shù)據(jù)媒,方案四采用CPU卡優(yōu)于方案一和方案二.但是此方案中的邏輯加密存儲卡極難買到,而且其加密,解密過程過于復(fù)雜,非有專業(yè)知識較難實現(xiàn).方案四中采用CPU卡,雖然電路簡單,成本亦不高,但是IC卡的內(nèi)部數(shù)據(jù)處理過程較復(fù)雜,設(shè)計無需采用該類IC卡,而射頻CPU卡由于電路復(fù)雜,成本較高,調(diào)試較困難,根據(jù)本設(shè)計的特點和比較各種方案的可行度等因素,決定采用方案二選用存儲卡作為數(shù)據(jù)存儲媒介,其數(shù)據(jù)保存,傳輸與方案三中基本相同,設(shè)計電路簡單.保密性通過程序加密完成,在設(shè)計中,以非加密存儲器卡作為售電的傳輸媒質(zhì),具體型號是ATMEL公司的AT24C01A,二線串行E2POM.用VC++再微機上編制相應(yīng)的售電管理系統(tǒng),配以相應(yīng)的讀卡器實現(xiàn)對IC卡的初始化,卡號識別,充值等操作.
第二章:IC卡系統(tǒng)設(shè)計與實現(xiàn)
IC卡介紹
2.1.124C01的基本原理:
24C01的特點是單相電源供電,工作電壓范圍寬:2.5~5.5V;低功耗CMOS技術(shù)(100KHZ,2.5V和400KHZ,5V兼容),自定時寫周期(包含自動擦除),頁面寫周期的典型值為2ns,具有硬件寫保護.
器件型號24C01的結(jié)構(gòu)和引腳如圖所示:
其中:SCL---串行時鐘端
SDA---串行數(shù)據(jù)端
WP---為寫保護,當WP為高電平存儲器只讀;當WP為低電平時存儲器可讀可寫.
A0,A1,A2---片選或塊選
SDA為漏極開路端,需接上拉電阻到VCC.數(shù)據(jù)的結(jié)構(gòu)為X8位.信號為電平觸發(fā),而非邊沿觸發(fā).輸入端內(nèi)接有濾波器,能有效抑制噪聲.自動擦除(邏輯"1")在每一個寫周期內(nèi)完成.
24C01采用I2C規(guī)程,運用主從雙向通信.器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器.主器件(通常是微控制器)和從器件可工作與接收器和發(fā)送器狀態(tài).總線必須有主器件控制,主器件產(chǎn)生串行時鐘(SCL),控制總線的傳送方向,并產(chǎn)生開始和停止條件.串行E2PROM為從器件.無論主控制器,還是從控制器,接受一個字后必須發(fā)出一個確認信號ACK.
開始和停止位控制總線有效.操作在開始位控制下開始,再停止位控制下結(jié)束.開始位為SCL為低,SDA由高到低變化.停止位為SCL為高時,SDA由低到高變化.
當SCL為高時,數(shù)據(jù)穩(wěn)定有效,在SCL脈沖的低電平期間數(shù)據(jù)SDA改變,變?yōu)樗鶄鬏數(shù)臄?shù)據(jù)位.對每一個SCL脈沖,只能傳送一位數(shù)據(jù).
2.1.2控制字節(jié)要求:
開始位以后,主器件送出8位控制字節(jié).控制字節(jié)的結(jié)構(gòu)(不包括開始位)如下所示:
1010
A2A1A0
R/W(1/0)
I2C從器件地址
片選信號
讀寫控制位
說明:
(1).控制字節(jié)的第1~4位為從器件地址位(存儲器為1010).控制字節(jié)中的前4為碼確認器件的類型.此4位碼右飛利浦公司的I2C規(guī)程所決定.1010碼即為從器件為串行E2PROM的情況.串行E2PROM將一直處于等待狀態(tài),直到1010碼發(fā)送到總線上為止.當1010碼發(fā)送到總線上,其他非串行E2PROM從器件將不會影響.
(2).控制字節(jié)的第5~7位為1~8片的片選或存儲器內(nèi)的塊地址選擇位.此三個控制位用于選片或者內(nèi)部塊選擇.此處24C01內(nèi)部無連接.
器件
容量
(Kbit)
內(nèi)部塊數(shù)
頁面字節(jié)
控制字(位)
引腳
A2A1A0
A2A1A0
24LC01B,24C01
1
1
8
XXX
內(nèi)部無連接
A2,A1,A0引腳無內(nèi)部連接,這三位無關(guān)緊要;作為器件選擇的,可接高電平或低電平.
(3).控制字節(jié)第8位為讀,寫操作控制碼,如果此位為1,下一字節(jié)進行讀操作(R);此字節(jié)為0,下一字節(jié)進行寫操作(W).
當串行E2PROM產(chǎn)生控制字節(jié)確認位以后,主器件總線上將傳送相應(yīng)的字地址或數(shù)據(jù)信息.
2.2讀卡器基本原理及設(shè)計
2.2.1確認要求:
在每一個字節(jié)接收到后,接收器件必須產(chǎn)生一個確認信號位ACK.主器件必須產(chǎn)生一個與此確認位相應(yīng)的額外時鐘脈沖.若不在從器件輸出的最后一個字節(jié)中產(chǎn)生確認位,主器件必須發(fā)一個數(shù)據(jù)結(jié)束信號給從器件.在這種情況下.從器件必須保持數(shù)據(jù)線為高電平(用ACK表示),使的主器件能產(chǎn)生停止條件.
2.2.2寫操作:
1.字節(jié)寫:
在主器件發(fā)出開始信號以后,主器件發(fā)送寫控制字節(jié)即10101A2A1A00(其中R/W控制位為低電平"0").指示從接收器被尋址,由主器件發(fā)送的下一個字節(jié)字地址將被寫入到24C01的地址指針.主器件接受來自24C01的另一個確認信號以后,發(fā)送數(shù)據(jù)字節(jié),并寫入到尋址的存儲器地址.24C01再次發(fā)出確認信號,同時主器件產(chǎn)生停止條件P啟動內(nèi)部寫周期.在內(nèi)部寫周期內(nèi)24C01將不產(chǎn)生確認信號.如下圖:
2.頁面寫:
如同字節(jié)寫方式,先將寫控制字節(jié),字地址發(fā)送到24C01,接著發(fā)N個數(shù)據(jù)字節(jié),主器件發(fā)送不多于一個字節(jié)的數(shù)據(jù)字節(jié)到24C01,這些數(shù)據(jù)字節(jié)暫時存在片內(nèi)頁面緩存器中,在主器件發(fā)送停止信號后寫入常數(shù).如果主器件在產(chǎn)生停止條件以前要發(fā)送多于一頁字的數(shù)據(jù),地址計數(shù)器將會循環(huán),并且先接收到的數(shù)據(jù)將被覆蓋.象字節(jié)寫操作一樣,一旦停止條件被接收到,則內(nèi)部寫周期將開始.見下圖:
3.寫保護
當WP端連接到VCC,24C01可被用做串行ROM,編程將被禁止,且整個存儲器寫保護.
2.2.3讀操作:
當從器件地址的R/W位被置為"1",啟動讀操作.存在三種基本讀操作類型;讀當前地址內(nèi)容,讀隨意地址內(nèi)容.
1.讀當前地址內(nèi)容:
24C01片內(nèi)包含一個地址計數(shù)器,此地址計數(shù)器保持被存取的最后一個字的地址,并在片內(nèi)自動加1.因此,如果以前存取(讀或者寫操作均可)的地址為N,下一個讀操作從N+1地址中讀出數(shù)據(jù).在接收到從器件的地址中R/W為1的情況下,24C01發(fā)送一個確認位,并且送出8位數(shù)據(jù)字.主器件將不產(chǎn)生確認位(相當于產(chǎn)生ACK),但產(chǎn)生一個停止條件.24C01不再繼續(xù)發(fā)送.見下圖:
2.讀隨意地址內(nèi)容:
這種方式允許主器件讀存儲器任意地址內(nèi)容,操作如下圖表示:
主器件發(fā)出1010A2A1A0后發(fā)W位,再發(fā)讀的存儲器地址,在接收到從器件的確認位ACK后產(chǎn)生一個開始條件S,以結(jié)束上述寫過程,再法一個讀控制字節(jié),從器件24C01在發(fā)ACK信號后發(fā)出8位數(shù)據(jù),主器件發(fā)ACK后發(fā)出一個停止位,24C01不再發(fā)后續(xù)字節(jié).
3.讀順序地址內(nèi)容:
讀順序地址內(nèi)容的方式與讀隨意地址內(nèi)容的方式相同,只是在24C01發(fā)送第一個字節(jié)以后主器件不發(fā)ACK和STOP.而是發(fā)ACK確認信號,控制24C01發(fā)送下一個順序地址的8位數(shù)據(jù)字,直到X個數(shù)據(jù)讀完.見下圖表示:
4.防止噪聲:
24C01使用了一個VCC門檢測器電路.在一般條件下,如果VCC低于1.5V,門檢測器對內(nèi)部擦,寫邏輯不使能.
SCL和SDA輸入端接有施密特觸發(fā)器和濾波器電路,即使在總線上有噪聲存在的情況下它們也能抑制噪聲峰值以保證器件正常工作.
第三章:系統(tǒng)硬件設(shè)計與實現(xiàn)
3.1標準異步串行通信接口技術(shù)
3.1.1RS-232C總線標準接口:
RS-232標準接口的全稱是:"使用二進制進行交換的數(shù)據(jù)設(shè)備和數(shù)據(jù)通信設(shè)備(DCE)之間的接口".計算機,外設(shè),顯示終端等都屬于數(shù)據(jù)終端設(shè)備,而調(diào)制解調(diào)器則是數(shù)據(jù)通信設(shè)備.RS-232在通信線路中的連接的方式如下圖所示:
"RS-232C"中的RS是RECOMMENDEDSTANDARD的縮寫.232是標識符,C表示此標準修改了三次(原來有過RS-232A,RS232-B標準)
RS-232C定義了20根信號線,其中最常用的信號線的定義,分類及功能見下表:
引腳號
信號名稱
簡稱
方向
信號功能
1
保護地
-
-
接設(shè)備外殼,安全地線
2
發(fā)送數(shù)據(jù)
TXD
DCE
DTE發(fā)送串行數(shù)據(jù)
3
接收數(shù)據(jù)
RXD
DTE
DTE接收串行數(shù)據(jù)
4
請求發(fā)送
RTS
DCE
DTE請求切換到發(fā)送方式
5
清除發(fā)送
CTS
DTE
DCE以切換到準備接收(清除發(fā)送)
6
數(shù)傳設(shè)備就緒
DSR
DTE
DCE準備就緒
7
信號地
-
-
信號地
8
載波檢測(RLSD)
DCD
DTE
DCE已接收到遠程信號
20
數(shù)據(jù)終端就緒
DTR
DCE
DCE準備就緒
22
振鈴指示
RI
DTE
通知DTE,通信線路以妥
電氣特性:
由于RS-232C是早期(1969年)為促進公用電話網(wǎng)絡(luò)進行數(shù)據(jù)通信而制定的標準,其邏輯電平是對地對稱的,與TTL,MOS邏輯電平完全不同.邏輯0電平為+5V~+15V之間,邏輯1電平為-5V~-15V之間,因此,RS-232C驅(qū)動器與電平連接必須經(jīng)過電平轉(zhuǎn)換.
RS-232C由于發(fā)送器和接收器之間具有公共的信號地,不能使用雙端信號,因此,共膜噪聲會耦合到信號系統(tǒng)中,這是迫使RS-232C使用較高傳輸電壓的主要原因.即使如此,該標準的信號傳輸速率也只能達到20KB/S,而且最大距離僅15M.只有在這種條件下才能可靠地進行數(shù)據(jù)傳輸.下表列出了RS-232C的主要電器性能:
不帶負載時驅(qū)動器輸出電平V0
<25V(-25~+25V)
負載電阻RL范圍
3~7K
負載電容(包括線間電容)CL
+3V
傳號(MARK)或邏輯"1"時
驅(qū)動器輸出電平
-5~-15V
在負載端
<-3V
輸出短路電流
<0.5A
驅(qū)動器轉(zhuǎn)換速率
<30V/us
驅(qū)動器輸出電阻R0
<300)(在斷電條件下測量)
3.1.2RS-232C總線標準連接系統(tǒng):
當計算機與終端之間利用RS-232C作近程連接時,這時有幾根線實現(xiàn)交換連接.
下圖為計算機與讀寫器(終端)之間利用RS-232C連接的最常用的交叉連線圖.圖中"發(fā)送數(shù)據(jù)"與"接收數(shù)據(jù)"是交叉相連的,使得兩設(shè)備都能檢測出對方是否已經(jīng)準備好.
3.1.3MAX232芯片及接口電路:
MAX232芯片介紹:
MAX232芯片是MAXIM公司生產(chǎn),包行兩路接收器和驅(qū)動器的IC芯片,適用于各種EIA-232C和V.28/V.24的通信接口.MAX232芯片內(nèi)部有一個電壓變換器,可以把輸入的+5V電源電壓變換成為RS-232C所輸出電平所需的10V電壓.所以,采用此芯片的串行通信系統(tǒng)只需單一的+5V電源就可以了.對于沒有12V電源的場合,其適用性更強.
MAX232芯片的引腳結(jié)構(gòu)如圖:
實際RS232接口電路:
在實際中,器件對電源噪聲很敏感.因此,VCC必須對地加去耦電容C5,其值為0.1F.電容C1,C2,C3,C4取同樣數(shù)值的鉭電解電容1.0F/16V,用以提高抗干擾能力,再連接時必須盡量靠近器件.
注意:如使T1IN接單片機的發(fā)送端TXD,則PC機的RS-232的接收端RSD一定要對應(yīng)接T1OUT引腳;同時,R1OUT接單片機的RXD引腳,PC機的RS-232的發(fā)送端TXD對應(yīng)接R1IN引腳,其接口電路如下圖:
3.289C51與24C01通信的硬件設(shè)計
3.2.189C51與24C01通信的硬件電路圖(見附圖)
圖為89C52微控制器與24C01串行EEPROM的典型連接.圖中P1.6提供24C01的時鐘SCL,P1.7和24C01內(nèi)部進行數(shù)據(jù)傳送,A2A1A0內(nèi)部無連接,為無關(guān)位.
注意:圖中的WP為EEPROM的寫保護信號,高電平有效,因為我們要進行寫入操作,所以只能把它接低電平.
第四章:系統(tǒng)軟件設(shè)計與實現(xiàn)
4.1模擬I2C總線數(shù)據(jù)傳輸編程:
24C01系列是采用I2C接口的串行EEPROM器件.而51系列單片機大多無I2C總線接口功能,這就要靠軟件來模擬了.
I2C總線在標準方式下的最高時鐘頻率為100KHZ,時鐘信號最小時端為4.7S,高電平時端不得小于4S,這就決定了器件的最大傳送率不大于10KB/S.可用展寬TLOW的辦法來降低數(shù)據(jù)傳送率.
用普通I/O線模擬I2C總線數(shù)據(jù)傳送時,必須遵從定時規(guī)范.下圖繪出了啟動,停止,發(fā)送應(yīng)答ACK("0"數(shù)據(jù)位)以及發(fā)送反態(tài)應(yīng)答位("1"數(shù)據(jù)位)的時序規(guī)范.
常用程序段編程:
4.1.1產(chǎn)生起始位和停止位:
如果單片機所用晶體振蕩器的頻率為6MHZ,則每個周期為2S根據(jù)上圖的(A),(B),我們可分別寫出產(chǎn)生時鐘SCL和SDA的發(fā)送起始條件和停止條件兩段子程序.本設(shè)計中晶體頻率并非6MHZ,而是使用12MHZ的晶振頻率,則要相應(yīng)增加各程序段中NOP指令的條數(shù),NOP指令應(yīng)增至4條以滿足時序的要求.
(A).發(fā)送起始條件STAT(B).發(fā)送停止條件STOP
STA:SETBP1.7STOP:CLRP1.7
SETBP1.6SETBP1.6
NOPNOP
NOPNOP
NOPNOP
NOPNOP
CLRP1.7SETBP1.7
NOPNOP
NOPNOP
NOPNOP
NOPNOP
CLRP1.6CLRP1.7
RETRET
4.1.2發(fā)送應(yīng)答位和反態(tài)應(yīng)答位子程序:
如上圖(C),(D)編出ACK和ACK的發(fā)送子程序:
(A).發(fā)送應(yīng)答位ACK(B).發(fā)送反態(tài)應(yīng)答位ACK
MACK:CLRP1.7MNACK:SETBP1.7
SETBP1.6SETBP1.6
NOPNOP
NOPNOP
NOPNOP
NOPNOP
CLRP1.6CLRP1.6
SETBP1.7CLRP1.7
RETRET
4.1.3應(yīng)答位檢查子程序:
在I2C中總線數(shù)據(jù)傳送中,接收器收到發(fā)送器傳送來的一個字節(jié)后,必須向SDA線上返送一個應(yīng)答位ACK,表明此字節(jié)已經(jīng)收妥.本子程序使單片機產(chǎn)生一個額外的時鐘(第九個時鐘脈沖,在脈沖的高電平期間讀ACK應(yīng)答位,并將它的狀態(tài)被復(fù)制到FO標志中以供檢查.若有正常ACK,則FO標志為0,否則為1.
CACK:SETBP1.7;P1.7作為輸入
SETBP1.6;第9各時鐘脈沖開始
NOP
MOVC,P1.7;讀SDA線
MOVFO,C;轉(zhuǎn)存入FO中
CLR;時鐘脈沖結(jié)束
NOP
RET
4.1.4字節(jié)數(shù)據(jù)發(fā)送子程序:
由于是SDA接在并行口,無移位寄存器,因此數(shù)據(jù)通過指令完成移位在從P1.7串行輸出.遵循時序要求數(shù)據(jù)在時鐘低電平時變化,高電平時穩(wěn)定,每一個時鐘脈沖傳送一位,編寫字節(jié)數(shù)據(jù)傳送子程序.
該子程序的入口條件時待發(fā)送的字節(jié)位于累加器ACC中.
WRB:MOVR7,#8;位計數(shù)器初值
WLP:RLCA;欲發(fā)送位移入C中
JCWR1;此位為1,轉(zhuǎn)入WR1
CLRP1.6;此位為0,發(fā)送0
SETBP1.7;時鐘脈沖變?yōu)楦唠娖?/p>
NOP;延時
NOP
NOP
NOP
CLTP1.6
DJNZT7,WLP
RET
WR1:SETBP1.7
SETBP1.6
NOP
NOP
CLRP1.6
CLRP1.7
DJNZR7,WLP
RET
4.1.5字節(jié)數(shù)據(jù)接收子程序:
該子程序的功能是在時鐘的高電平時數(shù)據(jù)以穩(wěn)定,讀入一位,經(jīng)過8個時鐘從SDA線上讀入一個字節(jié)數(shù)據(jù),并將所讀字節(jié)存于A和R6中.
RDB:MOVR7,#8;R7存放位計數(shù)器初值
RLP:SETBP1.7;P1.7輸入
SETBP1.6;SCL脈沖開始
MOVC,P1.7;讀SDA線
MOVA,R6;取回暫存結(jié)果
RLCA;移入新接收為位
MOVR6,A;暫存入R6
CLRP1..6;SCL脈沖結(jié)束
DJNZR7,RLP;未讀完8位,轉(zhuǎn)RLP
RET;8位讀完,返回
4.1.6N個字節(jié)數(shù)據(jù)發(fā)送子程序:
子程序入口條件:
控制字節(jié)1010A2A1A0W以存放在片內(nèi)RAM的SLA單元中.
待發(fā)送數(shù)據(jù)各字節(jié)已位于片內(nèi)RAM以MTD+1為起始地址的N個連續(xù)單元中.
NUMBYT單元中存有欲發(fā)送數(shù)據(jù)的字節(jié)數(shù).
24C01接收到數(shù)據(jù)的存放首址存放在片內(nèi)RAM和MTD單元.
WRNBYT:PUSHPSW;保護現(xiàn)場
WRNBYT1:MOVPSW,#18H;改用第3組工作寄存器
CALLSTA;發(fā)起始條件
MOVA,SLA;讀寫控制字節(jié)
CALLWRB;發(fā)送寫控制字節(jié)
CALLCACK;檢測應(yīng)答位
JBFO,WRNBYT;無應(yīng)答位,重發(fā)
MOVR0,#MTD;有應(yīng)答位,繼而發(fā)數(shù)據(jù),第一個數(shù)據(jù)為首址
MOVR5,NUMBYT;R5存讀數(shù)據(jù)字節(jié)數(shù)
WRDA:MOVA,@R0;讀一個字節(jié)數(shù)據(jù)
LCALLWRB;發(fā)送此字節(jié)
LCALLCACK;檢測ACK
JBFO,WRNBYT1;無ACK,重發(fā)
INCRO;調(diào)整指針
DJNZR5,WRDA;尚未發(fā)完N個字節(jié),繼續(xù)
LCALLSTOP;全部數(shù)據(jù)發(fā)完,停止
POPPSW;恢復(fù)現(xiàn)場
RET;返回
4.1.7讀,寫數(shù)據(jù)程序:
從24C01的當前地址開始讀出N個字節(jié)數(shù)據(jù)存入片內(nèi)RAM以MRD為首地址的N個單元中.
這段子程序的入口條件:
片內(nèi)RAM中的SLA單元存有1010A2A1A0R讀控制字節(jié).
NUMBYT單元中存有欲接收數(shù)據(jù)的字節(jié)數(shù)
子程序的出口條件:
所讀完的數(shù)據(jù)將存入片內(nèi)RAM以MRD為首地址的N個連續(xù)單元內(nèi).
RDNBYT:PUSHPSW;發(fā)送起始條件
RDNBYT1:MOVPSW,#18H;讀入讀控制字節(jié)
LCALLSTA;發(fā)送讀控制字節(jié)
MOVA,STA;檢測ACK
LCALLWRBYT;無ACK,重新開始
LCALLCACK;接受數(shù)據(jù)緩沖區(qū)指針
JBFO,RDNBYT1;讀一個字節(jié)
MOVR1,#MRD;存入接收數(shù)據(jù)緩沖區(qū)
GO-ON:LCALLRDB;未全接收完,轉(zhuǎn)ACK
MOV@R1,A;以讀完所有字節(jié),發(fā)ACK
DJNZNUMBYT,ACK;發(fā)停止條件
LCALLMNACK
LCALLSTOP
POPPSW
RET
ACK:LCALLMACK;發(fā)ACK
INCR1;調(diào)整指針
AJMPGO-ON;繼續(xù)接收
4.2系統(tǒng)軟件程序流程圖
4.2.1PC機通訊軟件框圖:
4.2.2單片機通訊軟件框圖:
附錄一:
附錄二參考文獻
[1]康華光編.電子技術(shù)基礎(chǔ)―模擬部分.第四版.北京:高等教
育出版社,1992年
[2]康華光編.電子技術(shù)基礎(chǔ)―數(shù)字部分.第四版.北京:高等
教育出版社,1992年
[3]邱關(guān)源編.電路.第三版.北京:高等教育出版社,1989年.
[4]蔡美琴.張為民.沈新群.張榮娟主編.MCS-51系列單片機系
統(tǒng)及應(yīng)用.第一版,北京:高等教育出版社,1992年.
[5]李朝青編.PC機及單片機數(shù)據(jù)通信技術(shù).北京:航空航天大
學出版社,
[6]王卓人.鄧晉鈞.劉宗祥編.IC卡的技術(shù)與應(yīng)用.電子工業(yè)出
版社,1999年.
[7]丁元杰主編.單片微機原理及應(yīng)用.第二版.北京:機械工
業(yè)出版社,2000年.
[8]劉樂善主編.微型計算機接口技術(shù)及應(yīng)用.華中理大學出版
社,
[9]周明德主編.微型計算機系統(tǒng)原理及應(yīng)用.第三版.北京:清華大學出版社,1998年.
[10]王愛英.智能卡技術(shù)――IC卡[M].北京:清華大學出版社,2000
基于IC卡預(yù)付費電子電能表系統(tǒng)設(shè)計與實現(xiàn)
第頁共29頁
接收數(shù)據(jù)
發(fā)送數(shù)據(jù)
RXD
TXD
終
端
接收數(shù)據(jù)
發(fā)送數(shù)據(jù)
TXD
RXD
計
算
機
屏蔽地
數(shù)據(jù)終端就緒
數(shù)據(jù)終端就緒
數(shù)據(jù)終端就緒
數(shù)據(jù)終端就緒
信號線