鉆具出入庫自動(dòng)檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  1緒論1</b></p><p><b>  1.1背景1</b></p><p>  1.1.1傳統(tǒng)管理模式的弊端1</p><p>  1.1.2 RFID技術(shù)的崛起1</p>

2、<p>  1.2目的和意義2</p><p><b>  1.2.1目的2</b></p><p><b>  1.2.2意義2</b></p><p>  1.3RFID技術(shù)的主要應(yīng)用2</p><p>  1.4主要工作和任務(wù)3</p><p>&l

3、t;b>  2相關(guān)知識(shí)簡(jiǎn)介4</b></p><p>  2.1RFID技術(shù)4</p><p>  2.1.1讀寫器4</p><p>  2.1.2電子標(biāo)簽5</p><p>  2.1.3應(yīng)用軟件系統(tǒng)6</p><p>  2.2MF RC5006</p><p&g

4、t;  2.2.1MF RC500簡(jiǎn)介6</p><p>  2.2.2MF RC500特性8</p><p>  3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)9</p><p>  3.1系統(tǒng)總體架構(gòu)9</p><p>  3.1.1系統(tǒng)可行性分析9</p><p>  3.1.2系統(tǒng)架構(gòu)10</p><p>

5、;  3.2硬件設(shè)計(jì)11</p><p>  3.2.1USB通訊及電源模塊設(shè)計(jì)11</p><p>  3.2.2天線模塊設(shè)計(jì)12</p><p>  3.2.3微控制器設(shè)計(jì)14</p><p>  3.3軟件設(shè)計(jì)14</p><p>  3.3.1主程序設(shè)計(jì)14</p><p>

6、  3.3.2顯示屏程序設(shè)計(jì)18</p><p>  3.3.3ISO14443標(biāo)準(zhǔn)協(xié)議程序設(shè)計(jì)21</p><p><b>  4系統(tǒng)測(cè)試23</b></p><p><b>  5結(jié)論26</b></p><p><b>  致 謝28</b></p>

7、<p><b>  參考文獻(xiàn)29</b></p><p><b>  附 錄30</b></p><p><b>  1緒論</b></p><p><b>  1.1背景</b></p><p>  在當(dāng)今的社會(huì)里,石油作為我們國家發(fā)展

8、不可缺少的能源,對(duì)世界上的每個(gè)國家來說都有著舉足輕重的地位。隨著鉆井市場(chǎng)競(jìng)爭(zhēng)的日益激烈,我們對(duì)鉆井技術(shù)的要求也越來越高,與此同時(shí),我們對(duì)鉆具的保護(hù)就要求更加嚴(yán)格。但是,在傳統(tǒng)的管理模式中,管理員很難做到對(duì)每一種鉆具一對(duì)一的管理,導(dǎo)致許多鉆具因?yàn)楦鞣N原因“不翼而飛”,或者磨損得比較嚴(yán)重,甚至導(dǎo)致人們因?yàn)閷?duì)鉆具的使用情況不熟悉而釀成不堪設(shè)想的后果。除此之外,在現(xiàn)在計(jì)算機(jī)技術(shù)飛速發(fā)展的社會(huì)里,RFID技術(shù)作為一種新崛起的高新技術(shù)進(jìn)入我們的社會(huì)

9、生活中,給我們帶來了巨大的方便。所以,將RFID技術(shù)應(yīng)用到我們的鉆具管理模式中已經(jīng)成為了鉆進(jìn)市場(chǎng)中的一種迫切需求。將RFID技術(shù)和IC卡系統(tǒng)技術(shù)相結(jié)合就形成了非接觸式IC卡系統(tǒng)的產(chǎn)物。早期的IC卡是接觸式的,有許多缺點(diǎn),包括接觸磨損,效率低,難維護(hù)等問題。而新的鉆具管理模式就是采用非接觸式的IC卡系統(tǒng),相比早期的IC卡系統(tǒng)來說,具有操作方便,抗干擾強(qiáng),可靠性高,安全性高等優(yōu)點(diǎn)。</p><p>  1.1.1傳統(tǒng)

10、管理模式的弊端</p><p>  目前,在國內(nèi)鉆井市場(chǎng)日益激烈的情況下,人們對(duì)鉆具的管理要求也越來越嚴(yán)格。然而,傳統(tǒng)的鉆具管理模式實(shí)行鉆具定隊(duì)管理。人們?yōu)榱斯?jié)約成本,時(shí)間等一系列因素,要求無論鉆井隊(duì)伍在遇到什么樣的鉆井深度和井身機(jī)構(gòu)的情況下,都只使用一套鉆具,將全部自認(rèn)為最好的鉆具混在一起形成一套鉆具,而不考慮鉆具之間的配合是否合適。傳統(tǒng)的管理模式導(dǎo)致許多好的鉆具不能合理的利用,甚至許多鉆具磨損得更加嚴(yán)重,使鉆

11、具在用的過程中失效,導(dǎo)致事故的發(fā)生。此外,沒有對(duì)這些鉆具進(jìn)行跟蹤分析,很可能導(dǎo)致許多鉆具在使用的過程中或者在使用后就不見了,下次再需要的時(shí)候又要浪費(fèi)時(shí)間來對(duì)這套鉆具進(jìn)行配套。</p><p>  1.1.2 RFID技術(shù)的崛起</p><p>  隨著社會(huì)的進(jìn)步和計(jì)算機(jī)技術(shù)的飛速發(fā)展,自動(dòng)識(shí)別技術(shù)漸漸進(jìn)入我們的社會(huì)生活中,其中射頻識(shí)別技術(shù)作為這些識(shí)別技術(shù)中的一種新型技術(shù),在國內(nèi)市場(chǎng)中迅速崛

12、起,被譽(yù)為未來取代條形碼標(biāo)簽最具潛力的技術(shù)。近年來,RFID技術(shù)帶來的產(chǎn)品不斷的進(jìn)入到我們的社會(huì)生活中,其中非接觸式的IC卡系統(tǒng)就是一個(gè)顯著地例子。門禁系統(tǒng),食品溯源,博物館應(yīng)用,上海世博會(huì)門票等一系列產(chǎn)物都與該技術(shù)有著密不可分的關(guān)系。</p><p>  物聯(lián)網(wǎng)已被確定為中國戰(zhàn)略性新型產(chǎn)業(yè)之一,而射頻識(shí)別技術(shù)作為物聯(lián)網(wǎng)發(fā)展的最關(guān)鍵的技術(shù),隨著物聯(lián)網(wǎng)的發(fā)展,射頻識(shí)別技術(shù)也將得到很好的利用。</p>

13、<p><b>  1.2目的和意義</b></p><p><b>  1.2.1目的</b></p><p>  為了使鉆具資源得到合理的利用,使鉆具的生命周期更長(zhǎng),新的鉆具管理模式取代傳統(tǒng)的鉆具管理模式是勢(shì)在必行的。只有用新的管理模式對(duì)這些鉆具做到“一對(duì)一”的管理,以及跟蹤分析,才能更好地利用這些資源。只有新的管理方式才能跟上鉆井

14、市場(chǎng)飛速發(fā)展的步伐。此外,RFID技術(shù)已經(jīng)漸漸進(jìn)入我們的社會(huì)生活中,將該技術(shù)應(yīng)用到鉆具的科學(xué)化管理中也是我們油田事業(yè)發(fā)展的一種標(biāo)志。</p><p><b>  1.2.2意義</b></p><p>  基于RFID技術(shù)的鉆具出入庫自動(dòng)檢測(cè)系統(tǒng)不僅可以科學(xué)化地管理油田鉆具,同時(shí)也是我們將RFID技術(shù)應(yīng)用到我們社會(huì)生活中的一個(gè)具體的實(shí)踐。該系統(tǒng)的設(shè)計(jì),不僅可以方便管理

15、員對(duì)石油鉆具的管理和保護(hù),還可以將該系統(tǒng)應(yīng)用到其他行業(yè)中。設(shè)計(jì)和開發(fā)出的檢測(cè)系統(tǒng),對(duì)加快我們的經(jīng)濟(jì)建設(shè)和RFID技術(shù)的推廣應(yīng)用都有非常重大的意義。</p><p>  1.3RFID技術(shù)的主要應(yīng)用</p><p>  隨著人們對(duì)RFID技術(shù)的不斷嘗試和使用,射頻識(shí)別技術(shù)的理論知識(shí)得到豐富和完善,在人們生活中應(yīng)用越來越多。由于不同頻段的RFID產(chǎn)品有著不同的特性,因此不同頻段的RFID應(yīng)用到

16、不同的領(lǐng)域中。</p><p>  首先是低頻段的RFID主要應(yīng)用的領(lǐng)域有:</p><p><b>  畜牧業(yè)的管理系統(tǒng);</b></p><p>  自動(dòng)收費(fèi)系統(tǒng)和車輛管理系統(tǒng);</p><p>  自動(dòng)加油系統(tǒng)的應(yīng)用;</p><p>  門禁和安全管理系統(tǒng)等。</p><

17、;p>  其次是高頻段的RFID主要應(yīng)用的領(lǐng)域有:</p><p>  圖書管理系統(tǒng)的應(yīng)用;</p><p><b>  智能貨架的管理;</b></p><p>  服裝生產(chǎn)線和物流系統(tǒng)的管理和應(yīng)用;</p><p>  固定資產(chǎn)的管理系統(tǒng)等。</p><p>  最后是超高頻段的RFID

18、主要應(yīng)用的領(lǐng)域有:</p><p>  供應(yīng)鏈上的管理和應(yīng)用;</p><p>  集裝箱的管理和應(yīng)用;</p><p>  航空和鐵路包裹的管理和應(yīng)用;</p><p>  后勤管理系統(tǒng)的應(yīng)用。</p><p>  1.4主要工作和任務(wù)</p><p>  本課題做的基于RFID技術(shù)的鉆具出入

19、庫的自動(dòng)檢測(cè)系統(tǒng)主要是以STC89C54RD+單片機(jī)作為微控制器,以射頻識(shí)別技術(shù)為核心的系統(tǒng),系統(tǒng)中采用的是飛利浦公司中的MF RC500芯片作為整個(gè)射頻識(shí)別系統(tǒng)的讀寫器。不僅涉及到了該系統(tǒng)的總體架構(gòu),系統(tǒng)工作原理,以及對(duì)硬件的設(shè)置,軟件的編程,產(chǎn)品的調(diào)試。設(shè)計(jì)出的系統(tǒng)不僅可以識(shí)別卡的型號(hào),也就是鉆具的名稱,還能識(shí)別鉆具卡的ID,相當(dāng)于鉆具的編號(hào)。還可以利用應(yīng)用軟件管理系統(tǒng)對(duì)該識(shí)別卡進(jìn)行讀或?qū)懙牟僮?。該系統(tǒng)主要是利用USB接口供電,同樣

20、是利用USB接口與應(yīng)用軟件系統(tǒng)連接通信。本設(shè)計(jì)最后能夠達(dá)到的系統(tǒng)指標(biāo)主要有:</p><p>  顯示系統(tǒng):能夠在LCD顯示屏上看到鉆具卡的信息;</p><p>  識(shí)別卡的信息:當(dāng)識(shí)別卡進(jìn)入到系統(tǒng)的工作范圍內(nèi)時(shí),顯示屏上能夠正確顯示卡的型號(hào)(鉆具名稱)和ID(鉆具編號(hào))。</p><p>  唯一性:兩張不同的卡進(jìn)入到系統(tǒng)的工作范圍內(nèi)時(shí),卡的型號(hào)(鉆具名稱)可以

21、相同,但是卡的ID(鉆具編號(hào))不能夠一樣。</p><p>  讀寫識(shí)別卡信息:可以利用應(yīng)用軟件系統(tǒng)對(duì)識(shí)別卡進(jìn)行讀和寫的操作。</p><p>  設(shè)計(jì)本系統(tǒng)主要涉及到技術(shù)難點(diǎn)主要有:</p><p>  STC89C54RD+單片機(jī)作為微控制器的程序設(shè)計(jì);</p><p>  讀寫器與電子標(biāo)簽通信標(biāo)準(zhǔn)的程序設(shè)計(jì);</p>&l

22、t;p>  應(yīng)用軟件系統(tǒng)的設(shè)計(jì);</p><p>  該系統(tǒng)設(shè)計(jì)完畢后,與不同的應(yīng)用軟件系統(tǒng)相連接可以將之投入到不同的行業(yè)中。該系統(tǒng)不僅可以應(yīng)用到石油鉆井市場(chǎng)中,還可以應(yīng)用到食品溯源,倉庫管理,小區(qū)停車等。</p><p><b>  2相關(guān)知識(shí)簡(jiǎn)介</b></p><p><b>  2.1RFID技術(shù)</b>&l

23、t;/p><p>  RFID技術(shù)是射頻識(shí)別技術(shù)(Radio Frequency IDentification)的簡(jiǎn)稱,又稱電子標(biāo)簽,是一種通信技術(shù),可以通過無線電信號(hào)識(shí)別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),是一種非接觸式通信的典型例子。一般可以分為低頻(125K~134.2K),高頻(13.56MHz),超高頻等技術(shù)。一個(gè)完整的RFID系統(tǒng)主要包括三個(gè)方面:讀寫器,電子標(biāo)簽,以及天線。除此之外,一般還要在PC機(jī)上建立一個(gè)應(yīng)用軟

24、件系統(tǒng),主要是用來對(duì)收集到的數(shù)據(jù)進(jìn)行處理。</p><p>  圖 2.1 讀寫器與電子標(biāo)簽的通信</p><p><b>  2.1.1讀寫器</b></p><p>  RFID讀寫器又被成為“RFID閱讀器”,通過射頻識(shí)別信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),不需要人工的操作,可以識(shí)別高速運(yùn)動(dòng)的物體以及可以同時(shí)識(shí)別多個(gè)標(biāo)簽,使整個(gè)系統(tǒng)運(yùn)行操

25、作更加簡(jiǎn)單方便。RFID讀寫器通過天線與電子標(biāo)簽進(jìn)行無線通信,可以實(shí)現(xiàn)對(duì)電子標(biāo)簽的讀操作和寫操作。如今的社會(huì)上有著許多種讀寫器,主要可以分為低頻讀寫器,高頻讀寫器,超高頻讀寫器,雙頻讀寫器(所謂的雙頻讀寫器就是指該讀寫器可以支持兩種協(xié)議的讀寫),防爆讀寫器等。射頻識(shí)別技術(shù)發(fā)展到如今的地步,有許多種芯片可以制成不同的讀寫器。本課題研究的是利用飛利浦公司的MF RC500芯片制作的可以支持ISO14443A標(biāo)準(zhǔn)協(xié)議的讀寫器。一般的讀寫器可以

26、包括手持式的讀寫器和固定式的讀寫器。現(xiàn)如今不同的RFID讀寫器出現(xiàn)在社會(huì)的不同領(lǐng)域中,超市中的食品保護(hù),門禁系統(tǒng)的人員識(shí)別,停車場(chǎng)的車子的保護(hù)和防盜等,發(fā)揮著不同的作用。</p><p>  圖 2.2 社會(huì)上的各種讀寫器</p><p><b>  2.1.2電子標(biāo)簽</b></p><p>  這里的電子標(biāo)簽是指純粹的標(biāo)簽,常常又被叫做智能

27、標(biāo)簽。電子標(biāo)簽也是一個(gè)芯片,該芯片不僅內(nèi)部存有天線,芯片中還存儲(chǔ)著能夠識(shí)別目標(biāo)的信息。RFID標(biāo)簽具有很多種優(yōu)點(diǎn),包括存儲(chǔ)的信息量大,信息接收傳播性強(qiáng),非常持久,種類繁多等。甚至現(xiàn)在有些電子標(biāo)簽具有讀寫的功能,能夠非常及時(shí)地更新標(biāo)簽的數(shù)據(jù)。RFID電子標(biāo)簽在制作時(shí)具有唯一的卡片序列號(hào),而且該序列號(hào)無法復(fù)制,不可能出現(xiàn)兩張一模一樣的RFID電子標(biāo)簽,所以該標(biāo)簽具有很強(qiáng)的防偽性。電子標(biāo)簽還具有防沖突性,因?yàn)橐粋€(gè)RFID讀寫器經(jīng)常在同時(shí)訪問多

28、個(gè)電子標(biāo)簽,不會(huì)因?yàn)槎鄠€(gè)標(biāo)簽而數(shù)據(jù)發(fā)生沖突而改變。</p><p>  電子標(biāo)簽根據(jù)不同的標(biāo)準(zhǔn)可以分為不同的種類。首先根據(jù)工作頻率可以分為低頻電子標(biāo)簽,中高頻電子標(biāo)簽,超高頻和微波電子標(biāo)簽;其次根據(jù)其電能消耗可以分為有源式電子標(biāo)簽和無源式電子標(biāo)簽;最后還可以根據(jù)其應(yīng)用可以分為物流標(biāo)簽,圖書標(biāo)簽,防金屬標(biāo)簽等。</p><p>  圖 2.3 常見的電子標(biāo)簽</p><p

29、>  2.1.3應(yīng)用軟件系統(tǒng)</p><p>  移動(dòng)數(shù)據(jù)管理系統(tǒng)就相當(dāng)于是一個(gè)應(yīng)用軟件系統(tǒng),而本次課題設(shè)計(jì)的上位機(jī)測(cè)試軟件就是一個(gè)應(yīng)用軟件系統(tǒng),由于時(shí)間的關(guān)系,該軟件系統(tǒng)不是自己設(shè)計(jì)的,是在網(wǎng)上尋找的一個(gè)射頻讀卡器的應(yīng)用軟件系統(tǒng),所以在功能上與本課題涉及到的鉆具沒有太大的關(guān)系,但是這并不關(guān)系到讀寫器與應(yīng)用軟件系統(tǒng)的通信,因?yàn)檎麄€(gè)系統(tǒng)的軟件設(shè)計(jì)都是參照該應(yīng)用軟件來設(shè)計(jì)的,所以制作的硬件設(shè)備基本上能夠與該軟件

30、系統(tǒng)進(jìn)行通信,甚至使用其功能。對(duì)于不同的領(lǐng)域,RFID將發(fā)揮不同的作用,所以也需要不同的應(yīng)用軟件系統(tǒng)來對(duì)數(shù)據(jù)進(jìn)行管理。</p><p>  一卡通服務(wù):擁有一人一卡一序列號(hào),錢包初始化,充值,扣錢等功能;</p><p>  考勤管理:用戶名稱,打卡時(shí)間,打卡次數(shù)等功能;</p><p>  倉庫管理:管理員登錄,物品名稱,出入情況等;</p><

31、;p>  校園圖書館管理:用戶名,借閱時(shí)間,借閱書籍等功能;</p><p>  門禁系統(tǒng)管理:用戶名,用戶權(quán)限,用戶地址等功能;</p><p>  2.2MF RC500</p><p>  MF RC500是飛利浦(Philips)公司中應(yīng)用于13.56MHz非接觸式通信中高集成讀卡IC系統(tǒng)中的一員,該讀卡IC系列利用了先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在

32、13.56MHz下所有類型的被動(dòng)非接觸式通信方式和協(xié)議。此外,MF RC500還支持ISO14443A所有的層。該芯片內(nèi)部包括并行微控制器接口,雙向。方便的并行接口可以直接與任何8位微控制器相連接,這樣可以給讀卡器和終端的設(shè)計(jì)提供更多的靈活空間。該芯片相對(duì)于其他的芯片來說,應(yīng)用范圍更加廣泛,資料更加齊全,更適合做本次設(shè)計(jì)的讀寫芯片。</p><p>  2.2.1MF RC500簡(jiǎn)介</p><

33、;p>  MF RC500是飛利浦公司制造的芯片之一,它包括了32個(gè)管腳信息,64個(gè)寄存器及其并行接口。首先其32個(gè)管腳主要有三種類型,分別是輸入型,輸出型,電源型。包括中斷請(qǐng)求,兩個(gè)發(fā)送器,片選,讀,寫,電源,數(shù)據(jù)總線,地址線,接收器等。每個(gè)引腳都有自己的功能,正是這些引腳的選擇不同,才會(huì)體現(xiàn)出該芯片的功能。</p><p>  圖 2.4 MF RC500管腳配置</p><p>

34、;  其次該芯片內(nèi)部包含了64個(gè)寄存器。主要包括了命令和狀態(tài),控制和狀態(tài),發(fā)送器和編碼器控制,接收器和編碼器控制,時(shí)序和信道冗余,F(xiàn)IFO定時(shí)器和IRQ腳配,RFU,測(cè)試控制等八頁寄存器,每頁都有八個(gè)寄存器。不同的寄存器的位和標(biāo)志的狀態(tài)是不一樣的,這主要取決于它們的功能。</p><p>  表 2.1 寄存器位的狀態(tài)和設(shè)計(jì)</p><p>  最后該芯片還支持并行接口。MF RC500支

35、持與不同的微處理器直接接口,可與個(gè)人電腦的增強(qiáng)型并口直接相連。該芯片還支持許多種并口信號(hào),包括獨(dú)立的讀和寫選通信號(hào),共用的讀和寫選通信號(hào),帶握手的共用讀和寫選通信號(hào)。</p><p>  表 2.2 芯片支持的并口信號(hào)</p><p>  2.2.2MF RC500特性</p><p>  本次設(shè)計(jì)之所以選擇該芯片作為讀寫芯片,正是因?yàn)樵撔酒鄬?duì)于其他的芯片來說,其

36、獨(dú)有的特性更加適合本次設(shè)計(jì)。</p><p><b>  擁有唯一的序列號(hào);</b></p><p>  集成有64字節(jié)的收發(fā)FIFO緩存器;</p><p>  集成了編碼調(diào)制和解調(diào)解碼的收發(fā)電路;</p><p>  天線驅(qū)動(dòng)電路僅需要少量的外圍元件,可以近距離操作(100mm);</p><p&

37、gt;  非常靈活的中斷處理等。</p><p>  正是因?yàn)樵撔酒哂羞@些特點(diǎn),用MF RC500非常容易設(shè)計(jì)TYPE A型的讀寫器。</p><p><b>  3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p>  一個(gè)好的課題設(shè)計(jì)不僅需要有好的程序設(shè)計(jì)思想,還需要適合的硬件設(shè)計(jì)和軟件設(shè)計(jì),也需要適當(dāng)?shù)木帉懗绦虻能浖抡嫫?,燒寫器。本次設(shè)計(jì)的軟件

38、設(shè)計(jì)主要采用的是Keil作為編寫程序的軟件,主要生成Hex文件,然后通過STC_ISP_V488向硬件中燒寫程序,其中STC_ISP_V488是一款專門燒寫STC89系列單片機(jī)的軟件。整個(gè)設(shè)計(jì)的編程語言主要采用的是C語言,雖然大多數(shù)單片機(jī)開發(fā)使用的是匯編語言,但是匯編語言有一定的缺點(diǎn):程序的可讀性和可移植性比較差,而且編寫的程序周期長(zhǎng),調(diào)試非常困難。然而C語言就不一樣了,C語言是一門國際通用的編程語言,具有較好的可讀性和可移植性。除此之

39、外,Keil編程軟件是一個(gè)51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),該軟件中包括了C編譯器,宏匯編,連接器,庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器。在該軟件中用C語言來編寫程序可以做到事半功倍的效果,是本設(shè)計(jì)選擇軟件的不二之選。在課題設(shè)計(jì)的過程中,除了使用這些必要的編程軟件外,我還使用了一個(gè)輔助軟件Source Insight 3.5,該軟件可以關(guān)聯(lián)整個(gè)系統(tǒng)使用的所有程序,而且能分析你的源代碼并在你工作的同時(shí)動(dòng)態(tài)維護(hù)它自己的符號(hào)數(shù)據(jù)</p&

40、gt;<p><b>  3.1系統(tǒng)總體架構(gòu)</b></p><p>  3.1.1系統(tǒng)可行性分析</p><p><b>  微控制器的選擇:</b></p><p>  對(duì)于一般的基于RFID做的射頻讀卡系統(tǒng),在選擇微控制器的時(shí)候可以有兩種方案:C51單片機(jī)中的STC89系列和FPGA。兩者相比較而言:前

41、者算術(shù)功能強(qiáng),軟件編程靈活,自由度大,容易我們掌握;后者集成度高,成本也偏高。雖然后者處理速度快,但本課題設(shè)計(jì)的系統(tǒng)對(duì)這方面也沒有太大的要求。</p><p><b>  讀卡芯片的選擇:</b></p><p>  通過對(duì)市場(chǎng)上部分讀卡芯片的調(diào)研,飛利浦公司的RC500芯片是高整合的13.56MHz非接觸IC卡讀寫芯片,而且支持ISO14443A協(xié)議,還具有合適的并

42、行接口,非常適合與微控制器連接。</p><p>  通信接口以及供電選擇:</p><p>  射頻讀卡系統(tǒng)與應(yīng)用軟件系統(tǒng)的通信一般有兩種情況:一種是直接采用串口進(jìn)行通信,另一種是用USB接口與CH341芯片連接組成串口的功能進(jìn)行通信和供電。現(xiàn)在有很多PC機(jī)沒有串口,采用第二種方法就能夠解決PC機(jī)沒有串口的尷尬。</p><p>  通過以上三點(diǎn)的選擇,最后確定了

43、整個(gè)系統(tǒng)是以STC89C54RD+作微控制器,讀寫器芯片選擇RC500芯片,采用USB轉(zhuǎn)串口的方式進(jìn)行通信和供電,最后通過顯示屏顯示出來。</p><p><b>  3.1.2系統(tǒng)架構(gòu)</b></p><p>  整個(gè)系統(tǒng)是以射頻識(shí)別技術(shù)為核心,電子標(biāo)簽中擁有存儲(chǔ)芯片和耦合模塊,讀寫器中包括了耦合模塊,高頻模塊,控制模塊和接口單元。其中耦合模塊就是指讀寫器與電子標(biāo)簽

44、之間通過天線進(jìn)行耦合,通信;高頻模塊是讀寫器在不斷地向周圍發(fā)射無線電波;控制模塊主要就是以STC89C54RD+為主的微控制器;接口單元就是指USB接口和CH341芯片組成的串口通信和供電。</p><p>  圖 3.1 系統(tǒng)總體結(jié)構(gòu)</p><p>  整個(gè)系統(tǒng)的工作原理是:</p><p>  讀寫器通過發(fā)射天線向外發(fā)射特定頻率的無線電載波信號(hào)。</p&

45、gt;<p>  當(dāng)電子標(biāo)簽進(jìn)入到讀寫器的有效工作區(qū)域范圍內(nèi),產(chǎn)生感應(yīng)電流,從而激活能量,電子標(biāo)簽被激活,使電子標(biāo)簽將自身編碼信號(hào)通過內(nèi)置的射頻天線發(fā)送出去。</p><p>  讀寫器的接收天線接收到電子標(biāo)簽發(fā)出的調(diào)制信號(hào),經(jīng)內(nèi)部的天線調(diào)節(jié)器將信號(hào)傳送到讀寫器的信號(hào)處理模塊。</p><p>  經(jīng)過解調(diào)和解碼后,將有效信息發(fā)送給移動(dòng)數(shù)據(jù)管理系統(tǒng)。</p>&

46、lt;p>  移動(dòng)數(shù)據(jù)管理系統(tǒng)根據(jù)邏輯運(yùn)算識(shí)別該電子標(biāo)簽的身份,針對(duì)不同的設(shè)定作出相應(yīng)的處理和控制,最后發(fā)送指令信號(hào)給讀寫器完成最后的讀操作和寫操作。</p><p><b>  3.2硬件設(shè)計(jì)</b></p><p>  3.2.1USB通訊及電源模塊設(shè)計(jì)</p><p>  本課題設(shè)計(jì)的自動(dòng)檢測(cè)系統(tǒng)的USB接口有著非常重要的作用,首先

47、整個(gè)系統(tǒng)的電源是靠USB接口與PC機(jī)相連接,給系統(tǒng)供給5V的電源;其次整個(gè)系統(tǒng)還是靠USB接口與PC機(jī)相連接,實(shí)現(xiàn)系統(tǒng)與上位機(jī)之間的通信。現(xiàn)如今有許多PC機(jī)沒有串口,將CH341芯片應(yīng)用到單片機(jī)中,實(shí)現(xiàn)將USB接口轉(zhuǎn)為串口的方法,可以解決一些PC機(jī)沒有串口的尷尬。在異步串口方式下,CH341提供發(fā)送使能,串口接收就緒等交互式的速率控制信號(hào)以及常用的MODEM聯(lián)絡(luò)信號(hào),用于將普通的串口直接升級(jí)到USB總線。</p><

48、p>  CH341是一個(gè)USB總線的轉(zhuǎn)接芯片,一般來說,該芯片有四個(gè)功能用途。通過USB總線提供異步串口、打印口、并口以及常用的2線和4線等同步串行接口。</p><p>  在異步串口方式下,CH341提供串口發(fā)送使能,串口接收就緒等控制信號(hào),以及常用的MODEM聯(lián)絡(luò)信號(hào),用于將普通的串口設(shè)備直接升級(jí)到USB總線。</p><p>  在打印口方式下,CH341主要用于將普通的并口

49、打印機(jī)直接升級(jí)到USB總線。</p><p>  在并口的方式下,CH341主要用于在不需要單片機(jī)/DSP/MCU的環(huán)境下,直接輸入輸出數(shù)據(jù)。</p><p>  最后,CH341還可以支持一些常用的同步串行接口,如2線接口和4線接口。</p><p>  圖 3.2 CH341芯片的主要功能</p><p>  要想CH341芯片能夠?qū)崿F(xiàn)將

50、USB接口轉(zhuǎn)換為串口的功能,有幾個(gè)引腳的連接是非常重要的。</p><p>  TXD和RXD引腳:這兩個(gè)引腳是與微控制器STC89C54RD+的TXD和RXD引腳相連接,實(shí)現(xiàn)微控制器控制讀寫器與測(cè)試應(yīng)用軟件的通信。</p><p>  19號(hào)引腳:TEN#.只有當(dāng)該引腳必須接地的時(shí)候,芯片才能夠向單片機(jī)發(fā)送數(shù)據(jù),當(dāng)然這個(gè)引腳是由微控制器控制的,當(dāng)微控制器有空閑接收的數(shù)據(jù)的時(shí)候?qū)⒃撘_設(shè)置

51、為低電平就可以了。</p><p>  7、8號(hào)引腳:這兩個(gè)引腳都是連接在USB接口上的,兩者都是輸入類型的引腳,其中7號(hào)引腳作為中斷請(qǐng)求輸入,上升沿有效;8號(hào)則是自定義通用輸入。</p><p>  除此之外,在該模塊中還設(shè)計(jì)了一個(gè)開關(guān),用來控制整個(gè)系統(tǒng)的電源開關(guān)。</p><p>  3.2.2天線模塊設(shè)計(jì)</p><p>  為了能夠使

52、讀寫器可以向外發(fā)射無線電載波信號(hào)和接收電子標(biāo)簽發(fā)出的信號(hào),所以必須在讀寫器內(nèi)部設(shè)置天線模塊。而且為了使天線能夠最大功率傳輸,天線的芯片的輸入阻抗必須和天線的輸出阻抗匹配。一般來說,天線可以分為全向天線和方向性天線。對(duì)于倉庫管理鉆具的標(biāo)簽來說,應(yīng)該避免使用全向天線,使用的是方向性天線,方向性天線具有更少的輻射模式和返回?fù)p耗的干擾等優(yōu)點(diǎn)。對(duì)大多數(shù)的RC 500芯片來說,都是低功耗設(shè)計(jì),因此電子標(biāo)簽和天線之間的耦合系數(shù)必須滿足一定的值,不能相

53、差太大,一般不能低于0.3。下表是當(dāng)電子標(biāo)簽與天線之間的耦合系數(shù)為0.3的情況下,天線大小與距離之間的關(guān)系表。</p><p>  表 3.1 天線大小與距離的關(guān)系表</p><p>  為了能夠使天線能夠最大功率的傳輸信息,天線模塊的設(shè)計(jì)要考慮到幾個(gè)主要的物理參量。包括磁場(chǎng)強(qiáng)度,最佳天線直徑,近場(chǎng)耦合,調(diào)諧,電感的估算,天線的品質(zhì)因數(shù)等。經(jīng)過事實(shí)證明:對(duì)于圓形線圈的磁場(chǎng)強(qiáng)度來說,當(dāng)較大的

54、天線在較遠(yuǎn)的距離處可以呈現(xiàn)出較高的磁場(chǎng)強(qiáng)度。至于最佳天線直徑,每一個(gè)讀寫器都有自己適合的天線最佳直徑,并不是天線直徑越大越好,也不是越小越好,而是在合適的直徑上。然而實(shí)際中的電路設(shè)計(jì)大部分都可以等效成一個(gè)R-L-C諧振電路,本課題設(shè)計(jì)的天線電路就是這樣的。</p><p>  天線主要包括了濾波器,接收電路,天線匹配電路,和天線線圈。天線獲取信號(hào)后通過天線匹配電路傳到RC 500芯片的RX引腳,然后再經(jīng)過該芯片內(nèi)

55、部的處理,通過并行接口發(fā)出數(shù)據(jù)。此外,RC 500芯片的TX1,TX2,DVSS,TVSS,AVSS,WMD等引腳都是與天線模塊相連接的。這些引腳都有自己的功能,其中TX1,TX2引腳主要起到天線驅(qū)動(dòng)器的功能,有輸出緩沖的作用;DVSS,TVSS,AVSS起到電感隔離的作用,而WMD引腳則是模擬參考電壓。</p><p>  由于現(xiàn)實(shí)所設(shè)計(jì)的大部分天線模塊的電路都可以等效成一個(gè)R-L-C諧振電路,所以可以將所有的

56、天線模塊等效成一個(gè)如圖3.3這樣的等效電路。其中R為TX1和TX2之間天線線圈的電阻消耗,C為線圈與TX1和TX2之間的電容消耗,L為天線線圈電感。</p><p>  圖 3.3 天線線圈等效電路</p><p>  整個(gè)等效電路是將電容C和天線線圈電路并聯(lián),所以可以看成是一個(gè)振諧電路,振諧頻率就是13.56MHz,其值是由湯姆遜公式得來的:</p><p>  

57、從(1)式子中可以看出頻率f與LC有關(guān)。</p><p>  一般來說,讀寫器設(shè)備與天線之間的連接方式有兩種。一種是適用于射頻模塊和天線之間的距離比較近的系統(tǒng),采用直接匹配的天線;另一種是距離較長(zhǎng)的系統(tǒng),采用50歐匹配的天線。本課題設(shè)計(jì)的系統(tǒng)就是采用的第一種,直接匹配的天線。</p><p>  而且在整個(gè)讀寫器中,其工作頻率是由一個(gè)13.56MHz的石英晶體發(fā)出的,在工作過程中會(huì)產(chǎn)生高次

58、諧波,所以在設(shè)計(jì)電路時(shí)在射頻模塊的發(fā)送端口TX1、TX2引腳和地TVSS,DVSS之間引入一個(gè)濾波器電路。如圖3.6所示:其中L1和L2均為1.1uH,兩個(gè)電容為47uH。</p><p>  讀寫器的天線有很多種形狀,但常見的只有兩種形狀,就是圓環(huán)形和矩形的。本次課題的設(shè)計(jì)就是采用矩形的天線線圈。</p><p>  3.2.3微控制器設(shè)計(jì)</p><p>  本

59、次課題設(shè)計(jì)采用的是用STC89C54RD+來作微控制器,主要完成了數(shù)據(jù)的采集,處理,存儲(chǔ)和控制整個(gè)硬件電路。本次設(shè)計(jì)采用STC系列單片機(jī)作微控制器,是因?yàn)樵撓盗械膯纹瑱C(jī)相對(duì)于其他系列的單片機(jī)有一定的優(yōu)勢(shì)。STC系列單片機(jī)可以降低成本,提升性能,原有程序可以直接使用,硬件無需改動(dòng)。而且使用時(shí),直接使用STC_ISP工具直接將HEX文件燒寫進(jìn)去即可,非常簡(jiǎn)單。</p><p>  STC89C54RD+單片機(jī)中將可用

60、的Data flash(EEPROM)的地址分成了64個(gè)扇區(qū),每個(gè)扇區(qū)512字節(jié),一般最好只用128字節(jié)以下。</p><p>  微控制器STC89C54RD+和MF RC500芯片的主要引腳連接有:</p><p>  兩者的/RD,/WR引腳相連接,來控制讀操作和寫操作;</p><p>  兩個(gè)芯片的/CS相連接,控制整個(gè)系統(tǒng)的片選。</p>

61、<p>  微控制器的P00(AD0)到P07(AD7)與P10到P17引腳同時(shí)連接在RC 500芯片的D0到D7上,采用地址數(shù)據(jù)復(fù)用方式的連接方式。</p><p>  此外兩個(gè)芯片的ALE,RST,IRQ也是連接的,分別有地址鎖存控制信號(hào),復(fù)位,中斷請(qǐng)求等功能,在整個(gè)微控制器中有非常重要的作用。</p><p><b>  3.3軟件設(shè)計(jì)</b><

62、/p><p>  整個(gè)系統(tǒng)除了硬件設(shè)計(jì)之外,軟件設(shè)計(jì)也是相當(dāng)?shù)闹匾?。本課題設(shè)計(jì)的系統(tǒng)的軟件設(shè)計(jì)主要包括三個(gè)方面,包括主程序設(shè)計(jì),顯示屏程序設(shè)計(jì),ISO14443標(biāo)準(zhǔn)協(xié)議程序設(shè)計(jì)。其中主程序中主要包括了系統(tǒng)的初始化,相應(yīng)上位機(jī)的各種命令;顯示屏程序設(shè)計(jì)主要包括寫命令,寫數(shù)據(jù),初始化,顯示不同卡型號(hào)的數(shù)據(jù);ISO14443標(biāo)準(zhǔn)協(xié)議程序設(shè)計(jì)主要包括尋卡,防沖撞,選卡,與上位機(jī)相對(duì)應(yīng)進(jìn)行操作。</p><

63、;p>  3.3.1主程序設(shè)計(jì)</p><p>  本次設(shè)計(jì)的主程序包括兩種情況,一種是帶有顯示屏的,另一種是沒有顯示屏的。其中帶有顯示屏的是讓讀寫器主動(dòng)尋卡,只有當(dāng)卡進(jìn)入到讀卡器的工作范圍內(nèi)時(shí)候,整個(gè)上位機(jī)才正常工作;而沒有顯示屏的是讓讀寫器被動(dòng)尋卡。在帶有顯示屏的情況下,整個(gè)上位機(jī)先是默認(rèn)的ISO14443A協(xié)議,然后再在顯示屏上出現(xiàn)歡迎界面。然后讀卡器開啟天線,掃描是否有電子標(biāo)簽進(jìn)入到讀卡器的工作范圍

64、內(nèi),并且執(zhí)行防沖撞函數(shù),如果掃描到電子標(biāo)簽就顯示卡的類型(鉆具名稱),然后再顯示卡的序列號(hào)(鉆具卡的ID)。在主程序設(shè)計(jì)中還包括了與上位機(jī)中的程序的功能的相對(duì)應(yīng),由于整個(gè)設(shè)計(jì)采用的上位機(jī)是已經(jīng)設(shè)計(jì)好的軟件,所以在主程序設(shè)計(jì)中就必須編寫與上位機(jī)功能相對(duì)應(yīng)的功能函數(shù)。因此,主程序中的設(shè)計(jì)大部分是與上位機(jī)的功能有關(guān)的,單片機(jī)中的程序主要包括了系統(tǒng)初始化,MF RC500芯片初始化,響應(yīng)上位機(jī)發(fā)送的天線命令,響應(yīng)上位機(jī)的驗(yàn)證A卡秘鑰的命令,響應(yīng)

65、上位機(jī)的讀卡命令,響應(yīng)上位機(jī)的寫卡命令,以及串行中斷,接收上位機(jī)的數(shù)據(jù)等函數(shù)。</p><p>  圖 3.4 主程序流程圖</p><p>  從圖3.4可以看出整個(gè)主程序的流程圖,這里的開始主要是指給硬件供電,打開電源,系統(tǒng)初始化,芯片初始化后一個(gè)延時(shí)函數(shù),這個(gè)延時(shí)時(shí)間非常短,基本上可以忽略不計(jì),然后再是顯示屏初始化,顯示屏顯示歡迎界面。然后通過尋卡來判讀是否有鉆具卡進(jìn)入到讀寫器的工作

66、范圍內(nèi),如果沒有鉆具卡,則繼續(xù)處于尋卡狀態(tài);如果掃描到鉆具卡的存在,顯示屏則顯示鉆具卡的名稱和ID,而且上位機(jī)可以接收到鉆具卡的序列號(hào),上位機(jī)可以對(duì)鉆具卡進(jìn)行操作。最后判斷卡是否移開,如果鉆具卡移開,讀寫器又處于尋卡狀態(tài),如果沒有移開,顯示屏仍然顯示鉆具卡的信息,不再尋卡。</p><p>  主程序的設(shè)計(jì)模塊主要可以分成三個(gè)模塊來實(shí)現(xiàn):初始化模塊,主要包括系統(tǒng)初始化,顯示屏初始化,芯片初始化,以及默認(rèn)的標(biāo)準(zhǔn)協(xié)議

67、;顯示屏模塊,主要是調(diào)用顯示屏模塊中的函數(shù)來實(shí)現(xiàn)在顯示屏上顯示鉆具卡的名稱和ID;上位機(jī)功能模塊,主要是用switch case結(jié)構(gòu)來實(shí)現(xiàn)上位機(jī)功能函數(shù)的調(diào)用。</p><p>  圖 3.5 主程序結(jié)構(gòu)圖</p><p>  首先是初始化模塊包括以下幾個(gè)方面:</p><p> ?。?)系統(tǒng)初始化,用的是InitializeSystem()來表示。該函數(shù)主要用來實(shí)

68、現(xiàn)兩個(gè)功能:</p><p>  功能一:設(shè)置整個(gè)系統(tǒng)的寄存器狀態(tài),主要包括了TMOD,PCON,SCON等寄存器狀態(tài)的設(shè)置。</p><p>  功能二:波特率的設(shè)置,本次設(shè)計(jì)的波特率設(shè)置為19200,用TH1=TL1= BOUND19200來表示。</p><p>  顯示屏初始化,用的是initial_LCD()來表示。在顯示屏初始化中主要實(shí)現(xiàn)了五個(gè)功能:&l

69、t;/p><p>  功能一:設(shè)置顯示屏與單片機(jī)的連接為并口,用PSB=1表示;</p><p>  功能二:在屏幕初始化過程中,必須要清屏,用WriteCommand(0x01)表示;</p><p>  功能三:設(shè)置8字節(jié)界面,用WriteCommand(0x30)表示;</p><p>  功能四:整體顯示設(shè)置,用WriteCommand(

70、0x0c)表示;</p><p>  功能五:輸入方式設(shè)置,光標(biāo)右移,地址位加1,而且是整體右移。用WriteCommand(0x06)表示;</p><p> ?。?)初始化RC500芯片,用的是Rc500Ready()來表示。用一個(gè)變量status來記錄是否有卡的到來,先要設(shè)置該變量為復(fù)位RC500的函數(shù)PcdReset()。然后用MI_OK來代表卡,當(dāng)status不等于MI_OK的時(shí)

71、候,繼續(xù)賦值status為PcdReset(),就是繼續(xù)復(fù)位。只有當(dāng)status等于MI_OK的時(shí)候,蜂鳴器發(fā)出一聲響聲,燈亮一下。用BELL = 0,redled = 0來表示。</p><p>  (4)整個(gè)系統(tǒng)默認(rèn)使用的是typeA協(xié)議的卡,用PcdConfigISOType( 'A' )來表示,然后蜂鳴器再響一聲表示讀卡成功。</p><p>  其次是主函數(shù)中調(diào)用

72、顯示屏模塊函數(shù)來實(shí)現(xiàn)顯示屏的顯示:</p><p>  (1)顯示屏初始化顯示:“西南石油大學(xué)計(jì)科,請(qǐng)刷鉆具卡!”。調(diào)用12864.c文件中的DisplayLcd()來實(shí)現(xiàn);</p><p> ?。?)顯示鉆具卡的名稱:調(diào)用尋卡函數(shù)RequestA()來實(shí)現(xiàn)。</p><p>  在該函數(shù)中用一個(gè)status來標(biāo)記是否有卡的存在,然后用do while來進(jìn)行判斷,如

73、果有鉆具卡的存在,調(diào)用底層文件ISO14443A.c文件中的尋卡函數(shù)PcdRequest()函數(shù),并且賦值給status。然后送顯示卡類型的函數(shù)disCardTYPE()。</p><p>  底層文件ISO14443A協(xié)議中的尋卡函數(shù)主要有兩個(gè)參數(shù)變量,第一個(gè)參數(shù)變量表示的是尋卡的方式,通常情況下有兩種情況,第一種是用0x52表示尋所有符合ISO14443A協(xié)議的卡,第二種是用0x26表示尋未進(jìn)入休眠狀態(tài)的卡。

74、第二個(gè)參數(shù)變量表示的是卡的類型,其中0x0400就表示石油鉆桿類型的卡片。</p><p> ?。?)顯示鉆具卡的ID:直接調(diào)用顯示屏文件12864.c中的函數(shù)disCardID()來實(shí)現(xiàn)。</p><p>  最后一部分也是本次設(shè)計(jì)最重要的一部分之一,就是上位機(jī)功能模塊的實(shí)現(xiàn):</p><p>  首先用偽代碼的形式來表示整個(gè)系統(tǒng)是怎么讓上位機(jī)實(shí)現(xiàn)與單片機(jī)的通信的

75、。</p><p>  If(接收上位機(jī)指令的標(biāo)志)</p><p><b>  {</b></p><p>  接收上位機(jī)指令的標(biāo)志=0;//表示單片機(jī)接收到上位機(jī)的指令。</p><p>  Switch(接收到的命令碼)</p><p><b>  {</b></

76、p><p>  Case 命令碼1:功能1函數(shù);break;</p><p>  Case 命令碼2:功能2函數(shù);break;</p><p>  Case 命令碼3:功能3函數(shù);break;</p><p>  Case 命令碼4:功能4函數(shù);break;</p><p>  Default:AnswerErr(FAUL

77、T11);break; //返回錯(cuò)誤</p><p><b>  }</b></p><p><b>  }</b></p><p>  Void 功能1函數(shù)(){};</p><p>  Void 功能2函數(shù)(){};</p><p>  Void 功能3函數(shù)(){};

78、</p><p>  Void 功能4函數(shù)(){};</p><p>  功能函數(shù)主要包括以下幾個(gè)方面的功能:</p><p>  功能一:尋卡,用ComRequestA()表示,只有尋卡后上位機(jī)才能對(duì)鉆具卡進(jìn)行操作;</p><p>  功能二:防沖撞,用ComAnticoll()表示,兩張卡同時(shí)進(jìn)入到工作范圍時(shí),讀寫器仍然能夠讀其中一張卡

79、的內(nèi)容;</p><p>  功能三:休眠,用ComHlta()表示,進(jìn)行休眠后在上位機(jī)中不能對(duì)鉆具卡進(jìn)行操作,只有重新尋卡后才能進(jìn)行操作;</p><p>  功能四:讀塊,用ComM1Read()表示,可以讀取卡內(nèi)的內(nèi)容;</p><p>  功能五:寫塊,用ComM1Write()表示,可以寫內(nèi)容到卡內(nèi);</p><p>  3.3.2

80、顯示屏程序設(shè)計(jì)</p><p>  顯示屏程序設(shè)計(jì)主要在文件12864.C中,從文件名可以看出整個(gè)系統(tǒng)的顯示屏采用的是128X64的顯示屏。顯示的漢字是用字符串?dāng)?shù)組的形式表達(dá)的,方便以后顯示的時(shí)候利用FOR循環(huán),按照字節(jié)數(shù)來寫,每個(gè)漢字占用兩個(gè)字節(jié)。首先用字符串組定義漢字;然后編寫各個(gè)函數(shù),主要包括:寫命令,寫數(shù)據(jù),系統(tǒng)初始化,顯示歡迎界面,掃描卡的類型,掃描卡的序列號(hào)等。</p><p>

81、;<b>  主要功能的實(shí)現(xiàn)有:</b></p><p>  屏幕初始化:用initial_LCD()表示;首先設(shè)置PSB=1來表示顯示屏選擇并口,然后調(diào)用寫命令函數(shù)WriteCommand(unsigned char a)來進(jìn)行清屏,功能設(shè)置,顯示設(shè)置和輸入方式設(shè)置。</p><p>  屏幕初始化顯示:用DispalyLcd()表示;因?yàn)闈h字是用字符串?dāng)?shù)字來表示的

82、,一個(gè)漢字占用2個(gè)字節(jié),“西南石油大學(xué)計(jì)科”一共8個(gè)漢字,所以占用16個(gè)字節(jié)。調(diào)用寫數(shù)據(jù)函數(shù)void WriteData(unsigned char b),一次只能寫一個(gè)字節(jié)的數(shù)字,所以用一個(gè)for循環(huán),0到15來表示。</p><p>  寫命令函數(shù):用WriteCommand(unsigned char a)表示;通常用該函數(shù)來表示在顯示屏上顯示的位置,例如在歡迎界面中,在第一行顯示“西南石油大學(xué)計(jì)科”,就必

83、須設(shè)置為WriteCommand(0x80),在第二行顯示“請(qǐng)刷鉆具卡!”,設(shè)置位置就是WriteCommand(0x88)。</p><p>  數(shù)值的格式轉(zhuǎn)換:用LCD_Data(unsigned char LCDbyte )表示,用來顯示數(shù)字。</p><p>  鉆具卡序列號(hào)的顯示:用disCardAID(unsigned char *gID)表示,用for循環(huán)輸出4個(gè)字節(jié)的序列號(hào)

84、:LCD_Data(gID[0+i])。</p><p>  根據(jù)卡的類型顯示鉆具卡的名稱:用disCardTYPE(unsigned char *gID)表示,根據(jù)gID[0]和gID[1]的數(shù)值來判斷卡的類型,然后顯示該類型卡的名稱。</p><p><b>  顯示屏流程圖如下:</b></p><p>  圖 3.6 顯示屏流程圖<

85、;/p><p><b>  部分代碼如下:</b></p><p> ?。?)字符串?dāng)?shù)組定義漢字:</p><p>  unsigned char code table_1[]={"西南石油大學(xué)計(jì)科"};</p><p><b>  寫命令:</b></p><p

86、>  void WriteCommand(unsigned char a)</p><p><b>  {</b></p><p>  E=0; //1讀取信息,1-0下降沿執(zhí)行指令;</p><p>  RS=0; //0=寫指令,1=寫數(shù)據(jù);</p><p>  RW=0; //0=寫指令或者寫數(shù)據(jù),1=

87、讀LCD信息;</p><p>  E=1; //讀信息</p><p>  P1=a; //寫指令</p><p>  delay1(5); // 延時(shí)</p><p>  E=0; //執(zhí)行指令</p><p>  delay1(5);//延時(shí)</p><p><b>  

88、}</b></p><p><b> ?。?)寫數(shù)據(jù):</b></p><p>  void WriteData(unsigned char b) </p><p><b>  {</b></p><p>  E=0; //執(zhí)行指令</p><p>  RS

89、=1; //寫數(shù)據(jù)</p><p>  RW=0; //寫數(shù)據(jù)</p><p>  E=1; //讀取信息</p><p>  P1=b; //寫數(shù)據(jù)</p><p>  delay1(5); //延時(shí) </p><p>  E=0; //執(zhí)行指令</p><p&g

90、t;  delay1(5); //延時(shí) </p><p><b>  }</b></p><p>  (4)利用FOR循環(huán)顯示漢字:</p><p>  void DispalyLcd()//初始化顯示:西南石油大學(xué)計(jì)科 請(qǐng)刷鉆具識(shí)別卡!</p><p><b>  {</b></

91、p><p>  unsigned char i;</p><p>  WriteCommand(0x80); </p><p>  for (i=1;i<=16;i++)</p><p>  WriteData(table_1[i-1]) ; </p><p>  WriteCommand(0x88);

92、 </p><p>  for (i=1;i<=15;i++)</p><p>  WriteData(table_c[i-1]) ; </p><p><b>  }</b></p><p>  3.3.3ISO14443標(biāo)準(zhǔn)協(xié)議程序設(shè)計(jì)</p><p>  該程序設(shè)計(jì)的源代碼是

93、放在文件ISO14443A.C中的,因?yàn)檎麄€(gè)系統(tǒng)的測(cè)試都是基于該標(biāo)準(zhǔn)下選擇的TYPE A類型卡進(jìn)行的,所以在讀寫器默認(rèn)狀態(tài)下就設(shè)置的是該標(biāo)準(zhǔn)。而且改程序中的軟件設(shè)計(jì)主要是針對(duì)測(cè)試軟件進(jìn)行編寫的,里面的程序大部分都是為了實(shí)現(xiàn)測(cè)試軟件的基本功能的。包括讀寫器尋卡,防沖撞,選卡,數(shù)據(jù)傳輸,實(shí)現(xiàn)基本功能,休眠狀態(tài)等。</p><p><b>  主要功能函數(shù)有:</b></p><

94、;p>  尋卡:用char PcdRequest(unsigned char req_code,unsigned char *pTagType)來表示的,req_code表示尋卡方式,pTagType表示卡片類型的代碼;</p><p>  防沖撞:用char PcdAnticoll(unsigned char *pSnr)表示,其中輸入為g_cSNR,表示存放序列號(hào)的內(nèi)存單元的首地址;</p>

95、<p>  選卡:用PcdSelect(unsigned char *pSnr,unsigned char *pSize)表示,其中輸入為g_cSNR,表示序列號(hào)。</p><p>  卡密鑰格式轉(zhuǎn)換:用ChangeCodeKey()表示;</p><p>  部分代碼如下:(尋卡功能)</p><p>  char PcdRequest(unsign

96、ed char req_code,unsigned char *pTagType)</p><p>  { //其中req_code 指尋卡方式;*pTagType指卡片類型;</p><p>  char status; </p><p>  struct TranSciveBuffer MfComData;</p><p>  str

97、uct TranSciveBuffer *pi;</p><p>  pi = &MfComData;</p><p>  WriteRawRC(RegChannelRedundancy,0x03);</p><p>  ClearBitMask(RegControl,0x08);</p><p>  WriteRawRC(RegBi

98、tFraming,0x07);</p><p>  SetBitMask(RegTxControl,0x03);</p><p>  PcdSetTmo(4);</p><p>  MfComData.MfCommand = PCD_TRANSCEIVE;</p><p>  MfComData.MfLength = 1;</p>

99、;<p>  MfComData.MfData[0] = req_code;</p><p>  status = PcdComTransceive(pi);</p><p>  if (!status)</p><p><b>  { </b></p><p>  if (MfComData.MfL

100、ength != 0x10)</p><p>  { status = MI_BITCOUNTERR; }</p><p><b>  }</b></p><p>  *pTagType = MfComData.MfData[0];</p><p>  *(pTagType+1) = MfComData.

101、MfData[1];</p><p>  return status;</p><p><b>  }</b></p><p><b>  4系統(tǒng)測(cè)試</b></p><p>  在整個(gè)系統(tǒng)初步設(shè)計(jì)完成后,需要對(duì)系統(tǒng)進(jìn)行調(diào)試。由于在初步設(shè)計(jì)的過程中,有很多因素沒有考慮到,整個(gè)系統(tǒng)會(huì)有非常多的BUG,

102、所以在系統(tǒng)設(shè)計(jì)完畢后必須對(duì)整個(gè)系統(tǒng)進(jìn)行調(diào)試。整個(gè)調(diào)試過程主要是這樣的:連接硬件設(shè)備在PC機(jī)上,將測(cè)試卡不斷地放進(jìn)讀寫器的工作范圍內(nèi),觀察顯示屏上的效果,能否正確顯示鉆具卡的名稱和序列號(hào),其次是觀察與上位機(jī)的連接功能是否存在錯(cuò)誤。如果還經(jīng)常存在錯(cuò)誤,達(dá)不到預(yù)想要的效果,就必須對(duì)程序進(jìn)行修改,利用Keil編程軟件生成HEX文件,然后通過STC_ISP_V488軟件將HEX文件燒寫到硬件設(shè)備中,再重新進(jìn)行調(diào)試。在系統(tǒng)調(diào)試過程中主要測(cè)試的有以下

103、幾個(gè)方面:</p><p>  LCD顯示屏的顯示情況:當(dāng)測(cè)試卡進(jìn)入到讀寫器的工作范圍內(nèi)時(shí),顯示屏上的顯示是否正確;</p><p>  蜂鳴器的發(fā)聲情況:當(dāng)硬件設(shè)備連接電源后,打開開關(guān),蜂鳴器只發(fā)出一聲“嘀”的聲音,顯示屏正常顯示歡迎界面;當(dāng)測(cè)試卡進(jìn)入到讀寫器的工作范圍內(nèi)時(shí),蜂鳴器同樣發(fā)出一聲“嘀”,代表讀卡成功;運(yùn)行PC機(jī)上的上位機(jī)測(cè)試軟件的時(shí)候,蜂鳴器能夠一直發(fā)出“嘀”的聲音,直到有

104、測(cè)試卡進(jìn)入到讀寫器的工作范圍內(nèi)或者上位機(jī)初始化成功后,聲音消失;</p><p>  硬件設(shè)備連接上位機(jī),測(cè)試上位機(jī)的基本功能能否實(shí)現(xiàn):由于本次課題設(shè)計(jì)的讀寫器設(shè)計(jì)基本上是根據(jù)上位機(jī)來進(jìn)行編寫的,所以整個(gè)系統(tǒng)在很大程度上都要滿足上位機(jī)的基本功能。部分功能測(cè)試如下:</p><p>  上位機(jī)功能測(cè)試一:初始化成功</p><p>  圖 4.1 上位機(jī)初始化<

105、/p><p>  上位機(jī)功能測(cè)試二:菜單選卡</p><p>  圖 4.2 界面選卡操作</p><p>  上位機(jī)功能測(cè)試三:端口和波特率</p><p>  圖 4.3 界面端口和波特率設(shè)置</p><p>  上位機(jī)功能測(cè)試四:尋卡操作</p><p>  圖 4.4 界面尋卡顯示序列號(hào)&l

106、t;/p><p>  圖 4.5 尋卡操作呼叫成功</p><p>  上位機(jī)功能測(cè)試五:讀卡</p><p>  圖 4.6 讀卡顯示</p><p>  圖 4.7 讀卡操作呼叫成功</p><p>  系統(tǒng)的讀和寫模塊的工作情況;</p><p>  本次系統(tǒng)設(shè)計(jì)調(diào)試過程主要出現(xiàn)的問題:<

107、;/p><p> ?。?) 當(dāng)讀寫器讀取測(cè)試卡信息的時(shí)候,顯示屏上不顯示鉆具卡的ID信息,即LCD顯示屏上只顯示鉆具卡的名稱,下面是空白的;或者顯示鉆具卡的ID信息全部是零,經(jīng)過多次測(cè)試顯示,是由于測(cè)試卡進(jìn)入到讀寫器的工作范圍速度太快和進(jìn)入頻率太多,導(dǎo)致讀寫器不能正常讀卡,使前一次讀卡信息與后一次讀卡信息沖撞,導(dǎo)致信息流失或者變化。</p><p>  (2) 由于帶顯示屏的軟件程序設(shè)計(jì)和不帶

108、顯示屏的軟件程序設(shè)計(jì)是不一樣的,其中不帶顯示屏的讀寫器采用的是被動(dòng)尋卡的,而帶顯示屏的讀寫器采用的是主動(dòng)尋卡的,所以當(dāng)整個(gè)系統(tǒng)帶有顯示屏的時(shí)候,應(yīng)用測(cè)試軟件上只能夠初始化連接成功,很多功能不能夠?qū)崿F(xiàn)。</p><p><b>  5結(jié)論</b></p><p>  本次課題設(shè)計(jì)從總體上來說是非常成功的,論文撰寫的知識(shí)也是相當(dāng)?shù)呢S富的,本文不僅介紹了本次設(shè)計(jì)所用的到芯片

109、的知識(shí)的介紹,還講述了整個(gè)系統(tǒng)的總體結(jié)構(gòu)和工作原理。論文的重點(diǎn)非常突出,從整體上來看,論文的重點(diǎn)在于詳細(xì)設(shè)計(jì);而從詳細(xì)設(shè)計(jì)中來看,重點(diǎn)在于軟件設(shè)計(jì),輕重層次分明。論文從開始講述新的鉆具管理模式的出現(xiàn),到RFID技術(shù)和讀寫器選用的RC500芯片知識(shí)的介紹,到最后的詳細(xì)設(shè)計(jì)和系統(tǒng)測(cè)試,整個(gè)文章非常流暢,著重點(diǎn)突出。軟件設(shè)計(jì)燒寫到硬件設(shè)備中,整個(gè)系統(tǒng)能夠正常運(yùn)行起來,當(dāng)測(cè)試卡(S50)進(jìn)入到讀寫器的工作范圍內(nèi)時(shí),硬件顯示屏能夠正確顯示鉆具卡的

110、名稱和ID,連接上位機(jī)也能夠進(jìn)行一般的操作。本次課題設(shè)計(jì)的讀寫器主要是用RC 500芯片制成的,采用的標(biāo)準(zhǔn)協(xié)議是ISO14443A協(xié)議,測(cè)試卡使用的是Mifare_One(S50)卡類型。讀寫器中的設(shè)計(jì)包括有USB接口提供電源和與上位機(jī)的通信,LCD顯示,蜂鳴器發(fā)聲等。</p><p>  在這次的課題設(shè)計(jì)中,每一步的設(shè)計(jì)都會(huì)有非常多的因素,可以有很多的參考和選擇,在選擇的過程中都必須謹(jǐn)慎,因?yàn)槊恳粋€(gè)細(xì)節(jié)都可能帶

111、來意想不到的后果。而且每次出現(xiàn)問題,都會(huì)花大量的時(shí)間去思考,解決不了的問題又要花時(shí)間去查資料,問導(dǎo)師和同學(xué)。經(jīng)過最后的不懈奮斗,本次系統(tǒng)終于初步完成,并且通過事實(shí)的證明,能夠達(dá)到設(shè)計(jì)要求的基本要求。雖然這次設(shè)計(jì)在總體來說是成功的,但是由于時(shí)間和自己知識(shí)的有限,還有許多地方時(shí)不足的,是可以有所提高的。主要包括以下幾個(gè)方面:</p><p> ?。?)就測(cè)試使用的上位機(jī)而言,本文并沒有介紹該軟件的程序設(shè)計(jì)。在RFID

112、系統(tǒng)中,上位機(jī)作為應(yīng)用系統(tǒng),有著非常重要的作用。一般的上位機(jī)設(shè)計(jì)主要包括數(shù)據(jù)庫的操作,與讀寫器的通信,以及上位機(jī)的界面的操作。</p><p> ?。?)在大多數(shù)的射頻識(shí)別系統(tǒng)中,上位機(jī)與讀寫器的通信通常采用的是RS232串口進(jìn)行通信,而本次設(shè)計(jì)使用的是將USB接口與CH341芯片相結(jié)合,組成串口的功能才能進(jìn)行通信。</p><p> ?。?)由于金錢的花費(fèi)有限,整個(gè)系統(tǒng)的測(cè)試卡的類型只有

113、Mifare_One(S50)一種類型,如果有機(jī)會(huì)能夠顯示更多種卡的測(cè)試。</p><p> ?。?)軟件設(shè)計(jì)的程序可能有點(diǎn)冗余,過多,沒有使用的代碼只是注釋掉了,并沒有刪除,而且有些源代碼的注釋并不完整。</p><p> ?。?)應(yīng)用測(cè)試軟件并沒有采用數(shù)據(jù)庫的方式來保存各種鉆具的信息,而是直接在顯示程序中用字符組來定義的各種鉆具的名稱,因此該系統(tǒng)不能夠定義太多的鉆具,程序代碼也會(huì)隨之變

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論