資源描述:
《基于fpga的遠(yuǎn)程溫度檢測(cè)系統(tǒng)說(shuō)明書(shū)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、評(píng)閱老師分?jǐn)?shù)數(shù)字系統(tǒng)課程設(shè)計(jì)班級(jí)13級(jí)信息過(guò)程1班組長(zhǎng)麥銳杰組員劉清斌、方加鵬44一、題目要求基于FPGA和ZigBee的遠(yuǎn)程溫度檢測(cè)系統(tǒng):終端進(jìn)行環(huán)境溫度的檢測(cè),數(shù)據(jù)返回至控制端,實(shí)時(shí)顯示檢測(cè)到的溫度。若溫度超過(guò)閥值,LED燈閃爍報(bào)警。二、設(shè)計(jì)方案系統(tǒng)整體思路:溫度傳感器檢測(cè)獲取溫度信息,通過(guò)ZigBee協(xié)議與FPGA控制板進(jìn)行數(shù)據(jù)傳輸。ZigBee模塊1+溫度傳感器ZigBee模塊2串行接口FPGA圖1系統(tǒng)整體框圖三、模塊實(shí)現(xiàn)(一)ZigBee模塊實(shí)現(xiàn)1.zigbee介紹:Zigbee是基于IEEE802.15.4標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議,又稱(chēng)為紫蜂協(xié)議,其特點(diǎn)是近
2、距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率。Zigbee協(xié)議從下到上分別分為物理層PHY、媒體訪問(wèn)控制層MAC、傳輸層TL、網(wǎng)絡(luò)層NWK與應(yīng)用層APL。本課程設(shè)計(jì)中zigbee模塊采用的是TI公司生產(chǎn)的CC2530F256芯片,符合2.4G_Hz44IEEE802.15.4應(yīng)用。協(xié)議棧使用的是TI公司搭建的Zstack,這是當(dāng)前業(yè)界領(lǐng)先、應(yīng)用面很廣的協(xié)議棧,結(jié)合OSAL操作系統(tǒng),使得用戶(hù)在搭建系統(tǒng)、進(jìn)行多任務(wù)分配方面有很大的便利性。其他協(xié)議棧還有freakz、msstatePan等。1.DS18B20溫度傳感器:DS18B20是當(dāng)前市場(chǎng)主要的溫度傳感器之一,主要特性有
3、以下幾點(diǎn):1)適應(yīng)電壓范圍廣,電壓范圍在3.0V~5.5V,是多數(shù)單片機(jī)的供電電壓,因此大多數(shù)在單片機(jī)上使用。2)它具有一線總線的特點(diǎn),在于微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20之間的雙向通訊。3)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路類(lèi)。4)溫度測(cè)量范圍在-55℃~125℃,精度約為±0.5℃。DS18B20溫度采集部分:定義DS18B20在CC2530上的輸入腳為P0.7:P0DIR&=0x7f;溫度讀取主函數(shù)如下:unsignedcharReadDs18B20(void){unsign
4、edcharV1,V2;//定義高低8位緩沖unsignedchartemp;//定義溫度緩沖寄存器Ds18b20Initial();Ds18b20Write(0xcc);//跳過(guò)讀序號(hào)列號(hào)的操作Ds18b20Write(0x44);//啟動(dòng)溫度轉(zhuǎn)換Ds18b20Initial();Ds18b20Write(0xcc);//跳過(guò)讀序號(hào)列號(hào)的操作Ds18b20Write(0xbe);//讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度V1=Ds18b20Read();//低位V2=Ds18b20Read();//高位temp=((V1>>4)+((V2&0x07)*1
5、6));//轉(zhuǎn)換數(shù)據(jù)returntemp;44}我們從DS1B20讀取到用字符串表示的溫度值temp,將其送入cc2530模塊準(zhǔn)備進(jìn)行發(fā)送。1.Zigbee發(fā)送部分:1)Zigbee工作模式選?。翰捎命c(diǎn)播方式,給zigbee協(xié)調(diào)器定義短地址為0x0000:SampleApp_P2P_DstAddr.addr.shortAddr=0x0000;//協(xié)調(diào)器短地址給zigbee終端定義短地址為0xFFFF:SampleApp_Periodic_DstAddr.addr.shortAddr=0xFFFF;//終端短地址2)串口模式修改:我們?cè)贔PGA開(kāi)發(fā)板設(shè)計(jì)的串口規(guī)格是:9
6、600波特率、8位數(shù)據(jù)位、1位停止位、無(wú)奇偶校驗(yàn)位。因此zigbee的串口規(guī)格應(yīng)該也改為與其相同,因此在stack的串口定義函數(shù)MT_UART.c進(jìn)行相應(yīng)的修改:#defineMT_UART_DEFAULT_BAUDRATEHAL_UART_BR_9600//波特率定為9600.uartConfig.callBackFunc=NULL;//關(guān)閉zigbee串口的回調(diào)。3)zigbee終端與協(xié)調(diào)器網(wǎng)絡(luò)搭建過(guò)程:圖2ZigBee終端與協(xié)調(diào)器網(wǎng)絡(luò)搭建過(guò)程4)終端數(shù)據(jù)發(fā)送過(guò)程:當(dāng)zigbee終端模塊從DS18B20接收到數(shù)據(jù)時(shí),便開(kāi)始發(fā)送模塊,觸發(fā)數(shù)據(jù)發(fā)送任務(wù)。點(diǎn)對(duì)點(diǎn)發(fā)送函數(shù)
7、:VoidSampleApp_Send_P2P_Message(void){``````````44if(AF_DataRequest(&SampleApp_P2P_DstAddr,&SampleApp_epDesc,SAMPLEAPP_P2P_CLUSTERID,1,str,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}AF_DataRequest中DstAddr、epDes