




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
摘要溫度檢測在日常生活、工作和工程實踐中具有重要的應用。隨著生活水平的提高和科學技術的進步,無論是工業(yè)還是農(nóng)業(yè)或者是日常生活中對溫度檢測的要求越來越高。不僅要做到低耗,還要求進行一定距離的傳輸?;谶@點我們運用兩片主控芯片,一個溫度傳感器,及數(shù)碼管顯示部分,解決了這個日常生活工作中的問題。出于低功耗本設計我們選擇了以低功耗見長的430單片機中的F149系列作為主控芯片,工作場所的溫度采集用到了溫度采集芯片DS18B20來達到一定的準確度和精確度,最后采用nRF24L01模塊對采集到的溫度數(shù)據(jù)進行無線傳輸,從而打破傳統(tǒng)溫度操作受到距離限制的缺陷。在經(jīng)過軟硬件測試后,我們基本實現(xiàn)了用溫度傳感器采集溫度,用nRF24L01進行一定距離傳輸后在接受端的數(shù)碼管上顯示出來的模型。傳輸距離>30m,溫度范圍達到0至125攝氏度,精度1攝氏度。關鍵詞:msp430f149;nRF24L01;溫度;無線傳輸ABSTRACTTemperaturemeasurementhaveimportantapplicationsindailylife,workandengineeringpractice.Withtheimprovementoflivingstandardsandtechnologicalprogress,whetherindustry,agricultureordailylifebecomeincreasinglydemandingoftemperaturedetection.Notonlytoachievelowpowerconsumption,butalsorequiresacertaindistancetransmission.Forthisreasonwesolvedtheproblemofdailylifeandworkusingtwocontrolchips,atemperaturesensor,andtheleddisplaypart.Forlow-powerdesignwehavechosenthelow-powermicrocontrollerknownfortheF149seriesof430asthemasterchip,temperatureacquisitionDS18B20hasusedtoachieveacertainaccuracyandprecision,FinallynRF24L01moduletemperaturedatacollectedbywirelesstransmission,thusbreakingthedistancelimitationsoftraditionaltemperatureoperation.Aftersoftwareandhardwaretesting,webasicallyrealizeourInitialtarget.Transmissiondistance>30m,temperaturerange0to125degrees,1degreeaccuracy.Keywords:msp430f149;nRF24L01;Temperature;Wireless目錄第1章緒論11.1課題的背景與意義1國內(nèi)外研究狀況及相關領域中已有的研究成果2對設計任務的分析21.4預期結果31.5論文的結構安排3第2章主控芯片及編程環(huán)境的介紹52.1MSP430簡介52.2IAR開發(fā)軟件72.3本章小結8第3章硬件系統(tǒng)的設計與實現(xiàn)93.1溫度采集模塊93.1.1DS18B20的管腳配置和內(nèi)部結構103.1.2單總線介紹113.1.3DS18B20的工作原理123.2無線收發(fā)模塊143.2.1nRF24L01概述153.2.2引腳功能及描述163.2.3工作模式17工作原理173.2.5配置字193.3LED顯示模塊193.3.1數(shù)碼管選擇193.3.2驅(qū)動電路選擇203.4主控制模塊(Msp430f149最小系統(tǒng))21下載電路21電源電路設計233.4.3復位電路25晶振電路253.5引腳分配263.5.1發(fā)射部分263.5.2接收部分273.6本章小結28第4章軟件系統(tǒng)的設計與實現(xiàn)304.1分部分軟件設計304.1.1溫度檢測30無線發(fā)射模塊軟件設計31無線接收模塊軟件設計32顯示模塊軟件設計33軟件的總體設計334.2.1發(fā)送部分33接收部分344.3本章小結35第5章系統(tǒng)的調(diào)試及實驗結果365.1調(diào)試步驟36實驗結果36本章小結38結論39參考文獻41致謝42附錄43第1章緒論1.1課題的背景與意義隨著社會的進步和生產(chǎn)的需要,利用無線通信進行溫度數(shù)據(jù)采集的方式應用已經(jīng)滲透到生活各個方面。在工業(yè)現(xiàn)場,由于生產(chǎn)環(huán)境惡劣,工作人員不能長時間停留在現(xiàn)場觀察設備是否運行正常,就需要采集數(shù)據(jù)并傳輸數(shù)據(jù)到一個環(huán)境相對好的操控室內(nèi),這樣就會產(chǎn)生數(shù)據(jù)傳輸問題。由于廠房大、需要傳輸數(shù)據(jù)多,使用傳統(tǒng)的有線數(shù)據(jù)傳輸方式就需要鋪設很多很長的通訊線,浪費資源,占用空間,可操作性差,出現(xiàn)錯誤換線困難。而且,當數(shù)據(jù)采集點處于運動狀態(tài)、所處的環(huán)境不允許或無法鋪設電纜時,數(shù)據(jù)甚至無法傳輸,此時便需要利用無線傳輸?shù)姆绞竭M行數(shù)據(jù)采集。在農(nóng)業(yè)生產(chǎn)上,不論是溫室大棚的溫度監(jiān)測,還是糧倉的管理,傳統(tǒng)上都是采取分區(qū)取樣的人工方法,工作量大,可靠性差。而且大棚和糧倉占地面積大,檢測目標分散,測點較多,傳統(tǒng)的方法已經(jīng)不能滿足當前農(nóng)業(yè)發(fā)展的需要。當前的科技水平下,無線通信技術的發(fā)展使得溫度采集測量精確,簡便易行。在日常生活中,隨著人們生活水平的提高,居住條件也逐漸變得智能化。如今很多家庭都會安裝室內(nèi)溫度采集控制系統(tǒng),其原理就是利用無線通信技術采集室內(nèi)溫度數(shù)據(jù),并根據(jù)室內(nèi)溫度情況進行遙控通風等操作,自動調(diào)節(jié)室內(nèi)溫度濕度,可以更好地改善人們的居住環(huán)境。以上只是簡單列舉幾個現(xiàn)實的例子,在現(xiàn)實生活中,這種無線溫度采集系統(tǒng)已經(jīng)被成功應用于工農(nóng)業(yè)、環(huán)境監(jiān)測、軍事國防、機器人控制等許多重要領域,而且類似于這種溫度采集系統(tǒng)的無線通信網(wǎng)絡已經(jīng)被廣泛的應用到民用和軍事領域。凡是布線繁雜或不允許布線的場合都希望能通過無線方案來解決。為此,需要設計相應的接口系統(tǒng),控制這些射頻芯片工作,完成可靠穩(wěn)定的無線數(shù)據(jù)通信,這樣的研究也變得更加有意義了[1]。國內(nèi)外研究狀況及相關領域中已有的研究成果在非授權頻段上,目前已經(jīng)云集了藍牙、Wi-Fi、Zigbee等多個標準無線協(xié)議。,具有帶寬高(2Mbps),雙向傳輸,抗干擾性強,傳輸距離遠(短距離無線技術范圍),耗電少的優(yōu)點,用于無線鍵鼠等室內(nèi)場合。Nordic公司等公司已成功推出nRF24L01芯片,全球開發(fā)ISM頻段免許可證使用。同時許多公司也相繼推出基于nRF24L01的無線傳輸模塊。模塊是一款新型單片射頻收發(fā)器件,工作于2.4GHz~2.5GHzISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置。nRF24L01功耗低,在以-6dBm的功率發(fā)射時,工作電流也只有9mA;接收時,工作電流只有mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設計更方便。至此這種基于此頻段的通信方式已日漸趨向成熟[2]。同樣隨著傳感器及電子電路的發(fā)展,集成的溫度檢測器件的完善性及集成性也得到了大大的提高。類似美國DALLAS公司推出的數(shù)字測溫芯片DS18B20層出不窮,國內(nèi)外的研究在這方面的研究也趨近完善[3]。對設計任務的分析本系統(tǒng)的設計采用了工作于頻段nRF24L01射頻芯片,并有低功耗單片機MSP430F149控制實現(xiàn)短距離無線數(shù)據(jù)通信。該接口設計具有成本低、功耗低、傳輸速率高、軟件設計簡單以及通信穩(wěn)定可靠等特點。整個系統(tǒng)有發(fā)送和接收二部分,通過nRF24L01無線數(shù)據(jù)通信收發(fā)模塊來實現(xiàn)無線數(shù)據(jù)傳輸。發(fā)送部分以單片機MSP430F149為核心,使用溫度轉換芯片DS18B20實時采集溫度并通過數(shù)碼管顯示。將采集的溫度無線傳送給接收部分,然后再在數(shù)碼管上顯示。本系統(tǒng)的核心控制芯片選用的是MSP430F149。單片機在各個技術領域中的迅猛發(fā)展,與單片機所構成的計算機應用系統(tǒng)的特點有關:(1)單片機構成的應用系統(tǒng)有較大的可靠性;(2)系統(tǒng)構建簡潔、易行,能方便的實現(xiàn)系統(tǒng)功能;(3)由于構成的系統(tǒng)是一個計算機系統(tǒng),相當多的功能由軟件實現(xiàn),故具有柔性特點和優(yōu)異的性能價格比;對msp430f149可以制作兩個最小系統(tǒng)(一個控制發(fā)送端,一個控制接受部分)最小系統(tǒng)包括電源電路,下載電路采用JTAG接口及主控芯片和一些基本外圍電路。對于DS18B20的溫度檢測模塊,硬件部分較簡單,由于是單腳傳輸導致軟件時序的時間精確度控制上要求比較高,要做到精確。數(shù)碼管顯示部分雖然較簡單但是在調(diào)試過程有重要作用,是顯示軟硬件好使的必要條件,不可忽視。另外為了降低430的輸出功率,采用鎖存器對數(shù)碼管進行驅(qū)動。無線收發(fā)模塊采用挪威(Nordic)公司生產(chǎn)的nRF24L01及其外圍電路組成,軟件部分要熟悉內(nèi)部的標志及控制寄存器以及數(shù)據(jù)通道,發(fā)射頻率功率及收發(fā)模式等以利于編程。1.4預期結果采用MSP430F149單片機作為主控CPU,DS18B20作為溫度采集模塊,nRF24L01作為無線收發(fā)模塊,加上LED顯示模塊構成系統(tǒng)。要求完成硬件模塊的設計和電路板的制作。軟件模塊包括溫度檢測模塊、無線發(fā)射模塊、無線接收模塊和顯示模塊。溫度測量范圍:0°C至125°C,傳輸距離>30m。1.5論文的結構安排本文基于本次畢業(yè)設計的過程與要求,將論文分為五章。具體內(nèi)容如下:第1章緒論本章簡單介紹了課題的研究背景、目的和意義,無線溫度檢測的國內(nèi)外發(fā)展現(xiàn)狀和相關領域中已有的研究結果,該設計的預期結果和意義。第2章主控芯片及編程環(huán)境的介紹本章介紹了本次畢業(yè)設計的主控芯片及相應的編程環(huán)境,讓我們熟悉了整個系統(tǒng)的調(diào)試方法。第3章硬件系統(tǒng)的設計與實現(xiàn)本章介紹本課題硬件系統(tǒng)各部分電路的設計、實現(xiàn),講述了各模塊的功能。第4章軟件系統(tǒng)的設計與實現(xiàn)本章根據(jù)系統(tǒng)的總方案,設計出程序的總流程圖,并利用C語言編寫相應的程序。第5章系統(tǒng)的調(diào)試及實驗結果本章根據(jù)已有的軟硬件,進行調(diào)試,得到的相應成果。最后總結本論文,得出相關結論。第2章主控芯片及編程環(huán)境的介紹2.1MSP430簡介MSP430系列單片機是美國德州儀器(TI)1996年開始推向市場的一種16位超低MSP430單片機功耗、具有精簡指令集(RISC)的混合信號處理器(MixedSignalProcessor)。稱之為混合信號處理器,是由于其針對實際應用需求,將多個不同功能的模擬電路、數(shù)字電路模塊和微處理器集成在一個芯片上,以提供“單片”解決方案。該系列單片機多應用于需要電池供電的便攜式儀器儀表中[4]。MSP430單片機的特點:(1)處理能力強MSP430系列單片機是一個16位的單片機,采用了精簡指令集(RISC)結構,具有豐富的尋址方式(7種源操作數(shù)尋址、4種目的操作數(shù)尋址);簡潔的27條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲器都可參加多種運算;還有高效的查表處理指令。這些特點保證了可編制出高效率的源程序。(2)運算速度快MSP430系列單片機能在25MHz晶體的驅(qū)動下,實現(xiàn)40ns的指令周期。16位的數(shù)據(jù)寬度、40ns的指令周期以及多功能的硬件乘法器(能實現(xiàn)乘加運算)相配合,能實現(xiàn)數(shù)字信號處理的某些算法(如FFT等)。(3)超低功耗MSP430單片機之所以有超低的功耗,是因為其在降低芯片的電源電壓和靈活而可控的運行時鐘方面都有其獨到之處。首先,MSP430系列單片機的電源電壓采用的是1.8-3.6V電壓。因而可使其在1MHz的時鐘條件下運行時,芯片的電流最低會在165μA左右,RAM保持模式下的最低功耗只有。其次,獨特的時鐘系統(tǒng)設計。在MSP430系列中有兩個不同的時鐘系統(tǒng):基本時鐘系統(tǒng)、鎖頻環(huán)(FLL和FLL+)時鐘系統(tǒng)和DCO數(shù)字振蕩器時鐘系統(tǒng)。可以只使用一個晶體振蕩器(32768Hz),也可以使用兩個晶體振蕩器。由系統(tǒng)時鐘系統(tǒng)產(chǎn)生CPU和各功能所需的時鐘。并且這些時鐘可以在指令的控制下,打開和關閉,從而實現(xiàn)對總體功耗的控制。由于系統(tǒng)運行時開啟的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共有一種活動模式(AM)和五種低功耗模式(LPM0~LPM4)。在實時時鐘模式下,可達2.5μA,在RAM保持模式下,最低可達0.1μA。(4)片內(nèi)資源豐富MSP430系列單片機的各系列都集成了較豐富的片內(nèi)外設。它們分別是看門狗(WDT)、模擬比較器A、定時器A0(Timer_A0)、定時器A1(Timer_A1)、定時器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驅(qū)動器、10位/12位ADC、16位Σ-ΔADC、DMA、I/O端口、基本定時器(BasicTimer)、實時時鐘(RTC)和USB控制器等若干外圍模塊的不同組合。其中,看門狗可以使程序失控時迅速復位;模擬比較器進行模擬電壓的比較,配合定時器,可設計出A/D轉換器;16位定時器(Timer_A和Timer_B)具有捕獲/比較功能,大量的捕獲/比較寄存器,可用于事件計數(shù)、時序發(fā)生、PWM等;有的器件更具有可實現(xiàn)異步、同步及多址訪問串行通信接口可方便的實現(xiàn)多機通信等應用;具有較多的I/O端口,P0、P1、P2端口能夠接收外部上升沿或下降沿的中斷輸入;10/12位硬件A/D轉換器有較高的轉換速率,最高可達200kbps,能夠滿足大多數(shù)數(shù)據(jù)采集應用;能直接驅(qū)動液晶多達160段;實現(xiàn)兩路的12位D/A轉換;硬件I2C串行總線接口實現(xiàn)存儲器串行擴展;以及為了增加數(shù)據(jù)傳輸速度,而采用的DMA模塊。MSP430系列單片機的這些片內(nèi)外設為系統(tǒng)的單片解決方案提供了極大的方便。另外,MSP430系列單片機的中斷源較多,并且可以任意嵌套,使用時靈活方便。當系統(tǒng)處于省電的低功耗狀態(tài)時,中斷喚醒只需5μs。(5)方便高效的開發(fā)環(huán)境MSP430系列有OPT型、FLASH型和ROM型三種類型的器件,這些器件的開發(fā)手段不同。對于OPT型和ROM型的器件是使用仿真器開發(fā)成功之后燒寫或掩膜芯片;對于FLASH型則有十分方便的開發(fā)調(diào)試環(huán)境,因為器件片內(nèi)有JTAG調(diào)試接口,還有可以電擦寫的FLASH存儲器,因此采用先下載程序到FLASH內(nèi),再在器件內(nèi)通過軟件控制程序的運行,由JTAG接口讀取片內(nèi)信息供設計者調(diào)試使用的方法進行開發(fā)。這種方式只需要一臺PC機和一個JTAG調(diào)試器,而不需要仿真器和編程器。開發(fā)語言有匯編語言和C語言[5]。IAR開發(fā)軟件IAREmbeddedWorkbench是一套高度精密且使用方便的嵌入式應用編程開發(fā)工具。在其集成開發(fā)環(huán)境(IDE)中包含了IAR的C/C++編譯器,匯編工具,鏈接器,文本編輯器,工程管理器和C-SPY調(diào)試器。通過其內(nèi)置的針對不同芯片的代碼優(yōu)化器,IAREmbeddedWorkbench可以為MSP430微控制器生成極為高效和可靠的代碼。除了有這些可靠的技術之外,IARSystems還為您提供專業(yè)化的全球技術支持[6]。模塊化和可擴展的集成開發(fā)環(huán)境(1)用于構建和調(diào)試嵌入式應用程序的無縫集成開發(fā)環(huán)境;(2)強大的工程管理器,允許同一工作區(qū)管理多個工程;(3)工程的層次化表示方法;(4)可停靠窗口和浮動窗口管理;(5)智能型源文件瀏覽器;(6)帶有代碼模板和支持多字節(jié)等豐富特色的編輯器;(7)可以在全局層次、源文件組層次、或者單個的源文件層次上進行配置;(8)靈活的工程編譯,如批量編譯,前/后編譯或在編譯過程中訪問外部工具的客戶定制編譯;(9)集成了源代碼控制系統(tǒng)的接口;(10)為多種芯片提供配套的現(xiàn)成的頭文件,芯片描述文件和鏈接器命令文件;(11)為多種MSP-FET430工具提供現(xiàn)成代碼和工程范例;高度優(yōu)化的C/C++編譯器(1)支持C,EC++和擴展EC++,并且包含有模板,名字空間和標準模板庫(STL)等;(2)MISRAC檢查器;(3)支持所有MSP430和MSP430X架構的芯片;(4)針對特定目標的嵌入式應用程序的語言擴展用于數(shù)據(jù)/函數(shù)定義和存儲器及類型屬性聲明的擴展關鍵字使用Pragma指令控制編譯器行為,比如用來分配內(nèi)存在C源碼中可直接訪問的本征函數(shù),從而執(zhí)行低級處理器操作,例如MSP430省電模式;(5)通過專用實時庫模塊支持硬件乘法器外設模塊;(6)位置無關代碼;(7)32位和64位標準IEEE格式的浮點類型;(8)對代碼的大小和執(zhí)行速度多級優(yōu)化,允許不同的轉換形式,例如函數(shù)內(nèi)聯(lián)和循環(huán)展開等等;(9)高級的全局優(yōu)化和特定優(yōu)化相結合,可以生成最為緊湊和穩(wěn)定的代碼[7];2.3本章小結本章主要簡要介紹了msp430單片機的軟硬件系統(tǒng)和特點以及msp430的編程開發(fā)環(huán)境IAR的一些特點,為接下來的硬件設計及軟件開發(fā)做了鋪墊。第3章硬件系統(tǒng)的設計與實現(xiàn)溫度檢測在日常生活、工作和工程實踐中經(jīng)常用到,隨著生活水平和科學技術的不斷進步,對檢測溫度數(shù)據(jù)的精度要求也越來越苛刻,傳統(tǒng)的溫度測量裝置很難滿足現(xiàn)在的要求,本設計采用DS18B20作為溫度采集元件,配合低功耗單片機的使用就可以很好地彌補傳統(tǒng)上的不足。而且本文采用nRF24L01模塊對采集到的溫度數(shù)據(jù)進行無線傳輸,打破了傳統(tǒng)操作中距離受限的問題,使測溫操作更易實現(xiàn)。本設計采用MSP430F149作為主控CPU,外加DS18B20溫度采集模塊、nRF24L0l無線收發(fā)模塊和數(shù)碼顯示模塊組成整個系統(tǒng),如圖所示。圖3.1系統(tǒng)總體架構圖3.1溫度采集模塊該模塊采用美國DALLAS公司推出的數(shù)字測溫芯片DS18B20,該芯片具有體積小,多種封裝形式,獨特的單線接口等優(yōu)點。測量范圍從-55攝氏度到+125攝氏度,擁有可以選擇的9到12位溫度數(shù)據(jù)分辨率,可以工作在寄生電源模式,另外還可自定義溫度告警設置。本系統(tǒng)中溫度傳感器輸出腳I/O直接與單片機的相連,外接4.7KΩ的上拉電阻到電源,采用MSP430的電源供電[8]。DS18B20芯片封裝如圖所示。圖3.2DS18B20芯片封裝DS18B20的管腳配置和內(nèi)部結構引腳定義:(1)DQ為單數(shù)據(jù)總線,是數(shù)字信號輸入/輸出端;(2)GND為電源地;(3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。內(nèi)部結構如圖所示。圖3.3DS18B20內(nèi)部結構圖(1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。(2)
DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以℃/LSB形式表達,其中S為符號位。12位轉化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于即可得到實際溫度。單總線介紹1-WIREBUS單總線是Maxim全資子公司Dallas的一項專有技術。與目前多數(shù)標準串行數(shù)據(jù)通信方式,如SPI/IIC/MICROWIRE不同,它采用單根信號線,既傳輸時鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的。它具有節(jié)省I/O口線資源、結構簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。DS18B20的工作原理DS18B20的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18B20的內(nèi)部存儲器資源。18B20共有三種形態(tài)的存儲器資源,它們分別是(1)ROM只讀存儲器,用于存放DS18B20的ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設置不由用戶更改。DS18B20共64位ROM。(2)RAM數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存的鏡像。在上電復位時其值將被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設計的,同樣也是內(nèi)部溫度轉換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作??刂破鲗?8B20操作流程:(1)復位:首先我們必須對DS18B20芯片進行復位,復位就是由控制器(單片機)給DS18B20單總線至少480μS的低電平信號。當18B20接到此復位信號后則會在15~60μS后回發(fā)一個芯片的存在脈沖。(2)存在脈沖:在復位電平結束之后,控制器應該將數(shù)據(jù)單總線拉高,以便于在15~60μS后接收存在脈沖,存在脈沖為一個60~240uS的低電平信號。至此,通信雙方已經(jīng)達成了基本的協(xié)議,接下來將會是控制器與18B20間的數(shù)據(jù)通信。如果復位低電平的時間不足或是單總線的電路斷路都不會接到存在脈沖,在設計時要注意意外情況的處理。(3)控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。ROM指令為8位長度,功能是對片內(nèi)的64位光刻ROM進行操作。其主要目的是為了分辨一條總線上掛接的多個器件并作處理。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的ID號來區(qū)別,一般只掛接單個18B20芯片時可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條“跳過指令”)。(4)控制器發(fā)送存儲器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲器操作指令了。操作指令同樣為8位,共6條,存儲器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復制到EEPROM、溫度轉換、將EEPROM中的報警值復制到RAM、工作方式切換。存儲器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關鍵。(5)執(zhí)行或數(shù)據(jù)讀寫:一個存儲器操作指令結束后則將進行指令執(zhí)行或數(shù)據(jù)的讀寫,這個操作要視存儲器操作指令而定。如執(zhí)行溫度轉換指令則控制器(單片機)必須等待18B20執(zhí)行其指令,一般轉換時間為500uS。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴格遵循18B20的讀寫時序來操作。數(shù)據(jù)的讀寫方法將有下文有詳細介紹。當主機收到DSl8B20的響應信號后,便可以發(fā)出ROM操作命令之一,這些命令如下:SkipROM(跳躍ROM指令)這條指令使芯片不對ROM編碼做出反應,在單總線的情況之下,為了節(jié)省時間則可以選用此指令。如果在多芯片掛接時使用此指令將會出現(xiàn)數(shù)據(jù)沖突,導致錯誤出現(xiàn)。ReadScratchpad(從RAM中讀數(shù)據(jù))此指令將從RAM中讀數(shù)據(jù),讀地址從地址0開始,一直可以讀到地址9,完成整個RAM數(shù)據(jù)的讀出。芯片允許在讀過程中用復位信號中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時間。ConvertT(溫度轉換)收到此指令后芯片將進行一次溫度轉換,將轉換的溫度值放入RAM的第1、2地址。此后由于芯片忙于溫度轉換處理,當控制器發(fā)一個讀時間隙時,總線上輸出“0”,當儲存工作完成時,總線將輸出“1”。在寄生工作方式時必須在發(fā)出此指令后立刻超用強上拉并至少保持500MS,來維持芯片工作。與DS18B20的所有通訊都是由一個單片機的復位脈沖和一個DS18B20的應答脈沖開始的。單片機先發(fā)一個復位脈沖,保持低電平時間最少480μs,最多不能超過960μs。然后,單片機釋放總線,等待DS18B20的應答脈沖。DS18B20在接受到復位脈沖后等待15~60μs才發(fā)出應答脈沖。應答脈沖能保持60~240μs。單片機從發(fā)送完復位脈沖到再次控制總線至少要等待480μs。讀時隙需15~60μs,且在2次獨立的讀時隙之間至少需要1μs的恢復時間。讀時隙起始于單片機拉低總線至少1μs。DS18B20在讀時隙開始15μs后開始采樣總線電平。以單片機讀取2B的數(shù)據(jù)為例。寫時隙需要15~75μs,且在2次獨立的寫時隙之間至少需要1μs的恢復時間。寫時隙起始于單片機拉低總線。3.2無線收發(fā)模塊該模塊由挪威(Nordic)公司生產(chǎn)的nRF24L01及其外圍電路組成的。nRF24L01作為單片射頻收發(fā)芯片,其工作于~世界通用ISM頻段,工作電壓為。可通過SPI寫入數(shù)據(jù),最高可達10Mbit/s,數(shù)據(jù)傳輸速率最快可達2Mbit/s,并且具有自動應答和自動再發(fā)射功能。芯片融進了增強式ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置。該芯片功耗低,6dBm功率發(fā)射時,工作電流9mA,接收時工作電流只有12.3mA,可選擇的掉電模式和空閑模式使其應用設計更為方便。模塊中nRF24L01和MSP430F149通過MOSI、MISO和SCK組成SPI接口,單片機接的低頻晶振工作,nRF24L01外接晶振為16MHz,由低速的單片機控制高速收發(fā)的射頻芯片,結構如圖所示[9]。圖無線收發(fā)模塊硬件結構圖nRF24L01概述nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4GHz~2.5GHzISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型ShockBurst技術,其中輸出功率和通信頻道可通過程序進行配置。nRF24L01功耗低,在以-6dBm的功率發(fā)射時,工作電流也只有9mA;接收時,工作電流只有mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設計更方便[10]。nRF24L01主要特性如下:1、GFSK調(diào)制,硬件集成OSI鏈路層;2、具有自動應答和自動再發(fā)射功能;3、片內(nèi)自動生成報頭和CRC校驗碼;4、數(shù)據(jù)傳輸率為lMb/s或2Mb/s;5、SPI速率為0Mb/s~10Mb/s;6、125個頻道與其他nRF24系列射頻器件相兼容;7、QFN20引腳4mm×4mm封裝;8、供電電壓為1.9V~3.6V;引腳功能及描述nRF24L01的封裝及引腳排列如圖所示[11]。各引腳功能如所示。圖nRF24L01封裝圖CE:使能發(fā)射或接收;CSN,SCK,MOSI,MISO:SPI引腳端,微處理器可通過此引腳配置nRF24L01:IRQ:中斷標志位;VDD:電源輸入端;VSS:電源地;XC2,XC1:晶體振蕩器引腳;VDD_PA:為功率放大器供電,輸出為1.8V;ANT1,ANT2:天線接口;IREF:參考電流輸入;工作模式通過配置寄存器可將nRF24L01配置為發(fā)射、接收、空閑及掉電四種工作模式,如表所示。表nRF24L01工作模式模式PWR_UPPRIM_RXCEFIFO寄存器狀態(tài)接收模式111-發(fā)射模式101數(shù)據(jù)在TX
FIFO
寄存器中發(fā)射模式101→0停留在發(fā)送模式,直至數(shù)據(jù)發(fā)送完待機模式2101TX_FIFO為空待機模式11-0無數(shù)據(jù)傳輸?shù)綦?待機模式1主要用于降低電流損耗,在該模式下晶體振蕩器仍然是工作的;待機模式2則是在當FIFO寄存器為空且CE=1時進入此模式;待機模式下,所有配置字仍然保留。在掉電模式下電流損耗最小,同時nRF24L01也不工作,但其所有配置寄存器的值仍然保留。3.工作原理發(fā)射數(shù)據(jù)時,首先將nRF24L01配置為發(fā)射模式:接著把接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動應答開啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應答信號(自動應答接收地址應該與接收節(jié)點地址TX_ADDR一致)。如果收到應答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX
FIFO中清除;若未收到應答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達到上限,MAX_RT置高,TX
FIFO中數(shù)據(jù)保留以便在次重發(fā);MAX_RT或TX_DS置高時,使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時,若CE為低則nRF24L01進入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入空閑模式2。接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式,接著延遲130μs進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效的地址和CRC時,就將數(shù)據(jù)包存儲在RX
FIFO中,同時中斷標志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時自動應答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應答信號。最后接收成功時,若CE變低,則nRF24L01進入空閑模式1。在寫寄存器之前一定要進入待機模式或掉電模式。表常用配置寄存器地址(H)寄存器名稱功能00CONFIG設置24L01工作模式01EN_AA
設置接收通道及自動應答02EN_RXADDR使能接收通道地址03SETUP_AW設置地址寬度04SETUP_RETR設置自動重發(fā)數(shù)據(jù)時間和次數(shù)07STATUS狀態(tài)寄存器,用來判定工作狀態(tài)0A~0FRX_ADDR_P0~P5設置接收通道地址10TX_ADDR設置接收接點地址11~16RX_PW_P0~P5設置接收通道的有效數(shù)據(jù)寬度3.配置字SPI口為同步串行通信接口,最大傳輸速率為10Mb/s,傳輸時先傳送低位字節(jié),再傳送高位字節(jié)。但針對單個字節(jié)而言,要先送高位再送低位。與SPI相關的指令共有8個,使用時這些控制指令由nRF24L01的MOSI輸入。相應的狀態(tài)和數(shù)據(jù)信息是從MISO輸出給MCU。nRF24L0l所有的配置字都由配置寄存器定義,這些配置寄存器可通過SPI口訪問。nRF24L01的配置寄存器共有25個,常用的配置寄存器如表所示。3.3LED顯示模塊3.3.1數(shù)碼管選擇溫度數(shù)據(jù)顯示是體現(xiàn)整個系統(tǒng)功能的部分,LED顯示成本低廉,配置靈活,與單片機連接方便。LED顯示塊具有亮度高、結構簡單、全天候的特點,因此在單片機應用系統(tǒng)中應用最廣,本系統(tǒng)的顯示采用的就是四位七段共陽極LED數(shù)碼管作為顯示部件。圖3.6顯示部分電路圖3.驅(qū)動電路選擇SL74HC573跟LS/AL573的管腳一樣。器件的輸入是和標準CMOS輸出兼容的;加上拉電阻,他們能和LS/ALSTTL輸出兼容。當鎖存使能端為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)。當鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。1、輸出能直接接到CMOS,NMOS和TTL接口上2、操作電壓范圍:2.0V~6.0V3、低輸入電流:A4、CMOS器件的高噪聲抵抗特性TTL電路的輸入端是遵循TTL標準的,其需要的輸入電流很小,74HC573的輸入電流在電源電壓為6V,輸入電壓為6V的情況下,其所需要的驅(qū)動電流僅僅為A。74HC573的每個輸出引腳都有20mA的灌入電流,因此可以直接驅(qū)動LED,而輸出電流可達到35mA(74HC573如圖所示)。圖3.774HC573引腳圖3.4主控制模塊(Msp430f149最小系統(tǒng))本系統(tǒng)設計采用MSP430F149作為主控芯片,該芯片具有超低功耗的優(yōu)點:活動模式280μA@1MHz,2.2V;待機模式1.1μA;掉電模式(RAM數(shù)據(jù)保持)0.1μA。并且有12位A/D轉換器,帶有內(nèi)部參考源、采樣保持、自動掃描特性等。串行通信時可軟件選擇UART/SPI模式,整個系統(tǒng)采用了3.3V供電,考慮到硬件系統(tǒng)的低功耗等特點,該硬件系統(tǒng)的電源部分采用TI公司的TPS76033芯片。為了使輸出電源的紋波小,在輸出部分采用了一個2.2uF和0.1μF的電容,另外在芯片的輸入端也設置一個0.1pF的濾波電容,減小輸入端受到的干擾。單片機最小系統(tǒng),或稱為最小應用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。對于MSP430系列單片機來說,最小系統(tǒng)一般應該包括:單片機、晶振電路、復位電路。這里設計了MSP430最小系統(tǒng)中下載電路、電源電路、晶振電路、復位電路并介紹了各部分的功能[12]。3.下載電路本設計的下載端口選擇了JTAG口JTAG(JointTestActionGroup;聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(兼容),主要用于芯片內(nèi)部測試?,F(xiàn)在多數(shù)的高級器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。JTAG最初是用來對芯片進行測試的,JTAG的基本原理是在器件內(nèi)部定義一個TAP(TestAccessPort;測試訪問口)通過專用的JTAG測試工具對進行內(nèi)部節(jié)點進行測試。JTAG測試允許多個器件通過JTAG接口串聯(lián)在一起,形成一個JTAG鏈,能實現(xiàn)對各個器件分別測試?,F(xiàn)在,JTAG接口還常用于實現(xiàn)ISP(In-SystemProgrammable在線編程),對FLASH等器件進行編程。JTAG編程方式是在線編程,傳統(tǒng)生產(chǎn)流程中先對芯片進行預編程,再裝到板上因此而改變,簡化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快工程進度。JTAG接口可對PSD芯片內(nèi)部的所有部件進行編程。具有JTAG口的芯片都有如下JTAG引腳定義:TCK——測試時鐘輸入;TDI——測試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI輸入JTAG口;TDO——測試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO從JTAG口輸出;TMS——測試模式選擇,TMS用來設置JTAG口處于某種特定的測試模式;可選引腳TRST——測試復位,輸入引腳,低電平有效;JTAG內(nèi)部有一個狀態(tài)機,稱為TAP控制器。TAP控制器的狀態(tài)機通過TCK和TMS進行狀態(tài)的改變,實現(xiàn)數(shù)據(jù)和指令的輸入。JTAG標準定義了一個串行的移位寄存器。寄存器的每一個單元分配給IC芯片的相應引腳,每一個獨立的單元稱為BSC(Boundary-ScanCell)邊界掃描單元。這個串聯(lián)的BSC在IC內(nèi)部構成JTAG回路,所有的BSR(Boundary-ScanRegister)邊界掃描寄存器通過JTAG測試激活,平時這些引腳保持正常的IC功能。以含JTAG接口的StrongARMSA1110為例,F(xiàn)lash為Intel28F128J3216MB容量。SA1110的JTAG的TCK、TDI、TMS、TDO分別接PC并口的2、3、4、11線上,通過程序?qū)TAG口的控制指令和目標代碼從PC的并口寫入JTAG的BSR中。在設計PCB時,必須將SA1110的數(shù)據(jù)線和地址線及控制線與Flash的地線線、數(shù)據(jù)線和控制線相連。因SA1110的數(shù)據(jù)線、地址線及控制線的引腳上都有其相應BSC,只要用JTAG指令將數(shù)據(jù)、地址及控制信號送到其BSC中,就可通過BSC對應的引腳將信號送給Flash,實現(xiàn)對Flash的操作。通過TCK、TMS的設置,可將JTAG設置為接收指令或數(shù)據(jù)狀態(tài)。JTAG常用指令如下:SAMPLE/PRELOAD——用此指令采樣BSC內(nèi)容或?qū)?shù)據(jù)寫入BSC單元;EXTEST——當執(zhí)行此指令時,BSC的內(nèi)容通過引腳送到其連接的相應芯片的引腳,我們就是通過這種指令實現(xiàn)在線寫Flash的;BYPASS——此指令將一個一位寄存器軒于BSC的移位回路中,即僅有一個一位寄存器處于TDI和TDO之間。在PCB電路設計好后,即可用程序先將對JTAG的控制指令,通過TDI送入JTAG控制器的指令寄存器中。再通過TDI將要寫Flash的地址、數(shù)據(jù)及控制線信號入BSR中,并將數(shù)據(jù)鎖存到BSC中,用EXTEST指令通過BSC將寫入Flash。軟件編程在線寫Flash的程序用TurboC編寫。程序使用PC的并行口,將程序通過含有JTAG的芯片寫入Flash芯片。程序先對PC的并口初始化,對JTAG口復位和測試,并讀Flash,判斷是否加鎖。如加鎖,必須先解鎖,方可進行操作。寫Flash之前,必須對其先擦除。將JTAG芯片設置在EXTEST模式,通過PC的并口,將目標文件通過JTAG寫入Flash,并在燒寫完成后進行校驗。圖JTAG電路圖3.電源電路設計供電電路采用USB接口。USB已經(jīng)是一個業(yè)內(nèi)標準了。電壓是5~5.2V電流300mA~500mA接口靠兩端的是正負極,中間兩條是數(shù)據(jù)的正負極,只要你的設備不接觸“數(shù)據(jù)線”電腦不會識別為移動設備。(業(yè)內(nèi)的標準數(shù)據(jù)線是“紅、白、綠、黑”分別是5V+、DAT-、DAT+、5V-、高檔型外加屏蔽層)如果只用提供電源,只用兩條引線,設計產(chǎn)品額定用電不超過5V,電流不超500mA即可。該型產(chǎn)品已經(jīng)很多很成熟。Msp430的電壓是,所以中間采用了穩(wěn)壓芯片AS1117。AS1117是一款低壓差的線性穩(wěn)壓器,當輸出1A電流時,輸入輸出的電壓差典型值僅為。AS1117除了能提供多種固定電壓版本外(Vout=,,,,5V),還提供可調(diào)端輸出版本,該版本能提供的輸出電壓范圍為。能(AS1117正常工作環(huán)境溫度范圍極寬,為-50℃~140℃),確保芯片和電源系統(tǒng)的穩(wěn)定性。同時在產(chǎn)品生產(chǎn)中應用先進的修正技術,確保輸出電壓和參考源精度在±1%的精度范圍內(nèi)。AS1117的特點:1、包括三端可調(diào)輸出和固定電壓輸出版本(固定電壓包括,,,,5V等,其他電壓規(guī)格可根據(jù)用戶定制);2、最大輸出電流為1A;3、輸出電壓精度高達±1%;4、穩(wěn)定工作電壓范圍為高達15V;5、電壓線性度為%;6、負載線性度為%;7、環(huán)境溫度:TA的范圍是-50℃~140℃;圖電源電路圖3.4.3復位電路為確保微機系統(tǒng)中電路穩(wěn)定可靠工作,復位電路是必不可少的一部分,復位電路的第一功能是上電復位(復位電路如3.10所示)。圖復位電路圖3.晶振電路晶振電路MSP430系列單片機時鐘模塊包括數(shù)控振蕩器(DCO)、高速晶體振蕩器和低速晶體振蕩器等3個時鐘源。這是為了解決系統(tǒng)的快速處理數(shù)據(jù)要求和低功耗要求的矛盾,通過設計多個時鐘源或為時鐘設計各種不同工作模式,才能解決某些外圍部件實時應用的時鐘要求,如低頻通信、LCD顯示、定時器、計數(shù)器等。數(shù)字控制振蕩器DCO已經(jīng)集成在MSP430內(nèi)部,在系統(tǒng)中只需設計高速晶體振蕩器和低速晶體振蕩器兩部分電路。
低速晶體振蕩器(LFXTl)滿足了低功耗及使用32.768kHz晶振的要求。LFXTl振蕩器默認工作在低頻模式,即32.768kHz,也可以通過外接450kHz~8MHz的高速晶體振蕩器或陶瓷諧振器工作在高頻模式,在本電路中我們使用低頻模式,晶振外接2個22pF的電容經(jīng)過XIN和XOUT連接到MCU。
高速晶振也稱為第二振蕩器XT2,它為MSP430F149工作在高頻模式時提供時鐘,XT2最高可達8MHz。在系統(tǒng)中XT2采用4MHz的晶體,XT2外接2個22pF的電容經(jīng)過XT2IN和XT2OUT連接到MCU[13](晶振電路如圖3.11所示)。圖晶振電路引腳分配.1發(fā)射部分發(fā)射部分選擇的是430的P3口。溫度傳感器選擇的是P4口(發(fā)射部分管腳分配如表3.3所示)。表發(fā)射部分管腳分配管腳名稱分配引腳CECSNCLKMOSIMISOIRQVDDVCCGNDGNDDQ圖3.12DS18B20電路圖圖3.13nRF24L01電路圖.2接收部分數(shù)碼管選擇的是P2與P6口。P2口為段選,P6口為位選。無線接收選擇P5口(接收部分管腳分配圖如表所示,DS18B20電路圖如圖所示,nRF24L01電路圖如圖所示)。表接收部分管教分配圖管腳名稱分配引腳ABCDEFGAQCOM1COM2COM3COM4CECSNCLKMOSIMISOIRQVDDVCCGNDGND3.6本章小結本章主要是講述了對于各個模塊的電路設計,其中主要是溫度檢測模塊、無線收發(fā)模塊、數(shù)碼管顯示模塊、430最小系統(tǒng)模塊。詳細的介紹了各主要部分所用芯片的工作原理和性能特點。最后本章還說明了各個模塊的引腳分配。通過這一章的介紹,可以了解本系統(tǒng)詳細的硬件設計方案。第4章軟件系統(tǒng)的設計與實現(xiàn)分部分軟件設計溫度檢測溫度檢測模塊軟件設計DS18B20的測溫原理遵循嚴格的單總線協(xié)議,以確保通信數(shù)據(jù)的準確性,單片機通過時序來寫入和讀出DS18B20中的數(shù)據(jù),包括初始化、讀l、讀0,寫1、寫0等操作。傳感器復位后,接收應答信號,跳過讀ROM中序列號后,啟動溫度轉換,等待溫度轉換完畢后,保存數(shù)據(jù)。如此反復,完成所有操作,其流程圖如圖所示。圖溫度檢測軟件流程圖無線發(fā)射模塊軟件設計首先進行初始化操作,初始化包括設置單片機I/O和SPI相關寄存器兩部分其可以和nRF24L01通信。通過SPI總線配置射頻芯片使其進入正確的工作模式。發(fā)射數(shù)據(jù)時,首先將nRF24L01配置為發(fā)射模式。接著把發(fā)送端待發(fā)射數(shù)據(jù)的目標地址TX—ADDR和數(shù)據(jù)TX—PLD寫入nRF24L01緩沖區(qū),延時后發(fā)射數(shù)據(jù),其流程圖如圖4.2所示[14]。圖無線發(fā)射軟件流程圖4.無線接收模塊軟件設計接收數(shù)據(jù)時,首先將nRF24L01配置為接收模式。接著延遲進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效地址和CRC時,就將數(shù)據(jù)包儲存在接收堆棧中,同時狀態(tài)寄存器中的中斷標志位RX—DR置高,產(chǎn)生中斷使IRQ引腳變?yōu)榈碗娖?,以便通知MCU去取數(shù)據(jù),。圖4.3無線接收軟件流程圖4.顯示模塊軟件設計LED溫度顯示電路包含有4只LED,共陰極,顯示采用逐位掃描的方式。為LED的顯示代碼輸入,依次對應LED的a、b、c、d、e、f、g、dp,~為LED的位選輸入,依次對應D3、D2、Dl、D0,其中D3為最高位。當P為低電平~為高電平時,LED顯示的最高位被點亮,其余熄滅,依此類推,其流程圖如圖4.4所示。圖顯示部分軟件流程圖4.2軟件的總體設計4.2.1發(fā)送部分發(fā)送部分的一個循環(huán)的總體思路是這樣的先初始化DS18B20,從DS18B20讀出溫度(DS18B20采用默認的12位精度),將得到的溫度值的反碼轉化成十進制,取溫度數(shù)組的高兩位(即整數(shù)部分)寫入發(fā)送數(shù)據(jù)數(shù)組,然后初始化nRF24L01,將溫度發(fā)送,其流程圖如圖4.5所示[15]。圖發(fā)射部分總體流程圖4.接收部分接收部分的總體思路是這樣的,首先還是初始化nRF24L01,然后進入大循環(huán)判斷狀態(tài)寄存器是否有接收中斷。如果有就從FIFO_buffer讀入二進制數(shù)據(jù),然后將數(shù)據(jù)轉換成十進制在數(shù)碼管上顯示出來,其流程圖如圖4.6所示。圖接收部分總體流程圖4.3本章小結本章主要是講解了系統(tǒng)子程序及總程序的設計思想,并分別介紹了各子模塊的程序流程及最后總程序的流程,系統(tǒng)軟件采用模塊化編程思路,這樣,在軟件調(diào)試時,可以隨時調(diào)用子模塊程序,更有利于子模塊調(diào)試。第5章系統(tǒng)的調(diào)試及實驗結果5.1調(diào)試步驟步驟一完成硬件電路的焊接。步驟二首先先將其中一片430系統(tǒng)與四位共陰數(shù)碼管相連顯示,檢驗四位數(shù)碼管顯示沒有問題。步驟三將其中一片430與四位數(shù)碼管及溫度傳感器DS18B20相連,寫入測量溫度的程序。測試DS18B20部分硬件及軟件部分好使。步驟四將nRF24L01的收發(fā)部分分別與兩片430相連,寫入發(fā)射一個常數(shù)的程序,檢測收發(fā)模塊及程序好使。步驟五將顯示、收發(fā)、溫度檢測程序整合,檢測系統(tǒng)是否能將發(fā)送端的溫度值測量出來發(fā)送到接收端在數(shù)碼管上顯示出來。經(jīng)實驗要求及實驗的目的,對系統(tǒng)進行了一些動態(tài)值的測量,具體結果如表所示:表數(shù)據(jù)測試表測試數(shù)據(jù)值發(fā)送端電流接收端電流9mA收發(fā)端電壓發(fā)送端功率接收端功率收發(fā)距離>30m溫度測試精度攝氏度從表中看出接收端與發(fā)射端都維持在低功耗,基本達到了設計的初衷。另外收發(fā)距離與溫度測試精度也達到了設計的要求。如圖就是無線溫度檢測系統(tǒng)發(fā)射端的發(fā)射端成品,發(fā)射端在接通電源的情況下會立即完成初始化,實時地發(fā)送溫度數(shù)值。圖發(fā)射部分成品如圖就是無線溫度測量檢測系統(tǒng)的接受端成品。在開通電源的情況下對發(fā)射端的數(shù)據(jù)進行實時的接受,經(jīng)MSP430處理后在數(shù)碼管上顯示。圖5.2接收部分成品本章小結本章主要介紹了本系統(tǒng)的軟硬件調(diào)試過程以及最后的實驗成果。軟硬件調(diào)試運用了分模塊調(diào)試的方法,當每個模塊都無誤后再進行整合。我們最后對收發(fā)距離,測試精度,收發(fā)端功率等數(shù)據(jù)進行了測量以驗證系統(tǒng)的性能。結論在老師的指導下,經(jīng)過努力,本論文已經(jīng)完成了預期的目標并且保存了完整的記錄文檔。相關工作總結如下:數(shù)據(jù)采集與處理是430單片機的常用領域,除了電信號以外,單片機還可以利用傳感器實現(xiàn)對非電信號的采集。本設計介紹的數(shù)字溫度計就是一個典型事例。本設計采用一種直接數(shù)字輸入式的溫度傳感芯片DS18B20實現(xiàn)了單片機控制的數(shù)字溫度計系統(tǒng)?;贒S18B20數(shù)字溫度傳感器構成的實時監(jiān)控系統(tǒng)確實具有精度高、抗干擾能力強、電路簡單等諸多優(yōu)點,溫度傳感器得到電纜長度達到幾十米都可以正常讀取溫度數(shù)據(jù)。相比之下,傳統(tǒng)的溫度檢測系統(tǒng)采用熱敏電阻等溫度敏感元件,熱敏電阻成本低,但需要后續(xù)信號調(diào)理、AD轉換處理電路才能將溫度信號轉換成數(shù)字信號,不但電路復雜,而且熱敏電阻的可靠性相對較差,測量溫度的精度差,很難保證熱敏電阻的一致性和線性,在應用中需要很好的解決引線誤差補償問題、共模干擾問題和放大電路零點漂移誤差等技術問題。另外本設計使用nRF24L01無線傳輸模塊完成了無線傳輸?shù)倪^程。通過無線傳輸模塊可以省去有線帶來的布線麻煩,非常便于工作生活在此次設計過程中也遇到一些問題,比如,在單片機對于RF24L01高頻模塊的讀寫、操作等比較復雜,查找的資料也很難理解。還有就是DS18B20的時序也有一定難度。不過,通過這次的學習和實踐,我學會了如何看待問題,解決問題。例如,調(diào)試無線收發(fā)時,數(shù)碼管老顯示亂碼,而且一直跳躍不定,后來通過循環(huán)控制將接受的第一個數(shù)據(jù)顯示出來才避免了亂碼出現(xiàn)。又例如后來整合程序時,溫度不正確,老是成不斷上升趨勢,后來檢查程序后才發(fā)現(xiàn)是沒有將溫度的全局變量清零,導致每次循環(huán)累加。進入21世紀后,智能溫度控制器正朝著高精度、多功能、總線標準化、高可靠性及安全性、開發(fā)虛擬溫度控制器和網(wǎng)絡溫度控制器、研制單片測溫控溫系統(tǒng)等高科技的方向迅速發(fā)展。1.提高溫度控制器測溫精度和分辨力在20世紀90年代中期最早推出的智能溫度控制器,采用的是8位A/D轉換器,其測溫精度較低,分辨力只能達到2°C。目前,國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是9~12位A/D轉換器,分辨力一般可達0.5~0.0625°C。為了提高多通道智能溫控器的轉換速率,也有的芯片采用高速逐次逼近式A/D轉換器。2.增加溫度控制器測試功能新型智能溫度控制器的測試功能也在不斷增強。例如,采用DS1629型單線智能溫度傳感器增加了實時日歷時鐘(RTC),使其功能更加完善。DS1624還增加了存儲功能,利用芯片內(nèi)部256字節(jié)的E2PROM存儲器,可存儲用戶的短信息。另外,智能溫度控制器正從單通道向多通道的方向發(fā)展,這就為研制和開發(fā)多路溫度測控系統(tǒng)創(chuàng)造了良好條件。智能溫度控制器都具有多種工作模式可供選擇,主要包括單次轉換模式、連續(xù)轉換模式、待機模式,有的還增加了低溫極限擴展模式,操作非常簡便。對某些智能溫度控制器而言,主機(外部微處理器或單片機)還可通過相應的寄存器來設定其A/D轉換速率,分辨力及最大轉換時間。參考文獻[1]北京教育科學研究院.無線電技術基礎[M].北京:人民郵電出版社,2005.[2]李文忠,段朝玉.短距離無線數(shù)據(jù)通信[M].北京:北京航空航天大學出版社,2006.[3]李艷紅,李海華.傳感器原理及其應用[M].北京:北京理工大學出版社,2010.[4]傅揚烈.單片機原理與應用教程[M].北京:電子工業(yè)出版社,2002.[5]GuiyunTian.FoundationandApplicationofMicrocontroller[M].北京:高等教育出版社,2004.[6]胡大可.MSP430系列單片機C語言程序設計與開發(fā)[M].北京:北京航天航空大學出版社,2003.[7]譚浩強.C程序設計[M].北京:清華大學出版社,1999.[8]何希才,薛永毅.傳感器及其應用實例[M].北京:機械工業(yè)出版社,2004.[9]Simon[M].北京:電子工業(yè)出版社,2006.[10]朱玉穎,蔡占輝.基于nRF24L01的遠程溫度檢測系統(tǒng)設計[J].通信與信息處理,2010,29(5):56-58.[11]吉雷,章優(yōu)仕,齊永龍.Protel99電子電路設計[M]成都:電子科技大學出版社,2000.[12]武慶生,仇梅.單片機原理與應用[M].成都:電子科技大學出版社,1998.[13]周航慈.單片機應用程序設計技術[M].北京:北京航空航天大學出版社,1991.[14]臺灣歐姆龍股份有限公司FAPLAZA編著小組.OMRON傳感器與溫度控制器[M].北京:科學出版社,2011.[15]譚浩強.C程序設計北京[M].北京:清華大學出版社,1999.致謝經(jīng)過半年的忙碌和工作,本次畢業(yè)設計已經(jīng)接近尾聲,作為一個本科生的畢業(yè)設計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導師的督促指導,以及一起工作的同學們的支持,想要完成這個設計很難。在這里首先要感謝我的指導
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沈陽市大東區(qū)2025屆初三下學期模擬卷(五)生物試題含解析
- 新疆維吾爾自治區(qū)阿克蘇市農(nóng)一師高級中學2024-2025學年高三下學期教學質(zhì)量檢測試題(一模)生物試題含解析
- 2025版游戲主播專屬合同
- 浙江省杭州地區(qū)達標名校2025年第二學期期末考試初三數(shù)學試題含解析
- 二手車位交易合同范文
- 采購原材料合同樣本
- 高速公路擴建工程施工合同書
- 工廠設備安裝勞務分包合同26
- 美容院原材料采購合同
- 網(wǎng)絡優(yōu)化合同書
- 應急預案演練記錄表0001
- 《新能源汽車轉向系統(tǒng)》課件
- 業(yè)主回訪評價表
- 2022年中小學體育課堂教學規(guī)范
- 新人教版八年級下冊英語全冊教案(教學設計)
- 2022年河南省鄭州市中考二模語文試卷
- 東莞市衛(wèi)生與健康十三五規(guī)劃
- 土壤分析技術規(guī)范(第二版)
- 地下車庫交通標志標線及地坪漆工程施工組織設計
- 專題一電磁感應與電路ppt課件
- GDFJ005修改個人信息申請表
評論
0/150
提交評論