




已閱讀5頁(yè),還剩47頁(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)介
2008屆畢業(yè)生畢業(yè)論文題 目: 非接觸式IC卡讀寫器設(shè)計(jì) 院系名稱: 電氣工程學(xué)院 專業(yè)班級(jí): 自動(dòng)本 學(xué)生姓名: 學(xué) 號(hào):指導(dǎo)教師: 教師職稱: 副教授 2008 年 06 月 10 日48摘 要本文介紹了以AT89S52單片機(jī)作為微控制器,以射頻技術(shù)為核心,基于PHILIPS公司MF-RC500模塊的非接觸式IC卡讀寫器,闡述了該系統(tǒng)的組成、工作原理以及相應(yīng)的軟硬件設(shè)計(jì)。本文闡述了非接觸式IC卡技術(shù)的基本原理,并對(duì)其讀卡器在工程上的設(shè)計(jì)和開發(fā)作了研究。論文描述了IC卡系統(tǒng)的發(fā)展和現(xiàn)狀,通過(guò)對(duì)射頻識(shí)別技術(shù)原理的研究,揭示了射頻IC卡系統(tǒng)的工作原理。介紹了Type A 型常用的卡片MF1 IC S50和對(duì)應(yīng)讀卡器的設(shè)計(jì)方法和電路 (使用專用射頻讀卡集成芯片RC500),并詳細(xì)闡述了系統(tǒng)各個(gè)模塊的組成和原理,給出了天線的設(shè)計(jì)規(guī)范。然后根據(jù)課題要求詳細(xì)介紹了自主設(shè)計(jì)的一款Type A 型讀卡器的核心部件射頻模塊的實(shí)現(xiàn)方案和具體電路。最后介紹了系統(tǒng)設(shè)計(jì)的軟件部分,重點(diǎn)介紹了RC500的主要特性、基本指令集以及與Mifare1非接觸IC卡數(shù)據(jù)通信的一些重要模塊的編程思路和編程方法,給出了兩個(gè)編程實(shí)例。實(shí)際測(cè)試證明該讀寫器完成了基本功能,運(yùn)行穩(wěn)定。關(guān)鍵詞:微控制器;非接觸式IC卡;讀寫器;MF-RC500;射頻識(shí)別Title Design of Reader for Contactless IC Card Abstract:With micro-computer AT89S52 as controller, the radio frequency technology as core, this paper describes the systems composition、work principle and design of hardware and software of contactless IC card read-write device base on MF-RC500 of PHILIPS Company .This paper introduces the basic principle of the contactless IC card technology and the application of IC card reader. First the paper describes the development and the status quo of the IC cards system. Then the work principle of the radio frequency IC card system is discovered through studying the principium of the radio frequency technology. Whereafter, the paper introduces the card MF1 IC S50 what is usually used in the cards of Type A, the design method and the circuit of the card reader device (the device use the radio frequence chip reader module RC500), and in detail analyzes the principle of every module, simply Points to the design rules of the antenna circuit. Then, the paper in detail introduces the implement project about circuit and program of the kemel components of a Type A IC cards reader, the RF module, what is completely made by do-it-yourself. In the end, the paper introduces the software of the system, and the main property and basic intruction set of a contactless IC card reader RC500 based on PhilipsMIFARE1 are introduced. And some ideals and methods of programme about the basilic module with data communication between the cards and RC500 are presented. Finally the two examples of programme are given. The Read-Write Device is stabilized through test.Keywords: MCU;Contactless IC Card;Read-Write Device;MF-RC500;Radio Frequency Identification;目 次1 緒論11.1 課題研究的背景和意義11.2 目前國(guó)內(nèi)外研究現(xiàn)狀21.3 本課題設(shè)計(jì)的主要工作和任務(wù)32 讀卡器系統(tǒng)方案設(shè)計(jì)與實(shí)現(xiàn)42.1 IC卡介紹42.2 讀卡器基本原理42.3 總體方案論證53 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)83.1 電源模塊83.2 人機(jī)接口模塊83.3 系統(tǒng)時(shí)鐘模塊93.4 存儲(chǔ)模塊103.5 MF-RC500讀寫模塊113.6 通信模塊174 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)194.1 軟件設(shè)計(jì)環(huán)境194.2 主程序的設(shè)計(jì)194.3 讀/寫卡程序設(shè)計(jì)204.4 讀卡器外圍基本電路程序的設(shè)計(jì)244.5 通信部分程序設(shè)計(jì)285 系統(tǒng)調(diào)試29結(jié) 論30致 謝31參 考 文 獻(xiàn)32附錄A 總電路圖33附錄B 讀/寫卡源程序341 緒論1.1 課題研究的背景和意義IC卡是集成電路卡(Integrated Circuit Card)的英文簡(jiǎn)稱,在有些國(guó)家也稱之為智能卡、微芯片卡等,IC卡是在較為原始的磁卡的基礎(chǔ)上發(fā)展起來(lái)的,它的最初設(shè)想是由日本人提出來(lái)的。1969年12月,日本的有村國(guó)孝提出一種制造安全可靠的信用卡方法,并于1970年獲得專利,那時(shí)叫ID卡(Identification Card)。1974年,法國(guó)的羅蘭莫雷諾(Roland Moreno)發(fā)明了帶集成電路芯片的塑料卡片,并取得了專利權(quán),這就是早期的IC卡。1976年法國(guó)布爾(Bull)公司研制出世界第一枚IC卡1。早期的IC卡系統(tǒng)是接觸式的,它有其本身不可克服的缺點(diǎn),如接觸磨損、交易速率慢、難以維護(hù)、基礎(chǔ)設(shè)施投入大等。隨著信息業(yè)和服務(wù)業(yè)的全球化,在一些場(chǎng)合,對(duì)信息載體的便攜性、安全性及易用性等方面提出更高的要求,于是非接觸式IC卡以其無(wú)機(jī)械磨損、容易維護(hù)、方便使用等優(yōu)點(diǎn),成為IC卡中潛力最大的新軍而備受國(guó)內(nèi)外業(yè)界的矚目。非接觸式IC卡系統(tǒng)是當(dāng)今世界先進(jìn)的射頻技術(shù)和IC卡技術(shù)相結(jié)合的產(chǎn)物,是世界上最近幾年發(fā)展起來(lái)的一項(xiàng)新技術(shù),它成功地將射頻識(shí)別技術(shù)和IC技術(shù)結(jié)合起來(lái),解決了無(wú)源和免接觸這一難題,是電子器件領(lǐng)域的一大突破,使卡片在靠近讀寫器表面時(shí)即可完成卡中數(shù)據(jù)的讀寫操作。非接觸式IC卡一經(jīng)問(wèn)世,便立即引起廣泛的關(guān)注。非接觸式IC卡操作方便、抗干擾性高、可靠性高、安全性高的特點(diǎn),使得它在一些接觸式IC卡不適用或者無(wú)法使用的場(chǎng)所,具有無(wú)可比擬的優(yōu)勢(shì),被廣泛應(yīng)用于公交、收費(fèi)、門禁系統(tǒng)、考勤系統(tǒng)等領(lǐng)域2。目前非接觸式IC卡有很多不同的標(biāo)準(zhǔn),如IS014443A和IS014443B等,符合不同標(biāo)準(zhǔn)的卡片在不同的領(lǐng)域內(nèi)相互滲透和競(jìng)爭(zhēng)??ㄆ愋偷亩鄻有詻Q定了讀卡器的多樣性,而市場(chǎng)的多樣性則決定了即使是同類型的應(yīng)用,也可能使用不同類型的卡片,若讀卡器只能讀取某一種類型的卡片,那么在處理這個(gè)應(yīng)用時(shí),必將需要多臺(tái)讀卡器,造成資源的重復(fù)浪費(fèi),這樣的讀卡器必將不能適應(yīng)市場(chǎng)的需求,這就對(duì)讀卡器的讀卡能力提出了更高的要求。設(shè)計(jì)出一種能讀取多種類型卡片的讀卡器,既是市場(chǎng)應(yīng)用的需求,也是未來(lái)的發(fā)展趨勢(shì)。目前,讀卡器已經(jīng)開始大量應(yīng)用于各種“一卡通”系統(tǒng)中,這些應(yīng)用對(duì)讀卡器的功能要求越來(lái)越高,除了傳統(tǒng)的對(duì)卡號(hào)的讀取之外,需要能夠?qū)ㄆM(jìn)行更高層的數(shù)據(jù)操作,與PC設(shè)備之間能進(jìn)行信息交流。為了適應(yīng)這種發(fā)展趨勢(shì),非接觸式IC卡的讀卡器的開發(fā)與設(shè)計(jì)也迅速發(fā)展起來(lái)3。1.2 目前國(guó)內(nèi)外研究現(xiàn)狀智能卡的發(fā)展歷史并不久遠(yuǎn),而且全球各地發(fā)展不均衡,其中歐洲發(fā)展得最早、最好。智能IC卡源于七十年代的歐洲和日本,后來(lái)由法國(guó)人提出的將處理器置入IC卡卡片中的思想得到了廣泛接受,由于其具有完善的密碼功能從而有效的解決了智能卡的舞弊行為。隨后智能卡在1977-1998年間得到了迅速發(fā)展。九十年代初期,智能卡開始應(yīng)用于GSM數(shù)字移動(dòng)通訊、有線電視的收費(fèi)等領(lǐng)域。在美國(guó),智能卡發(fā)展相對(duì)遲緩,但隨著智能卡在歐洲的成功使用,其在美國(guó)產(chǎn)生巨大影響,盡管如此,美國(guó)在智能卡技術(shù)等領(lǐng)域仍處于世界領(lǐng)先地位。據(jù)Innovation國(guó)際發(fā)明組織統(tǒng)計(jì),2005年10月到2006年9月全世界IC卡硬件產(chǎn)業(yè)中,IC卡及其讀寫設(shè)備數(shù)量分別為42000萬(wàn)張和877000臺(tái),其中法國(guó)分別占98%和71%,處于世界領(lǐng)先地位。目前,法國(guó)生產(chǎn)制造的IC卡不僅在數(shù)量上領(lǐng)先各國(guó),其應(yīng)用領(lǐng)域也靈活多樣,如在金融、電信、醫(yī)療和交通運(yùn)輸?shù)雀鱾€(gè)領(lǐng)域都有IC卡的應(yīng)用,其中電子金融卡等己經(jīng)達(dá)到經(jīng)濟(jì)生產(chǎn)規(guī)模。我國(guó)對(duì)IC卡行業(yè)的發(fā)展始于1994年,當(dāng)時(shí)的中央領(lǐng)導(dǎo)特別是江澤民同志高度重視IC卡行業(yè),高瞻遠(yuǎn)矚,指示要發(fā)展我國(guó)自己的IC卡事業(yè),建立“金卡工程”。雖然至今也只有短短的十幾年左右時(shí)間,但是己經(jīng)取得了不小的成就。我國(guó)自1994年實(shí)施“金卡”工程以來(lái),推動(dòng)了金融電子化、商業(yè)和流通領(lǐng)域電子化的步伐,使我國(guó)銀行業(yè)務(wù)得到迅速發(fā)展,并逐漸波及醫(yī)療、交通、社會(huì)保險(xiǎn)、稅務(wù)等領(lǐng)域。在我國(guó),智能卡在各種應(yīng)用領(lǐng)域全面開花,目前超過(guò)10個(gè)政府部門和行業(yè)推廣應(yīng)用了智能卡。近年來(lái),我國(guó)的發(fā)卡量年增長(zhǎng)率達(dá)到30%至40%,已成為世界智能卡應(yīng)用發(fā)展最快的國(guó)家之一4。目前在我國(guó),隨著金卡工程建設(shè)的不斷深入發(fā)展,IC卡系統(tǒng)已在眾多領(lǐng)域獲得廣泛應(yīng)用,并取得了初步的社會(huì)效益。隨著政府管理和支持力度的加大、技術(shù)研發(fā)水平的提升,IC卡市場(chǎng)競(jìng)爭(zhēng)格局將發(fā)生深刻的變化。隨著政府智能卡項(xiàng)目的啟動(dòng),國(guó)內(nèi)企業(yè)技術(shù)實(shí)力和工藝流程的優(yōu)化,使得國(guó)外品牌市場(chǎng)份額受到很大程度的限制,而國(guó)內(nèi)品牌將會(huì)有快速的發(fā)展。今后的幾年,是我國(guó)IC卡系統(tǒng)應(yīng)用向縱深發(fā)展的時(shí)期。我國(guó)IC卡系統(tǒng)市場(chǎng)格局必將由無(wú)序走向有序,市場(chǎng)競(jìng)爭(zhēng)必將由有限走向無(wú)限,IC卡系統(tǒng)市場(chǎng)將逐步走向成熟。但是對(duì)于尖端的CPU卡及非接觸式IC智能射頻卡的制卡技術(shù)及其相應(yīng)的讀/寫卡設(shè)備技術(shù),仍處于落后狀態(tài)。這極大地制約了IC卡行業(yè)的發(fā)展,特別是在要求有極高安全性和保密性的金融行業(yè)中,制約了我國(guó)金卡工程的實(shí)施和發(fā)展。設(shè)計(jì)和開發(fā)出更好的讀卡設(shè)備,對(duì)加快我國(guó)IC卡行業(yè)的發(fā)展,特別是尖端的CPU卡及非接觸式IC智能射頻卡的推廣應(yīng)用,有著重大的意義5。1.3 本課題設(shè)計(jì)的主要工作和任務(wù)非接觸式IC卡代表了IC卡發(fā)展的方向,同接觸式IC卡相比其獨(dú)有的優(yōu)點(diǎn)使其能夠在絕大多數(shù)場(chǎng)合代替接觸式IC卡的使用,而在非接觸式IC 卡應(yīng)用系統(tǒng)中非接觸式IC卡讀卡器是關(guān)鍵設(shè)備。根據(jù)課題設(shè)計(jì)要求,本課題將開發(fā)一種基于飛利浦公司MF-RC500讀卡芯片的非接觸式IC卡讀卡器,其具有以下特點(diǎn):能識(shí)別TYPEA型卡片,讀取卡號(hào),并有防沖突功能;能對(duì)TYPEA 的卡片進(jìn)行高層操作;可以使用RS232通信接口輸出來(lái)與上位機(jī)之間通信;可根據(jù)實(shí)際需求將其作為門禁系統(tǒng)中的讀卡器,或者一卡通系統(tǒng)中的讀卡器。本設(shè)計(jì)完成后所要達(dá)到的主要指標(biāo)有:(1) 顯示系統(tǒng):液晶屏顯示,能顯示系統(tǒng)時(shí)鐘和卡片信息等;(2) 按鍵操作:能實(shí)現(xiàn)對(duì)系統(tǒng)的設(shè)置和卡上數(shù)據(jù)的操作;(3) 機(jī)器讀卡速度:0.5秒可完成一次打卡過(guò)程,讀卡距離為5至10厘米;(4) 保密性和防偽性:能辨認(rèn)卡的密碼,非授權(quán)范圍內(nèi)的卡作報(bào)警處理;(5) 存儲(chǔ)容量:每臺(tái)讀寫器最多可存儲(chǔ)2000條記錄。本設(shè)計(jì)中需要解決的若干關(guān)鍵技術(shù)有:(1) 射頻識(shí)別技術(shù);(2) 軟件的安全機(jī)制;(3) 由于射頻的特殊性給系統(tǒng)調(diào)試帶來(lái)的困難。該讀寫器完成以后,既可獨(dú)立使用,完成基本功能,外擴(kuò)簡(jiǎn)單接口后,就能構(gòu)成IC卡考勤、門禁、售飯一卡通等系統(tǒng),在公交、校園、娛樂(lè)場(chǎng)所等方面有廣泛的應(yīng)用前景。2 讀卡器系統(tǒng)方案設(shè)計(jì)與實(shí)現(xiàn)2.1 IC卡介紹目前經(jīng)常接觸到的IC卡有兩種:接觸式和非接觸式的IC卡。接觸式的IC卡通過(guò)機(jī)械觸點(diǎn)從讀寫器獲取能量和交換數(shù)據(jù);非接觸式IC卡通過(guò)線圈射頻感應(yīng)從讀寫器獲取能量和交換數(shù)據(jù),所以又稱射頻卡。日前在社會(huì)上常見的是接觸式IC卡,它具有存儲(chǔ)量大,可實(shí)現(xiàn)一卡多用等功能。但是,這類卡的讀寫操作速度較慢,操作也不方便,每次讀寫時(shí)必須把卡插入到讀寫器中才能完成數(shù)據(jù)交換,這樣在讀寫卡片頻繁的場(chǎng)合就很不方便,而且讀寫器的觸點(diǎn)和卡片上IC卡的觸腳暴露在外,容易損壞和搞臟而造成接觸不良。非接觸式智能卡又稱射頻卡,是近幾年發(fā)展起來(lái)的新技術(shù)。它是根據(jù)射頻電磁感應(yīng)原理產(chǎn)生的,它的操作只需將卡放在讀寫器一定距離內(nèi)就能實(shí)現(xiàn)數(shù)據(jù)交換。它成功地將射頻識(shí)別技術(shù)和IC卡技術(shù)結(jié)合起來(lái),將具有微處理器的集成電路芯片和天線封裝于塑料基片之中。讀寫器采用兆頻段及磁感應(yīng)技術(shù),通過(guò)無(wú)線方式對(duì)卡片中的信息進(jìn)行讀寫并采用高速率的半雙工通信協(xié)議。其優(yōu)點(diǎn)是應(yīng)用范圍廣、操作方便。因此,在公交、門禁、娛樂(lè)場(chǎng)所等方面有廣泛的應(yīng)用前景。目前我國(guó)引進(jìn)的射頻卡主要以PHILIPS公司的MIFARE卡為主6。本系統(tǒng)在調(diào)試過(guò)程中使用的是PHILIPS公司的MFI IC S50,其屬于TYPEA型卡,下面對(duì)其做一些簡(jiǎn)述:Mifare1 IC 卡的核心是PHILIPS公司MF1 IC S50系列微模塊,它確定了卡片的特性以及卡片讀寫器的諸多性能。Mifare1 IC智能卡內(nèi)建有高速的MCU,卡片上除了IC微晶片及一副高效率天線外,無(wú)任何其他元件;卡片上無(wú)源,工作時(shí)的電源能量由讀寫器天線發(fā)送無(wú)線電載波信號(hào)耦合到卡片上天線而產(chǎn)生電能;它與讀寫器通信使用握手式半雙工通信協(xié)議。2.2 讀卡器基本原理非接觸式IC卡讀寫器以射頻識(shí)別技術(shù)為核心,讀寫器內(nèi)主要使用專用的讀寫處理芯片,它是讀/寫操作的核心器件,其功能包括調(diào)制、解調(diào)、產(chǎn)生射頻信號(hào)、安全管理和防碰撞機(jī)制。其內(nèi)部結(jié)構(gòu)分為射頻區(qū)和接口區(qū):射頻區(qū)內(nèi)含調(diào)制解調(diào)器和電源供電電路,直接與天線連接;接口區(qū)有與單片機(jī)相連的端口,還具有與射頻區(qū)相連的收/發(fā)器、數(shù)據(jù)緩沖器、防碰撞模塊和控制單元。這是與智能IC卡實(shí)現(xiàn)無(wú)線通信的核心模塊,也是讀寫器讀寫智能IC卡的關(guān)鍵接口芯片。讀寫器工作時(shí),不斷地向外發(fā)出一組固定頻率的電磁波,當(dāng)有卡靠近時(shí),卡片內(nèi)有一個(gè)LG串聯(lián)諧振電路,其頻率與讀寫器的發(fā)射頻率相同,這樣在電磁波的激勵(lì)下,LG諧振電路產(chǎn)生共振,從而使電容充電有了電荷。在這個(gè)電容另一端,接有一個(gè)單向?qū)щ姷碾娮颖?,將電容?nèi)的電荷送到另一個(gè)電容內(nèi)存儲(chǔ)。當(dāng)電容器充電達(dá)到一定電壓值時(shí),此電容就作為電源為卡片上的其他電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收讀寫器發(fā)出的數(shù)據(jù)與保存7。讀卡器的工作過(guò)程如下:(1) 讀卡器將載波信號(hào)經(jīng)天線向外發(fā)送;(2) 卡進(jìn)入讀卡器的工作區(qū)域后,卡內(nèi)天線和電容組成的諧振回路接收讀卡器發(fā)射的載波信號(hào),射頻接口模塊將其轉(zhuǎn)換成電源電壓、復(fù)位信號(hào),使卡片激活;(3) 存取控制模塊將存儲(chǔ)器中信息調(diào)制到載波上,經(jīng)卡上天線送給讀卡器;(4) 讀卡器對(duì)接收到的信號(hào)進(jìn)行解調(diào)、解碼后送至后臺(tái)計(jì)算機(jī);(5) 后臺(tái)計(jì)算機(jī)根據(jù)卡號(hào)的合法性,針對(duì)不同應(yīng)用做出相應(yīng)的處理和控制。2.3 總體方案論證2.3.1 各模塊方案選擇與論證(1)控制器的選擇方案一:采用ATMEL公司的AT89S52作為系統(tǒng)的控制器。AT89S52單片機(jī)算術(shù)運(yùn)算功能強(qiáng)、軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等特點(diǎn),使其在各個(gè)領(lǐng)域應(yīng)用廣泛。AT89S52是我們熟悉的控制器,編程比較熟悉,易于掌握。方案二:采用FPGA(現(xiàn)場(chǎng)可編程門陣列)作為系統(tǒng)的控制器。由于本設(shè)計(jì)對(duì)數(shù)據(jù)處理的速度要求不高,F(xiàn)PGA的高速處理優(yōu)勢(shì)得不到充分的體現(xiàn),并且由于集成度高,使其成本偏高,同時(shí)由于芯片的引腳較多,實(shí)物硬件電路板布線復(fù)雜,加重了電路設(shè)計(jì)和實(shí)際焊接的工作。由于AT89S52控制器能夠很好的實(shí)現(xiàn)該系統(tǒng)的各項(xiàng)功能,成本低,技術(shù)成熟,故采用方案一。(2)RFID讀卡芯片的選擇隨著RFID市場(chǎng)的迅猛增長(zhǎng),各大傳統(tǒng)IC芯片制造商都加入到RFID讀卡芯片的開發(fā)當(dāng)中,可供選擇的芯片很多,下面介紹幾款主流的RFID讀寫芯片:1) TI公司的TRF7960芯片。TRF7960是一個(gè)整合的13.56MHz RFID讀卡器系統(tǒng)的模擬前端和數(shù)據(jù)幀系統(tǒng),可以用于較寬范圍的近耦合RFID系統(tǒng)。它的特點(diǎn)是完全整合協(xié)議處理,內(nèi)部獨(dú)立的模擬與數(shù)字電源,AM和PM雙信號(hào)輸入接收解調(diào),讀卡器與讀卡器之間反沖突算法,輸出功率可調(diào),內(nèi)建帶通濾波器并且用戶可選擇邊界頻率,低功耗設(shè)計(jì),掉電模式下電流小于lA,激活狀態(tài)10mA;與微處理器接口為8位并行接口或者4線SPI接口8。2) NXP公司(原飛利浦半導(dǎo)體公司)是較早進(jìn)入RFID芯片行業(yè)的國(guó)際半導(dǎo)體公司,在射頻讀寫芯片上產(chǎn)品較全。MF-RC500芯片就是NXP公司生產(chǎn)的。MF-RC500是高整合的13.56MHz非接觸IC卡讀寫芯片,整合了所有主動(dòng)非接觸通信方式和協(xié)議,MF-RC500支持ISO 14443A&B的所有層的通信方案;內(nèi)部收發(fā)器部分能夠驅(qū)動(dòng)近耦合設(shè)計(jì)的天線而不需要另外的電路;數(shù)字部分能處理完整的ISO14443幀數(shù)據(jù)還有錯(cuò)誤檢測(cè);具有合適的并行接口,可以直接與8位的微處理器相連,并且支持SPI兼容接口。由于MF-RC500能夠滿足設(shè)計(jì)需求,而且應(yīng)用范圍比其他的芯片更廣,資料齊備,于是選擇MF-RC500作為本設(shè)計(jì)的射頻接口芯片。(3)顯示模塊的選擇方案一:使用LED顯示。數(shù)碼管顯示,對(duì)外界環(huán)境要求低,操作簡(jiǎn)單,但需要采用動(dòng)態(tài)掃描,占用資源比較多,而且其不能很好的顯示字符,由于本系統(tǒng)要顯示的信息量較多,所以雖然該方案在程序上容易實(shí)現(xiàn),但并不能滿足要求。方案二:使用液晶顯示屏顯示各種信息。液晶顯示屏具有輕薄短小、低耗電量、平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢(shì),并且符合本系統(tǒng)顯示信息量多的需求,利用LCD自帶的字符庫(kù),進(jìn)行編程就可以實(shí)現(xiàn)所需信息的顯示,其不必利用控制芯片創(chuàng)建字符庫(kù),既節(jié)省了資源,又省去了該部分的大量編程任務(wù)。為了使人機(jī)界面更加友好,操作更加方便,采用LCD液晶顯示。(4)鍵盤模塊的選擇方案一:采用獨(dú)立式按鍵。獨(dú)立式按鍵接口設(shè)計(jì)優(yōu)點(diǎn)是電路的配置靈活,軟件實(shí)現(xiàn)簡(jiǎn)單。但缺點(diǎn)也很明顯,每個(gè)按鍵需要占用一跟口線,若按鍵較多,資源浪費(fèi)將比較嚴(yán)重。因此本方法主要用于按鍵較少或?qū)Σ僮魉俣纫筝^高的場(chǎng)合。方案二:采用矩陣式按鍵。矩陣式按鍵接口適用于按鍵數(shù)量較多,又不想使用專用鍵盤芯片的場(chǎng)合。這種方式的按鍵接口由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。這種方的優(yōu)點(diǎn)是可以節(jié)省很多I/O資源,相對(duì)于專用鍵盤可以節(jié)省成本,且更為靈活。缺點(diǎn)是需要用軟件處理消抖、重鍵等。由于該系統(tǒng)要求具有對(duì)卡片進(jìn)行讀/寫操作,系統(tǒng)時(shí)鐘的設(shè)置等,用到的按鍵較多,故采用方案二。(5)系統(tǒng)時(shí)鐘和存儲(chǔ)芯片的選擇刷卡時(shí)要記錄刷卡的時(shí)間,用外接硬件時(shí)鐘芯片的辦法,為系統(tǒng)提供一個(gè)準(zhǔn)確可靠的時(shí)鐘,用3V備用電池保證在系統(tǒng)掉電時(shí)也能正常走時(shí)。在此選用體積小、接口簡(jiǎn)單的實(shí)時(shí)時(shí)鐘芯片DS1302。它是美國(guó)Dallas公司推出的低功耗串行通信接口專用芯片,采用3線串行方式與單片機(jī)進(jìn)行數(shù)據(jù)通信9。 采用AT24C64作數(shù)據(jù)存儲(chǔ)器。AT24C64是串行E2PROM存儲(chǔ)器,支持I2C總線數(shù)據(jù)傳輸協(xié)議,8K存儲(chǔ)器容量,用兩根線與CPU構(gòu)成串行接口。由于本設(shè)計(jì)采用的AT89S52單片機(jī)不具備I2C總線接口,因此采用軟件法加以解決。2.3.2 總體方案確定根據(jù)上述分析,系統(tǒng)設(shè)計(jì)方案如下:本IC卡讀寫器擬以ATMEL公司的AT89S52單片機(jī)作為微控制器,采用MF-RC500芯片作為射頻卡讀/寫模塊,采用DS1302作為系統(tǒng)時(shí)鐘,以AT24C64作為不掉電存儲(chǔ)器,采用LCD顯示,并以RS232接口和計(jì)算機(jī)通信,組成一套功能齊全的非接觸IC卡讀寫系統(tǒng)。當(dāng)IC卡在天線區(qū)域經(jīng)過(guò)時(shí),單片機(jī)自動(dòng)需求對(duì)IC卡進(jìn)行讀寫,再把讀/寫卡的時(shí)間一起存到存儲(chǔ)器中,計(jì)算機(jī)可以通過(guò)串口把相關(guān)讀/寫卡信息讀到計(jì)算機(jī)上,再進(jìn)行統(tǒng)計(jì)、報(bào)表和打印輸出等。系統(tǒng)框圖如圖2.1所示。 圖2.1 IC卡讀寫器系統(tǒng)結(jié)構(gòu)框圖3 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)3.1 電源模塊該電源按常規(guī)設(shè)計(jì),為系統(tǒng)工作提供所需電源,其輸入為220V、50Hz交流電,輸出電壓等級(jí)為5V,電路原理圖如圖3.1所示。該部分主要采用78系列穩(wěn)壓器,結(jié)構(gòu)簡(jiǎn)單,調(diào)整方便,輸出電壓紋波小。當(dāng)所需電流超過(guò)穩(wěn)壓器標(biāo)定值時(shí),可采用外接功率管的方法來(lái)擴(kuò)大輸出電流。市電交流220V經(jīng)變壓器降壓為交流6V,經(jīng)過(guò)全橋整流輸出直流電流,再經(jīng)過(guò)1000F的電解電容濾波,除去整流后的交流成分,送至各三端穩(wěn)壓器,輸出需要的電壓。經(jīng)過(guò)各三端穩(wěn)壓器穩(wěn)壓后,在LM7805輸出端輸出+5V直流電壓,LM7905輸出的端輸出-5V直流電壓10。圖3.1 5V直流穩(wěn)壓電源3.2 人機(jī)接口模塊本系統(tǒng)的人機(jī)接口部分采用LCD顯示、32矩陣式鍵盤,用來(lái)實(shí)現(xiàn)對(duì)IC 卡的操作和系統(tǒng)設(shè)置等功能。LCD型號(hào)為ACM1602A,該字符型液晶顯示模塊由字符型液晶顯示屏,具有字符發(fā)生器ROM可顯示192種字符,有64個(gè)字節(jié)的自定義字符RAM,可自定義8個(gè)58點(diǎn)陣字符或四個(gè)511點(diǎn)陣字符。 在此系統(tǒng)中采用LCD分屏顯示,每一屏第一行的首地址是80H,第二行的首地址是0C0H;每行寫入16個(gè)字節(jié),每屏寫入二行(第一行為系統(tǒng)的時(shí)間,第二行為卡片的信息)。ACM1602A集成度高,其內(nèi)部已經(jīng)帶有驅(qū)動(dòng)電路,所以不用再為其設(shè)計(jì)驅(qū)動(dòng)電路,由于1602是一個(gè)并口器件所以占用單片機(jī)的接口資源較多,為節(jié)省單片機(jī)接口資源使用了一個(gè)74HC595進(jìn)行串口轉(zhuǎn)并口,使1602與單片機(jī)進(jìn)行間接連接,LCD與單片機(jī)的連結(jié)圖如圖3.2所示。圖3.2 LCD顯示電路3.3 系統(tǒng)時(shí)鐘模塊刷卡時(shí)要記錄刷卡的時(shí)間,用外接硬件實(shí)時(shí)時(shí)鐘芯片的辦法,為系統(tǒng)提供一個(gè)準(zhǔn)確可靠的時(shí)鐘,用3V備用電池保證在系統(tǒng)掉電時(shí)也能正常走時(shí),在此選用體積小、接口簡(jiǎn)單的實(shí)時(shí)時(shí)鐘芯片DS1302。 (1)時(shí)鐘芯片介紹DS1302是美國(guó)DALLAS公司開發(fā)的具備功耗低、接口容易串行實(shí)時(shí)時(shí)鐘芯片。在本設(shè)計(jì)中使用的DS1302為8腳DIP封裝形式,其中1腳和8腳為電源電壓引腳,單電源供電時(shí)接8腳,雙電源供電時(shí),主工作電源接1腳,備份電源接8腳。2腳和3腳為32.768KHz晶振引腳;5腳RST為復(fù)位端,若其被置為低電平,則中止所有數(shù)據(jù)傳送,I/O腳變?yōu)楦咦钁B(tài),系統(tǒng)復(fù)位;6腳I/O為數(shù)據(jù)輸人/輸出端;7腳SCLK為串行時(shí)鐘輸入端,所有地址/命令字節(jié)和數(shù)據(jù)字節(jié)都是在時(shí)鐘的同步控制下從I/O腳串行輸入輸出的。DS1302通過(guò)SCLK、I/O、RST三根線與外部進(jìn)行同步串行通信。(2)DS1302與單片機(jī)的連接在本設(shè)計(jì)中采用單片機(jī)的P1.0-P1.2與DS1302進(jìn)行數(shù)據(jù)通信,以提供系統(tǒng)所需的時(shí)鐘,其連接方法如圖3.3所示。圖3.3 DS1302與單片機(jī)接口電路3.4 存儲(chǔ)模塊在本設(shè)計(jì)中采用串行E2PROM芯片AT24C64作數(shù)據(jù)存儲(chǔ)器。AT24C64 是ATMEL公司生產(chǎn)的采用I2C 總線標(biāo)準(zhǔn)常用的串行E2PROM 存儲(chǔ)芯片,其支持I2C總線數(shù)據(jù)傳輸協(xié)議,64K(bit)存儲(chǔ)器容量,用兩根線與CPU構(gòu)成串行接口。AT24C64一般具有兩種寫入方式,一種是字節(jié)寫入方式,還有一種是頁(yè)寫入方式。AT24C64的讀操作有當(dāng)前地址讀、隨機(jī)讀、多字節(jié)讀三種方式。AT24C64其主要管腳功能描述如下:SCL,串行時(shí)鐘。這是一個(gè)輸入管腳,用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘;SDA,串行數(shù)據(jù)/地址。這是一個(gè)雙向傳輸端,用于傳送地址和所有數(shù)據(jù)的發(fā)送或接收;A0、A1、A2,器件地址輸入端,這些輸入端用于多個(gè)器件并聯(lián)時(shí)設(shè)置器件地址11。在系統(tǒng)中采用單片機(jī)的P3.3、P3.4口與AT24C64進(jìn)行連接,其與單片機(jī)的接口接法電路如圖3.4所示,由于本系統(tǒng)中采用到的AT89S52單片機(jī)不具備I2C總線接口,因此采用軟件法加以解決。圖3.4 AT24C64與單片機(jī)接口電路3.5 MF-RC500讀寫模塊3.5.1 MF-RC500介紹PHILIPS公司的MF-RC500是應(yīng)用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在13.56MHz下所有類型的被動(dòng)非接觸式通信方式和協(xié)議。MF-RC500支持IS014443A所有的層,其功能框圖如下:圖3.5 MF-RC500的功能框圖MF-RC500內(nèi)部包括并行微控制器接口、雙向FIFO緩沖區(qū)、中斷、數(shù)據(jù)處理單元、狀態(tài)控制單元、安全和密碼控制單元、模擬電路接口及天線接口。MF-RC500外部接口包括數(shù)據(jù)總線、地址總線、控制總線、電源等。MF-RC500的并行微控制器接口自動(dòng)檢測(cè)連接的8位并行接口的類型。它包含了一個(gè)雙向FIFO緩沖區(qū)和一個(gè)可配置的中斷輸出,這樣就為連接各種MCU提供了很大的靈活性,即使使用非常低成本的器件也能滿足高速非接觸式通信的要求。數(shù)據(jù)處理部分執(zhí)行數(shù)據(jù)的并行-串行轉(zhuǎn)換12。狀態(tài)和控制部分允許對(duì)器件進(jìn)行配置以使性能調(diào)節(jié)到最佳狀態(tài)。模擬電路包含一個(gè)具有非常低阻抗橋驅(qū)動(dòng)器輸出的發(fā)送部分,這使得最大操作距離可達(dá)100mm,接收器可以檢測(cè)到非常弱的應(yīng)答信號(hào)。MF-RC500管腳如圖3.6所示。圖3.6 MF-RC500管腳圖該器件為32腳SO封裝,器件使用了3個(gè)獨(dú)立的電源以實(shí)現(xiàn)在EMC特性和信號(hào)解耦方面達(dá)到最佳性能。MF-RC500具有出色的RF性能并且模擬和數(shù)字部分可適應(yīng)不同的操作電壓,其驅(qū)動(dòng)、模擬、數(shù)字部分分別使用單獨(dú)電源供電。表3.1 天線連接管腳名稱類型功能TX1,TX2輸出緩沖天線驅(qū)動(dòng)器VMID模擬參考電壓RX輸入模擬天線輸入信號(hào) 為了驅(qū)動(dòng)天線,MF-RC500通過(guò)TXl和TX2提供13.56MHz的能量載波。根據(jù)寄存器的設(shè)定對(duì)發(fā)送數(shù)據(jù)進(jìn)行調(diào)制得到發(fā)送的信號(hào)。智能卡采用RF場(chǎng)的負(fù)載調(diào)制進(jìn)行響應(yīng)。天線拾取的信號(hào)經(jīng)過(guò)天線匹配電路送到RX腳,RC500內(nèi)部接收器對(duì)信號(hào)進(jìn)行檢測(cè)、處理,然后將數(shù)據(jù)發(fā)送到并行接口由微控制器進(jìn)行讀取。表3.2 MF-RC500并行口控制管腳名稱類型功能D0.D7帶施密特觸發(fā)器的I/O雙向數(shù)據(jù)總線A0.A2帶施密特觸發(fā)器的I/O地址線NCS帶施密特觸發(fā)器的I/O片選ALE帶施密特觸發(fā)器的I/O地址鎖存使用LRQ輸出中斷請(qǐng)求3.5.2 天線模塊的設(shè)計(jì)為了同非接觸式智能卡通信,讀卡器內(nèi)必須有能發(fā)射和接收射頻信號(hào)的天線。天線用于產(chǎn)生磁通量,而磁通量用于向應(yīng)答器提供電源并在閱讀器和應(yīng)答器之間傳送信息。因此,對(duì)讀卡器天線的構(gòu)造有了三個(gè)基本的要求: 使天線線圈的電流i1最大,用于產(chǎn)生最大的磁通量; 功率匹配,以最大程度地利用產(chǎn)生磁通量的可用能量; 足夠的帶寬,以無(wú)失真地傳送數(shù)據(jù)調(diào)制的載波信號(hào)13。(1)天線尺寸和讀寫距離由于MF-RC500是低功耗設(shè)計(jì),因此卡和天線之間的耦合系數(shù)必須符合一定的值,卡和天線之間的耦合系數(shù)不能低于0.3。天線一般設(shè)計(jì)為三圈,可以設(shè)計(jì)為圓形或者方形天線。天線的直徑必須介于0.5-1.5mm之間。表3.3 給出了卡和天線的耦合系數(shù)為0.3 時(shí)的天線大小和讀寫距離關(guān)系表。表3.3 天線大小和讀寫距離關(guān)系表大?。╩mmm)讀寫距離(mm)50507655410855412根據(jù)技術(shù)指標(biāo)以及尺寸等方面的要求,要本設(shè)計(jì)中讀寫器天線參數(shù)如下:天線形狀:方形天線天線圈數(shù):三圈幾何尺寸:65mm54mm天線導(dǎo)體直徑:1mm(2)天線電感的計(jì)算天線的電感必須介于800nH和4.2H之間。天線的電感通過(guò)下列公式計(jì)算: (3.1)其中: L讀卡器天線電感,H; I天線導(dǎo)體長(zhǎng)度,cm; D天線導(dǎo)體寬度,cm; N天線導(dǎo)體圈數(shù); P由天線線圈的技術(shù)而定的N的指數(shù)因子。上述天線線圈的電感公式只能作為首次估測(cè)之用,實(shí)際的天線線圈的電感必須通過(guò)儀器測(cè)量而定,但偏差不會(huì)很大。根據(jù)以上公式以及本設(shè)計(jì)中的參數(shù),P值取1.6,計(jì)算出的天線的電感L得1895H。(3)EMC電路及接收電路EMC電路:射頻識(shí)別系統(tǒng)的工作頻率為13.56MHz,是由一個(gè)石英晶振產(chǎn)生的,同時(shí)它還產(chǎn)生更高頻率的諧波,為了確保能夠有效抑制三次,五次和更高次的諧波對(duì)信號(hào)的干擾作用,需要有一個(gè)低通濾波器來(lái)濾除這些高次諧波。接收電路:MF-RC500內(nèi)部的信號(hào)接收部分使用由子載波的雙邊帶調(diào)制出的信號(hào),為了減少干擾,在地和VMID間接了一個(gè)電容,接收部分需要在Rx和VMID腳之間接一個(gè)電阻分壓結(jié)構(gòu)。另外,在天線線圈和分壓器之間串一個(gè)電容會(huì)獲得質(zhì)量更高的信號(hào)14。濾波器與接收電路的電路原理圖如圖3.6所示。圖3.7 EMC及接收電路(4)天線電路圖天線電路圖如圖3.8所示。圖3.8 天線電路圖中電容C2A_a、C2A_b、C2A_a、C2A_b、(通稱C2)的值是由天線的電感值決定的,且需要根據(jù)天線的形狀進(jìn)行調(diào)整。C2電容的大小嚴(yán)格影響讀卡器的性能,這就需要在確定了卡的類型之后在實(shí)際的使用環(huán)境中進(jìn)行試驗(yàn),確定不同的C2值,使讀卡器具有最好的性能表現(xiàn)。RC500有一個(gè)內(nèi)部信號(hào)驅(qū)動(dòng)管腳AUX,當(dāng)讀卡器發(fā)出某一指令時(shí),可以使用示波器觀察該引腳的輸出信號(hào),不斷改變卡與讀卡器之間的距離和C2值,示波器輸出不同的波形,根據(jù)不同的波形即可確定讀卡器最好性能的C2值15。在本課題設(shè)計(jì)中,根據(jù)天線的參數(shù)進(jìn)行試驗(yàn),得到的最終C2值如表3.4所示。表3.4 C2電容值表電容值(pF)C2A_a80C2A_b80C2A_a80C2A_b80(5)天線的品質(zhì)因數(shù)和匹配電阻用于電感耦合式射頻識(shí)別系統(tǒng)的天線,其特征值是諧振頻率f0和品質(zhì)因數(shù)Q。較高的品質(zhì)因數(shù)Q值會(huì)使天線線圈中的電流強(qiáng)度大,由此改善對(duì)應(yīng)答器的功率改善情況。與之相反,天線的傳輸帶寬剛好與品質(zhì)因數(shù)成反比例變化,選擇的品質(zhì)因數(shù)過(guò)高會(huì)導(dǎo)致帶寬縮小從而明顯地減弱應(yīng)答器接收到的調(diào)制邊帶。電感讀卡器天線的品質(zhì)因數(shù)可以通過(guò)線圈電阻與線圈電阻的歐姆損耗和/或串聯(lián)電阻的比值計(jì)算出來(lái),公式如下: (3.2)其中fR=13.56MHz,由前面的分析可以知道天線的感抗LANT和阻抗RANT,也可以用儀器測(cè)出來(lái)。一般情況下Q值在10到50之間,作為數(shù)據(jù)傳輸過(guò)程這個(gè)值還會(huì)減小,數(shù)據(jù)從讀卡器到射頻卡使用米勒編碼,脈沖寬度為T=3s,帶寬B定義如下: (3.3)所以Q值: (3.4)考慮到溫度漂移等其他因素的影響,實(shí)際上可以把Q值定在35是一個(gè)比較合理的值??紤]到在估算中減小了Q值,所以這里需要外加一個(gè)電阻來(lái)調(diào)節(jié)天線的品質(zhì)因素,可以用下面的公式來(lái)計(jì)算REXT: (3.5)3.5.3 MF-RC500與AT89S52連接圖MF-RC500與AT89S52連接圖如圖3.9所示,圖中單片機(jī)AT89S52作為控制核心,主要完成數(shù)據(jù)采集、處理、存儲(chǔ)及控制電路工作;MF-RC500 支持不同的微控制器接口,一個(gè)智能的自動(dòng)檢測(cè)邏輯可以自動(dòng)適應(yīng)系統(tǒng)總線的并行接口。圖中使用信號(hào)NCS選擇芯片。對(duì)于MF-RC500,若要使用獨(dú)立的地址和數(shù)據(jù)總線與微控制器相連,必須將ALE腳連接到DVDD,若使用復(fù)用的地址和數(shù)據(jù)總線與控制器接口,必須將ALE腳連到微控制器的ALE信號(hào)。在本設(shè)計(jì)中,該讀寫器采用地址數(shù)據(jù)總線復(fù)用方式與微控制器相連。在對(duì)MF-RC500進(jìn)行讀寫操作時(shí),若要使用NWR和NRD與微控制器相連,則這兩個(gè)引腳應(yīng)該連接到微控制器的讀寫管腳上。圖中使AT89S52的WR和RD管腳分別與MF-RC500的NWR管腳和NRD管腳相連來(lái)控制讀寫使能;MF-RC500工作頻率由石英晶體而產(chǎn)生,同時(shí)與OSCIN管腳相連可作為外部時(shí)鐘;P3.2管腳與MF-RC500的IRQ管腳相連用以接收中斷請(qǐng)求;由圖可以看出,本系統(tǒng)采用中斷(INT0)工作模式,即MCU利用MF-RC500提供中斷信息對(duì)其進(jìn)行控制。另外,根據(jù)系統(tǒng)的需要,可以采用查詢方式對(duì)MF-RC500進(jìn)行操作。圖3.9 MF-RC500與AT89S52連接圖3.6 通信模塊本智能卡讀寫器采用RS232標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)讀卡器和上位機(jī)之間的通信,能實(shí)現(xiàn)RS232通信協(xié)議的芯片很多,其中MAXIM公司生產(chǎn)的MAX232是一款比較優(yōu)良的RS232通信芯片。選取它的主要依據(jù)在于:?jiǎn)?V電源供電,與讀卡器里其它芯片的工作電壓相同;符合所有EIA/232E標(biāo)準(zhǔn);多路輸入輸出。MAX232其引腳功能說(shuō)明如表3.5所示。表3.5 MAX232引腳說(shuō)明引腳名引腳說(shuō)明引腳名引腳說(shuō)明T2outRS232輸出R1inRS232輸入R2inRS232輸入T1outRS232輸出R2outTTL/CMOS輸出GND地T2inTTL/CMOS輸入VCC電源T1inTTL/CMOS輸入R1outTTL/CMOS輸出在硬件電路連接上采用三線制(RXD、TXD、GND)軟握手的零MODEM方式,即將PC機(jī)和單片機(jī)的發(fā)送數(shù)據(jù)線(TXD)與接收數(shù)據(jù)(RXD)交叉連接,二者的地線(GND)直接相連,而其它信號(hào)線、如握手信號(hào)均不用,而采用軟件握手,這樣既可以實(shí)現(xiàn)預(yù)定的任務(wù)又可以簡(jiǎn)化電路設(shè)計(jì)、節(jié)約成本。MAX232與AT89S52的電路連接如圖3.10所示。圖3.10 MAX232與AT89S52的連接圖4 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)非接觸智能卡系統(tǒng)的軟件設(shè)計(jì)可分為四部分,分別為主程序設(shè)計(jì)、RC500的讀/寫程序的設(shè)計(jì)、讀卡器外圍基本電路的應(yīng)用程序設(shè)計(jì)和通信部分程序的設(shè)計(jì)。主程序主要包括:IC卡讀/寫/密碼驗(yàn)證/擦除操作程序,RC500通信中斷處理程序,鍵盤中斷處理程序,PC機(jī)通信中斷處理程序,顯示程序及存儲(chǔ)器讀寫程序等,對(duì)MF-RC500的應(yīng)用程序的設(shè)計(jì)也即是對(duì)MF-RC500操作指令的程序設(shè)計(jì),對(duì)讀卡器外圍基本電路程序的設(shè)計(jì)包括LCD顯示程序設(shè)計(jì)、鍵盤掃描程序設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)程序設(shè)計(jì)和RS232通信程序設(shè)計(jì)。4.1 軟件設(shè)計(jì)環(huán)境一個(gè)好的程序設(shè)計(jì)思想,加上適當(dāng)?shù)木幾g軟件、仿真器和編程器,是單片機(jī)軟件開發(fā)的基本要求。本系統(tǒng)程序的設(shè)計(jì)以模塊化和結(jié)構(gòu)化的設(shè)計(jì)思想為指導(dǎo)。單片機(jī)開發(fā)所使用的語(yǔ)言一般為匯編語(yǔ)言。匯編語(yǔ)言的優(yōu)點(diǎn)是代碼生成效率高,程序運(yùn)行速度快,其缺點(diǎn)是程序的可讀性和可移植性都較差,而且用匯編語(yǔ)言編寫單片機(jī)應(yīng)用系統(tǒng)程序的周期長(zhǎng),調(diào)試和排錯(cuò)比較困難。C語(yǔ)言是一種通用的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,在國(guó)際上十分流行,它既可用來(lái)編寫計(jì)算機(jī)的系統(tǒng)程序,也可用來(lái)編寫一般的應(yīng)用程序。用它編寫的程序,具有較好的可讀性和可移植性。有經(jīng)驗(yàn)表明,用C語(yǔ)言編寫的程序生成代碼的效率僅比用匯編語(yǔ)言編寫的程序1020%。德國(guó)Keil軟件公司的C51編譯器可以直接對(duì)8051單片機(jī)的內(nèi)部特殊功能寄存器和I/O口進(jìn)行操作,直接訪問(wèn)片內(nèi)或片外存儲(chǔ)器,還可以進(jìn)行各種位操作,能產(chǎn)生簡(jiǎn)潔、高效率的程序代碼,在代碼質(zhì)量上可以與匯編語(yǔ)言相媲美。因此系統(tǒng)在設(shè)計(jì)中多數(shù)的程序使用了C語(yǔ)言進(jìn)行設(shè)計(jì),少數(shù)的一些程序用匯編語(yǔ)言編寫,用C語(yǔ)言進(jìn)行調(diào)用。4.2 主程序的設(shè)計(jì)讀卡器工作的過(guò)程是一個(gè)復(fù)雜的程序執(zhí)行過(guò)程,要執(zhí)行一系列的操作指令,調(diào)用多個(gè)函數(shù)。其主要包括鍵盤掃描、LCD顯示、讀寫E2PROM、讀/寫卡及與上位機(jī)通信等。這一系列的操作必須按固定的順序進(jìn)行。在沒(méi)MF1卡進(jìn)入射頻天線有效范圍內(nèi)時(shí),在LCD液晶上顯示當(dāng)前時(shí)鐘,當(dāng)有MF1卡進(jìn)入到射頻天線的有效范圍內(nèi)時(shí),讀卡程序驗(yàn)證卡及密碼成功后,將卡號(hào)和讀卡時(shí)間作為一條記錄存入E2PROM存儲(chǔ)器中,并在LCD顯示器上顯示該卡的卡號(hào)等信息。讀卡器的主程序主要由下位機(jī)來(lái)完成,單片機(jī)中的程序主要包括:IC卡讀/寫/密碼驗(yàn)證/擦除操作程序,與RC500通信中斷處理程序,鍵盤中斷處理程序,與PC機(jī)通信中斷處理程序,顯示程序及存儲(chǔ)器讀寫程序等等16。讀卡器的主程序流程圖如圖4.1所示。圖4.1 讀卡器主程序流程圖4.3 讀/寫卡程序設(shè)計(jì)4.3.1 MF-RC500指令說(shuō)明MCU對(duì)MIFARE非接觸式智能卡的控制是通過(guò)MF-RC500來(lái)實(shí)現(xiàn)的,MF-RC500是MCU和MIFARE非接觸式智能卡之間的通信載體。MCU對(duì)MF-RC500的控制是以MCU發(fā)出MF-RC500的指令來(lái)達(dá)到的,MF-RC500收到指令之后執(zhí)行這些指令。MF-RC500的指令主要有:Request std,Request all,Anticollision,Select,Authentication,Read,Write,它們可以完成MCU對(duì)MIFARE非接觸式智能卡的很多應(yīng)用場(chǎng)合的控制。MCU對(duì)MF-RC500的某一指令操作不是簡(jiǎn)單的一條指令所能完成的,必須有一個(gè)程序的序列來(lái)完成,其中有對(duì)MF-RC500硬件內(nèi)核寄存器的讀/寫以及根據(jù)讀出的硬件內(nèi)核寄存器的內(nèi)容進(jìn)行語(yǔ)言軟件上的判斷和設(shè)置。不同的指令將設(shè)置不同的MF-RC500內(nèi)部寄存器以及應(yīng)有不同的編程語(yǔ)言程序序列。MF-RC500具體指令說(shuō)明及程序設(shè)計(jì)如下:(1)“Answer to Request”(應(yīng)答或復(fù)位應(yīng)答)表4.1 復(fù)位應(yīng)答指令指令指令代碼(hex)相關(guān)的出錯(cuò)標(biāo)志接收卡片上數(shù)據(jù)Request std26TE,BETag typeRequest all52Request指令將通知MF-RC500在天線有效的工作范圍內(nèi)尋找WARE卡片。如果有MIFARE卡片存在,這一指令將分別與MIFARE卡片進(jìn)行通信,讀取WARE卡片上的卡片類型號(hào)TAGTYPE,由MF-RC500傳遞給MCU,進(jìn)行識(shí)別處理。Request指令分為Request std和Request all兩個(gè)指令。Request all指令是非連續(xù)性的讀卡指令,只讀一次,它可以防止MF-RC500選擇同一卡片好幾次。當(dāng)某一張卡片在MF-RC500天線的有效工作范圍內(nèi),Request all指令在成功地讀取這一張卡片之后,將一直等待卡片的使用者拿走這張卡片,直到有新一張的卡片進(jìn)入M- RC500天線的有效工作范圍內(nèi)。Request std指令的使用和Request all指令相反,Request std指令是連續(xù)性的讀卡指令。當(dāng)卡片在MF-RC500天線的有效工作范圍內(nèi),Request std指令在成功地讀取這一張卡片之后,對(duì)卡進(jìn)行其他操作。如果其他操作完成之后,程序員又將MF-RC500進(jìn)入Request std指令操作,則Request std指令將連續(xù)性地再次進(jìn)行讀卡操作,而不管這張卡片是否被拿走。只要有一張卡片進(jìn)入MF-RC500之天線的有效的工作范圍內(nèi),Request std指令將始終連續(xù)性地再次進(jìn)行讀卡操作。(2)“Select Tag”(選擇卡片操作)表4.2 選擇卡片指令指令指令代碼(hex)相關(guān)的出錯(cuò)標(biāo)志接收卡片上數(shù)據(jù)Select Tag(選擇片)93TE,BE,PE,CESize在一個(gè)成功的AntiCollision指令之后,或在任何時(shí)候當(dāng)程序員想與已知序列號(hào)的卡片進(jìn)行通信時(shí),必須使用Select指令,以建立與所選卡的通信。Select指令成功地完成后,MCU將得到MF-RC500的DATA寄存器傳送來(lái)的一個(gè)字節(jié)長(zhǎng)的卡片容量信息S
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療用品行業(yè)市場(chǎng)準(zhǔn)入政策考核試卷
- 光纜行業(yè)供應(yīng)鏈管理考核試卷
- 成人高等教育材料力學(xué)與工程應(yīng)用考核試卷
- 壓力敏感合成材料制造技術(shù)與應(yīng)用考核試卷
- 機(jī)織服裝國(guó)際貿(mào)易法規(guī)與慣例考核試卷
- 數(shù)字內(nèi)容版權(quán)監(jiān)測(cè)與維權(quán)策略考核試卷
- 青島沃爾沃購(gòu)車合同范本
- 中介渠道合作合同范本
- 藝人標(biāo)準(zhǔn)解約合同范本
- 酒店訂制家具合同范本
- 2024煤礦安全規(guī)程解讀
- 德州環(huán)鋰新能源科技有限公司2萬(wàn)噸年廢舊鋰電池回收項(xiàng)目環(huán)境影響報(bào)告書
- 2025年江蘇省中職《英語(yǔ)》學(xué)業(yè)水平考試核心考點(diǎn)試題庫(kù)500題(重點(diǎn))
- 延期實(shí)習(xí)申請(qǐng)書
- 【MOOC】跨文化交際-蘇州大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 北師大版數(shù)學(xué)八年級(jí)下冊(cè)全冊(cè)教案及反思
- 湖南版(湘教版)三年級(jí)美術(shù)下冊(cè)全冊(cè)全套課件(247張)
- 九宮數(shù)獨(dú)200題(附答案全)
- 心理健康與職業(yè)生涯中職PPT完整全套教學(xué)課件
- 南瓜套種玉米高產(chǎn)栽培技術(shù)-文檔資料
- 鑄件常見缺陷(圖文并貌)
評(píng)論
0/150
提交評(píng)論