




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.圖4-1所示。圖2ZigBee協議棧結構圖1.物理層物理層由半雙工的無線收發器及其接口組成,主要作用是激活和關閉射頻收發器;檢測信道的能量;顯示收到數據包的鏈路質量;空閑信道評估;選擇信道頻率;數據的接受和發送。2.媒體訪問控制層媒體訪問控制〔MAC層建立了一條節點和與其相鄰的節點之間可靠的數據傳輸鏈路,共享傳輸媒體,提高通信效率。在協調器的MAC層,可以產生網絡信標,同步網絡信標;支持ZigBee設備的關聯和取消關聯;支持設備加密;在信道訪問方面,采用CSMA/CA信道退避算法,減少了碰撞概率;確保時隙分配〔GTS;支持信標使能和非信標使能兩種數據傳輸模式,為兩個對等的MAC實體提供可靠連接。3.網絡層網絡層負責拓撲結構的建立和維護網絡連接,主要功能包括設備連接和斷開網絡時所采用的機制,以及在幀信息傳輸過程中所采用的安全性機制。此外,還包括設備的路由發現和路由維護和轉交。并且,網絡層完成對一跳<one—hop>鄰居設備的發現和相關結點信息的存儲。一個ZigBee協調器創建一個新網絡,為新加入的設備分配短地址等。并且,網絡層還提供一些必要的函數,確保ZigBee的MAC層正常工作,并且為應用層提供合適的服務接口。網絡層要求能夠很好地完成在IEEE802.15.4標準中MAC子層所定義的功能,同時,又要為應用層提供適當的服務接口。為了與應用層進行更好的通信,網絡層中定義了兩種服務實體來實現必要的功能。這兩個服務實體是數據服務實體<NLDE>和管理服務實體<NLME>。網絡層的NLDE通過數據服務實體服務訪問點<NLDE—SAP>來提供數據傳輸服務,NLME通過管理服務實體服務訪問點<NLME—SAP>來提供管理服務。NLME可以利用NLDE來激活它的管理工作,它還具有對網絡層信息數據庫<NIB>進行維護的功能。在這個圖中直觀地給出了網絡層所提供的實體和服務接口等。NLDE提供的數據服務允許在處于同一應用網絡中的兩個或多個設備之間傳輸應用協議數據單元<APDU>。NLDE提供的服務有:產生網絡協議數據單元<NPDU>和選擇通信路由。選擇通信路由,在通信中,NLDE要發送一個NPDU到一個合適的設備,這個設備可能是通信的終點也可能只是通信鏈路中的一個點。NLME需提供一個管理服務以允許一個應用來與協議棧操作進行交互。NLME需要提供以下服務:①配置一個新的設備<configuringanewdevice>。具有充分配置所需操作棧的能力。配置選項包括:ZigBee協調器的開始操作,加入一個現有的網絡等。4.應用層應用層包括三部分:應用支持子層〔APS、ZigBee設備對象〔ZDO和應用框架〔AF。應用支持子層的任務是提取網絡層的信息并將信息發送到運行在節點上的不同應用端點。應用支持子層維護了一個綁定表,可以定義、增加或移除組信息;完成64位長地址〔IEEE地址與16位短地址〔網絡地址一對一映射;實現傳輸數據的分割與重組;應用支持子層連接網絡層和應用層,是它們之間的接口。這個接口由兩個服務實體提供:APS數據實體〔APSDE和APS管理實體〔APSME。APS數據實體為網絡中的節點提供數據傳輸服務,它會拆分和重組大于最大荷載量的數據包。APS管理實體提供安全服務,節點綁定,建立和移除組地址,負責64位IEEE地址與16位網絡地址的地址映射[4]。ZigBee設備對象負責設備的所有管理工作,包括設定該設備在網絡中的角色〔協調器、路由器或終端設備,發現網絡中的設備,確定這些設備能提供的功能,發起或響應綁定請求,完成設備之間建立安全的關聯等。用戶在開發ZigBee產品時,需要在ZigBee協議棧的AF上附加應用端點,調用ZDO功能以發現網絡上的其他設備和服務,管理綁定、安全和其他網絡設置。ZDO是一個特殊的應用對象,它駐留在每一個ZigBee節點上,其端點編號固定為0。AF應用框架是應用層與APS層的接口。它負責發送和接收數據,并為接收到的數據尋找相應的目的端點。CC2530串口通信原理UART接口可以使用2線或者含有引腳RXD、TXD、可選RTS和CTS的4線。UART操作由USART控制和狀態寄存器UxCSR以及UART控制寄存器UxUCR來控制。這里的x是USART的編號,其數值為0或者1。當UxCSR.MODE設置為1時,就選擇了UART模式。當USART收/發數據緩沖器、寄存器UxBUF寫入數據時,該字節發送到輸出引腳TXDx。UxBUF寄存器是雙緩沖的。當字節傳輸開始時,UxCSR.ACTIVE位變為高電平,而當字節傳送結束時為低。當傳送結束時,UxCSR.TX_BYTE位設置為1.當USART收/發數據緩沖寄存器就緒,準備接收新的發送數據時,就產生了一個中斷請求。該中斷在傳送開始之后立刻發生,因此,當字節正在發送時,新的字節能夠裝入數據緩沖器。當1寫入UxCSR.RE位時,在UART上數據接收就開始了。然后UART會在輸入引腳TXDx中尋找有效起始位,并且設置UxCSR.ACTIVE位為1.當檢測出有效起始位時,收到的字節就傳入到接收寄存器,UxCSR.RX_BYTE位設置為1.該操作完成時,產生接收中斷。同時UxCSR.ACTIVE變為低電平。通過寄存器UxBUF提供到的數據字節。當UxBUF讀出時,UxCSR.RX_BYTE位由硬件清0。二系統分析該系統通過具有IIC總線接口的單片全校準字式新型相對溫濕度傳感器SHT10實現對溫濕度的采集,將信號送至ZigBee技術,從節點采集溫濕度數據每隔一定的時間輪流向主節點發送,主節點收到數據之后通過串口將各節點的溫濕度數據傳給智能主板。2.1程序流程圖開始開始系統時鐘初始化讀取溫濕度數據顯示溫濕度數據LCD初始化圖3軟件流程圖2.2具體步驟1、給智能主板供電〔USB外接電源或2節干電池。2、將一個無線節點模塊插入到帶LCD的智能主板的相應位置。3、將溫濕度及光電傳感器模塊插入到智能主板的傳感及控制擴展口位置。4、將CC2530仿真器的一端通過USB線〔A型轉B型連接到PC機,另一端通過10Pin下載線連接到智能主板的CC2530JTAG口〔J203。5、將智能主板上電源開關撥至開位置。按下仿真器上的按鈕,仿真器上的指示燈為綠色時,表示連接成功。6、使用IAR7.51打開"…\OURS_CC2530LIB\lib10<HumiTempLight>\IAR_files"下的HumiTempLight.eww文件,下載運行程序。7、觀察LCD上溫度、濕度和光照強度的變化。8、用一個物體擋住光照傳感器的光線,觀察LCD上光照強度數據的變化。9、向溫濕度傳感器吹一口氣體,觀察LCD上溫濕度數據的變化。三詳細設計3.1總體結構構成溫濕度采集模塊主要有無線模塊和數據采集模塊,由數據采集模塊完成溫濕度的采集。溫濕度及光照傳感器采集數據,并把采集的數據通過串口發送到CORTEXA8DB開發板上。在CORTEXA8DB開發板上通過軟件將采集到的光、濕度、溫度值通過曲線描述出來。無線傳感模塊無線傳感器網絡在設計目標方面與傳統的無線網絡有所區別,前者是以數據為中心的,后者以傳輸數據為目的。在無線傳感器網絡中,因為節點通常運行在人無法接近的惡劣甚至危險的遠程環境中,所以除了少數節點需要移動以外,大部分節點都是靜止不動的。在被監測區域,節點任意散落,節點除了需要完成感測特定的對象以外,還需要進行簡單的計算,維持互相之間的網絡連接等功能。并且由于能源的無法替代以及低功耗的多跳通信模式節,設計無線傳感節點時,有效的延長網絡的生命周期以及節點的低功耗成為無線傳感器網絡研究的核心問題。在節省功耗的同時增加通信的隱蔽性,避免長距離的無線通信易受外界噪聲干擾的影響,也都是在設計傳感器網絡時需要攻克的新難題。圖4無線傳感器節點模型無線傳感網絡的建立是基于傳感器加無線傳輸模塊的,傳感器采集的數據,簡單處理后經過無線傳輸模塊傳到服務器或應用終端。目標、觀測節點傳感節點和感知視場是無線傳感器網絡所包括的4個基本實體對象。另外,要完成對整個系統的應用刻畫,還需要對遠程任務管理單元、外部網絡和用戶進行定義。大量傳感節點隨機部署,單個節點經過初始的通信和協商,通過自組織方式自行配置,形成一個傳輸信息的單跳或一系列的無線網絡節點組成的網絡,協同形成對目標的感知視場。傳感節點檢測的目標信號經過傳感器本地簡單處理后通過單播或廣播以多跳的方式通過鄰近傳感節點傳輸到觀測節點。用戶和遠程任務管理單元則能夠通過衛星通信網絡或Internet等外部網絡,與觀測節點進行數據信息的交互。觀測節點向網絡發布查詢請求和控制指令,接收傳感節點返回的目標信息。圖5無線傳感器網絡通信體系結構無線傳輸模塊可以實現短距離〔小于300米的信號傳輸。在實際應用中,需要根據不同需求選擇傳感器,如電壓電流、功耗、溫濕度、液面、震動、壓力等等。3.1.2溫濕度探頭直接使用IIC接口進行控制。其電路原理圖如下所示:圖6數據采集模塊電路圖本實驗將使用CC2530讀取溫濕度傳感器SHT10的溫度和濕度數據,并將采樣到的數據轉換然后再LCD顯示。其中對溫濕度的讀取是利用CC2530的I/O〔P1.0和P1.1模擬一個類IIC得過程。3.2硬件模塊設計傳感器節點由數據處理發送模塊,溫度傳感器,濕度傳感器和供電般構成。數據處理模塊是由CC2530構成,溫濕度采集采用溫濕度傳感器SHT10。其結構圖如溫度采溫度采集模塊濕度采集模塊數據處理模塊電源模塊電源模塊圖7硬件結構圖3.3總體結構軟件設計3.3.1程序流程圖及核心代碼:*函數名稱:initUART*功能描述:CC2530串口初始化**************************************************************************************************/voidinitUART<void>{PERCFG=0x00;//位置1P0口P0SEL=0x3c;//P0用作串口U0CSR|=0x80;//UART方式U0GCR|=11;//baud_e=11;U0BAUD|=216;//波特率設為115200UTX0IF=1;U0CSR|=0X40;//允許接收IEN0|=0x84;//uart0接收中斷}/***************************************************************************************************函數名稱:UartTX_Send_String**功能描述:串口發送數據函數**參數:*Data發送數據指針*len發送的數據長度**返回值:無**************************************************************************************************/voidUartTX_Send_String<UINT8*Data,intlen>{intj;for<j=0;j<len;j++>{U0DBUF=*Data++;while<UTX0IF==0>;UTX0IF=0;}}/***************************************************************************************************函數名稱:HAL_ISR_FUNCTION**功能描述:串口接收數據中斷函數**參數:halUart0RxIsr中斷名稱*URX0_VECTOR中斷向量**返回值:無**************************************************************************************************/HAL_ISR_FUNCTION<halUart0RxIsr,URX0_VECTOR>{UINT8temp;URX0IF=0;temp=U0DBUF;*<str+count>=temp;count++;}/***************************************************************************************************函數名稱:main*功能描述:串口間歇發送.ourselec.字符串,當串口接收到數據后,再通過串口*回發出去。**************************************************************************************************/voidmain<>{UINT8*uartch=".ourselec.";UINT8temp=0;SET_MAIN_CLOCK_SOURCE<CRYSTAL>;//設置主時鐘為32M晶振initUART<>;//初始化串口while<1>{UartTX_Send_String<uartch,17>;//發送.ourselec.halWait<200>;halWait<200>;if<count>//判斷串口是否接收到數據{temp=count;//保存接收的數據長度halWait<50>;//等待數據接收完成if<temp==count>//判斷數據是否接收完成{UartTX_Send_String<str,count>;//回發接收到的數據str=0;count=0;}}}}3.3.2開始開始系統時鐘初始化讀取溫濕度數據顯示溫濕度數據LCD初始化程序流程圖及核心代碼:voidmain<>{intwendu;intshidu;chars[16];UINT8adc0_value[2];floatshuzi=0;SET_MAIN_CLOCK_SOURCE<CRYSTAL>;//設置系統時鐘源為32MHz晶體振蕩器GUI_Init<>;//GUI初始化GUI_SetColor<1,0>;//顯示色為亮點,背景色為暗點GUI_PutString5_7<25,6,"OURS-CC2530">;//顯示OURS-CC2530GUI_PutString5_7<10,22,"Temp:">;GUI_PutString5_7<10,35,"Humi:">;GUI_PutString5_7<10,48,"Light:">;LCM_Refresh<>;while<1>{th_read<&tem,&hum>;//從采集模塊讀取溫度和濕度的數據sprintf<s,<char*>"%d%dC",<<INT16><<int>tempera/10>>,<<INT16><<int>tempera%10>>>;//將采集的溫度結果轉換為字符串格式GUI_PutString5_7<48,22,<char*>s>;//顯示采集的溫濕度的結果LCM_Refresh<>;sprintf<s,<char*>"%d%d%%",<<INT16><<int>humidity/10>>,<<INT16><<int>humidity%10>>>;//將采集的濕度結果轉換為字符串的格式GUI_PutString5_7<48,35,<char*>s>;//顯示采集結果LCM_Refresh<>四總結本次為期兩周的課程設計中,主要目的是設計一個基于CC2530的智能倉儲管理系統。該系統是一個采用CC2530無線單片機進行溫濕度的數據采集,并且結合Zigbee協議架構進行編程的設計,主要是基于CC2530的溫濕度數據采集系統模塊的設計,并在IAR集成環境開發環境中進行基于Zigbee架構的編程,節點模塊的調試,最后,實現無線傳感網絡的構建。在基于Zigbee無線傳感器節點模塊上,可以實現數據的實時采集,處理以及傳輸等功能。本次課程設計的完成,讓我結道,在以后的工作中,還可以繼續從以下幾個方面著手,進行研究和改進:1、減少節點的能量消耗。在無線傳感網絡中某個節點失效,不會導致整個網絡癱瘓,減少節點的能量消耗是不可避免要面對的問題之一。2、減少路由發現過程中的開銷。這其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚協議補充條款法律咨詢合同
- 商業綜合體車位使用權轉讓與商業運營協議
- 拆遷安置補償與社區安全合同模板
- 生態草場承包租賃管理合同范本
- 車輛保險理賠與購銷合作合同范本
- 綜合性離婚財產分配及子女撫養協議標準范本
- 水產養殖魚塘承包合同范本
- 高級采購談判技巧與合同簽訂培訓協議
- 高端餐廳廚師聘用與廚藝競賽合作協議
- 能源采購與法務碳排放管理合同
- 2025年中考物理終極押題猜想(新疆卷)(考試版A4)
- 護理文化建設與人文護理
- 《植物生理學》章節復習提綱(大學期末復習資料)
- 醫療集團醫保統一管理制度
- 《招投標培訓》課件
- 精裝修施工的監理細則
- 醫療質量和醫療安全培訓
- 口腔解剖生理學-第八章(動脈)
- 裝修施工項目投標書模板
- 人體發育學練習題(選擇題)
- DB11-T 1446-2017 回彈法、超聲回彈綜合法檢測泵送混凝土抗壓強度技術規程
評論
0/150
提交評論