《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > CC2531的無線傳感器網絡節(jié)點軟件設計
CC2531的無線傳感器網絡節(jié)點軟件設計
楊兆中,童玲,田雨
電子科技大學
摘要: 提出一種基于射頻芯片CC2531的無線傳感器網絡節(jié)點的軟件設計方案,基于任務調度機制,采用功能模塊化設計。簡要介紹了無線傳感器網絡的系統(tǒng)結構和節(jié)點的硬件電路,重點對系統(tǒng)軟件主流程以及數據采集、數據處理、數據傳輸和能源管理4個功能模塊的軟件設計作了詳細介紹。
Abstract:
Key words :

 

Software Design of Wireless Sensor Network Node Based on CC2531
Yang Zhaozhong,Tong Ling,Tian Yu
(School of Automation, University of Electrontc Science and Technology of China, Chengdu 611731, China)
Abstract: This paper gives a software design of wireless sensor network node based on RF chip CC2531. The design uses task scheduling mechanism and functional modular design method. Wireless sensor network system architecture and node hardware circuit are introduced. The main flow and the software design of the four function modules, i.e., data collection, data processing, data transmission and energy management, are described.
Key words: wireless sensor network;ZigBee" title="ZigBee">ZigBee;CC2531;software design

引言

v無線傳感器" title="傳感器">傳感器網絡" title="網絡">網絡(Wireless Sensor Network, WSN)是由一組傳感器網絡節(jié)點組成。它們通過多跳自組織的方式構成無線通信網絡系統(tǒng),傳感器節(jié)點實時采集" title="采集">采集分布區(qū)域內監(jiān)測對象的各種信息,以無線通信方式發(fā)送至上位機。節(jié)點硬件提供了實現相關功能的平臺,而真正實現這些功能的應用需要借助軟件來完成。因此,軟件設計對整個節(jié)點的功能控制和資源的分配利用有較大的影響。

1  無線傳感器網絡系統(tǒng)結構

  整個傳感器網絡是由若干個采集節(jié)點、1個匯聚節(jié)點、1個數據中轉器以及1個便于用戶查看和控制的上位機組成。系統(tǒng)的結構[12]如圖1所示。采集節(jié)點用于對環(huán)境數據的采集和數據的預處理,擔當數據的路由;匯聚節(jié)點負責整個網絡的開啟和維護,向采集節(jié)點發(fā)送命令,搜集節(jié)點的數據,以及完成與數據中轉器之間的串口通信;數據中轉器承擔數據的中轉,負責轉發(fā)上位機的命令;上位機是數據搜集的終端設備,并且可以根據用戶的需要對節(jié)點的采集時間間隔、休眠時間間隔、傳感器的開關進行相應設置。

按此在新窗口瀏覽圖片
圖1  無線傳感器網絡系統(tǒng)結構

2  節(jié)點硬件設計

  為方便數據的搜集,匯聚節(jié)點和采集節(jié)點硬件電路設計相同,只是軟件設計有所不同。任意節(jié)點都可作為匯聚節(jié)點與數據中轉器通過串口進行通信,來搜集網絡中其他節(jié)點的數據。節(jié)點的硬件結構如圖2所示。

按此在新窗口瀏覽圖片
圖2  節(jié)點硬件結構圖

  核心芯片選用TI公司推出的ZigBee芯片CC2531[3]。它以8051微處理器為內核,自身攜帶的射頻收發(fā)器用來實現無線傳感器網絡節(jié)點的通信。選用5路I/O口來控制傳感器的打開和關閉。傳感器組將相應的環(huán)境數據變成電壓、電流等信號送給信號調理電路,經相關調理后送到CC2531的A/D" title="A/D">A/D轉換器接口進行A/D采樣,最后將得到的采樣數據存入一個外接的256 Kb的存儲器中。當節(jié)點作為網絡中的匯聚節(jié)點時,CC2531的兩路I/O口被設置成UART0串口Tx和Rx,用于與數據中轉器進行串口通信。為保證節(jié)點長期穩(wěn)定地工作,選用3 Ah 的鉛酸充電電池,兩組鉛酸電池采用雙電源供電模式。軟件通過控制兩組鉛酸電池的切換實現對節(jié)點的輪流供電,并在電池電壓不足時控制太陽能電池板對其進行充電,保持“一充一供”的狀態(tài)。

3  節(jié)點軟件設計

3.1  ZigBee技術簡介

  ZigBee[4]技術是一種近距離、低復雜度、低功耗、低傳輸速率、低成本的雙向無線通信技術,主要適合于自動控制和遠程控制等領域,可以嵌入到各種設備中,相對于其他的無線通信標準更簡單緊湊。此外,ZigBee具有省電、可靠、延時短、網絡容量大、安全等優(yōu)點。

3.2  節(jié)點軟件主流程

  本軟件設計基于TI公司的ZStack 2007協議棧。ZStack 2007是TI公司專門為CC2531芯片設計的ZigBee協議棧。它是由一個簡單的單線程操作系統(tǒng)管理,該系統(tǒng)基于任務調度的機制。各個任務的事件處理函數按照任務的優(yōu)先級被放入函數指針數組tasksArr[idx]中,事件以16位的變量形式存放在數組tasksEvents[idx]中,因此每個任務最多可定義16個事件。

按此在新窗口瀏覽圖片
圖3  操作系統(tǒng)運行流程

  操作系統(tǒng)運行流程如圖3所示。主函數在完成節(jié)點相關的初始化之后會進入操作系統(tǒng),操作系統(tǒng)是一個無限循環(huán),一直在檢測各個任務中的事件tasksEvents[idx],當它不為零時就會調用相應的事件處理函數tasksArr[idx]。處理完一個事件會將代表此事件的位清零,同時返回未處理的事件,直到這個任務中所有的事件處理完畢(即所有的事件位都被清零),操作系統(tǒng)就會跳向下一個任務進行事件處理。

3.3  節(jié)點軟件模塊化設計

  節(jié)點軟件采用的是功能模塊化設計,不同功能用不用模塊表示,不同模塊間用接口連接,通過接口來調用其他模塊的功能。如圖4所示,傳感器節(jié)點主要由數據采集模塊﹑數據處理模塊﹑數據傳輸模塊和電源管理模塊組成。

按此在新窗口瀏覽圖片
圖4  節(jié)點模塊框圖

3.3.1  數據采集模塊

  數據采集模塊主要實現對監(jiān)測區(qū)域內各種信息的采集和數據的轉換。

  實驗證明,節(jié)點在進行數據和命令收發(fā)的通信過程中功耗很大。為了降低功耗,在軟件設計上節(jié)點在聯網狀態(tài)下只執(zhí)行通信任務,在休眠過程中只執(zhí)行采集任務。數據采集模塊工作流程如圖5所示。節(jié)點接收到休眠設置命令,對命令進行解析并從命令中提取傳感器標志位,在整個網絡進入休眠后,根據傳感器標志位來打開需要的傳感器。被打開的傳感器對監(jiān)測區(qū)域內的各種信息進行采集,然后將采集到的數據送到信號調理電路轉換成電壓﹑電流等信號。經過調理后的信號直接傳入CC2531已配置好的A/D轉換器接口進行A/D采樣。A/D轉換器可通過軟件編程改變采樣精度,其精度為7~12位。

按此在新窗口瀏覽圖片
圖5  數據采集模塊工作流程

 

3.3.2  數據處理模塊

  數據處理模塊是無線傳感器節(jié)點的核心,負責控制整個傳感器節(jié)點的操作,存儲和處理本身采集的數據以及其他節(jié)點發(fā)來的數據。為便于管理和調度,節(jié)點所要進行的操作都是被定義為事件進行處理的,每個事件完成相應操作。將事件按一定關系串接就能實現節(jié)點工作時要完成的系統(tǒng)功能。

按此在新窗口瀏覽圖片
圖6  數據處理模塊工作流程

  數據處理模塊工作流程如圖6所示。數據處理模塊對接收到的命令進行解析后,會對所有要執(zhí)行的操作進行判斷。對于本節(jié)點要完成的操作,就會觸發(fā)相應的事件,實現相應的功能;對于其他未完成的操作命令,會通過數據傳輸模塊轉發(fā)給其他節(jié)點。在處理完本條命令之后,會繼續(xù)等待或接收下一條命令。

3.3.3  數據傳輸模塊

  數據傳輸模塊負責與其他傳感器節(jié)點進行無線通信,傳輸控制消息和收發(fā)采集數據,通過軟件來控制無線通信模塊的工作模式。若為數據發(fā)送模式,先按照通信協議中規(guī)定的數據格式對數據進行打包,然后再將數據包發(fā)送出去;若為數據接收模式,則按照數據格式對接收到的數據包進行解析,再進行下一步處理。數據傳輸模塊工作流程如圖7所示。

按此在新窗口瀏覽圖片
圖7  數據傳輸模塊工作流程

3.3.4  電源管理模塊

  電源管理模塊主要功能是為傳感器節(jié)點提供運行所需的能量,并進行電量檢測。無線傳感器網絡需要在無人值守情況下長時間地工作在惡劣環(huán)境條件下,因此更換電池是一件很麻煩的事情。為保證鉛酸電池能夠為節(jié)點長期供電,節(jié)點硬件電路設計了一個充電控制電路對其進行充電管理。

  CC2531專門提供一個I/O口對供電電壓進行A/D采樣,當供電的電源電壓不足(即低于設定的某一個值)時,通過軟件控制進行切換,先讓另一組電源對節(jié)點進行供電,再打開太陽能充電電路對本組電源充電。節(jié)點在通信和采集數據時功耗很大,因此在每一次的通信和采集數據完成之后都會檢測當前供電電壓值和當前的充電電壓值,根據兩個電壓值決定是否進行電源切換、對電源進行充電,以及充電是否完成。

結語

  基于CC2531的無線傳感器網絡系統(tǒng)的軟件設計比較復雜,本文僅就傳感器節(jié)點的各功能模塊的軟件設計作了介紹。實驗結果表明:節(jié)點工作狀態(tài)穩(wěn)定,故障率低,可以按照用戶設置準確地對環(huán)境信息進行采集。整個系統(tǒng)具備數據可靠、功耗低、可遠程控制等顯著優(yōu)點,具有良好的應用前景。

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 狠狠色丁香九九婷婷综合五月 | 91啦国产 | 亚洲国产国产综合一区首页 | 国产一区二区在线视频播放 | 久久日本三级韩国三级 | 国产浮力第一页草草影院 | 亚洲一区二区三区成人 | 日韩一品在线播放视频一品免费 | 五月天激激婷婷大综合蜜芽 | 性盈盈影院影院 | 欧美一级二级三级 | 久久er精品视频 | 国产精品在线播放 | 免费人成年短视频在线观看网站 | 一级片免费观看视频 | 一级女性全黄生活片免费 | 国产一区二区三区免费视频 | 成人α片 | 国产精品久久一区二区三区 | 亚洲国产精品一区二区不卡 | 中文字幕精品一区二区2021年 | 欧美日韩精品乱国产 | 久久国产国内精品对话对白 | 成人一级免费视频 | 日本作爱 | 国产男女爽爽爽爽爽免费视频 | 美女被免费网站在线软件 | 视频在线一区二区 | 亚洲精品一区二区三区四区手机版 | 日本精品视频一区二区三区 | 中文字幕在线播放视频 | 花蝴蝶在线 | 久草在在线视频免费 | 亚洲视频在线视频 | 亚洲精品国产专区一区 | 欧美日本一区亚洲欧美一区 | 久草最新在线 | 综合自拍亚洲综合图区美腿丝袜 | 国产乱码精品一区二区三上 | 久操精品视频 | 国产手机国产手机在线 |