【《某煤粉濃度檢測系統(tǒng)的軟件設計案例》4600字】_第1頁
【《某煤粉濃度檢測系統(tǒng)的軟件設計案例》4600字】_第2頁
【《某煤粉濃度檢測系統(tǒng)的軟件設計案例》4600字】_第3頁
【《某煤粉濃度檢測系統(tǒng)的軟件設計案例》4600字】_第4頁
【《某煤粉濃度檢測系統(tǒng)的軟件設計案例》4600字】_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

-PAGE1-某煤粉濃度檢測系統(tǒng)的軟件設計案例目錄TOC\o"1-3"\h\u23639某煤粉濃度檢測系統(tǒng)的軟件設計案例 1244891開發(fā)環(huán)境與協(xié)議棧 18962系統(tǒng)軟件總體設計 4293853協(xié)調器軟件 5102264路由節(jié)點軟件 713045終端傳感器節(jié)點軟件 899126網(wǎng)絡測試 91開發(fā)環(huán)境與協(xié)議棧目前,開發(fā)EW嵌入式系統(tǒng)最完整的工具是C/C++交叉編譯器和調試器[42],它還包括編譯、編輯和項目管理程序等等。為了便于用戶使用,EW可以為不同的MCU提供相同的接口,EW集成編譯器與C語言完全兼容,能夠進行浮點計算,代碼效果很好,而且很容易中斷處理等。此外,產生的程式碼遠比其他開發(fā)工具更有效率,并使用適合不同晶片的最佳化技術。總之,考慮到EW開發(fā)環(huán)境的優(yōu)勢,本文采用EW開發(fā)環(huán)境。協(xié)議棧是通訊兩邊實現(xiàn)詳細通訊尺度的一種狀態(tài)[43],換一種說法,也就是用一套代碼實現(xiàn)一系列具有必然通訊功用的通訊。Zigbee和協(xié)議棧是一組基于OSI模子條理布局設想的Zigbee和談函數(shù)實現(xiàn)的函數(shù)庫。Zigbee和協(xié)議棧與其他無線通訊尺度比較,具有分層簡樸、利用利便的特性,其分層布局如圖1.16所示。圖1.16Zigbee協(xié)議棧的構成Fig.1.161CompositionofZigbeestack本文中Z-Stack-1.4.0-1.4.0的協(xié)議棧[44]符合最新TI標準Zigbee2007,與CC2530芯片上的處理方案兼容,從而既便利了節(jié)點的軟件設想和實現(xiàn),又有必然的通用性和開辟性。這個協(xié)議棧是以函數(shù)庫的情勢分層封裝的,具有很好的條理性。具體的層次性結構見表1.7。Zigbee協(xié)議棧[45]能很好地體現(xiàn)Zigbee的功能,并根據(jù)自身需求,在應用層編寫相應的函數(shù)和任務,從而實現(xiàn)新的項目。Z-stack是Zigbee協(xié)議的一個具體實現(xiàn),它能夠利便地辦理Zigbee和協(xié)議棧,并在基于和協(xié)議棧的開辟利用中引入利用框架。若是把特定的利用程序工具作為一個目標來處置,那么所需求實現(xiàn)的利用程序框架包括了撐持多使命的目標分派機制,以是Zigbee和協(xié)議棧必要OSAL來履行多使命。表1.7Zigbee協(xié)議內容及功能Table1.7ThecontentandfunctionofZigbeeprotocolZigbee協(xié)議棧引入了操作系統(tǒng)的概念,并在協(xié)議棧的OSAL層進行了實現(xiàn)。OSAL就像圖1.17中顯示的那樣,它只需要完成從事件到任務的調度,然后根據(jù)特定的事件由相應的事件處理器來解決。圖1.17OSAL的任務調度機制Fig.1.17ThetaskschedulingmechanisminOSAL雖然OSAL層根據(jù)操作環(huán)境封裝了協(xié)議規(guī)范和一些軟件,但實際上,只要調用OASL提供的接口(ApplicationProgrammingInterface,API),OSAL層各個API函數(shù)就可以實現(xiàn)特定的功能,如表1.8所示。表1.8OSAL層API函數(shù)比較Table1.8ComparisonoftheAPIfunction函數(shù)描述信息管理API提供一種管理機制,用于外部級別的事件或任務之間交換信息任務同步API可以為任務指定一個事件,在安裝其中一個事件后進行編輯時間管理API允許計時器用于內部任務和外部任務。該系統(tǒng)實現(xiàn)了計時器的啟動和停止功能,計時器可以通過ms進行設置中斷管理API在界面之外,可允許和禁止的操作斷任務管理API管理和添加OSAL中的任何角色內存管理API描述了大量淺存儲分配系統(tǒng)電源管理APIOSAL電力處理系統(tǒng)簡介Zigbee和協(xié)議棧在事務輪回處置機制的根本上撐持OSAL層操縱體系。它的主函數(shù)存在于ZMain表中,整體來講,主函數(shù)首要完成了硬件的系統(tǒng)上電操作,同時也完成了軟件架構各個模塊的初始化和OSAL層的主輪回程序[45]。就像圖1.18所示,ZigBee和協(xié)議棧的事情流程由兩個初始化部門和OSAL操縱體系部門組成,初始化部門最重要的是初始化時鐘,還有就是檢測芯片電壓,每個定時器的初始化等,這部分也用于制備系統(tǒng);進入操作系統(tǒng)后,確定任務的優(yōu)先級,并調用任務事件處理程序,完成相應目的的目的。圖1.18Z-Stack系統(tǒng)運行流程圖Fig.1.18FlowchartofZ-Stacksystemoperation2系統(tǒng)軟件總體設計系統(tǒng)的軟件設計包括三個主要部分:傳感器終端節(jié)點編程、路由節(jié)點編程和協(xié)調器節(jié)點,如圖1.19所示,組成Zigbee傳感器網(wǎng)絡。圖1.19系統(tǒng)軟件總體結構Fig.1.19SoftwarearchitectureofZigbeenetwork在功用上,從圖1.19中能夠看出,體系軟件分為三個方面:協(xié)調器節(jié)點、路由節(jié)點和傳感器節(jié)點,并將其分別為收集辦理和數(shù)據(jù)收集傳輸。此中,網(wǎng)管部門首要完成調和組網(wǎng),互聯(lián)網(wǎng)的搭建、結點的進來、結點上的結點綁定、各結點之間的數(shù)據(jù)傳輸調和等。在煤粉濃度信息收集過程中,以數(shù)據(jù)傳輸為焦點,同時停止收集辦理,保管了數(shù)據(jù)的不變、靠得住傳輸。在數(shù)據(jù)收集傳輸部門,對應著三個硬件節(jié)點的功用。終究的傳感器節(jié)點判定收到的指令是不是為收集信息,若是獲得煤粉濃度信息,則終端傳感器節(jié)點挪用數(shù)據(jù)收集功用收羅濃度信息,挪用數(shù)據(jù)發(fā)送程序發(fā)送封裝數(shù)據(jù)包,若終端節(jié)點與調和器節(jié)點通訊距離充足遠,還需求轉發(fā)路由節(jié)點,不然將由調和器節(jié)點作為匯聚節(jié)點,同一領受各終端節(jié)點、路由節(jié)點發(fā)送的煤粉濃度信息,然后統(tǒng)一上傳上位機中的處置。3協(xié)調器軟件無線傳感器網(wǎng)絡的核心是協(xié)調器節(jié)點。其功能分為兩個主要方面:第一,整個網(wǎng)絡的初始裝配和對其他節(jié)點的訪問;第二代是作為聚合節(jié)點作為聚合節(jié)點收集路由節(jié)點和終端傳感器。節(jié)點發(fā)送的數(shù)據(jù)將上載到主計算機。當然,如果有多個終端節(jié)點同時,請求網(wǎng)絡,坐標未來得及處理節(jié)點就可能會放棄部分處理,此時,終端節(jié)點就會不斷發(fā)送請求,直至處理完畢。這一節(jié)還將從兩方面介紹協(xié)調節(jié)點的軟件設計,如圖1.20所示,它協(xié)調了節(jié)點的工作流程。1.協(xié)調器節(jié)點組網(wǎng)在系統(tǒng)通電后,協(xié)調器開始工作,起初,對軟硬件架構進行初始化,配置傳感器網(wǎng)絡。普遍景況下,協(xié)調器用電后,最先要進行能量掃描,判斷附近沒有網(wǎng)絡,假設附近已經(jīng)有網(wǎng)絡,只需選擇父節(jié)點添加網(wǎng)絡就可以了;倘若在功耗測試中沒有出現(xiàn)其他網(wǎng)絡,請樹立一個網(wǎng)絡作為協(xié)調節(jié)點。協(xié)調程序結束自己的初始化任務后,將處于掛機狀態(tài),當收到另一個節(jié)點的請求時,將允許該節(jié)點加入網(wǎng),并將網(wǎng)絡地址分配給該節(jié)點,如圖1.21所示。一般而言,協(xié)調程序的初始化工作包括硬件的初始化、界面的初始化和軟件架構的初始化。同時,協(xié)調器還需要完成自己配置的初始化,比如信道編號、PANID設置等。如表1.9所示。表1.9協(xié)調器初始化參數(shù)配置Table1.9Coordinatorparameterconfiguration參數(shù)默認值備注網(wǎng)絡信道號2011-26任意值PANID0x1230x0000-0x3FFF接收緩沖區(qū)大小1024BYTE1.協(xié)調器節(jié)點接收數(shù)據(jù)從終端傳感器節(jié)點和路由節(jié)點接收數(shù)據(jù)信息后,協(xié)調器節(jié)點將確定有效的數(shù)據(jù)信息,并通過串行端口將其上載到上層計算機,如圖1.22所示。從協(xié)議堆棧的最低MAC層到最高APP層[46],每個層都使用解析函數(shù)以特定幀格式解析包。圖1.20協(xié)調器工作流程圖Fig.1.20Flowchartofcoordinatorwork圖1.21協(xié)調器組網(wǎng)流程圖Fig.1.21Flowchartofrealizingnetworkcoordinator圖1.22協(xié)調器接收數(shù)據(jù)流程Fig.1.22Flowchartofreceivingdatainacoordinator4路由節(jié)點軟件在網(wǎng)絡中,除了數(shù)據(jù)傳輸路徑,轉發(fā)分組之外的路由節(jié)點擴展了通信距離,并且具有網(wǎng)絡管理的功能并保持無線傳感網(wǎng)絡的正常操作。其程序配置和協(xié)調節(jié)點有些不一致,本文中使用的基礎知識只是下載程序的不一致。在路由節(jié)點的電流作用下,發(fā)現(xiàn)該網(wǎng)絡要求進入該網(wǎng)絡并與第一個響應該網(wǎng)絡的協(xié)調者或路由節(jié)點結合,然后將該路由節(jié)點作為路由節(jié)點等待其他節(jié)點加入,如圖1.23所示。圖1.23路由節(jié)點的工作流程圖Fig.1.23Flowchartoftheroutingnodes5終端傳感器節(jié)點軟件最首要的功用就是終端傳感器節(jié)點能夠搜集現(xiàn)場情況數(shù)據(jù)并發(fā)送到路由器或調和器,同時還能夠領受和諧器或路由器的節(jié)制號令。軟件設想中可按照終端傳感器節(jié)點的功用分為:體系初始化、數(shù)據(jù)收集傳輸、休眠。圖1.24顯示了終端傳感器節(jié)點的工作流程。圖1.24傳感器節(jié)點工作流程圖Fig.1.24Flowchartofsensornode1.終端傳感器節(jié)點入網(wǎng)實際上,對終端傳感器節(jié)點進行電氣初始化之后,請求接入網(wǎng)絡的節(jié)點或路由節(jié)點被綁定到響應它們的第一聯(lián)系人,并且僅在綁定之后才彼此通信。一般來說,終端傳感器節(jié)點的登錄過程是,終端節(jié)點首先在整個網(wǎng)絡上發(fā)送登錄請求,等待接收協(xié)調器或路由器的響應,接收到響應后再發(fā)送連接請求,然后改請求等到有效響應,這樣的節(jié)點就成功入網(wǎng),具體流程見圖1.25。1.終端傳感器節(jié)點發(fā)送數(shù)據(jù)這一節(jié)以終端傳感器節(jié)點和協(xié)調人節(jié)點之間的通信為例,介紹了一種終端傳感器節(jié)點數(shù)據(jù)發(fā)送程序。實際上,聯(lián)想到無線傳感器開發(fā)的低功耗情況下,當傳感器節(jié)點沒有發(fā)送請求或不需求發(fā)送數(shù)據(jù)時,傳感器節(jié)點就會進入休眠狀況,從而導致系統(tǒng)功耗增加。在休眠期,當節(jié)點受到干擾時,該節(jié)點就會恢復到工作狀態(tài)。Terminal[47]傳感器節(jié)點發(fā)送數(shù)據(jù)流程圖見圖1.26。圖1.25終端節(jié)點入網(wǎng)流程Fig.1.25FlowchartofEnd-pointjoining圖1.26終端節(jié)點數(shù)據(jù)發(fā)送流程Fig.1.26Flowchartofdatasendinginaterminalnode6網(wǎng)絡測試根據(jù)傳感器網(wǎng)絡的硬件平臺,分別對協(xié)調程序、路由節(jié)點程序和終端傳感器節(jié)點程序進行了下載量測試,并對整個無線傳感器網(wǎng)絡系統(tǒng)進行了通信拓撲分析和網(wǎng)絡結構分析。該方式起始對節(jié)點范例通過預定義,然后由終端傳感器節(jié)點主動拔取路由節(jié)點,自構造網(wǎng)絡,最初經(jīng)由過程串口調試助手對網(wǎng)絡進行驗證,并按照每個節(jié)點的父節(jié)點繪制分歧環(huán)境的網(wǎng)絡拓撲圖。協(xié)調器節(jié)點作為會聚節(jié)點向上位機發(fā)送附加的終端傳感器節(jié)點和路由節(jié)點的數(shù)據(jù),后者經(jīng)過進程MT(MonitorandTest)協(xié)議進行處理,數(shù)據(jù)包按其幀格式分為以下幾種:SOF(StartofFrame)、可變長度數(shù)據(jù)包以及FCS(FrameCheckSequence)如表1.10所示。表1.10幀的格式Table1.10FrameformatSOFMT數(shù)據(jù)包FCS1字節(jié)3-256字節(jié)1字節(jié)在這些方式中,字節(jié)的SOF模塊代表了幀的開端,但凡0xFE;字節(jié)FCS作為幀的校驗序列用于檢查數(shù)據(jù)包的完整性,而可變長度數(shù)據(jù)包則是3~256字節(jié),MT和和協(xié)議數(shù)據(jù)包的款式見表1.11。表1.11MT數(shù)據(jù)包的格式Table1.11FormatofMTpacketLENCMDDATA1字節(jié)2字節(jié)0-250字節(jié)LEN是數(shù)據(jù)的數(shù)據(jù)長度,如果沒有通過數(shù)據(jù)傳輸數(shù)據(jù),則LEN為0。CMD(命令)是該消息的命令ID(標識符),而DATA是不同的命令ID,可以執(zhí)行不同的操作;DATA是指實際傳輸?shù)臄?shù)據(jù)。本論文采用一種包含頭部、尾部和尾部的結構體來實現(xiàn)每一節(jié)點傳輸?shù)貓笪模€包括該節(jié)點設備類型、節(jié)點網(wǎng)絡地址、父節(jié)點網(wǎng)絡地址和采集的粉塵數(shù)據(jù),第一數(shù)據(jù)用兩&個字符表示,后面使用一個&表示,如表1.12所示。表1.12節(jié)點數(shù)據(jù)包DATA的結構Table1.12StructureofnodeDATApacket頭設備類型節(jié)點網(wǎng)絡地址父節(jié)點網(wǎng)絡地址傳感器數(shù)據(jù)尾&&ROU/ENDXXXXXXXXXXXX&當終端傳感器節(jié)點毗連到收集時,調和器會為終端傳感器節(jié)點分派16位邏輯地點。使其辨認收集中的分歧設備,并在數(shù)據(jù)傳輸中指定源地點和方針地點。本論文采用一臺協(xié)調器、兩臺路由器、三臺終端節(jié)點進行組網(wǎng)驗證。將收集分為自組網(wǎng)和組網(wǎng),按照現(xiàn)實環(huán)境,采取分歧的拓撲布局,改動節(jié)點的擺設位置,從而改動收集布局。該調和程序作為匯聚節(jié)點向上位機發(fā)送終端傳感器節(jié)點和路由節(jié)點的傳感器數(shù)據(jù),經(jīng)由過程上位機串口調試助手對質組網(wǎng)停止準確性考證。1.終端節(jié)點直接與協(xié)調器通信在與PC機串口調試助手顯示如圖1.28所示的當協(xié)調器安排網(wǎng)絡端點和端點之間的直接通信時,網(wǎng)絡拓撲如下圖1.27所示,協(xié)調器結點接收終端節(jié)點的數(shù)據(jù)。圖1.27協(xié)調器與終端直接通信拓撲結構Fig.1.27Topologyofcoordinatorandterminaldirectcommunication圖1.28組網(wǎng)測試結果Fig.1.28ResultofNetwork上面的方框圖標的邏輯地址是143E路由節(jié)點,這在圖表中是指具體的數(shù)據(jù)串。正面如上一節(jié)中所示,具體見表1.13。表1.13節(jié)點數(shù)據(jù)包DATA的結構Table1.13StructureofnodeDATApacket頭設備類型節(jié)點網(wǎng)絡地址父節(jié)點網(wǎng)絡地址傳感器數(shù)據(jù)尾&&ROU143E0000G0471*0583*0528*0146&裝置為ROU,代表節(jié)點為路由器,后接路由器網(wǎng)路位址及父節(jié)點網(wǎng)路位址,感應器資料片段第一個字G代表氣體感應器收集資訊,以*號間隔代表四個感應器的采集值。1.終端節(jié)點通過路由與協(xié)調器通信如果終端節(jié)點與協(xié)調器節(jié)點的距離較大,則無法進行直接通信,需要采用路由節(jié)點轉發(fā),如圖1.29所示。在PC機串口調試助手中[48

溫馨提示

  • 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

提交評論