基于arm的倉庫溫濕度無線監(jiān)控系統(tǒng)_第1頁
基于arm的倉庫溫濕度無線監(jiān)控系統(tǒng)_第2頁
基于arm的倉庫溫濕度無線監(jiān)控系統(tǒng)_第3頁
基于arm的倉庫溫濕度無線監(jiān)控系統(tǒng)_第4頁
基于arm的倉庫溫濕度無線監(jiān)控系統(tǒng)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

I摘要在倉庫的貨物的管理中,防潮、防霉、防腐、防爆是衡量倉庫管理質量的重要指標,它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進行,我們需要實時知道溫濕度的具體變化,因此首要問題就是加強倉庫內溫度和濕度的監(jiān)測工作。人工測試方法費時費力、效率低、測試的溫度濕度誤差大隨機性大,而且?guī)靺^(qū)的面積越來越大,因此我們需要一種造價低廉、使用方便、測量準確、傳輸能力強和通信距離遠的監(jiān)控系統(tǒng)來有效地對倉庫貨物進行監(jiān)管。本課題是在ARM控制系統(tǒng)的基礎上,利用DS18B20溫度傳感器、HS1101濕度傳感器、AY-nRF905和S3C44B0,通過SPI總線方式進行AY-nRF905與S3C44B0的數(shù)據(jù)通信。同時,通過DS18B20溫度傳感器和HS1101濕度傳感器在嵌入式系統(tǒng)的控制下來實現(xiàn)工業(yè)現(xiàn)場溫度和濕度數(shù)據(jù)的采集,將該溫度和濕度數(shù)據(jù)送到AY-nRF905無線收發(fā)模塊予以發(fā)射出去。在遠程進行接收并實現(xiàn)報警、顯示溫度和濕度以及被送到上位機。關鍵詞:ARMDS18B20HS1101NRF905監(jiān)控系統(tǒng)AbstractInthemanagementofwarehousegoods,moisture,mildew,corrosion,explosionareimportantindicatorstomeasurethequalityofwarehouse-management.Theydirectlyaffectthelifeandreliabilityofthestockpile.Inordertoensurethedailyworkiscarriedoutsmoothly,weneedtoknowthereal-timeandspecificchangesoftemperatureandhumidity.Sothefirstproblemistostrengthenthemonitoringoftemperatureandhumidityinsidethewarehouse.Manualtestingmethodistime-consumingandlowefficiency,largerandomnessofthetesttemperatureandhumidityerrors,andtheareaofthereservoirareaismoreandmorelarge.Therefore,weneedalowcost,easytouse,accuratemeasurement,transmissioncapabilityandthecommunicationdistancemonitoringsystemtoeffectivelyregulatethestorageofgoods.ThistopicisabouthowtousetheDS18B20temperaturesensor,theHS1101humiditysensor,theAY-nRF905andS3C44B0andAY-nRF905S3C44B0datacommunicationthroughSPIbusbasedontheARMcontrolsystem.DS18B20emperaturesensorandHS1101humiditysensorinthecontrolofembeddedsystemsdownindustrialsitetemperatureandhumiditydatacollection,thetemperatureandhumiditydatatotheAY-nRF905wirelesstransceivermoduletobetransmittedout.ReceiveanddisplaythetemperatureandhumidityaswellasbeingsenttothehostcomputerintheremoteKeywords:ARMDS18B20HS1101NRF905Monitoringsystem目錄摘要 IAbstract II緒論 11溫濕度采集系統(tǒng)的硬件設計 21.1S3C44B0X 21.1.1S3C44B0X硬件資源 21.1.2I/O功能概述 31.2溫度傳感器部分 51.2.1DS18B20簡介 51.2.2DS18B20的主要特性及引腳功能 61.2.3DS18B20的內部結構及工作原理 61.3濕度傳感器部分 81.3.1HS1101的特點 81.3.2HS1101的參數(shù)特性 91.4無線傳輸技術 101.4.1AY-nRF905無線收發(fā)模塊簡介 101.4.2AY-nRF905的管腳排列 111.4.3AY-nRF905的工作模式 121.4.4AY-nRF905的配置過程 142溫濕度采集系統(tǒng)軟件設計 172.1DS18B20程序的設計 172.1.1DS18B20初始化程序設計 172.1.2DS18B20讀程序設計 172.1.3DS18B20的寫程序設計 182.2nRF905控制程序 192.2.1nRF905寄存器配置程序 192.2.2SPI寫操作代碼 192.2.3SPI讀操作代碼 202.2.4主機與nRF905通信 212.2.5使用nRF905發(fā)送數(shù)據(jù) 213調試部分 243.1使用CodeWarrior建立工程并進行編譯 243.2使用超級終端進行測試 26結論 28致謝 29參考文獻 30緒論嵌入式系統(tǒng)是指操作系統(tǒng)和功能軟件集成于計算機硬件系統(tǒng)之中。簡單的說就是系統(tǒng)的應用軟件與系統(tǒng)的硬件一體化,類似與BIOS的工作方式。具有軟件代碼小,高度自動化,響應速度快等特點。特別適合于要求實時的和多任務的體系。嵌入式系統(tǒng)技術具有非常廣闊的應用前景,其應用領域可以包括:工業(yè)控制、交通管理、信息家電、家庭智能管理系統(tǒng)、POS網(wǎng)絡及電子商務、環(huán)境工程與自然等。本課題就是把嵌入式系統(tǒng)的優(yōu)勢利用到倉庫的溫濕度監(jiān)控系統(tǒng)中。在倉庫的貨物的管理中,防潮、防霉、防腐、防爆是衡量倉庫管理質量的重要指標,它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進行,我們需要實時知道溫濕度的具體變化,因此首要問題就是加強倉庫內溫度和濕度的監(jiān)測工作。傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行監(jiān)測,對不符合溫度和濕度要求的庫房進行通風、去濕和降溫等工作。這種人工測試方法費時費力、效率低、測試的溫度濕度誤差大隨機性大,而且?guī)靺^(qū)的面積越來越大,因此我們需要一種造價低廉、使用方便、測量準確、傳輸能力強和通信距離遠的監(jiān)控系統(tǒng)來有效地對倉庫貨物進行監(jiān)管。本課題的目的就是利用ARM控制器來實現(xiàn)工業(yè)現(xiàn)場溫度、濕度的采集和無線傳輸,在遠程可以顯示溫度和被送到上位機。1溫濕度采集系統(tǒng)的硬件設計本系統(tǒng)以嵌入式系統(tǒng)為核心即S3C44B0X,組成一個集溫度的采集、處理、無線傳輸、顯示、遠程報警為一體的溫度采集系統(tǒng)。系統(tǒng)硬件主要由溫度傳感器DS18B20、濕度傳感器HS1101、嵌入式系統(tǒng)S3C44B0X、AY-nRF905模塊組成。其系統(tǒng)框圖見下圖:數(shù)碼管顯示數(shù)碼管顯示S3C44B0XS3C44B0XDS18B20溫度采集AY-NRF905HS1101濕度采集AY-NRF905HS1101濕度采集圖1-1系統(tǒng)框圖該系統(tǒng)的工作流程是,通過DS18B20溫度傳感器在嵌入式系統(tǒng)的控制下采集溫度數(shù)據(jù),將該溫度數(shù)據(jù)送與AY-nRF905無線收發(fā)模塊予以發(fā)射出去。這個過程是溫度數(shù)據(jù)的發(fā)射。同時,該無線數(shù)據(jù)采集系統(tǒng)也具備接收并顯示溫度數(shù)據(jù)的功能。通過AY-nRF905無線收發(fā)模塊接收數(shù)據(jù),并送顯示[2]。1.1S3C44B0XS3C44B0微處理器片內集成ARM7TDMI核,采用0.25umCMOS工藝制造。ARM7TDMI是ARM公司最早為業(yè)界普遍認可且得到了廣泛應用的處理器核,特別是在手機和PDA中,隨著ARM技術的發(fā)展,它已是目前最低端的ARM核。ARM7TDMI是從最早實現(xiàn)了32位地址空間編程模式的ARM6核發(fā)展而來的,可穩(wěn)定地在低于5V的電源電壓下可靠的工作;增加了64位乘法指令、支持片上調試、Thumb指令集和EmbededICE片上斷點和觀察點。此開發(fā)板在如上功能的基礎上集成了豐富的外圍功能模塊,便于低成本設計嵌入式應用系統(tǒng)[1]。1.1.1S3C44B0X硬件資源(1)在ARM7TDMI基礎上增加8KB的Cache;(2)外部擴充存儲器控制器(FP/EDO/SDRAM控制,片選邏輯);(3)LCD控制器(最大支持256色的DSTN),并帶有1個LCD專用DMA通道;(4)2個通用DMA通道/2個帶外部請求引腳的DMA通道;(5)2個帶有握手協(xié)議的UART,1個SIO;(6)1個多主的IIC總線控制器;(7)1個IIS總線控制器;(8)5個PWM定時器及一個內部定時器;(9)看門狗定時器;(10)71個通用可編程I/O口,8個外部中斷源;(11)功耗控制模式:正常、低、休眠和停止;(12)8路10位ADC;(13)具有日歷功能的RTC(實時時鐘);(14)PLL時鐘發(fā)生器。1.1.2I/O功能概述三星開發(fā)板44B0擁有71個通用可編程多功能輸入/輸出引腳,可分為以下7類端口:(1)兩個9位輸入/輸出端口(PortE和PortF);(2)兩個8位輸入/輸出端口(PortD和PortG);(3)一個16位輸入/輸出端口(PortC);(4)一個10位輸出端口(PortA);(5)一個11位輸出端口(PortB)。每個端口都可通過軟件設置來滿足各種各樣的系統(tǒng)設置和設計要求。每個端口的功能通常都要在主程序開始前被定義[3]。如果一個引腳的多功能沒有使用,那么這個引腳將被設置為I/O端口。在引腳配置之前,需要對引腳的初始化狀態(tài)進行設定,以避免一些問題的出現(xiàn)。I/O端口的各種功能主要是通過對端口各個寄存器進行設置而實現(xiàn)的,下面通過對各個寄存器的說明來分別介紹I/O端口所能實現(xiàn)的功能。(1)端口配置寄存器(PCONA~G)在44B0中,大多數(shù)引腳都是多功能引腳。因此,應為每個引腳選擇功能。端口控制寄存器(PCONn)決定了每一個引腳的功能。如果PG0~PG7在掉電模式下被用作喚醒信號,則在中斷模式下這些端口必須被設定。(2)端口數(shù)據(jù)寄存器(PDATA~G)如果這些端口被設定為輸出端口,則輸出數(shù)據(jù)可被寫入PDATn相應位;如果被設定為輸入端口,則輸入數(shù)據(jù)可被獨到PDATn相應位。(3)端口上拉寄存器(PUPC~G)端口上拉寄存器控制著每一個端口組的上拉寄存器的使能端。當相應的位被設為0時,引腳接上拉電阻;當相應的位被設為1時,引腳不接上拉電阻。(4)特殊的上拉電阻控制寄存器(SPUCR)數(shù)據(jù)線D[15:0]引腳的上拉電阻能夠通過SPUCR寄存器來控制。在STOP/SL-IDLE模式,數(shù)據(jù)線(D[31:16]或D[15:0])處于高阻狀態(tài)(Hi-zState)。由于I/O端口的特征,在STOP/SL-IDLE模式,數(shù)據(jù)在線拉電阻可降低功耗。D[31:16]引腳的上拉電阻能夠通過PUPC寄存器來控制;D[15:0]引腳的上拉電阻能夠通過SPUCR寄存器來控制。在STOP模式,為使寄存器不出現(xiàn)錯誤功能(Mal-function),存儲器控制信號通過在特殊的上拉電阻控制寄存器里設置HZ@STOP區(qū)域來選擇高阻狀態(tài)(Hi-zState)或先前的狀態(tài)。①外部中斷控制寄存器8個外部中斷可用各種信號來請求。外部中斷寄存器為外部中斷設置了信號觸發(fā)方法選擇位,也設置了觸發(fā)信號的極性選擇位。外部中斷請求信號觸發(fā)的方法有以下幾種:低電平觸發(fā)、高電平觸發(fā)、下降沿觸發(fā)、上升沿觸發(fā)及雙沿觸發(fā)。因為每個外部中斷引腳都有一個數(shù)字濾波器,這使中斷控制器能夠識別長于3個時鐘周期的請求信號。②外部中斷掛起寄存器(EXTINTPND)外部中斷請求(4/5/6/7)對于中斷控制器來說是“或”的關系。EINT4、EIN5、EIN6、EIN7共享在中斷控制器里同一個中斷請求隊列。如果外部中斷請求的4位中的任何一位被啟動,那么EXTINTPNDn將會被設置為1。外部掛起條件清除以后,中斷服務程序必須清除中斷掛起狀態(tài)。可通過EXTINTPND對應位寫1來清除掛起條件。1.2溫度傳感器部分圖1-2S3C44B0X與DS18B20的接口電路圖DS18B20的I/O口是數(shù)據(jù)輸入輸出端它屬于漏極開路輸出,外接上拉電阻后,常態(tài)下呈高電平,它與S3C44B0X的GPF4相連,DS18B20的接地端(GND)和VDD分別與S3C44B0X的接地端和VDD相連接。1.2.1DS18B20簡介DS18B20是美國半導體公司繼之后最新推出的一種數(shù)字化單總線器件,屬于新一代適配微處理器的改進型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9-12位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75ms和750ms內完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或寫入DS18B20的信息僅需要一根口線(單線界面)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結構更趨簡單,可靠性更高。同時其“一線總線”獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡,為測量系統(tǒng)的構建引入了全新的概念。DS18B20“一線總線”數(shù)字化溫度傳感器支持“一線總線”界面,測量溫度范圍為-55℃~﹢125℃,在-10℃~+85℃范圍內,精度為±0.5℃?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,用符號擴展的16位數(shù)字量方式串行輸出,大大提高了系統(tǒng)的抗干擾性。因此,數(shù)字化單總線器件DS18B201.2.2DS18B20的主要特性及引腳功能(1)DS18B20的主要特性:①全數(shù)字溫度轉換及輸出。②先進的單總線數(shù)據(jù)通信。③最高12位分辨率,精度可達±0.5攝氏度。④可選擇寄生工作方式。檢測溫度范圍為-55℃~+125℃(-67℉⑤內置EEPROM,限溫報警功能。⑥64位光刻ROM,內置產(chǎn)品序列號,方便多級掛接。⑦多樣封裝形式,適應不同硬件系統(tǒng)。⑧負壓特性,即具有電源反接保護電路。當電源電壓的極性反接時,能保護DS18B20不會因為發(fā)熱而燒毀。但此時芯片無法正常工作。(2)DS18B20引腳功能:DS18B20采用兩種封裝結構分別為PR-35封裝和SOS封裝。I/O為數(shù)據(jù)輸入輸出端(即單線總線),它屬于漏極開路輸出,外接上拉電阻后,常態(tài)下呈高電平。GND電壓地DQ單數(shù)據(jù)總線VDD電源電壓NC空引腳。DS18B20的封裝圖如下圖1-3所示。圖1-3DS18B20封裝圖1.2.3DS18B20的內部結構及工作原理DS18B20的內部結構框圖見下圖1-4。它主要包括7個部分:1、寄生電源;2、溫度傳感器;3、64位激光(loser)ROM與單線界面;4、高速暫存器,即便筏式RAM,用于存放中間數(shù)據(jù);5、TH觸發(fā)寄存器和TL觸發(fā)寄存器,分別用來存儲用戶設定的溫度上下限值;6、存儲和控制邏輯;7、8位循環(huán)冗余校驗碼(CRC)發(fā)生器。圖1-4DS18B20的內部結構框圖DS18B20的測溫原理如下圖1-5所示:圖1-5DS18B20的內部測溫原理圖圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振的振蕩頻率隨溫度變化而明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預置在-55℃所對應的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2-3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是1.3濕度傳感器部分測量空氣濕度的方式很多,其原理是根據(jù)某種物質從其周圍的空氣吸收水分后引起的物理或化學性質的變化,間接地獲得該物質的吸水量及周圍空氣的濕度。電容式、電阻式和濕漲式濕敏元件分別是根據(jù)其高分子材料吸濕后的介電常數(shù)、電阻率和體積隨之發(fā)生變而進行濕度測量的[12-15]。下面介紹HS1101濕度傳感器及其應用。圖1-6S3C44B0X與HS1101的接口電路圖HS1101的I/O口只進行讀操作,不進行寫操作,也就是將采集到的濕度讀出并通過S3C44B0X的GPF3口送入CPU中進行處理。1.3.1HS1101的特點圖1-7HS1101實物圖不需要校準的完全互換性;高可靠性和長期穩(wěn)定性;快速響應時間;專利設計的固態(tài)聚合物結構;有頂端接觸(HS1100)和側面接觸(HS1101)兩種封裝產(chǎn)品,適用于線性電壓輸出和頻率輸出兩種電路,適宜于制造流水線上的自動插件和自動裝配過程等。1.3.2HS1101的參數(shù)特性相對濕度在0%~100%RH范圍內;電容量由162pF變到200pF,其誤差不大于2%RH;響應時間小于5s;溫度系統(tǒng)為0.04pF/℃??梢娖渚仁禽^高的。其濕度-電容響應曲線如圖1-8:2040608010020406080100相對濕度%200190180170電容F圖1-8HS1101濕度-電容響應曲線電容擬和曲線公式:

C(PF)=C@55%RH*(1.25*10-7*RH3-1.36*10-5*RH2+2.19*10-3*RH+9.0*10-1)

頻率影響:

參數(shù)表中,所有數(shù)據(jù)均在10KHz下取得。HS1100/1101可以工作在5KHz到100KHz之間,頻率對電容值的影響如下:

C@fKHz(1.027-1.01185*1n(fKHz))

極性:測量中,為得到更好的重復性,將管腳2接地。(管腳2在帽頭遠端)表1-1HS1101常用參數(shù)參數(shù)符號參數(shù)值單位工作溫度Ta-40~100℃儲存溫度Tstg-40~125℃供電電壓Vs10Vac濕度范圍RH0~100%RH焊接時間@=260t10S擬和曲線公式如下:Fmes(Hz)=F55(Hz)(1.1038-1.9368*10-3*RH+3.0114*10-6*RH2-3.4403*10-8*RH3)1.4AY-NRF905無線收發(fā)模塊部分隨著我國國際地位和科研水平的不斷提高,無需導線連接的無線數(shù)據(jù)系統(tǒng)對用戶有著極大的吸引力。無線數(shù)據(jù)系統(tǒng)采用了能在局域范圍內無線傳輸信息的數(shù)字網(wǎng)絡,在不改動原有設施的前提下,將有效的數(shù)據(jù)信息準確、快速和安全地傳送給與會者。因此,無線數(shù)據(jù)系統(tǒng)設備的設計得到了國內外相關領域廠商的廣泛關注,未來,無線數(shù)據(jù)系統(tǒng)很有可能代替現(xiàn)有的有線數(shù)據(jù)系統(tǒng),成為今后數(shù)據(jù)傳輸?shù)闹髁?。NRF905與S3C44B0X的接口電路圖如圖1-9所示:圖1-9NRF905與S3C44B0X的接口電路圖1.4.1AY-nRF905無線收發(fā)模塊簡介nRF905是一種單片射頻收發(fā)器,工作電壓為1.9~3.6V,工作于433/868/915MHz三個ISM(工業(yè)、科學和醫(yī)學)頻道,頻道之間的轉換時間小于650us。nRF905由頻率合成器、接收解調器、功率放大器、晶體振蕩器和調制器組成,不需外加聲表濾波器,ShockBurst工作模式,自動處理字頭和CRC(循環(huán)冗余碼校驗),使用SPI界面與微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的輸出功率發(fā)射時電流只有11mA,工作于接收模式時的電流為12.5mA,內建空閑模式與關機模式,易于實現(xiàn)節(jié)能。1.4.2AY-nRF905的管腳排列AY-nRF905的管腳排列如下圖1-10所示:圖1-10nRF905的管腳排列(1)VCC腳接電壓范圍為3.3~3.6V之間,不能在這個區(qū)間之外,超過3.6V將會燒毀模塊。推薦電壓3.3V左右。(2)除電源VCC和接地端,其余腳都可以直接和普通的5V單片機I/O口直接相連,無需電平轉換。當然對3V左右的單片機更加適用了。(3)硬件上面沒有SPI的單片機也可以控制本模塊,用普通單片機I/O口模擬SPI不需要單片機SPI模塊介入,只需添加代碼模擬SPI時序即可。(4)13腳、14腳為接地腳,需要和母板得邏輯地連接起來。(5)排列間距為100mil,標準DIP插針。(6)與51系列單片機P0口連接時候,需要外加10K的上拉電阻,與其余口連接不需要。具體管腳說明見下表:表1-2nRF905管腳說明管腳名稱管教說明說明1VCC電源電源+3.3—3.6VDC2TX_EN數(shù)字輸入TX_EN=1TX模式TX_EN=0RX模式3TRX_CE數(shù)字輸入使能芯片發(fā)射或接收4PWR_UP數(shù)字輸入芯片上電5uCLK時鐘輸出本模塊該腳廢棄不用,向后兼容6CD數(shù)字輸出載波檢測7AM數(shù)字輸出地址匹配8DR數(shù)字輸出接收或發(fā)射數(shù)據(jù)完成9MISOSPI界面SPI輸出10MOSISPI界面SPI輸入11SCKSPI時鐘SPI時鐘12CSNSPI使能SPI使能13GND地接地14GND地接地1.4.3AY-nRF905的工作模式AY-nRF905一共有四種工作模式,其中有兩種活動RX/TX模式和兩種節(jié)電模式。分別為活動模式:ShockBurstRX和ShockBurstTX,節(jié)電模式:掉電和SPI編程、Standby和SPI模式。其工作模式由TRX_CE、TX_EN、PWR_UP的設置來設定。具體見下表:表1-3nRF905的工作模式PWR_UPTRX_CETX_EN工作模式0XX掉電和SPI編程10XStandby和SPI編程110ShockBurstRX111ShockBurstTX(1)ShockBurst模式ShockBurstTM收發(fā)模式下,使用片內的先入先出堆棧區(qū),數(shù)據(jù)低速從微控制器送入,但高速發(fā)射,這樣可以盡量節(jié)能,因此,使用低速的微控制器也能得到很高的射頻數(shù)據(jù)發(fā)射速率。與射頻協(xié)議相關的所有高速信號處理都在片內進行,這種做法有三大好處:盡量節(jié)能、低的系統(tǒng)費用(低速微處理器也能進行高速射頻發(fā)送)、數(shù)據(jù)在空停留時間短,抗干擾性高。ShockBurstTM技術同時也減小了整個系統(tǒng)的平均工作電流。在ShockBurstTM收發(fā)模式下,RF905自動處理字頭和CRC校驗碼。在接收數(shù)據(jù)時,自動把字頭和CRC校驗碼移去。在發(fā)送數(shù)據(jù)時,自動加上字頭和CRC校驗碼,當發(fā)送過程完成后,DR引腳通知微處理器數(shù)據(jù)發(fā)送完畢。ShockBurstTX發(fā)送流程典型的RF905發(fā)送流程分以下幾步:當微控制器有數(shù)據(jù)要發(fā)送時,通過SPI界面,按時序把接收機的地址和要發(fā)送的數(shù)據(jù)送傳給RF905,SPI界面的速率在通信協(xié)議和器件配置時確定;微控制器置高TRX_CE和TX_EN,激發(fā)RF905的ShockBurstTM發(fā)送模式;RF905的ShockBurstTM發(fā)送:(1)射頻寄存器自動開啟;(2)數(shù)據(jù)打包(加字頭和CRC校驗碼);(3)發(fā)送數(shù)據(jù)包;(4)當數(shù)據(jù)發(fā)送完成時,數(shù)據(jù)準備好引腳被置高;AUTO_RETRAN被置高,RF905不斷重發(fā),直到TRX_CE被置低;當TRX_CE被置低,RF905發(fā)送過程完成,自動進入空閑模式。注意:ShockBurstTM工作模式保證,一旦發(fā)送數(shù)據(jù)的過程開始,無論TRX_EN和TX_EN引腳是高或低,發(fā)送過程都會被處理完。只有在前一個數(shù)據(jù)包被發(fā)送完畢,RF905才能接受下一個發(fā)送數(shù)據(jù)包。ShockBurstRX接受流程接收流程分以下幾步:當TRX_CE為高、TX_EN為低時,RF905進入ShockBurstTM接收模式;650us后,RF905不斷監(jiān)測,等待接收數(shù)據(jù);當RF905檢測到同一頻段的載波時,載波檢測引腳被置高;當接收到一個相匹配的地址,AM引腳被置高;當一個正確的數(shù)據(jù)包接收完畢,RF905自動移去字頭、地址和CRC校驗位,然后把DR引腳置高;微控制器把TRX_CE置低,RF905進入空閑模式;微控制器通過SPI口,以一定的速率把數(shù)據(jù)移到微控制器內;當所有的數(shù)據(jù)接收完畢,RF905把DR引腳和AM引腳置低;nRF905此時可以進入ShockBurstTM接收模式、ShockBurstTM發(fā)送模式或關機模式。注意:當正在接收一個數(shù)據(jù)包時,TRX_CE或TX_EN引腳的狀態(tài)發(fā)生改變,RF905立即把其工作模式改變,數(shù)據(jù)包則丟失。當微處理器接到AM引腳的信號之后,其就知道RF905正在接收數(shù)據(jù)包,其可以決定是讓RF905繼續(xù)接收該數(shù)據(jù)包還是進入另一個工作模式。(2)節(jié)能模式RF905的節(jié)能模式包括關機模式和節(jié)能模式。在關機模式,RF905的工作電流最小,一般為2.5uA。進入關機模式后,RF905保持配置字中的內容,但不會接收或發(fā)送任何數(shù)據(jù)??臻e模式有利于減小工作電流,其從空閑模式到發(fā)送模式或接收模式的啟動時間也比較短。在空閑模式下,RF905內部的部分晶體振蕩器處于工作狀態(tài)。1.4.4AY-nRF905的配置過程所有配置字都是通過SPI界面送給RF905。SPI界面的工作方式可通過SPI指令進行設置。當RF905處于空閑模式或關機模式時,SPI界面可以保持在工作狀態(tài)。(1)SPI界面寄存器配置SPI界面由狀態(tài)寄存器、射頻配置寄存器、發(fā)送地址寄存器、發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器5個寄存器組成。狀態(tài)寄存器包含數(shù)據(jù)準備好引腳狀態(tài)信息和地址匹配引腳狀態(tài)信息;射頻配置寄存器包含收發(fā)器配置信息,如頻率和輸出功能等;發(fā)送地址寄存器包含接收機的地址和數(shù)據(jù)的字節(jié)數(shù);發(fā)送數(shù)據(jù)寄存器包含待發(fā)送的數(shù)據(jù)包的信息,如字節(jié)數(shù)等;接收數(shù)據(jù)寄存器包含要接收的數(shù)據(jù)的字節(jié)數(shù)等信息。SPI界面由5個內部寄存器組成執(zhí)行寄存器的回讀模式來確認寄存器的內容。其SPI界面和內部結構圖如下圖1-11所示:圖1-11SPI界面和5個內部寄存器①狀態(tài)寄存器Status-Register寄存器包含數(shù)據(jù)就緒DR和地址匹配AM狀態(tài);②RF配置寄存器RF-ConfigurationRegister寄存器包含收發(fā)器的頻率,輸出功率等配置信息;③發(fā)送地址TX-Address寄存器包含目標器件地址,字節(jié)長度由配置寄存器設置;④發(fā)送有效數(shù)據(jù)TX-Payload寄存器包含發(fā)送的有效ShockBurst數(shù)據(jù)包,數(shù)據(jù)字節(jié)長度由配置寄存器設置;⑤接收有效數(shù)據(jù)TX-Payload寄存器包含接收到的有效ShockBurst數(shù)據(jù)包,數(shù)據(jù)字節(jié)長度由配置寄存器設置,在寄存器中的有效數(shù)據(jù)由數(shù)據(jù)準備就緒DR指示;(2)SPI指令設置當CSN為低時,SPI界面開始等待一條指令。任何一條新指令均由CSN的由高到底的轉換開始。用于SPI界面的有用命令見下表:表1-4SPI串行界面占領設置指令名稱指令格式操作W_CONFIG(WC)0000AAAA寫配置寄存器AAAA指出寫操作的開始字節(jié)字節(jié)數(shù)量取決于AAAA指出的開始地址R_CONFIG(RC)0001AAAA讀配置寄存器AAAA指出讀操作的開始字節(jié)字節(jié)數(shù)量取決于AAAA指出的開始地址W_TX_PAYLOAD(WTP)00100000寫TX有效數(shù)據(jù)1-32字節(jié)寫操作全部從字節(jié)0開始R_TX_PAYLOAD(RTP)00100001讀TX有效數(shù)據(jù)1-32字節(jié)讀操作全部從字節(jié)0開始W_TX_ADDRESS(WTA)00100010寫TX地址1-4字節(jié)寫操作全部從字節(jié)0開始R_TX_ADDRESS(RTA)00100011讀TX地址1-4字節(jié)讀操作全部從字節(jié)0開始R_RX_PAYLOAD(RRP)00100100讀RX有效數(shù)據(jù)1-32字節(jié)讀操作全部從字節(jié)0開始CHANNEL_CONFIG(CC)1000pphccccccccc快速設置配置寄存器中CH_NOHFREQ_PLL和PA_PWR的專用命令CH_NO=ccccccccHFREQ_PLL=hPA_PWR=pp2溫濕度采集系統(tǒng)軟件設計2.1DS18B20程序的設計2.1.1DS18B20初始化程序設計主機總線t0時刻發(fā)送一復位脈沖(最短為480us的低電平信號)接著在tl時刻釋放總線并進入接收狀態(tài)DSl8B20在檢測到總線的上升沿之后等待15-60us接著DS18B20在t2時刻發(fā)出存在脈沖(低電平持續(xù)60-240us)。程序:Init_DS18B20(void)//初始化ds1820{DQ=1;//DQ復位DQ=0;//將DQ拉低,發(fā)出復位脈沖(要求480us~960us)Delay(70);//精確延時566usDQ=1;//拉高總線(要求16~60us)Delay(5);//延時46uspresence=DQ;//如果=0則初始化成功=1則初始化失敗Delay(25);DQ=1;return(presence);//返回信號,0=presence,1=nopresence}2.1.2DS18B20讀程序設計主機總線t0時刻從高拉至低電平時總線只須保持低電平15us之后也就是說t2時刻前主機必須完成讀位并在t2后的60us一120us內釋放總線讀位子程序,程序:ReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//給脈沖信號dat>>=1;DQ=1;//給脈沖信號if(DQ)dat|=0x80;delay(4);}return(dat);}2.1.3DS18B20的寫程序設計當主機總線t0時刻從高拉至低電平時就產(chǎn)生寫時間隙從t0時刻開始15us之內應將所需寫的位送到總線DSl8B20在t1為15-60us間對總線采樣若低電平寫入的位是0見若高電平寫入的位是連續(xù)寫2位間的間隙應大于1us。程序:voidwrite(uchardat)//寫一個字節(jié)到DS18B20{inti;charj;bittestb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb)//寫1部分{DS=0;i++;i++;DS=1;i=8;while(i>0) i--;}else{DS=0;//寫0部分i=8;while(i>0)i--;DS=1;i++;i++;}}}nRF905控制程序nRF905寄存器配置程序在前面,已經(jīng)介紹了nRF905的寄存器設置,這里給出程序設置,完成nRF905的寄存器配置。typedefstructRFConfig{ucharn;ucharbuf[10];}RFConfig;codeRFConfigRxTxConf={10,0x4c,0x0c,0x44,0x20,0x20,0xcc,0xcc,0xcc,0xcc,0x58};SPI寫操作代碼SPI寫操作的步驟如下:步驟一:MOSI線準備好需要發(fā)送的數(shù)據(jù)位步驟二:SCK置高,器件讀取MOSI在線的數(shù)據(jù)步驟三:SCK置低,準備發(fā)送數(shù)據(jù)的下一位以上步驟循環(huán)執(zhí)行8次,通過SPI向器件發(fā)送數(shù)據(jù)完成。voidSpiWrite(ucharbyte){uchari;DATA_BUF=byte;//將需要發(fā)送的數(shù)據(jù)寫入緩存for(i=0;i<8;i++)//循環(huán)8次發(fā)送一個字節(jié)的數(shù)據(jù){if(flag)//flag=DATA_BUF^7;MOSI=1;elseMOSI=0;SCK=1;//SCK高電平DATA_BUF=DATA_BUF<<1;//左移一位,為下一位的發(fā)送做準備SCK=0;//SCK低電平}}SPI讀操作代碼SPI讀操作如下:步驟一:MISO線準備好需要發(fā)送的數(shù)據(jù)位步驟二:SCK置高,主機讀取MISO在線的數(shù)據(jù)步驟三:SCK置低,準備接收數(shù)據(jù)的下一位以上步驟循環(huán)執(zhí)行8次,通過SPI從器件上讀數(shù)據(jù)完成。ucharSpiRead(void){uchari;for(i=0;i<8;i++)//循環(huán)8次發(fā)送一個字節(jié)的數(shù)據(jù){DATA_BUF=DATA_BUF<<1;//左移一位,準備接收下一位數(shù)據(jù)SCK=1;//SCK高電平if(MISO)flag1=1;//flag1=DATA_BUF^0;elseflag1=0;SCK=0;//SCK低電平}returnDATA_BUF;//DATA_BUF為接收到的完整數(shù)據(jù)}主機與nRF905通信主機通過SPI界面向nRF905配置寄存器寫入信息,步驟如下:步驟一:CSN置低電平,SPI界面開始等待第一條指令步驟二:調用SpiWrite函數(shù),向器件發(fā)送WC信號,準備寫入配置信息步驟三:反復調用SpiWrite函數(shù),向器件配置寄存器寫入配置信息步驟四:CSN置高電平,結束SPI通訊。nRF905配置完成。voidConfig905(void){uchari;CSN=0;//CSN片選信號,SPI使能SpiWrite(WC);//向905芯片寫配置命令for(i=0;i<RxTxConf.n;i++)//循環(huán)寫入配置信息{SpiWrite(RxTxConf.buf[i]);//RxTxConf保存預先設置好的配置信息}CSN=1;//結束SPI數(shù)據(jù)傳輸}使用nRF905發(fā)送數(shù)據(jù)使用nRF905發(fā)送數(shù)據(jù),首先要將器件設置為發(fā)送模式,方法如下:voidSetTxMode(void){TX_EN=1;TRX_CE=0;Delay(1);//delayformodechange(>=650us)}然后經(jīng)過如下步驟,完成發(fā)送:步驟一:通過SpiWrite函數(shù)發(fā)送WTP命令,準備寫入TX有效數(shù)據(jù)步驟二:循環(huán)調用SpiWrite向TX-Payload寄存器寫入TX有效數(shù)據(jù)(中間夾有CSN電平變化)步驟三:延時步驟四:通過SpiWrite函數(shù)發(fā)送WTA命令,準備寫入TX地址步驟五:循環(huán)調用SpiWrite向TX-Address寄存器寫入TX地址步驟六:TRX_CE=1;開始發(fā)送數(shù)據(jù)voidTxPacket(void){uchari;CSN=0;SpiWrite(WTP);//Writepayloadcommandfor(i=0;i<32;i++)SpiWrite(TxBuf[i]);//寫入32直接發(fā)送數(shù)據(jù)CSN=1;//關閉SPI,保存寫入的數(shù)據(jù)Delay(1);CSN=0;//SPI使能,準備寫入地址信息SpiWrite(WTA);//寫數(shù)據(jù)至地址寄存器for(i=0;i<4;i++)//寫入4字節(jié)地址{SpiWrite(RxTxConf.buf[i+5]);}CSN=1;//關閉SPITRX_CE=1;//進入發(fā)送模式,啟動射頻發(fā)送Delay(1);//進入ShockBurst發(fā)送模式后,芯片保證數(shù)據(jù)發(fā)送完成后返回STANDBY模式TRX_CE=0;}

3調試部分3.1使用CodeWarrior建立工程并進行編譯首先選中TargetSetting,將其中的Post-linker設置為ARMfromELF,使得工程在鏈接后再通過fromELF產(chǎn)生二進制代碼[4]。然后選中ARMLinker,對鏈接器進行設置,如圖3-1和3-2:圖3-1ARMLinker的設置圖3-2ARMLinker的設置因為要用到編譯后生成的二進制文件,所以要對ARMfromELF進行設置,如圖3-3所示:圖3-3ARMfromELF的設置編譯成功后如圖3-4所示:圖3-4編譯后的圖3.2使用超級終端進行測試打開超級終端:開始>>所有程序>>附件>>通訊>>超級終端,對超級終端進行參數(shù)配置:硬件部分是通過COM1進行通信的,所以超級終端連接時使用COM1。圖3-4超級終端的命名圖3-5超級終端的配置圖3-6超級終端的配置超級終端連接正常的界面,如圖3-7所示:圖3-7超級終端的顯示界面然后輸入命令“l(fā)oadb0x0c008000”回車,在菜單中選擇“傳送”—“發(fā)送文件”,通過Kermit協(xié)議下載編譯好的二進制文件。結論本系統(tǒng)主要是研究數(shù)據(jù)的采集和傳輸,該系統(tǒng)以采集溫濕度數(shù)據(jù)為例,強化了單片機,ARM相關知識的應用。本課題中,通過對DS18B20和HS1101以及S3C44B0開發(fā)板的學習,成功的搭建起一個采集溫度濕度,并實現(xiàn)將溫度數(shù)據(jù)無線傳輸?shù)南到y(tǒng)。從前期的硬件設計,到后期的軟件編寫都經(jīng)歷了各種困難,通過對資料的學習,自身的不斷實踐,最終將困難一一化解,使系統(tǒng)成功運行。由于環(huán)境等因素,實驗測量頻率在430M左右,在實驗室里將系統(tǒng)搭建起來運行后,以實驗室室溫作為測量數(shù)據(jù)。成功的完成了數(shù)據(jù)的顯示以及發(fā)送,并且溫度誤差小,圓滿的完成了設計任務。致謝首先要衷心感謝我的指導老師韓潔老師在論文工作中的悉心指導。在論文撰寫期間,老師師從論文的選題、研究方案的指定、論文的寫作等方面給予我極大的支持和鼓勵,并在百忙之中抽出時間來為我審閱文稿,幫助我分析存在的問題,提出了很多具有指導性的建議。韓老師嚴謹、求實、進取、勤奮的工作作風,深遠、敏銳的洞察力使我深受啟迪,是我學習的楷模!同時,我還要感謝在畢業(yè)設計中幫助過我的各位老師,是您們在百忙之中,抽空來幫助我分析論文中存在的問題,保證我論文順利的撰寫,在此衷心的感謝。最后要感謝一直在身邊給予支持和鼓勵的家人朋友,謝謝你們。參考文獻[1]胥靜.嵌入式系統(tǒng)設計與開發(fā)實例詳解[M].北京航空航天大學出版社,2005.[2]S3C44B0XDataSheet.SAMSUNGElectronicsCorp,[3]田澤.嵌入式系統(tǒng)開發(fā)與應用教程.北京:北京航空航天大學出版社,2005.[4]張曉琳.嵌入式系統(tǒng)設計與實踐.北京:北京航天航空大學出版社,2006.[5]StephenPrata.CPrimerPlus(第五版)中文版.北京:人民郵電出版社,2005.[6]王宇行.ARM程序分析與設計.北京:北京航空航天大學出版社,2008.[7]趙星寒,周春來,劉濤.ARM開發(fā)工具ADS原理與應用.北京:北京航空航天大學出版社,2006.[8]黃炎.單片機典型模塊設計實例導航(第二版).北京:人民郵電出版社,2008.[9]樓然苗,李光飛.51系列單片機設計實例.北京:北京航空航天大學出版社,2006.[10]沈蘭蓀.數(shù)據(jù)采集與處理.北京:能源出版社,1987.[11]沙占友.由DS18B20組成的單線數(shù)字溫度計原理與應用.電測與儀表,1999.[12]Titu.s,Jon.DWDMcommunicationsrelyonbasictesttechniques.TestandMeasurementWorld,2000.[13]康華光.電子技術基礎數(shù)字部分(第四版).北京:高等教育出版社,1987.[14]ARMLtd.ARMArchitectureReferenceManual.ARMDDI0100E.,2000.[15]張毓芬.數(shù)據(jù)采集器同計算機的一種接口方法.聲學與電子工程.目錄TOC\o"1-2"\h\z第一章項目基本情況 3一、項目情況說明 3二、可行性研究的依據(jù) 5第二章項目建設的必要性與可行性 8一、項目建設背景 8二、項目建設的必要性 9三、項目建設的可行性 14第三章市場供求分析及預測 17一、項目區(qū)生豬養(yǎng)殖和養(yǎng)殖糞污的利用現(xiàn)狀 17二、禽畜糞污產(chǎn)量、沼氣及沼肥產(chǎn)量調查與分析 18三、項目產(chǎn)品市場前景分析 20第四章項目承擔單位的基本情況 21一、養(yǎng)殖場概況 21二、資產(chǎn)狀況 21三、經(jīng)營狀況 21第五章項目地點選擇分析 23一、選址原則 23二、項目選點 23三、項目區(qū)建設條件 24第六章 工藝技術方案分析 27一、污水處理模式的選擇 27二、處理工藝的選擇 29三、項目工藝流程 31四、主要技術參數(shù) 35五、主要設備選型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論