基于ARM的校園一卡通研究與實(shí)現(xiàn)_第1頁
基于ARM的校園一卡通研究與實(shí)現(xiàn)_第2頁
基于ARM的校園一卡通研究與實(shí)現(xiàn)_第3頁
基于ARM的校園一卡通研究與實(shí)現(xiàn)_第4頁
基于ARM的校園一卡通研究與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

安徽新華學(xué)院2015屆本科畢業(yè)論文(設(shè)計(jì))本科畢業(yè)論文(設(shè)計(jì))題目:基于ARM的校園一卡通研究與實(shí)現(xiàn)姓名:徐曉東學(xué)號(hào):1142056232專業(yè):自動(dòng)化(2)班院系:電子通信工程學(xué)院指導(dǎo)老師:李紅星職稱學(xué)位:講師/碩士完成時(shí)間:2015年5月教務(wù)處制

安徽新華學(xué)院本科畢業(yè)論文(設(shè)計(jì))獨(dú)創(chuàng)承諾書本人按照畢業(yè)論文(設(shè)計(jì))進(jìn)度計(jì)劃積極開展實(shí)驗(yàn)(調(diào)查)研究活動(dòng),實(shí)事求是地做好實(shí)驗(yàn)(調(diào)查)記錄,所呈交的畢業(yè)論文(設(shè)計(jì))是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除文中特別加以標(biāo)注引用參考文獻(xiàn)資料外,論文(設(shè)計(jì))中所有數(shù)據(jù)均為自己研究成果,不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。與我一同工作的同志對(duì)本研究所做的工作已在論文中作了明確說明并表示謝意。畢業(yè)論文(設(shè)計(jì))作者簽名:日期:

基于ARM的校園一卡通研究與實(shí)現(xiàn)摘要隨著現(xiàn)代社會(huì)的發(fā)展,人們?cè)絹碓叫枨蠓奖愕纳罘绞?,校園一卡通在我們生活中擔(dān)當(dāng)著不可或缺的重要地位。我們生活中的一卡通分為兩種:一種是ic式智能卡;另一種是射頻識(shí)別卡(RFID),隨著電子領(lǐng)域的快速發(fā)展射頻識(shí)別技術(shù)漸漸的取代了傳統(tǒng)的IC卡的地位,目前廣泛用于圖書館、食堂、門禁系統(tǒng)等。本文為介紹了IC和射頻識(shí)別的工作原理,由于傳統(tǒng)的IC卡可靠性不高、不方便學(xué)生上機(jī)和收費(fèi)管理。鑒于以上問題,為提高機(jī)房管理效率,降低工作強(qiáng)度,所以采用射頻識(shí)別技術(shù)來實(shí)現(xiàn)校園一卡通的研究與實(shí)現(xiàn),簡(jiǎn)要的介紹了設(shè)計(jì)方法和用途。本系統(tǒng)實(shí)施是基于ARM平臺(tái),介紹了讀寫器的組成、芯片的選型,通過嵌入式系統(tǒng)來完成的。關(guān)鍵字:ARM、射頻識(shí)別、讀寫器。安徽新華學(xué)院2015屆本科畢業(yè)論文(設(shè)計(jì))ResearchandImplementationofCampusCardBasedonARMAbstractWiththedevelopmentofmodernsociety,peoplearemoreandmoredemandforconvenientlifestyle,campuscardplayanindispensableroleinourlife.Weliveinthecardisdividedintotwokinds:onekindisICtypesmartcard;theotherisaradiofrequencyidentificationcard(RFID),withtherapiddevelopmentofradiofrequencyidentificationtechnologyofelectronicfieldgraduallyreplacedthetraditionalICcardstatus,isnowwidelyusedinthelibrary,cafeteria,accesscontrolsystem,etc.Inthispaper,weintroducetheworkingprincipleofICandradiofrequencyidentificationcard,becausethetraditionalreliabilityisnothigh,notconvenientforstudentsandthemanagementfees.Inviewoftheaboveproblems,inordertoimprovethemanagementefficiency,reducetheintensityofwork,sotheuseofradiofrequencyidentificationtechnologyresearchandimplementationofcampuscardsystem,introducesthedesignmethodandapplication.TheimplementationofthissystemisbasedontheARMplatform,introducesthecomposition,selectionofthechipreader,accomplishedbyembeddedsystem.Keywords:ARM,RFID,reader

目錄TOC\o\h\z\u1緒論 71.1研究課題的意義 71.2IC卡和射頻識(shí)別技術(shù)的介紹 71.2.2射頻識(shí)別技術(shù) 82ARM的簡(jiǎn)介 142.1微處理器介紹 142.2RISC體系結(jié)構(gòu) 153系統(tǒng)硬件設(shè)計(jì) 163.1嵌入式微控制器MCU 163.2射頻讀寫電路 173.3電源及穩(wěn)壓電路 193.4RTC電路 213.5系統(tǒng)指示電路 213.6LCD接口電路 223.7485傳輸電路 233.8顯示電路與按鍵掃描電路 243.9存儲(chǔ)電路 253.10看門狗電路 273.11嵌入式網(wǎng)絡(luò)接口電路 284系統(tǒng)軟件設(shè)計(jì) 294.1Mifare1卡 294.2FM1702SL基本指令 314.3主程序軟件設(shè)計(jì) 345測(cè)試與結(jié)果 355.1軟件測(cè)試 355.2調(diào)試結(jié)果 356結(jié)論 37致謝 38參考文獻(xiàn) 39附錄 40

1緒論1.1研究課題的意義

隨著經(jīng)濟(jì)的飛速發(fā)展,電子技術(shù)正在向智能自動(dòng)化快速邁進(jìn)。當(dāng)今的信息產(chǎn)業(yè)已成為全球最大的產(chǎn)業(yè),是世界各國(guó)發(fā)展經(jīng)濟(jì)的共同選擇,成為衡量一個(gè)國(guó)家綜合國(guó)力的重要指標(biāo)。RFID卡在我們生活中擔(dān)當(dāng)著重要的角色,在現(xiàn)代因特網(wǎng)全面普及的時(shí)代。RFID卡給我們的生活帶來了巨大的方便,在學(xué)校里、公交系統(tǒng)、圖書館、門禁、停車場(chǎng)等都能用到RFID卡。隨著社會(huì)的進(jìn)步和快速的發(fā)展,傳統(tǒng)的接觸式IC卡滿足不了人們的需求,漸漸的被RFID卡所替代。本章介紹了課題背景及研究意義,介紹了讀寫器的一般組成及各部分的作用,給出了IC卡和射頻識(shí)別技術(shù)的概念。1.2IC卡和射頻識(shí)別技術(shù)的介紹IC卡是繼磁卡之后出現(xiàn)的又一種信息載體。我們生活中常見的IC卡采用射頻技術(shù)與讀卡器進(jìn)行通訊,一般用的校園卡就是IC卡的一種,IC卡的成本一般比磁卡高,但保密性更好。IC卡與磁卡的區(qū)別在于IC卡是通過卡里的集成電路存儲(chǔ)信息,而磁卡是通過卡內(nèi)的磁力記錄信息。RFID卡是一種非接觸式IC卡,它成功地解決電子領(lǐng)域的一大難題,實(shí)現(xiàn)了免接觸和無源的突破。主要用于公交、電信、銀行、車場(chǎng)管理等領(lǐng)域,主要的功能包括安全認(rèn)證,電子錢包,數(shù)據(jù)儲(chǔ)存等。

1.2.1IC卡IC卡是一種電子式數(shù)據(jù)自動(dòng)識(shí)別技術(shù),IC卡分為接觸式IC卡和非接觸式IC卡。接觸式IC卡是集成電路卡,通過卡里的集成電路存儲(chǔ)信息,它將一個(gè)微電子芯片嵌入到卡基中,做成卡片形式,通過卡片表面的8個(gè)金屬觸點(diǎn)與讀卡器進(jìn)行物理連接,來完成通信和數(shù)據(jù)交換。IC卡包含了微電子技術(shù)和計(jì)算機(jī)技術(shù),作為一種成熟的高技術(shù)產(chǎn)品,是繼磁卡之后出現(xiàn)的又一種新型信息工具。IC卡的優(yōu)點(diǎn)有信息安全、攜帶使用方便、驗(yàn)證方法獨(dú)特等,所以它在食堂、門禁、公交車系統(tǒng)、停車場(chǎng)、圖書館等得到廣泛的應(yīng)用,在人們生活中扮演重要角色。工作原理:射頻讀卡器向IC卡發(fā)一組固定頻率的電磁波,卡片內(nèi)有一個(gè)IC串聯(lián)諧振電路,其頻率與讀卡器發(fā)射的頻率相同,這樣在電磁波激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷;在這個(gè)電荷的另一端,接有一個(gè)單向?qū)ǖ碾娮颖茫瑢㈦娙輧?nèi)的電荷送到另一個(gè)電容內(nèi)存儲(chǔ),當(dāng)所積累的電荷達(dá)到2V時(shí),此電容可作為電源為其它電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接受讀卡器的數(shù)據(jù)。其發(fā)射原理是非接觸性IC卡與讀卡器之間通過無線電波來完成操作。二者之間的通訊頻率為13.56MHZ。1.2.2射頻識(shí)別技術(shù)RFID技術(shù)在日常生活中已有廣泛的應(yīng)用:目前,RFID技術(shù)已在食品衛(wèi)生、物流、零售、制造、服裝、醫(yī)療、交通、防偽等多個(gè)領(lǐng)域得到普遍應(yīng)用。RFID技術(shù)是一種非接觸式的自動(dòng)識(shí)別技術(shù),它通過無線射頻方式自動(dòng)識(shí)別目標(biāo)對(duì)象,識(shí)別工作無需人工干擾。RFID可以識(shí)別高速運(yùn)動(dòng)的物體,可以同時(shí)識(shí)別多個(gè)目標(biāo),可以實(shí)現(xiàn)遠(yuǎn)程讀取,并可以工作在各種惡劣環(huán)境。RFID技術(shù)與傳統(tǒng)的識(shí)別技術(shù)相比優(yōu)點(diǎn):(1)特有的無接觸性,可遠(yuǎn)距離進(jìn)行使用。(2)RFID電子標(biāo)簽抗污損能力強(qiáng)。(3)RFID電子標(biāo)簽安全性能高、標(biāo)簽容量大。(4)RFID可遠(yuǎn)距離同時(shí)識(shí)別多個(gè)電子標(biāo)簽。(5)RFID是物聯(lián)網(wǎng)的基石。一套完整的RFID設(shè)備至少需要兩個(gè)部分的器件,分別是閱讀器和電子標(biāo)簽。閱讀器與電子標(biāo)簽通過自身內(nèi)置的天線發(fā)出或接收射頻信號(hào)。RFID的組成部分:電子標(biāo)簽、讀寫器、系統(tǒng)高層。圖1.1RFID系統(tǒng)結(jié)構(gòu)圖電子標(biāo)簽(Tag)

電子標(biāo)簽都是天線及芯片組成的,通過附著在物體上來標(biāo)識(shí)目標(biāo)對(duì)象,電子編碼的獨(dú)特性使得它不可或缺。芯片用來存儲(chǔ)物品的數(shù)據(jù),天線用來收發(fā)無線電波。電子標(biāo)簽上的數(shù)據(jù)可以加密,存儲(chǔ)數(shù)據(jù)容量大,存儲(chǔ)信息容易更改。電子標(biāo)簽又稱為射頻標(biāo)簽,應(yīng)答器,數(shù)據(jù)載體。

標(biāo)簽分類:電子標(biāo)簽的結(jié)構(gòu)形式多種多樣,有卡片型、環(huán)型、鈕扣型、條型、盤型、鑰匙扣型和手表型等。電子標(biāo)簽可能會(huì)是獨(dú)立的標(biāo)簽形式,也可能會(huì)和諸如汽車點(diǎn)火鑰匙集成在一起進(jìn)行制造。(1)卡片型電子標(biāo)簽圖1.2我國(guó)第二代身份證圖1.3門禁卡(2)標(biāo)簽類電子標(biāo)簽圖1.4具有粘貼功能圖1.5鑰匙扣讀寫器(ReaderandWriter)又稱為閱讀器(Reader),是讀取和寫入電子標(biāo)簽內(nèi)存信息的設(shè)備。讀寫器可以與計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行連接,計(jì)算機(jī)網(wǎng)絡(luò)可以完成數(shù)據(jù)信息的存儲(chǔ)、管理和控制。讀寫器是一種數(shù)據(jù)采集設(shè)備,將前端電子標(biāo)簽所包含的信息,傳遞給后端的計(jì)算機(jī)網(wǎng)絡(luò)。讀寫器基本由射頻模塊、控制處理模塊和天線三部分組成。讀寫器通過天線與電子標(biāo)簽進(jìn)行無線通信,讀寫器可以看成一個(gè)特殊的收發(fā)信機(jī);同時(shí),讀寫器也是電子標(biāo)簽與計(jì)算機(jī)網(wǎng)絡(luò)的連接通道。

閱讀器分類:

(1)根據(jù)讀寫器天線與讀寫器模塊是否分離,讀寫器可以分為集成式讀寫器和分離式讀寫器。 (2)根據(jù)讀寫器外形和應(yīng)用場(chǎng)合,讀寫器可以分為固定式讀寫器、OEM模塊式讀寫器、手持式讀寫器、工業(yè)讀寫器和讀卡器等。

讀寫器的工作特點(diǎn):(1)電子標(biāo)簽與讀寫器之間的通信。(2)讀寫器與計(jì)算機(jī)網(wǎng)絡(luò)之間的通信。(3)防碰撞識(shí)別能力。(4)對(duì)電子標(biāo)簽?zāi)芰康墓芾怼#?)讀寫器的適應(yīng)性。(6)應(yīng)用軟件的控制作用。低頻和高頻RFID的近場(chǎng)特性:工作原理:讀寫器和電子標(biāo)簽之間射頻信號(hào)的傳輸主要有兩種方式,一種是電感耦合方式,一種是電磁反向散射方式,這兩種方式采用的頻率不同,工作原理也不同。低頻和高頻RFID系統(tǒng)基本上都采用電感耦合識(shí)別方式。低頻和高頻RFID電子標(biāo)簽與讀寫器的距離很近,這樣電子標(biāo)簽可以獲得較大的能量。低頻和高頻RFID電子標(biāo)簽與讀寫器的天線基本上都是線圈的形式,兩個(gè)線圈之間的作用可以理解為變壓器的耦合。

圖1.6讀寫器工作原理RFID電感耦合方式使用的頻率主要為13.56MHz。除此之外,RFID也采用其它頻率。(1)小于135kHz的RFID系統(tǒng)。(2)6.78MHz的RFID系統(tǒng)。(3)13.56MHz的RFID系統(tǒng)。(4)27.125MHz的RFID系統(tǒng)。微波RFID的電波特性:微波RFID的工作波長(zhǎng)較短,電子標(biāo)簽基本都處于讀寫器天線的遠(yuǎn)區(qū),電子標(biāo)簽獲得的是讀寫器的輻射信號(hào)和輻射能量。微波RFID系統(tǒng)的閱讀距離一般大于1m,典型情況為4m~7m,最大可達(dá)10m以上。圖1.7微波讀寫器微波RFID的頻率主要包括433MHz、800/900MHz、2.45GHz或5.8GHz。其中,433MHz和800/900MHz頻段電波的繞射能力較強(qiáng),障礙物對(duì)電波傳播的影響較?。?.45GHz和5.8GHz電磁波的波長(zhǎng)較短,收發(fā)天線直線之間最好沒有障礙物。天線定義:凡是利用電磁波來傳遞信息和能量的,都依靠天線來進(jìn)行工作,天線是用來發(fā)射或接收無線電波的裝置和部件。天線是無線通信系統(tǒng)的第一個(gè)器件和最后一個(gè)器件。天線按照結(jié)構(gòu)分類:(1)線狀天線(2)面狀天線(3)縫隙天線(4)微帶天線天線的效率:天線在工作時(shí),并不能將輸入天線的能量全部輻射出去。天線的效率定義為天線的輻射功率P1與輸入功率P2的比值,即:n=P1/P2。方向性系數(shù):在離開天線某一距離處,天線在最大輻射方向上產(chǎn)生的功率密度,與天線輻射出去的能量被均勻分到空間各個(gè)方向(即理想無方向性天線)時(shí)的功率密度之比,稱為天線的方向性系數(shù)。電基本振子的方向性系數(shù)為1.5。增益定義為當(dāng)天線與理想無方向性天線的輸入功率相同時(shí),兩種天線在最大輻射方向上輻射功率密度之比增益同時(shí)考慮了天線的方向性系數(shù)和效率。低頻和高頻RFID天線的結(jié)構(gòu)和圖片:RFID應(yīng)用領(lǐng)域:制造領(lǐng)域、物流領(lǐng)域、零售領(lǐng)域、醫(yī)療領(lǐng)域、身份識(shí)別領(lǐng)域、軍事領(lǐng)域、防偽安全領(lǐng)域、資產(chǎn)管理領(lǐng)域、交通領(lǐng)域、食品領(lǐng)域、圖書領(lǐng)域、動(dòng)物領(lǐng)域、農(nóng)業(yè)領(lǐng)域、電力管理領(lǐng)域、電子支付領(lǐng)域、環(huán)境監(jiān)測(cè)領(lǐng)域、智能家居領(lǐng)域。技術(shù)特點(diǎn):

1、數(shù)據(jù)存儲(chǔ):同傳統(tǒng)標(biāo)簽比較,標(biāo)簽容量更大,數(shù)據(jù)可隨時(shí)更新、可讀寫。

2、讀寫速度:讀寫速度更快,與條碼相比,可同時(shí)對(duì)多個(gè)目標(biāo)識(shí)別、對(duì)快速運(yùn)動(dòng)物體識(shí)別。

3、使用方便:體積小,容易封裝,可以嵌入產(chǎn)品內(nèi)。

4、安全:專用芯片、序列號(hào)惟一、很難復(fù)制。耐用:無機(jī)械故障、壽命長(zhǎng)、抗惡劣環(huán)境。

2ARM的簡(jiǎn)介2.1微處理器介紹ARM是全球領(lǐng)先的16/32位RISC微處理器的知識(shí)產(chǎn)權(quán)設(shè)計(jì)供應(yīng)商,ARM公司通過轉(zhuǎn)讓高性能、低成本、低功耗的RISC微處理器、外圍和系統(tǒng)芯片設(shè)計(jì)技術(shù)給合作伙伴,使他們能用這些技術(shù)來生產(chǎn)各具特色的芯片。目前,應(yīng)用比較多的是ARM7系列、ARM9系列、ARM9E系列、ARM10系列、ARM11系列、SecurCore系列和Intel的StrongARM、XScale系列。ARM7TDMI基于ARM體系結(jié)構(gòu)V4版本,是目前低端的ARM核,具有廣泛的應(yīng)用,其最顯著的應(yīng)用為數(shù)字移動(dòng)電話。ARM7TDMI使用流水線以提高處理器指令的流動(dòng)速度。流水線允許幾個(gè)操作同時(shí)進(jìn)行,以及處理和存儲(chǔ)系統(tǒng)連續(xù)操作。ARM7TDMI使用三級(jí)流水線,因此,指令的執(zhí)行分成三個(gè)階段——取指、譯碼和執(zhí)行。ARM7TDMI核是馮·諾依曼體系結(jié)構(gòu),使用單一32位數(shù)據(jù)總線傳送指令和數(shù)據(jù),只有加載、存儲(chǔ)和交換指令可以訪問存儲(chǔ)器中的數(shù)據(jù)。ARM7TDMI-S是ARM7TDMI的可綜合版本(軟核)。對(duì)應(yīng)用工程師來說,除非芯片生產(chǎn)商對(duì)ARM7TDMI-S進(jìn)行了裁減,否則在邏輯上ARM7TDMI-S與ARM7TDMI沒有太大區(qū)別,其編程模型與ARM7TDMI一致。ARM公司系列產(chǎn)品主要有ARM7、ARM9、ARM9E、ARM10E、SecurCore和ARM11等。其中ARM7TDMI是嵌入式處理器的主力產(chǎn)品之一。本書介紹的三星公司S3C44B0X嵌入式微處理器,就是采用了ARM7TDMI核。StrongARM和XScale系列產(chǎn)品在各種嵌入式系統(tǒng)中同樣得到了廣泛的應(yīng)用。StrongARM是基于ARM核設(shè)計(jì)的微處理器。

2.2RISC體系結(jié)構(gòu)RISC體系的指令長(zhǎng)度不固定,指令集龐大,指令執(zhí)行周期長(zhǎng)短不一,給芯片的成本價(jià)格和開發(fā)設(shè)計(jì)帶來了困難,使流水線的實(shí)現(xiàn)和指令譯碼在硬件上難以實(shí)現(xiàn)。隨著計(jì)算機(jī)技術(shù)的發(fā)展需要不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計(jì)算機(jī)的體系結(jié)構(gòu)會(huì)越來越復(fù)雜。然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%。剩下的的指令在程序中不常用,在程序設(shè)計(jì)的時(shí)候只用了大概20%的指令,所以這種體系是不合理的。

3系統(tǒng)硬件設(shè)計(jì)本章主要是介紹LPC1768的硬件組成部分,之前想過用單片機(jī)和MFRC522的組合也能實(shí)現(xiàn)硬件部分的設(shè)計(jì),最終感覺LPC1768和FM1702SL比較方便,所以就選擇了這個(gè)組合。硬件設(shè)計(jì)方面的電源部分采用的是3.3V供電,還有RTC電路保證整個(gè)電路的運(yùn)行暢通。3.1嵌入式微控制器MCU系統(tǒng)選用LPC1768作為讀寫模塊的主控MCU。LPC1768有充足的通用I/O,不僅完全滿足與液晶顯示的并行接口需要,還可以擴(kuò)展鍵盤、存儲(chǔ)器、蜂鳴器、指示燈等其他外部設(shè)備;其內(nèi)部總線頻率高達(dá)100MHZ,運(yùn)算能力完全滿足控制讀寫設(shè)備的需求;另外,LPC1768還有串行通信模塊、以太網(wǎng)MAC和8通道的通用DMA控制器等功能模塊。LPC1768芯片的主要功能模塊包括:(1)CPU:LPC1768處理器內(nèi)部總線頻率高達(dá)100MHZ,Cortex-M3內(nèi)核采用3級(jí)流水線和哈佛結(jié)構(gòu),集成了獨(dú)立的本地指令和數(shù)據(jù)總線以及用于外設(shè)的稍微低性能的第三條總線,CPU還包含一個(gè)支持隨機(jī)跳轉(zhuǎn)的內(nèi)部預(yù)取指單元指令系統(tǒng),功能強(qiáng)、尋址方式多、編程方便。(2)看門狗定時(shí)器模塊(WDT):當(dāng)微控制器出現(xiàn)錯(cuò)誤狀態(tài)時(shí)WDT電路會(huì)在一定時(shí)間內(nèi)使系統(tǒng)復(fù)位當(dāng)看門狗使能時(shí),如果用戶程序沒有在溢出周期內(nèi)喂狗(給看門狗定時(shí)器重裝定時(shí)值),看門狗會(huì)產(chǎn)生一個(gè)系統(tǒng)復(fù)位。。(3)異步串行通信接口模塊(SCI):RS-485是能使用異步串行通信規(guī)程的通信方式,能和計(jì)算機(jī)、傳真機(jī)等多種設(shè)備進(jìn)行數(shù)據(jù)傳輸。(4)存儲(chǔ)器:當(dāng)LPC1700系列微控制器從Flash運(yùn)行程序代碼時(shí),存儲(chǔ)器加速模塊的設(shè)計(jì)極大的提高了處理器性能,同時(shí)也節(jié)省了整個(gè)系統(tǒng)功率。存儲(chǔ)器加速模塊還改進(jìn)了訪問Flash存儲(chǔ)器數(shù)據(jù)的速度和功率。(5)實(shí)時(shí)時(shí)鐘(RTC):RTC模塊包括20字節(jié)電池供電的備用寄存器,當(dāng)芯片的其它部分掉電時(shí)允許系統(tǒng)狀態(tài)存儲(chǔ)在該寄存器中。電池電源可由標(biāo)準(zhǔn)的3V鋰電池供電。當(dāng)電池電壓掉至2.1V的低電壓時(shí),RTC仍將會(huì)繼續(xù)工作。3.2射頻讀寫電路本課題選用復(fù)旦微電子推出的集成化單顆射頻基站芯片F(xiàn)M1702SL來開發(fā)一卡通系統(tǒng)。FM1702SL是復(fù)旦微電子股份有限公司基于IS014443標(biāo)準(zhǔn)設(shè)計(jì)的非接觸卡讀卡器專用芯片,采用0.6微米CMOSEEPROM的工藝制造,支持ISOl4443typeA協(xié)議和MIFARE標(biāo)準(zhǔn)的加密算法。芯片內(nèi)部集成了模擬調(diào)制解調(diào)電路,且含有512byte的EEPROM和64byte的FIFO,多用于手持設(shè)備,性能穩(wěn)定、功耗低、價(jià)格低廉。FM1702SL共有24個(gè)引腳,如圖3.1所示,其引腳可以分為以下幾類:圖3.1FM1702SL管腳配置(SOP24封裝)(1)電源類引腳為使EMC特性和信號(hào)解耦方面達(dá)到最佳性能,器件使用了3個(gè)獨(dú)立的電源,分別是:TVDD,TVSS(5腳,7腳):天線驅(qū)動(dòng)部分的電源;AVDD,AVSS(18腳,20腳):模擬部分的電源;DVDD,DVSS(17腳,11腳):數(shù)字部分的電源;另外,還有天線部分的內(nèi)部參考電壓:VMID(22腳)。(2)天線引腳TX1,TX2(4腳,6腳):發(fā)送器引腳。FM1702SL通過TX1和TX2發(fā)送經(jīng)過調(diào)制的13.56MHz載波信號(hào)。RX(21腳):接收器引腳。接收從天線耦合得到的來自卡片的13.56MHz輸入載波。(3)復(fù)位引腳RSTPD(23腳):高電平復(fù)位內(nèi)部電路,晶振停止工作,內(nèi)部輸入管腳和外部電路隔離,下沿觸發(fā)內(nèi)部復(fù)位程序。(4)晶振引腳OSCIN,OSCOUT(1腳,24腳):晶振(13.56MHz)的輸入、輸出引腳。(5)MIFARE接口MFIN,MFOUT(1腳,4腳):MIFARE接口輸入、輸出引腳。(6)串行通信接口FM1702SL有4個(gè)引腳用于控制SPI通信接口。MISO(12腳):主入從出,SPI接口下的數(shù)據(jù)輸出。MOSI(14腳):主出從入,SPI接口下的數(shù)據(jù)輸入。NSS(15腳):接口選通,選通SPI接口模式。SCK(13腳):串行時(shí)鐘,為SPI通信提供時(shí)鐘信號(hào)。AUX(19腳):模擬測(cè)試信號(hào)輸出,輸出模擬測(cè)試信號(hào),測(cè)試信號(hào)由TestAnaOutSel寄存器選擇。IRQ(2腳):中斷請(qǐng)求引腳,當(dāng)有中斷事件發(fā)生時(shí),輸出中斷源請(qǐng)求信號(hào)。C0(8腳)固定接高電平,C1(9腳)、C2(10腳)、C3(16腳)固定接低電平。FM1702SL根據(jù)其寄存器的設(shè)定對(duì)發(fā)送數(shù)據(jù)進(jìn)行調(diào)制,通過由天線驅(qū)動(dòng)引腳TX1和TX2以13.56MHz的電磁波形式發(fā)送出去。其中,天線是系統(tǒng)的一個(gè)重要組成部分,為了抑制13.56MHz中的三次、五次和高次諧波,設(shè)計(jì)天線電路時(shí)使用了EMC高頻濾波電路。FM1702SL的天線引腳TX1、TX2、RX以及參考電壓VMID先經(jīng)過EMC濾波電路,然后再與天線匹配電路連接;為了提供穩(wěn)定的參考電壓,進(jìn)一步減少干擾,在RX和VMID引腳間連接了820Ω的電阻R1起到分壓器的作用。圖3.2天線匹配電路我們把天線與卡片間設(shè)計(jì)成緊耦合,來給RFID卡提供足夠的能量,PCB材質(zhì)、天線附近的金屬或鐵氧體以及導(dǎo)體的厚度等因素會(huì)使天線線圈的電感和電容值發(fā)生改變,但可以用以下的公式來估算天線的電感:Ll[nH]=2×Ll[cm]×ln(Ll/Dl)-K×Nl1.8其中:Ll為一圈導(dǎo)線的長(zhǎng)度;Dl為導(dǎo)線直徑或者PCB板敷銅的寬度;K為天線形狀系數(shù)(圓形K=1.07,矩形K=1.47);Ln為自然對(duì)數(shù)。3.3電源及穩(wěn)壓電路系統(tǒng)采用12V供電。變壓器將220V市電降壓為交流12V,通過整流橋?qū)⒔涣麟妷鹤兂擅}動(dòng)的直流電壓,濾波電路(C1和C2)可濾除直流電壓中較大的紋波,整流濾波之后經(jīng)穩(wěn)壓電路(L7812)穩(wěn)壓成12V,穩(wěn)壓后再次濾除電壓中的高低頻雜波,以保證電源的純凈。供電電路如圖3.3:圖3.3系統(tǒng)供電電路由于系統(tǒng)MCU(LPC1768)、射頻讀寫芯片F(xiàn)M1702SL的工作電壓為3.3V,存儲(chǔ)器、看門狗電路以及按鍵掃描芯片等需5V供電,需對(duì)電源進(jìn)行12V-5V-3.3V的轉(zhuǎn)換。圖3.45V穩(wěn)壓電路選用MP1582將輸入的電壓穩(wěn)壓至5V(如圖3.4)。MP1582是種電流模式的降壓轉(zhuǎn)換器,MP1582能在700KHz或1.3MHz頻率下使用,允許簡(jiǎn)單的過濾和低噪音。外部補(bǔ)償引腳使用戶靈活設(shè)置循環(huán)動(dòng)力學(xué),MP1582可以輸出高達(dá)500mA的穩(wěn)定5V電壓。MP1582包括欠壓鎖定,電流限制和熱過載保護(hù)防止損害的發(fā)生輸出過載。選用AMS1117-3.3芯片將輸入的5V電壓穩(wěn)壓至3.3V(如圖3.5)。AMS1117-3.3是一個(gè)低漏失電壓調(diào)整器,片內(nèi)過熱切斷電路對(duì)芯片提供了過載、過熱保護(hù)。輸出連接了一個(gè)22μF的鉭電容和一個(gè)104陶瓷電容以保證輸出電壓的穩(wěn)定,L3、L4對(duì)系統(tǒng)的模數(shù)地進(jìn)行了隔離。圖3.53.3V穩(wěn)壓電路3.4RTC電路系統(tǒng)需要維持一個(gè)系統(tǒng)時(shí)間,由于MCU內(nèi)部集成了RTC模塊,可為系統(tǒng)提供事件發(fā)生的基準(zhǔn)時(shí)間(如圖3.6)。該模塊包括了一個(gè)20字節(jié)電池供電的備用寄存器,當(dāng)芯片的其它部分掉電時(shí)允許系統(tǒng)狀態(tài)存儲(chǔ)在寄存器中。電池電源可由標(biāo)準(zhǔn)的3V鋰電池供電。當(dāng)電池電壓掉至2.1V的低電壓時(shí),RTC仍可繼續(xù)工作(時(shí)間不會(huì)因?yàn)橄到y(tǒng)掉電而停止)。同時(shí)在系統(tǒng)上電工作時(shí),會(huì)和遠(yuǎn)程服務(wù)器進(jìn)行信息交互,獲取服務(wù)器時(shí)間,然后啟用主控MCU的RTC時(shí)鐘功能,保持系統(tǒng)與服務(wù)器的時(shí)間同步。圖3.6RTC電路3.5系統(tǒng)指示電路嵌入式應(yīng)用系統(tǒng)常采用發(fā)光二極管和蜂鳴器來指示系統(tǒng)的運(yùn)行狀態(tài),驅(qū)動(dòng)電路簡(jiǎn)單且易于實(shí)現(xiàn)。本系統(tǒng)設(shè)有3個(gè)狀態(tài)指示燈和1個(gè)峰鳴器。3個(gè)狀態(tài)指示燈包括1個(gè)電源指示燈(D1)和2個(gè)通信指示燈(D5、D6),如圖3.7、3.8所示。D1接通電源時(shí)常亮,斷開電源時(shí)熄滅;D6指示系統(tǒng)的運(yùn)行狀況(系統(tǒng)死機(jī)時(shí)熄滅);D5在扣費(fèi)失敗后閃爍;蜂鳴器在每次操作結(jié)束時(shí)發(fā)出指示音,如余額不足或扣費(fèi)/充值成功。由于MCU的I/O口驅(qū)動(dòng)能力有限,不能直接驅(qū)動(dòng)壓電式蜂鳴器,因此選用兩個(gè)PNP型晶體管組成晶體管驅(qū)動(dòng)電路,單片機(jī)I/O口(P0.24)輸出經(jīng)驅(qū)動(dòng)電路放大后驅(qū)動(dòng)蜂鳴器。圖3.7蜂鳴器驅(qū)動(dòng)電路圖3.8系統(tǒng)狀態(tài)指示燈3.6LCD接口電路系統(tǒng)預(yù)留了液晶顯示接口,用來顯示讀寫卡的通信狀況,并提示用戶的下一步操作等信息。液晶屏采用帶字庫的ST7920,支持8位并行接口及4位串行接口,可以很方便地與MCU進(jìn)行連接,支持反白顯示、畫面垂直旋轉(zhuǎn)等功能。在此不詳細(xì)介紹ST7920的引腳定義和軟件驅(qū)動(dòng),只簡(jiǎn)單地介紹液晶ST7920與MCU的連接,如圖3.9:圖3.9LCD顯示電路3.7485傳輸電路在工業(yè)控制等環(huán)境中,傳輸線路常常會(huì)受到電氣干擾而導(dǎo)致數(shù)據(jù)傳輸錯(cuò)誤,RS-232通訊在不增加緩沖器的情況下只可傳輸15米。因此系統(tǒng)選用RS-485網(wǎng)絡(luò)來傳輸用戶消費(fèi)、充值時(shí)產(chǎn)生的數(shù)據(jù)(如圖3.10)。RS-485采用差分信號(hào)負(fù)邏輯,+2V~+6V表示“0”,-6V~-2V表示“1”。RS485有兩線制和四線制兩種接線方式,四線制是全雙工通訊方式,兩線制是半雙工通訊方式。圖3.10RS-485傳輸電路RS-485模塊使用直線拓樸結(jié)構(gòu),為了網(wǎng)絡(luò)的通訊阻抗達(dá)到匹配,降低不匹配引起的反射、吸收噪聲,設(shè)計(jì)時(shí)在終端安裝2個(gè)匹配電阻,其阻值等于傳輸電纜的特性阻抗(一般取值為120Ω),要特別注意在短距離或低波特率數(shù)據(jù)傳輸(300米以下、19200bps)時(shí)可不需匹配電阻。由于匹配電阻需要消耗很大電流,不適用于功耗限制嚴(yán)格的系統(tǒng)。在一些場(chǎng)合,可以考慮比較省電的并聯(lián)“RC”匹配方案,可以節(jié)省功率,但電容C的取值是很難的,需要在功耗和匹配質(zhì)量間進(jìn)行折中。(1)A,B(6腳、7腳)為RS485總線接口。A為非反相接收輸入或非反相驅(qū)動(dòng)輸出,B為反相接收輸入或反相驅(qū)動(dòng)輸出。(2)RO(1腳)為接收器輸出端,DI(4腳)為發(fā)送器輸入端,分別與單片機(jī)的RXD、TXD連接。DI輸入信號(hào)經(jīng)SP3075E轉(zhuǎn)換為A、B信號(hào)傳送出去;接收到A、B信號(hào)經(jīng)SP3075E轉(zhuǎn)換為一個(gè)RO信號(hào)。(3)RE,DE(2腳、3腳)為收發(fā)使能端。RE是接收器輸出使能端,低電平有效;DE是驅(qū)動(dòng)器輸出使能端,高電平有效[8]。收發(fā)使能RE、DE管腳與MCU的一個(gè)I/O口(P0.25)連接。當(dāng)P0.25=1時(shí),SP3075E處于發(fā)送狀態(tài),當(dāng)P0.25=0時(shí),SP3075E處于接收狀態(tài)。連接至A引腳的上拉電阻R34、連接至B引腳的下拉電阻R33用于保證無連接的SP3075芯片處于空閑狀態(tài),提供網(wǎng)絡(luò)失效保護(hù),以提高RS-485節(jié)點(diǎn)與網(wǎng)絡(luò)的可靠性[9]。電路圖中,鉗位于6.8V的TVS管D27可以避免總線在受外界干擾時(shí)(雷擊、浪涌)產(chǎn)生的高壓損壞RS-485收發(fā)器,對(duì)總線進(jìn)行保護(hù)。3.8顯示電路與按鍵掃描電路系統(tǒng)的顯示電路與按鍵掃描電路由CH453器件完成。CH453內(nèi)置時(shí)鐘振蕩電路,可以動(dòng)態(tài)驅(qū)動(dòng)16位數(shù)碼管或者128只LED發(fā)光管;同時(shí)還可以進(jìn)行64鍵的鍵盤掃描,如圖3.11:圖3.11顯示電路與按鍵掃描電路CH453是2線串行總線接口,包含2個(gè)主要信號(hào)線:串行數(shù)據(jù)時(shí)鐘輸入線SCL、串行數(shù)據(jù)輸入和輸出線SDA;以及1個(gè)輔助信號(hào)線:中斷輸出線INT#。SCL用于提供串行時(shí)鐘,SDA用于串行數(shù)據(jù)輸入和輸出,串行數(shù)據(jù)輸入的順序是低位在后,高位在前。CH453在上升沿時(shí)從SDA輸入數(shù)據(jù),在下降沿時(shí)從SDA輸出數(shù)據(jù)。在SCL為高電平期間發(fā)生的SDA下降沿定義為串行接口的啟動(dòng)信號(hào),在SCL為高電平期間發(fā)生的SDA上升沿定義為串行接口的停止信號(hào)。INT#為中斷輸出信號(hào)線,當(dāng)有按鍵按下時(shí),INT會(huì)被拉低,提示MCU讀取按鍵代碼。(1)顯示驅(qū)動(dòng)CH453采用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)發(fā)光管,其順序?yàn)镈IG0至DIG15。內(nèi)置顯示電流驅(qū)動(dòng)級(jí),段電流不小于15mA,字電流不小于80mA。驅(qū)動(dòng)數(shù)碼管時(shí),只需將字?jǐn)?shù)據(jù)寫入指定地址的數(shù)據(jù)寄存器中即可。(2)按鍵掃描CH453支持8×8矩陣的64鍵鍵盤。在鍵盤掃描期間,DIG7~DIG0引腳用于列掃描輸出,SEG7~SEG0引腳帶有內(nèi)部下拉電阻,用于行掃描輸入。CH453所提供的按鍵代碼為7位,位2~位0是列掃描碼,位5~位3是行掃描碼,位6是狀態(tài)碼(鍵按下為1,鍵釋放為0)。3.9存儲(chǔ)電路系統(tǒng)的存儲(chǔ)電路采用AT24C512與W25Q32結(jié)合的方式,用于存儲(chǔ)系統(tǒng)的數(shù)據(jù)。AT24C512芯片(EEPROM)內(nèi)含512K的存儲(chǔ)單元,數(shù)據(jù)可保存100年。MCU使用串行操作方式將數(shù)據(jù)寫入AT24C512,是一種性價(jià)比較高的存儲(chǔ)芯片,主要用來存儲(chǔ)上位機(jī)發(fā)送的指令,以及暫時(shí)存儲(chǔ)讀卡信息。圖3.12存儲(chǔ)電路存儲(chǔ)器AT24C512為8引腳DIP封裝,管腳的定義如下:A0到A2是地址輸入線,決定了AT24C512的讀寫地址,總線上最多可掛接8片AT24C512,其地址分別為000到111。(2)SDA是雙向串行數(shù)據(jù)線,用于數(shù)據(jù)的發(fā)送和接收。(3)SCL是串行時(shí)鐘輸入線,SCL線的時(shí)序即為IIC協(xié)議中的時(shí)鐘信號(hào)。(4)WP是寫保護(hù)線,接5V時(shí)存儲(chǔ)器禁止寫入數(shù)據(jù),接地時(shí)才允許對(duì)存儲(chǔ)器進(jìn)行讀寫操作。

W25Q32(Flash)具有“PCB占用空間少”、“引腳數(shù)量少”、“功耗低”等特點(diǎn),非常適合做代碼下載應(yīng)用。工作電壓在2.7V~3.6V之間。W25Q32有16384可編程頁,每頁256字節(jié),支持標(biāo)準(zhǔn)的SPI接口,傳輸速率最大75MHz,四線制:串行時(shí)鐘引腳CLK,芯片選擇引腳CS,串行數(shù)據(jù)輸出引腳DO,串行數(shù)據(jù)輸入輸出引腳DIO,另外,芯片還具有保持引腳(HOLD)、寫保護(hù)引腳(WP)、可編程寫保護(hù)位、頂部和底部塊的控制等特征,使得控制芯片更加靈活。以下三點(diǎn)是在使用W35Q32時(shí)需注意的事項(xiàng):(1)對(duì)flash寫數(shù)據(jù),前提要做好必要的處理,首先要寫入狀態(tài)(取消寫保護(hù)),寫狀態(tài)要15ms時(shí)間,寫狀態(tài)之前要打開寫使能,狀態(tài)寫完會(huì)自動(dòng)關(guān)閉寫使能。其次是擦除(最小可以擦除一個(gè)扇區(qū)4k,需要時(shí)間300ms;其次區(qū)域大些可以塊擦除64k,需要2s;也可以整個(gè)芯片擦除,但需要80s),擦除之前要打開寫使能,擦除完會(huì)自動(dòng)關(guān)閉寫使能。最后可以寫數(shù)據(jù)了,當(dāng)然寫數(shù)據(jù)之前要打開寫使能,寫完一次會(huì)自動(dòng)關(guān)閉寫使能,所以下一次寫之前又要打開寫使能,還有每次寫數(shù)據(jù)的間隔要延時(shí)3ms,讀數(shù)據(jù)不需要延時(shí)。(2)由于芯片中分了頁,扇區(qū),塊,所以連寫多個(gè)字節(jié)的數(shù)據(jù)時(shí)肯定會(huì)涉及到跨頁和跨扇區(qū)。跨頁或者跨扇區(qū)是不能連寫的,如果每次寫的字節(jié)是不定的那只能拆開寫,如果每次寫的字節(jié)是固定的個(gè)數(shù)(256能整除以的數(shù)),所以連寫時(shí)要處理好跨頁或者跨扇區(qū)的問題。(3)如果該扇區(qū)中有被寫保護(hù)則扇區(qū)擦除和塊擦除會(huì)失敗,其它扇區(qū)可以被擦除,只要被擦除的區(qū)域沒有保護(hù)著。如果是整個(gè)芯片擦除只要是有寫保護(hù)在,則整塊芯片會(huì)擦除失敗。3.10看門狗電路為了防止系統(tǒng)“死機(jī)”和MCU在電源啟動(dòng)和關(guān)閉期間的誤操作,采用看門狗芯片SP706S來監(jiān)視系統(tǒng)的運(yùn)行,如圖2.14。圖3.13看門狗電路SP706S包含uP復(fù)位模塊,看門狗定時(shí)器,供電失敗比較器,及手動(dòng)復(fù)位輸入模塊,適用于+3.0V或+3.3V環(huán)境。WDO為看門狗輸出引腳,當(dāng)CPU在1.6秒內(nèi)沒有翻轉(zhuǎn)I/O口(WDI,6腳)的電平,那么SP706S內(nèi)部的看門狗溢出,當(dāng)WDO腳輸出低電平,MR腳被WDO腳改變?yōu)榈碗娖?,使得RESET腳輸出200ms的復(fù)位脈沖令CPU復(fù)位,同時(shí)SP706S內(nèi)部清零,讓看門狗重新計(jì)數(shù)。在序調(diào)試或者ISP過程中,若CPU未在1.6秒內(nèi)喂狗一次,則看門狗將會(huì)溢出導(dǎo)致CPU復(fù)位,從而中止程序的運(yùn)行。因此在程序調(diào)試階段和ISP階段,可斷開WDO和MR的連接(拔除短接帽),以禁止看門狗功能。3.11嵌入式網(wǎng)絡(luò)接口電路嵌入式網(wǎng)絡(luò)接口技術(shù)是在嵌入式系統(tǒng)中添加網(wǎng)絡(luò)接口,從而實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸。通過這種方式,主控MCU可及時(shí)地將數(shù)據(jù)上傳到網(wǎng)絡(luò)上。在校園一卡通系統(tǒng)中,以主控芯片LPC1768為核心,預(yù)留了以太網(wǎng)接口。以太網(wǎng)接口芯片選用TI公司的DP83848,與LPC1768的連接如下圖所示:圖3.14網(wǎng)絡(luò)傳輸電路

4系統(tǒng)軟件設(shè)計(jì)軟件系統(tǒng)進(jìn)行初始化后,讀寫器與卡片將進(jìn)入操作準(zhǔn)備階段,這個(gè)階段分為:尋卡、防碰撞、選卡和密碼校驗(yàn),密碼校驗(yàn)成功后再根據(jù)程序代碼進(jìn)行相應(yīng)的操作:讀卡片塊數(shù)據(jù)、向卡片的某塊寫數(shù)據(jù)、充值扣款、數(shù)據(jù)備份、停機(jī)狀態(tài)。4.1Mifare1卡4.1MIFARE卡片狀態(tài)圖(1)MIFARE1的狀態(tài)圖:卡片在與讀寫設(shè)備的通信過程中的狀態(tài)見圖。POWER-OFF狀態(tài):在POWER-OFF狀態(tài),卡片由于缺少負(fù)載能量而處于斷電狀態(tài)。IDLE狀態(tài):在IDLE狀態(tài),卡片有電,可以偵聽并識(shí)別出詢卡命令REQA,WUPA。在執(zhí)行過詢卡命令后,卡片進(jìn)入READY狀態(tài)。READY狀態(tài):在READY狀態(tài),可應(yīng)用防沖突方法得到完整的UID。當(dāng)根據(jù)完整的UID,卡片被選中((SELECT)后,進(jìn)入ACTIVE狀態(tài)。ACTIVE狀態(tài):在ACTIVE狀態(tài),卡片可執(zhí)行應(yīng)用操作。當(dāng)接收到一個(gè)有效的掛起(HLTA)命令后,卡片進(jìn)入HALT狀態(tài)。HALT狀態(tài):在HALT狀態(tài),卡片僅對(duì)WUPA命令有反應(yīng)。(2)MIFARE1的射頻通信處理流程如圖:4.2MIFARE卡片通訊過程(2)MF1的射頻通信處理流程復(fù)位應(yīng)答(AnswertoRequest)當(dāng)有卡片進(jìn)入天線電磁波輻射范圍內(nèi)時(shí),讀寫器以特定的協(xié)議與其進(jìn)行通訊(卡片與讀寫器間的通訊協(xié)議和通訊波特率是預(yù)先定義好的),從而確定該卡片是否為M1卡,即驗(yàn)證卡片的卡型。防沖突機(jī)制(AnticollisionLoop)當(dāng)有多張卡片進(jìn)入讀寫器操作范圍時(shí),防沖突機(jī)制便會(huì)工作并從中選擇一張卡片進(jìn)行操作,未選中的卡片進(jìn)入空閑模式等待下一次選卡操作,該過程會(huì)返回被選中卡片的序列號(hào)。選擇卡片(SelectTag)選擇被選中的卡的序列號(hào),同時(shí)返回卡片的容量代碼。三次互相確認(rèn)(3PassAuthentication)選定要處理的卡片后,讀寫器對(duì)待讀扇區(qū)的密碼進(jìn)行密碼校驗(yàn),通過三次相互認(rèn)證之后就可以通過加密流與卡片進(jìn)行數(shù)據(jù)的讀寫操作。(對(duì)另一扇區(qū)進(jìn)行操作時(shí),則必須進(jìn)行另一扇區(qū)的密碼校驗(yàn),各扇區(qū)的校驗(yàn)密碼是獨(dú)立的。)4.2FM1702SL基本指令SPI_Init命令功能:該函數(shù)主要用來對(duì)FM1702SL的SPI口進(jìn)行初始化,每次上電復(fù)位后調(diào)用。入口參數(shù):無出口參數(shù):c=1SPI接口初始化失敗c=0SPI接口初始化成功FM1702SL_Init命令功能:該函數(shù)主要用來對(duì)FM1702SL的寄存器進(jìn)行初始化,每次上電復(fù)位后調(diào)用。入口參數(shù):無出口參數(shù):c=1FM1702SL各寄存器初始化失敗c=0FM1702SL各寄存器初始化成功Request命令功能:該函數(shù)主要用來向天線有效空間區(qū)域內(nèi)發(fā)射卡片查詢命令。入口參數(shù):無出口參數(shù):c=1卡片查詢失敗,有效空間區(qū)域內(nèi)無卡c=0卡片查詢成功,有效空間區(qū)域內(nèi)有卡Get_UID命令功能:該函數(shù)主要用來得到存在于天線有效空間區(qū)域內(nèi)卡片的5字節(jié)UID號(hào)。入口參數(shù):無出口參數(shù):c=1未得到卡片的5字節(jié)UID號(hào)c=0得到卡片的5字節(jié)UID號(hào)Card_UID用來保存得到的5字節(jié)UID號(hào)Select_Tag命令功能:該函數(shù)主要用來選中存在于天線有效空間區(qū)域內(nèi)的卡片。Card_UID在Get_UID命令中得到的卡片UID號(hào)出口參數(shù):c=1未選中卡片c=0卡片選中Load_Key_EE命令功能:該函數(shù)主要用來將FM1702SL密鑰區(qū)的密碼裝載到FM1702SL的認(rèn)證密鑰緩沖區(qū)中,以供Authentication命令使用。入口參數(shù):無出口參數(shù):c=1密碼裝載失敗c=0密碼裝載成功Authentication命令功能:該函數(shù)主要用來對(duì)存在于天線有效空間區(qū)域內(nèi)的卡片進(jìn)行三重認(rèn)證操作。入口參數(shù):無出口參數(shù):c=1三重認(rèn)證操作失敗c=0三重認(rèn)證操作成功Write_Block命令功能:該函數(shù)主要用來對(duì)存在于天線有效空間區(qū)域內(nèi)的卡片的某塊進(jìn)行寫操作。入口參數(shù):Send_Buf待寫入卡片中的16字節(jié)數(shù)據(jù)內(nèi)容Block_num待寫入卡片中的塊號(hào)出口參數(shù):c=1寫塊操作失敗c=0寫塊操作成功Read_Block命令功能:該函數(shù)主要用來對(duì)存在于天線有效空間區(qū)域內(nèi)的卡片的某塊進(jìn)行讀操作。Block_num待讀出卡片中的塊號(hào)出口參數(shù):c=1讀塊操作失敗c=0讀塊操作成功Send_Buf讀出的卡片中的16字節(jié)數(shù)據(jù)內(nèi)容Load_Key命令功能:該函數(shù)主要用來將密碼裝載到FM1702SL的密鑰區(qū)。Send_Buf寫入FM1702SL密鑰區(qū)地址(2bytes)及密碼(6bytes),地址低字節(jié)在前。出口參數(shù):c=1密碼裝載失敗c=0密碼裝載成功4.3主程序軟件設(shè)計(jì)通用讀寫卡器MCU內(nèi)除固化的讀寫模塊的對(duì)卡片操作函數(shù)外,為實(shí)現(xiàn)完整的讀寫器功能還有數(shù)碼管顯示函數(shù)、按鍵掃描函數(shù)、數(shù)據(jù)的存儲(chǔ)及傳輸?shù)群瘮?shù)接口。程序流程如下所示:(1)LPC1768進(jìn)行寄存器與引腳功能的初始化,設(shè)置FM1702SL的工作方式,數(shù)碼管顯示歡迎界面;(2)主程序循環(huán)中一方面檢測(cè)按鍵代碼,并判斷Enter鍵是否按下,Enter鍵未按下時(shí),CPU繼續(xù)掃描按鍵,按下后轉(zhuǎn)3;另一方讀取RTC時(shí)鐘,判斷當(dāng)前系統(tǒng)時(shí)間是否為閑時(shí)段,忙時(shí)段時(shí)CPU掃描按鍵,限時(shí)段時(shí)讀取Flash中的數(shù)據(jù)進(jìn)行485遠(yuǎn)程數(shù)據(jù)傳輸;(3)讀寫器發(fā)送尋卡指令,等待一張卡片進(jìn)入天線電磁波輻射范圍內(nèi),之后執(zhí)行防沖撞、鎖定卡片、密碼校驗(yàn)等一系列命令,并返回卡片卡號(hào)、存儲(chǔ)空間等信息;(4)讀取特定扇區(qū)內(nèi)的數(shù)據(jù),以此判斷卡片是否進(jìn)行初始化,若未初始化則進(jìn)行卡片的初始化,已經(jīng)初始化后的卡片轉(zhuǎn)5;(5)判斷此次操作為充值還是消費(fèi)。充值時(shí)判斷卡片數(shù)據(jù)是否超過999.99,超過時(shí)蜂鳴器發(fā)出嘶鳴聲,提示用戶此次操作無效,未超過時(shí)轉(zhuǎn)6;消費(fèi)時(shí)判斷卡片數(shù)據(jù)是否小于0.00,若小于該數(shù)據(jù)蜂鳴器發(fā)出嘶鳴聲,提示用戶此次操作無效,不小于時(shí)轉(zhuǎn)6;(6)將數(shù)據(jù)寫入卡片特定的扇區(qū)塊,同時(shí)讀取RTC時(shí)鐘,判斷系統(tǒng)時(shí)間是否為閑時(shí)段,閑時(shí)段則將此次操作產(chǎn)生的數(shù)據(jù)(消費(fèi)機(jī)號(hào)、操作時(shí)間、卡號(hào)、操作金額等數(shù)據(jù))傳輸?shù)絇C上位機(jī),忙時(shí)段則將數(shù)據(jù)寫入Flash,并轉(zhuǎn)2;

5測(cè)試與結(jié)果5.1軟件測(cè)試對(duì)于LPC1768微控制器部分的測(cè)試,即測(cè)試LPC1768最小系統(tǒng)是否工作正常。LPC1768最小系統(tǒng)電路包括電源供電電路、時(shí)鐘電路以及復(fù)位電路。(1)上電復(fù)位后,測(cè)量LPC1768的VSS、VDD管腳,測(cè)試電源供電電路是否正常供電;測(cè)量復(fù)位引腳RST是否處于高電平狀態(tài)。(2)用示波器測(cè)量晶振的波形,測(cè)試時(shí)鐘電路是否工作正常。(3)在LPC1768的一個(gè)通用I/O腳接上測(cè)試LED。編寫一個(gè)簡(jiǎn)單的測(cè)試程序,讓接有LED的I/O口的高低電平周期性變換,觀察測(cè)試LED的閃爍情況。測(cè)試程序中主要包括對(duì)LPC1768進(jìn)行寄存器初始化設(shè)置,包括堆棧指針的設(shè)定、PLL鎖相環(huán)的配置、看門狗模塊的設(shè)置。通過調(diào)整測(cè)試程序中的延時(shí)時(shí)間,可以看到LED閃爍頻率的變化,由此判斷LPC1768是否工作正常。5.2調(diào)試結(jié)果本課題設(shè)計(jì)的校園一卡通系統(tǒng)實(shí)現(xiàn)了刷卡消費(fèi)、充值和遠(yuǎn)程傳輸消費(fèi)/充值數(shù)據(jù)的功能。對(duì)于充值/消費(fèi)時(shí),可以實(shí)現(xiàn)固定金額操作(如打水)和非固定金額的消費(fèi)與充值,閑時(shí)段時(shí),將Flash中的數(shù)據(jù)讀出通過485遠(yuǎn)程傳輸?shù)娇刂婆_(tái)上。本系統(tǒng)操作方便,性能穩(wěn)定。調(diào)試結(jié)果如圖4.1所示。圖4.1讀出的IC卡數(shù)據(jù)

6結(jié)論RFID卡由于可以識(shí)別高速運(yùn)動(dòng)的物體,同時(shí)識(shí)別多個(gè)目標(biāo),實(shí)現(xiàn)遠(yuǎn)程讀取,并可以工作在各種惡劣環(huán)境,便于維護(hù)和使用壽命長(zhǎng),使得它能取代現(xiàn)在接觸式的IC卡得到更廣泛的應(yīng)用。本文采用LPC的32位處理器和復(fù)旦微電子的FM1702SL讀寫芯片實(shí)現(xiàn)了校園一卡通的設(shè)計(jì),介紹了讀寫器與天線的設(shè)計(jì)及其實(shí)現(xiàn)過程。在硬件上介紹了LPC1768的各個(gè)電路還有讀寫器的工作原理;軟件上實(shí)現(xiàn)了尋卡、讀卡和修改數(shù)據(jù)的功能,還解釋了一些FM1702的基本操作函數(shù)。但是由于課題研究時(shí)間的限制使論文有很多不足,對(duì)RFID技術(shù)的研究還有待繼續(xù)深入的研究與學(xué)習(xí)。這是一種能為我們帶來方便的新技術(shù),RFID產(chǎn)業(yè)結(jié)合了電子、計(jì)算機(jī)、網(wǎng)絡(luò)等技術(shù)領(lǐng)域,使RFID的優(yōu)勢(shì)遠(yuǎn)超于傳統(tǒng)的條形碼,射頻識(shí)別技術(shù)在未來將深入到人們工作、生活的各個(gè)方面。隨著RFID技術(shù)的發(fā)展演進(jìn)以及成本的降低以及現(xiàn)在電子市場(chǎng)的壯大將為RFID帶來巨大的商機(jī)。相信在眾多研究者和開發(fā)人員的共同努力下,必定能推動(dòng)RFID相關(guān)產(chǎn)品的問世。

致謝伴隨著論文的完成,我的大學(xué)生活也就要這樣結(jié)束了,雖然有點(diǎn)不舍但天下沒有不散的宴席。很感謝在我寫論文期間,老師和室友對(duì)我的巨大幫助,在論文的寫作過程中我遇到了很多的困難,如果沒有李紅星老師的指導(dǎo),我自己是很難完成的。另外,我在圖書館查找的資料也幫到了不少的忙,在此我向給予我?guī)椭椭笇?dǎo)的老師和同學(xué)表示誠(chéng)心的感謝!感謝知網(wǎng)的無私精神,本文引用了多位學(xué)者的研究文獻(xiàn),這些文獻(xiàn)給我指明了我要研究的方向,以及給了我理論的依據(jù),在我一頭霧水的時(shí)候,是他們?yōu)槲艺樟亮饲胺降穆贰:芨兄x這些學(xué)者文獻(xiàn)的幫助和啟發(fā),不然我將很難完成本論文的寫作。由于課題研究時(shí)間的緊迫,使得論文的不足之處很多,還請(qǐng)各位老師的諒解和指正!參考文獻(xiàn)[1]徐麗華.射頻識(shí)別卡讀寫模塊的設(shè)計(jì)與應(yīng)用[M].蘇州:蘇州大學(xué),2005.[2]陳龍.第二代身份證讀寫模塊開發(fā)及應(yīng)用[M].蘇州:蘇州大學(xué),2007.10[3]許芬.基于ARM的RFID讀寫系統(tǒng)研究[M].上海大學(xué),2010.[4]陳東.基于校園一卡通的小額自助網(wǎng)上繳費(fèi)系統(tǒng)設(shè)計(jì)[J].2011.[5]王超.基于校園一卡通的學(xué)生收費(fèi)管理系統(tǒng)設(shè)計(jì)[J].科技向?qū)?2010.[6]戰(zhàn)清,李蘇劍.無線射頻識(shí)別技術(shù)(RFID)理論與應(yīng)用[M].電子工業(yè)出版社,2004.[7]賀利芳,范俊波.非接觸IC卡技術(shù)及其發(fā)展和應(yīng)用[J].通信與信息技術(shù)2003,(6).[8]解析無線射頻識(shí)別技術(shù)[Z]./.2004-12.[9]李錦濤,郭俊波等.射頻識(shí)別技術(shù)及其應(yīng)用[Z].信息技術(shù)快報(bào)(中科院計(jì)算技術(shù)研究所內(nèi)部刊物),2004,(11).[10]林樹功,蔡竟業(yè).射頻識(shí)別技術(shù)原理分[Z]./,2004-10.[11]袁茂峰.全方位了解非接觸式智能卡技術(shù).金卡工程,2003[12][美]ArnoldBerger著.嵌入式系統(tǒng)設(shè)計(jì)[M].電子工業(yè)出版社,2002[13]孫永飛,基于ARM的RFID讀卡器設(shè)計(jì).南京理工大學(xué),2007.7[14]汪開元,基于ARM的非接觸式IC卡讀卡器設(shè)計(jì).南京理工大學(xué),2009.5[15]徐守偉,基于ARM處理器的RFID讀卡器的研制.電子科技大學(xué),2006[16]王素琴,Mifare1非接觸式IC卡的研究與實(shí)現(xiàn).北京工業(yè)大學(xué),2013.4[17]周密,13.56MHz射頻讀卡器系統(tǒng)的設(shè)計(jì)與研究.西南科技大學(xué),2009.6.9[18]黃玉蘭,物聯(lián)網(wǎng)射頻識(shí)別(RFID)技術(shù)與應(yīng)用.人民郵電出版社.2013.5

附錄附錄一:硬件結(jié)構(gòu)圖LPC1768主板圖硬件電路原理圖附錄二:源代碼程序#include"..\config.h"externunsignedcharOk_Flag;externunsignedcharFlag_CardPro;externunsignedcharTime;intmain(void){ structTimeTime_Set={2014,5,14,3,9,21,30},*P; P=&Time_Set; targetInit();/*初始化目標(biāo)板,切勿刪除*/pinInit(); PCONP=PCONP|(1<<24); FIO0DIR&=~KEY;/*引腳初始化*/ uart0Init(); uart2Init(); SPIInit(); i2c1Init(100000); rtcInit(P); CH453_W(0x48,0x0b); Rc1702Ready(); PcdConfigISOType('A'); Hello_World(); Clear_Dis_All(); while(1) { while(Time==0) { DIS_Hell(); }; do{ Get_Key(); }while((Time>=1)&&(Ok_Flag==0)); while((Ok_Flag==1)||(Ok_Flag==2)) { Enter_Key(); Card_Pre(); if(Flag_CardPro==1) { Send_Message(); Flag_CardPro=0; } } }}I2CINT.CINT8UCH453_W(INT8Usla,INT8Udat){/*參數(shù)設(shè)置*/I2C_sla=sla;/*寫操作的器件地址*/I2C_buf=&dat;/*待發(fā)送的數(shù)據(jù)*/I2C_num=1;/*發(fā)送1字節(jié)數(shù)據(jù)*/I2C_suba_en=0;/*無子地址*/I2C_end=0;I2C1CONCLR=0x2C;I2C1CONSET=0x60;/*設(shè)置為主機(jī),并啟動(dòng)總線*/return(Wait_I2c_End(20));}INT8UCH453_R(INT8Usla,INT8U*dat){/*參數(shù)設(shè)置*/I2C_sla=sla;/*讀操作的器件地址*/I2C_buf=dat;I2C_num=1;I2C_suba_en=0;/*無子地址*/I2C_end=0;I2C1CONCLR=0x2C;I2C1CONSET=0x60;/*設(shè)置為主機(jī),并啟動(dòng)總線*/return(Wait_I2c_End(20));/*while(0==I2C_end);if(1==I2C_end)return(1);elsereturn(0);*/}DIS_KEY.C#defineBEEP(1<<24)/*P0.11腳控制蜂鳴器*/#defineBEEPOFF()FIO0DIR|=BEEP;FIO0SET|=BEEP#defineBEEPON()FIO0DIR|=BEEP;FIO0CLR|=BEEP#defineLED_G(1<<9)#defineLEDG_OFF()FIO0DIR|=LED_G;FIO0SET|=LED_G#defineLEDG_ON()FIO0DIR|=LED_G;FIO0CLR|=LED_GunsignedcharTime=0;unsignedcharMoney_Unp[20]={0x00};unsignedcharDot_Flag=0;signedcharNum_Dot=0;unsignedcharOk_Flag=0;unsignedlongintMoney=0; voidGet_Key(void) //讀取按鍵數(shù)值{ unsignedcharTable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsignedcharTable_Dot[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; unsignedcharKey_buf[2]; if((FIO0PIN&KEY)==0) { CH453_R(0x4f,Key_buf); switch(Key_buf[0]) { case0x60://數(shù)字1 Time++; //金額位數(shù)加一 if(Dot_Flag) //小數(shù)點(diǎn)標(biāo)志位 { Num_Dot++; //小數(shù)點(diǎn)后幾位 if(Num_Dot>=3) { Num_Dot--; Time--; } else { if(Num_Dot==1) { if(Time==2) { Money_Unp[Time]=1; CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==3) { Money_Unp[Time]=1; CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=1; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>=5) { Time--; } } elseif(Num_Dot==2) { if(Time==3) { Money_Unp[Time]=1; CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=1; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==5) { Money_Unp[Time]=1; CH453_W(0x74,Table[Money_Unp[Time-4]]); CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>5) { Time--; } } } } break; …… case0x59: //數(shù)字9 Time++; if(Dot_Flag) { Num_Dot++; if(Num_Dot>=3) { Num_Dot--; Time--; } else { if(Num_Dot==1) { if(Time==2) { Money_Unp[Time]=9; CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==3) { Money_Unp[Time]=9; CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=9; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table[Money_Unp[Time-2]]); CH453_W(0x7a,Table_Dot[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>=5) { Time--; } } elseif(Num_Dot==2) { if(Time==3) { Money_Unp[Time]=9; CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==4) { Money_Unp[Time]=9; CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time==5) { Money_Unp[Time]=9; CH453_W(0x74,Table[Money_Unp[Time-4]]); CH453_W(0x76,Table[Money_Unp[Time-3]]); CH453_W(0x78,Table_Dot[Money_Unp[Time-2]]); CH453_W(0x7a,Table[Money_Unp[Time-1]]); CH453_W(0x7c,Table[Money_Unp[Time]]); } elseif(Time>5) { Time--; } } } } break; case0x50://清零 Time=0; Dot_Flag=0; Num_Dot=0; Ok_Flag=0; Clear_Dis_Half(); LEDG_OFF(); break; case0x49: //回車 Ok_Flag=1; if(Time==1) { Money_Unp[Time+1]=0; Money_Unp[Time+2]=0; CH453_W(0x78,Table_Dot[Money_Unp[Time]]); CH453_W(0x7a,Table[Money_Unp[Time+1]]); CH453_W(0x7c,Table[Money_Unp[Time+2]]); Num_Dot=2; Dot_Flag=1; Time=3; } elseif(Time==2) { if(Dot_Flag==0) { Money_Unp[Time+1]=0; Money_Unp[Time+2]=0; CH453_W(0x76,Table[Money_Unp[Time-1]]); CH453_W(0x78,Table_Dot[Money_Unp[Time]]); CH453_W(0x7a,Table[Money_Unp[Time+1]]); CH453_W(0x7c,Table[Money_Unp[Time+2]]); Num_Dot=2; Dot_Flag=1; Time=4; } elseif(Num_Dot==1) { Money_Unp[Time+1]=0; CH453_W(0x78,Table_Dot[Mone

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論