當(dāng)前位置:首頁(yè) > 電源 > 電源AC/DC
[導(dǎo)讀]摘要: 提出一種基于射頻芯片CC2531的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的軟件設(shè)計(jì)方案,基于任務(wù)調(diào)度機(jī)制,采用功能模塊化設(shè)計(jì)。簡(jiǎn)要介紹了無(wú)線傳感器網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)和節(jié)點(diǎn)的硬件電路,重點(diǎn)對(duì)系統(tǒng)軟件主流程以及數(shù)據(jù)采集、數(shù)據(jù)處理

摘要: 提出一種基于射頻芯片CC2531無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的軟件設(shè)計(jì)方案,基于任務(wù)調(diào)度機(jī)制,采用功能模塊化設(shè)計(jì)。簡(jiǎn)要介紹了無(wú)線傳感器網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)和節(jié)點(diǎn)的硬件電路,重點(diǎn)對(duì)系統(tǒng)軟件主流程以及數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)傳輸和能源管理4個(gè)功能模塊的軟件設(shè)計(jì)作了詳細(xì)介紹。

關(guān)鍵詞: 無(wú)線傳感器網(wǎng)絡(luò);ZigBee;CC2531;軟件設(shè)計(jì)

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;CC2531;software design

引言

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

1  無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)

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


圖1  無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)

2  節(jié)點(diǎn)硬件設(shè)計(jì)

  為方便數(shù)據(jù)的搜集,匯聚節(jié)點(diǎn)和采集節(jié)點(diǎn)硬件電路設(shè)計(jì)相同,只是軟件設(shè)計(jì)有所不同。任意節(jié)點(diǎn)都可作為匯聚節(jié)點(diǎn)與數(shù)據(jù)中轉(zhuǎn)器通過(guò)串口進(jìn)行通信,來(lái)搜集網(wǎng)絡(luò)中其他節(jié)點(diǎn)的數(shù)據(jù)。節(jié)點(diǎn)的硬件結(jié)構(gòu)如圖2所示。


圖2  節(jié)點(diǎn)硬件結(jié)構(gòu)圖

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

3  節(jié)點(diǎn)軟件設(shè)計(jì)

3.1  ZigBee技術(shù)簡(jiǎn)介

  ZigBee[4]技術(shù)是一種近距離、低復(fù)雜度、低功耗、低傳輸速率、低成本的雙向無(wú)線通信技術(shù),主要適合于自動(dòng)控制和遠(yuǎn)程控制等領(lǐng)域,可以嵌入到各種設(shè)備中,相對(duì)于其他的無(wú)線通信標(biāo)準(zhǔn)更簡(jiǎn)單緊湊。此外,ZigBee具有省電、可靠、延時(shí)短、網(wǎng)絡(luò)容量大、安全等優(yōu)點(diǎn)。

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

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


圖3  操作系統(tǒng)運(yùn)行流程

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

3.3  節(jié)點(diǎn)軟件模塊化設(shè)計(jì)

  節(jié)點(diǎn)軟件采用的是功能模塊化設(shè)計(jì),不同功能用不用模塊表示,不同模塊間用接口連接,通過(guò)接口來(lái)調(diào)用其他模塊的功能。如圖4所示,傳感器節(jié)點(diǎn)主要由數(shù)據(jù)采集模塊﹑數(shù)據(jù)處理模塊﹑數(shù)據(jù)傳輸模塊和電源管理模塊組成。


圖4  節(jié)點(diǎn)模塊框圖

3.3.1  數(shù)據(jù)采集模塊

  數(shù)據(jù)采集模塊主要實(shí)現(xiàn)對(duì)監(jiān)測(cè)區(qū)域內(nèi)各種信息的采集和數(shù)據(jù)的轉(zhuǎn)換。

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


圖5  數(shù)據(jù)采集模塊工作流程

[!--empirenews.page--]

3.3.2  數(shù)據(jù)處理模塊

  數(shù)據(jù)處理模塊是無(wú)線傳感器節(jié)點(diǎn)的核心,負(fù)責(zé)控制整個(gè)傳感器節(jié)點(diǎn)的操作,存儲(chǔ)和處理本身采集的數(shù)據(jù)以及其他節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)。為便于管理和調(diào)度,節(jié)點(diǎn)所要進(jìn)行的操作都是被定義為事件進(jìn)行處理的,每個(gè)事件完成相應(yīng)操作。將事件按一定關(guān)系串接就能實(shí)現(xiàn)節(jié)點(diǎn)工作時(shí)要完成的系統(tǒng)功能。


圖6  數(shù)據(jù)處理模塊工作流程

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

3.3.3  數(shù)據(jù)傳輸模塊

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


圖7  數(shù)據(jù)傳輸模塊工作流程

3.3.4  電源管理模塊

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

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

結(jié)語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉