亚洲精品影院一区二区-亚洲精品永久一区-亚洲精品中文一区不卡-亚洲精品中文字幕久久久久久-国产亚洲精品aaa大片-国产亚洲精品成人a在线

您好,歡迎光臨電子應(yīng)用網(wǎng)![登錄] [免費(fèi)注冊(cè)] 返回首頁 | | 網(wǎng)站地圖 | 反饋 | 收藏
在應(yīng)用中實(shí)踐
在實(shí)踐中成長
  • 應(yīng)用
  • 專題
  • 產(chǎn)品
  • 新聞
  • 展會(huì)
  • 活動(dòng)
  • 招聘
當(dāng)前位置:中國電子應(yīng)用網(wǎng) > 技術(shù)應(yīng)用 > 正文

基于MSP430F149與Si4432的無線傳感器網(wǎng)絡(luò)的實(shí)現(xiàn)

2011年10月21日15:42:05 本網(wǎng)站 我要評(píng)論(2)字號(hào):T | T | T
無線傳感器" title="無線傳感器">無線傳感器" title="無線傳感器">無線傳感器網(wǎng)絡(luò)的應(yīng)用領(lǐng)域非常廣。無線傳感器節(jié)點(diǎn)一般通過電池供電, 硬件結(jié)構(gòu)簡單, 通信帶寬小, 點(diǎn)到點(diǎn)的通信距離短, 所以工作時(shí)間有限及通信距離短成為無線傳感器網(wǎng)絡(luò)的兩個(gè)主要瓶頸。如果要求工作時(shí)間長同時(shí)通信距離遠(yuǎn), 就必須在軟硬件上同時(shí)做處理。因此本設(shè)計(jì)在硬件上采用集成度高、功耗超低的MSP430F149 作為控制芯片, 以功能強(qiáng)大、外圍電路簡單、功耗低的Si4432 作為無線收發(fā)芯片,并通過電源管理芯片TPS61200 充分利用電池的能量( 只要電池電壓在0.2 V~5 V 范圍內(nèi)整個(gè)系統(tǒng)即可正常工作) 。在軟件上, 所有節(jié)點(diǎn)之間都具有自組織能力, 通過轉(zhuǎn)發(fā)、多跳等方式進(jìn)行通信; 通信可覆蓋范圍廣。采用等待喚醒方式即休眠模式下經(jīng)喚醒進(jìn)入工作模式, 完畢后再進(jìn)入休眠模式的工作方式, 大大降低了能量的消耗; 充分考慮其工作壞境的惡劣性, 采用E2PROM 存儲(chǔ)技術(shù)及看門狗技術(shù),系統(tǒng)把所有有用信息保存在E2PROM中, 當(dāng)系統(tǒng)因外界干擾使程序進(jìn)入非正常工作時(shí), 看門狗使系統(tǒng)復(fù)位, 然后從E2PROM 中讀取有用信息繼續(xù)工作, 增強(qiáng)了系統(tǒng)的抗干擾能力。

  1 系統(tǒng)總體方案

  系統(tǒng)由基站節(jié)點(diǎn)、傳感器節(jié)點(diǎn)和上位機(jī)組成。節(jié)點(diǎn)硬件主要包括7 部分: 處理器(MSP430F149 ) 、Si4432 射頻收發(fā)模塊、電源管理模塊、串口通信模塊、JITAG 下載模塊、傳感器接口模塊和E2PROM 存儲(chǔ)模塊。基站節(jié)點(diǎn)沒有傳感器模塊, 傳感器節(jié)點(diǎn)沒有串口通信模塊。基站節(jié)點(diǎn)由上位機(jī)USB 接口供電。傳感器節(jié)點(diǎn)使用2 節(jié)5號(hào)電池供電。采用TPS61200 作為電源管理器, 只要電池電壓在0.2 V~5 V 范圍內(nèi), 系統(tǒng)即可以正常工作, 大大地延長了電池的使用時(shí)間。為了調(diào)試方便, 在節(jié)點(diǎn)上增加了撥碼開關(guān)和LED 信號(hào)指示燈。整個(gè)系統(tǒng)軟件由上位機(jī)處理軟件、基站節(jié)點(diǎn)軟件、傳感器節(jié)點(diǎn)軟件三部分組成。在傳感器節(jié)點(diǎn)軟件設(shè)計(jì)上充分考慮了低功耗節(jié)能問題, 因?yàn)樗哪芰恐饕挠跓o線射頻模塊, 因此在組網(wǎng)時(shí)盡量使Si4432 的輸出能量設(shè)定為較小, 且在沒有收發(fā)信息時(shí)工作在睡眠模式, 即等待喚醒模式。

  2 自組織協(xié)議設(shè)計(jì)

  在協(xié)議中, 通過定義數(shù)據(jù)包的格式和關(guān)鍵字來實(shí)現(xiàn)節(jié)點(diǎn)的自組織。

  2.1 協(xié)議格式

  自組織協(xié)議格式如圖1 所示。

  自組織協(xié)議格式
圖1 自組織協(xié)議格式

  其中,Pre 表示前導(dǎo)碼, 這些字符雜波不容易產(chǎn)生, 通過測(cè)試和試驗(yàn)發(fā)現(xiàn), 噪聲中不容易產(chǎn)生0x55 和0xAA 等非常有規(guī)律的信號(hào), 因此前導(dǎo)碼采用0x55AA。Sync( 同步字)在前導(dǎo)碼之后, 本系統(tǒng)設(shè)定的同步字為2 B, 同步字內(nèi)容為0x2DD4 , 接收端在檢測(cè)到同步字后才開始接收數(shù)據(jù)。Key 表示關(guān)鍵字, 高6 位用來表示目標(biāo)地址的級(jí)別, 接收節(jié)點(diǎn)會(huì)根據(jù)高6 位決定數(shù)據(jù)的去向( 比本級(jí)節(jié)點(diǎn)大則向下級(jí)節(jié)點(diǎn)傳, 若小則反之, 如果相等則判斷目標(biāo)地址是否為本節(jié)點(diǎn)地址, 是則直接向目標(biāo)表地址發(fā)送, 否則向上級(jí)發(fā)送節(jié)點(diǎn)回復(fù)重發(fā)應(yīng)答) ; 低2 位用來區(qū)分各種情況下的數(shù)據(jù)( 命令信號(hào)、組網(wǎng)信息、采集信息、廣播信息) ; 接收節(jié)點(diǎn)會(huì)根據(jù)這些關(guān)鍵字低2 位分別進(jìn)入不同的數(shù)據(jù)處理單元。From 表示源地址, 是發(fā)送數(shù)據(jù)的節(jié)點(diǎn)地址;Mid 表示接收信息的中轉(zhuǎn)節(jié)點(diǎn)地址;Fina 表示數(shù)據(jù)的目標(biāo)地址; 除廣播信息外, 每個(gè)信息都有唯一的源地址和目標(biāo)地址;Data 表示有效數(shù)據(jù), 這些數(shù)據(jù)隨著關(guān)鍵字(Key) 的不同而采用不同的格式, 可攜帶不同的信息;Che 表示檢驗(yàn)位, 說明采用何種校驗(yàn)方式( 校驗(yàn)和還是CRC 校驗(yàn)) , 可避免接收錯(cuò)誤的數(shù)據(jù)包;Flag 表示數(shù)據(jù)包的結(jié)束標(biāo)志位。Si4432 內(nèi)部集成有調(diào)制/解調(diào)、編碼/解碼等功能, 從而Pre 、Sync 和Che 都是硬件自動(dòng)加上去的, 用戶只需設(shè)定數(shù)據(jù)包的組成結(jié)構(gòu)和部分結(jié)構(gòu)的具體內(nèi)容(如前導(dǎo)碼和同步字)。

  2.2 自組織算法

  網(wǎng)絡(luò)由一個(gè)基站和若干個(gè)傳感器節(jié)點(diǎn)組成, 基站上電初始化后就馬上進(jìn)入低功耗狀態(tài)(Si4432 射頻模塊處于睡眠狀態(tài)) ; 傳感器節(jié)點(diǎn)隨機(jī)地部署在需要采集信息的區(qū)域內(nèi), 上電初始化后開始組網(wǎng)。首先發(fā)送請(qǐng)求基站分配級(jí)別的命令, 若收到基站應(yīng)答則定義為一級(jí)并把自身信息( 包括地址、級(jí)別等) 發(fā)給基站; 反之若發(fā)送次數(shù)達(dá)到設(shè)定值, 則向周圍節(jié)點(diǎn)發(fā)送廣播信號(hào), 通過周圍節(jié)點(diǎn)應(yīng)答信息整理得出自身的網(wǎng)絡(luò)級(jí)別, 并向周圍節(jié)點(diǎn)及基站發(fā)送自身信息。如果還是未能分配到級(jí)別則延時(shí)等待其他節(jié)點(diǎn)分配好級(jí)別后重新請(qǐng)求入網(wǎng)。每個(gè)入網(wǎng)的傳感器節(jié)點(diǎn)都保存有周圍節(jié)點(diǎn)( 上級(jí)、同級(jí)、下級(jí)節(jié)點(diǎn)) 信息( 級(jí)別及對(duì)應(yīng)的地址) , 較后就形成了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。

  自組織算法流程圖如圖2 所示。

  自組織算法流程圖
圖2 自組織算法流程圖

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

  傳感器節(jié)點(diǎn)要求低功耗、體積小, 因此選用的芯片都是集成度高、功耗低、體積小的芯片, 其他器件基本上采用貼片封裝。節(jié)點(diǎn)硬件框圖如圖3 所示。

無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)硬件圖

  本設(shè)計(jì)中MCU 采用TI 公司生產(chǎn)的一種混合信號(hào)處理器MSP430F149 , 內(nèi)部資源豐富, 具有兩個(gè)16 位定時(shí)器、一個(gè)14 路的12 bit 的模數(shù)轉(zhuǎn)換器、6 組I/O、一個(gè)看門狗、兩路USART 通信端口等; 因此節(jié)點(diǎn)的外部電路非常簡單, 并且還具有功耗超低的突出特點(diǎn), 當(dāng)工作頻率為1 MHz、電壓為2.2 V 時(shí)全速工作電流僅為280 μA, 待機(jī)狀態(tài)下電流低至1.6 μA。它的工作電壓范圍為1.8 V~3.6 V, 非常適合應(yīng)用于電池供電的節(jié)能系統(tǒng)中。

  Si4432 芯片是Silicon Labs 公司推出的一款高集成度、低功耗、寬頻帶EZRadioPRO 系列無線收發(fā)芯片。其工作電壓1.8 V~3.6 V,可工作頻率范圍為240 MHz~930 MHz;內(nèi)部集成分集式天線、功率放大器、喚醒定時(shí)器、數(shù)字調(diào)制解調(diào)器、64 B 的發(fā)送和接收數(shù)據(jù)FIFO, 以及可配置的GPIO 等[4]。Si4432 在使用時(shí)所需的外部元件很少,1個(gè)30 MHz 的晶振、幾個(gè)電容和電感就可組成一個(gè)高可靠性的收發(fā)系統(tǒng), 設(shè)計(jì)簡單, 且成本低。預(yù)留了大量外接傳感器接口, 外接傳感器的信號(hào)能以中斷方式喚醒節(jié)點(diǎn)。

 

4 系統(tǒng)軟件設(shè)計(jì)

 

  本系統(tǒng)軟件設(shè)計(jì)注重低功耗、數(shù)據(jù)采集實(shí)時(shí)性、系統(tǒng)穩(wěn)健性及可靠性, 在低功耗設(shè)計(jì)中采用智能控制策略, 讓系統(tǒng)需要工作時(shí)處于全速工作模式, 其他時(shí)刻處于低功耗模式。數(shù)據(jù)采集實(shí)時(shí)性設(shè)計(jì)中關(guān)鍵是路由選擇, 主要依據(jù)是跳數(shù)較少路徑較短原則( 兼顧能量優(yōu)先原則)。系統(tǒng)穩(wěn)健性設(shè)計(jì)部分, 當(dāng)傳感器節(jié)點(diǎn)因能量耗盡或其他原因不能工作或者有新的傳感器節(jié)點(diǎn)請(qǐng)求加入網(wǎng)絡(luò)時(shí), 整個(gè)網(wǎng)絡(luò)會(huì)馬上重新組網(wǎng), 形成新的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在系統(tǒng)可靠性設(shè)計(jì)中采用看門狗等技術(shù)增強(qiáng)系統(tǒng)抗干擾能力。系統(tǒng)軟件框圖如圖4 所示。

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

  4.1 基站軟件

  基站節(jié)點(diǎn)通過上位機(jī)USB 供電所以一直工作在全速狀態(tài), 加快了對(duì)外部的響應(yīng)速度。上電初始化后, 根據(jù)中斷程序中的標(biāo)志位值對(duì)獲得的信息進(jìn)行相應(yīng)處理, 處理完后把標(biāo)志位置零, 循環(huán)執(zhí)行此操作。基站節(jié)點(diǎn)通過串口與上位機(jī)相連; 因此外部事件包括串口中斷事件和接收到數(shù)據(jù)中斷事件。

  為了防止串口通信過程中丟失數(shù)據(jù), 軟件設(shè)計(jì)上加了握手協(xié)議。當(dāng)基站節(jié)點(diǎn)每發(fā)送一個(gè)數(shù)據(jù)包給上位機(jī)時(shí), 上位機(jī)都會(huì)向基站節(jié)點(diǎn)發(fā)送應(yīng)答信號(hào), 直到數(shù)據(jù)包發(fā)送給上位機(jī)。上位機(jī)接收到數(shù)據(jù)包后, 馬上進(jìn)入中斷處理, 處理完后把相應(yīng)標(biāo)志位置1, 通過主程序做進(jìn)一步處理。

  4.2 傳感器節(jié)點(diǎn)軟件

  傳感器節(jié)點(diǎn)主程序主要是實(shí)現(xiàn)組網(wǎng), 當(dāng)節(jié)點(diǎn)上電初始化后設(shè)定發(fā)射功率為較小,請(qǐng)求入網(wǎng)。如果入網(wǎng)不成功則加大發(fā)射功率,繼續(xù)請(qǐng)求入網(wǎng)。經(jīng)試驗(yàn)證實(shí),發(fā)射功率越小,電池的使用壽命就越長。入網(wǎng)成功后,保存入網(wǎng)信息, 并馬上進(jìn)入低功耗狀態(tài), 同時(shí)使用兩個(gè)中斷, 一個(gè)外部接收數(shù)據(jù)中斷,一個(gè)定時(shí)器采集中斷。程序流程圖分別如圖5、圖6 所示。數(shù)據(jù)發(fā)送放在定時(shí)中斷程序里完成。

  無線傳感器網(wǎng)絡(luò)接收中斷框圖
圖5 接收數(shù)據(jù)中斷

  無線傳感器網(wǎng)絡(luò)串口中斷圖
圖6 串口中斷流程

  當(dāng)多個(gè)傳感器節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí), 則會(huì)出現(xiàn)掙搶信道的現(xiàn)象。為了避免多個(gè)傳感器節(jié)點(diǎn)同時(shí)與某個(gè)傳感器節(jié)點(diǎn)通信造成數(shù)據(jù)丟失, 軟件上采用一定的退避機(jī)制。一方面, 利用射頻芯片Si4432 的載波偵聽信號(hào)來產(chǎn)生隨機(jī)延時(shí), 以避免同時(shí)發(fā)送信號(hào); 另一方面, 當(dāng)一個(gè)傳感器節(jié)點(diǎn)與某個(gè)傳感器節(jié)點(diǎn)建立了通信通道時(shí), 其他發(fā)送數(shù)據(jù)的節(jié)點(diǎn)會(huì)增加發(fā)射數(shù)據(jù)的次數(shù)。

  4.3 上位機(jī)軟件

  上位機(jī)主要功能有發(fā)送重組網(wǎng)命令、向任意傳感器節(jié)點(diǎn)發(fā)送采集信息命令、建立良好的人機(jī)界面用于觀察傳感器采集來的信息、幫助基站節(jié)點(diǎn)處理數(shù)據(jù)減輕基站的負(fù)擔(dān)等。人機(jī)界面采用Visual Basic(VB) 來設(shè)計(jì), 利用VB 的MSComm 控件實(shí)現(xiàn)

網(wǎng)友評(píng)論:已有2條評(píng)論 點(diǎn)擊查看
登錄 (請(qǐng)登錄發(fā)言,并遵守相關(guān)規(guī)定)
如果您對(duì)新聞?lì)l道有任何意見或建議,請(qǐng)到交流平臺(tái)反饋。【反饋意見】
關(guān)于我們 | 聯(lián)系我們 | 本站動(dòng)態(tài) | 廣告服務(wù) | 歡迎投稿 | 友情鏈接 | 法律聲明
Copyright (c) 2008-2025 01ea.com.All rights reserved.
電子應(yīng)用網(wǎng) 京ICP備12009123號(hào)-2 京公網(wǎng)安備110105003345號(hào)