基于MSP430F149與Si4432的無線傳感器網(wǎng)絡的實現(xiàn)方法
無線傳感器網(wǎng)絡的應用領域非常廣,包括環(huán)境的監(jiān)測和保護、醫(yī)療護理、軍事領域、工業(yè)領域等。美國商業(yè)周刊和MIT技術評論在預測未來技術發(fā)展的報告中,分別將無線傳感器網(wǎng)絡列為21世紀較有影響的21項技術和改變世界的十大技術之一。
無線傳感器節(jié)點一般通過電池供電,硬件結構簡單,通信帶寬小,點到點的通信距離短,所以工作時間有限及通信距離短成為無線傳感器網(wǎng)絡的兩個主要瓶頸。如果要求工作時間長同時通信距離遠,就必須在軟硬件上同時做處理。因此本設計在硬件上采用集成度高、功耗超低的MSP430F149作為控制芯片,以功能強大、外圍電路簡單、功耗低的Si4432作為無線收發(fā)芯片,并通過電源管理芯片TPS61200充分利用電池的能量(只要電池電壓在0.2V~5V范圍內整個系統(tǒng)即可正常工作)。在軟件上,所有節(jié)點之間都具有自組織能力,通過轉發(fā)、多跳等方式進行通信;通信可覆蓋范圍廣。采用等待喚醒方式即休眠模式下經(jīng)喚醒進入工作模式,完畢后再進入休眠模式的工作方式,大大降低了能量的消耗;充分考慮其工作壞境的惡劣性,采用E2PROM存儲技術及看門狗技術,系統(tǒng)把所有有用信息保存在E2PROM中,當系統(tǒng)因外界干擾使程序進入非正常工作時,看門狗使系統(tǒng)復位,然后從E2PROM中讀取有用信息繼續(xù)工作,增強了系統(tǒng)的抗干擾能力。
1 系統(tǒng)總體方案
系統(tǒng)由基站節(jié)點、傳感器節(jié)點和上位機組成。節(jié)點硬件主要包括7部分:處理器(MSP430F149)、Si4432射頻收發(fā)模塊、電源管理模塊、串口通信模塊、JITAG下載模塊、傳感器接口模塊和E2PROM存儲模塊。基站節(jié)點沒有傳感器模塊,傳感器節(jié)點沒有串口通信模塊。基站節(jié)點由上位機USB接口供電。傳感器節(jié)點使用2節(jié)5號電池供電。采用TPS61200作為電源管理器,只要電池電壓在0.2V~5V范圍內,系統(tǒng)即可以正常工作,大大地延長了電池的使用時間。為了調試方便,在節(jié)點上增加了撥碼開關和LED信號指示燈。整個系統(tǒng)軟件由上位機處理軟件、基站節(jié)點軟件、傳感器節(jié)點軟件三部分組成。在傳感器節(jié)點軟件設計上充分考慮了低功耗節(jié)能問題,因為它的能量主要消耗于無線射頻模塊,因此在組網(wǎng)時盡量使Si4432的輸出能量設定為較小,且在沒有收發(fā)信息時工作在睡眠模式,即等待喚醒模式。
2 自組織協(xié)議設計
在協(xié)議中,通過定義數(shù)據(jù)包的格式和關鍵字來實現(xiàn)節(jié)點的自組織。
2.1 協(xié)議格式
自組織協(xié)議格式如圖1所示。
圖1自組織協(xié)議格式
其中,Pre表示前導碼,這些字符雜波不容易產(chǎn)生,通過測試和試驗發(fā)現(xiàn),噪聲中不容易產(chǎn)生0x55和0xAA等非常有規(guī)律的信號,因此前導碼采用0x55AA。Sync(同步字)在前導碼之后,本系統(tǒng)設定的同步字為2B,同步字內容為0x2DD4,接收端在檢測到同步字后才開始接收數(shù)據(jù)。Key表示關鍵字,高6位用來表示目標地址的級別,接收節(jié)點會根據(jù)高6位決定數(shù)據(jù)的去向(比本級節(jié)點大則向下級節(jié)點傳,若小則反之,如果相等則判斷目標地址是否為本節(jié)點地址,是則直接向目標表地址發(fā)送,否則向上級發(fā)送節(jié)點回復重發(fā)應答);低2位用來區(qū)分各種情況下的數(shù)據(jù)(命令信號、組網(wǎng)信息、采集信息、廣播信息);接收節(jié)點會根據(jù)這些關鍵字低2位分別進入不同的數(shù)據(jù)處理單元。From表示源地址,是發(fā)送數(shù)據(jù)的節(jié)點地址;Mid表示接收信息的中轉節(jié)點地址;Fina表示數(shù)據(jù)的目標地址;除廣播信息外,每個信息都有唯一的源地址和目標地址;Data表示有效數(shù)據(jù),這些數(shù)據(jù)隨著關鍵字(Key)的不同而采用不同的格式,可攜帶不同的信息;Che表示檢驗位,說明采用何種校驗方式(校驗和還是CRC校驗),可避免接收錯誤的數(shù)據(jù)包;Flag表示數(shù)據(jù)包的結束標志位。Si4432內部集成有調制/解調、編碼/解碼等功能,從而Pre、Sync和Che都是硬件自動加上去的,用戶只需設定數(shù)據(jù)包的組成結構和部分結構的具體內容(如前導碼和同步字)。
2.2 自組織算法
網(wǎng)絡由一個基站和若干個傳感器節(jié)點組成,基站上電初始化后就馬上進入低功耗狀態(tài)(Si4432射頻模塊處于睡眠狀態(tài));傳感器節(jié)點隨機地部署在需要采集信息的區(qū)域內,上電初始化后開始組網(wǎng)。首先發(fā)送請求基站分配級別的命令,若收到基站應答則定義為一級并把自身信息(包括地址、級別等)發(fā)給基站;反之若發(fā)送次數(shù)達到設定值,則向周圍節(jié)點發(fā)送廣播信號,通過周圍節(jié)點應答信息整理得出自身的網(wǎng)絡級別,并向周圍節(jié)點及基站發(fā)送自身信息。如果還是未能分配到級別則延時等待其他節(jié)點分配好級別后重新請求入網(wǎng)。每個入網(wǎng)的傳感器節(jié)點都保存有周圍節(jié)點(上級、同級、下級節(jié)點)信息(級別及對應的地址),較后就形成了網(wǎng)絡拓撲結構。
自組織算法流程圖如圖2所示。
圖2 自組織算法流程圖
3 節(jié)點硬件設計
傳感器節(jié)點要求低功耗、體積小,因此選用的芯片都是集成度高、功耗低、體積小的芯片,其他器件基本上采用貼片封裝。節(jié)點硬件框圖如圖3所示。
本設計中MCU采用TI公司生產(chǎn)的一種混合信號處理器MSP430F149,內部資源豐富,具有兩個16位定時器、一個14路的12bit的模數(shù)轉換器、6組I/O、一個看門狗、兩路USART通信端口等;因此節(jié)點的外部電路非常簡單,并且還具有功耗超低的突出特點,當工作頻率為1MHz、電壓為2.2V時全速工作電流僅為280μA,待機狀態(tài)下電流低至1.6μA。它的工作電壓范圍為1.8V~3.6V,非常適合應用于電池供電的節(jié)能系統(tǒng)中。
Si4432芯片是SiliconLabs公司推出的一款高集成度、低功耗、寬頻帶EZRadioPRO系列無線收發(fā)芯片。其工作電壓1.8V~3.6V,可工作頻率范圍為240MHz~930MHz;內部集成分集式天線、功率放大器、喚醒定時器、數(shù)字調制解調器、64B的發(fā)送和接收數(shù)據(jù)FIFO,以及可配置的GPIO等[4]。Si4432在使用時所需的外部元件很少,1個30MHz的晶振、幾個電容和電感就可組成一個高可靠性的收發(fā)系統(tǒng),設計簡單,且成本低。預留了大量外接傳感器接口,外接傳感器的信號能以中斷方式喚醒節(jié)點。
4 系統(tǒng)軟件設計
本系統(tǒng)軟件設計注重低功耗、數(shù)據(jù)采集實時性、系統(tǒng)穩(wěn)健性及可靠性,在低功耗設計中采用智能控制策略,讓系統(tǒng)需要工作時處于全速工作模式,其他時刻處于低功耗模式。數(shù)據(jù)采集實時性設計中關鍵是路由選擇,主要依據(jù)是跳數(shù)較少路徑較短原則(兼顧能量優(yōu)先原則)。系統(tǒng)穩(wěn)健性設計部分,當傳感器節(jié)點因能量耗盡或其他原因不能工作或者有新的傳感器節(jié)點請求加入網(wǎng)絡時,整個網(wǎng)絡會馬上重新組網(wǎng),形成新的網(wǎng)絡拓撲結構。在系統(tǒng)可靠性設計中采用看門狗等技術增強系統(tǒng)抗干擾能力。系統(tǒng)軟件框圖如圖4所示。
圖4 系統(tǒng)軟件結構
4.1 基站軟件
基站節(jié)點通過上位機USB供電所以一直工作在全速狀態(tài),加快了對外部的響應速度。上電初始化后,根據(jù)中斷程序中的標志位值對獲得的信息進行相應處理,處理完后把標志位置零,循環(huán)執(zhí)行此操作。基站節(jié)點通過串口與上位機相連;因此外部事件包括串口中斷事件和接收到數(shù)據(jù)中斷事件。
為了防止串口通信過程中丟失數(shù)據(jù),軟件設計上加了握手協(xié)議。當基站節(jié)點每發(fā)送一個數(shù)據(jù)包給上位機時,上位機都會向基站節(jié)點發(fā)送應答信號,直到數(shù)據(jù)包發(fā)送給上位機。上位機接收到數(shù)據(jù)包后,馬上進入中斷處理,處理完后把相應標志位置1,通過主程序做進一步處理。
4.2 傳感器節(jié)點軟件
傳感器節(jié)點主程序主要是實現(xiàn)組網(wǎng),當節(jié)點上電初始化后設定發(fā)射功率為較小,請求入網(wǎng)。如果入網(wǎng)不成功則加大發(fā)射功率,繼續(xù)請求入網(wǎng)。經(jīng)試驗證實,發(fā)射功率越小,電池的使用壽命就越長。入網(wǎng)成功后,保存入網(wǎng)信息,并馬上進入低功耗狀態(tài),同時使用兩個中斷,一個外部接收數(shù)據(jù)中斷,一個定時器采集中斷。程序流程圖分別如圖5、圖6所示。數(shù)據(jù)發(fā)送放在定時中斷程序里完成。
圖5 接收數(shù)據(jù)中斷
圖6 串口中斷流程
當多個傳感器節(jié)點同時發(fā)送數(shù)據(jù)時,則會出現(xiàn)掙搶信道的現(xiàn)象。為了避免多個傳感器節(jié)點同時與某個傳感器節(jié)點通信造成數(shù)據(jù)丟失,軟件上采用一定的退避機制。一方面,利用射頻芯片Si4432的載波偵聽信號來產(chǎn)生隨機延時,以避免同時發(fā)送信號;另一方面,當一個傳感器節(jié)點與某個傳感器節(jié)點建立了通信通道時,其他發(fā)送數(shù)據(jù)的節(jié)點會增加發(fā)射數(shù)據(jù)的次數(shù)。
4.3 上位機軟件
上位機主要功能有發(fā)送重組網(wǎng)命令、向任意傳感器節(jié)點發(fā)送采集信息命令、建立良好的人機界面用于觀察傳感器采集來的信息、幫助基站節(jié)點處理數(shù)據(jù)減輕基站的負擔等。人機界面采用VisualBasic(VB)來設計,利用VB的MSComm控件實現(xiàn)上、下位機的串口通信。利用其他控件實現(xiàn)對無線傳感器網(wǎng)絡的分析、顯示和操作,在此不再詳細說明。
相關閱讀:
- ...2015/01/04 10:20·基于MVB的協(xié)議一致性測試系統(tǒng)設計
- ...2014/01/26 13:16·基于MSC.Patran和Nastran壓力機螺桿的模態(tài)分析
- ...2012/03/23 15:58·基于MC56F8013的冰箱壓縮機控制系統(tǒng)
- ...2012/03/19 11:00·基于Modbus/TCP的智能相機通信接口實現(xiàn)
- ...2011/12/07 09:33·福華先進微電子公司:基于MCU和音頻解碼器設計磁帶式MP3播放器
- ...2011/11/30 17:25·基于Microblaze軟核FSL總線的門光子計數(shù)器設計與實現(xiàn)[圖]
- ...· “芯創(chuàng)杯”首屆高校未來汽車人機交互設計大賽報名正式啟動
- ...· 探秘第二屆衛(wèi)藍山鷹“創(chuàng)新·共享”試驗技術論壇!
- ...· “2018中國半導體生態(tài)鏈大會”在江蘇省盱眙舉行
- ...· 新主題新規(guī)劃,CITE 2019瞭望智慧未來
- ...· 從汽車到工廠,TI毫米波傳感器致力于創(chuàng)造更智能的世界
- ...· 意法半導體(ST)、Cinemo和Valens在CES 2018展上聯(lián)合演示汽車信息娛樂解決方案
- ...· 北京集成電路產(chǎn)業(yè)創(chuàng)新發(fā)展高峰論壇即將在京召開
- ...· 三菱電機強勢出擊PCIM亞洲2017展
- ...· Efinix® 全力驅動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產(chǎn)品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進博會,引領智慧新生活
- ...· 三電產(chǎn)品開發(fā)及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導體領域 為面板級扇出型封裝提供化學濕制程、涂布及激光應用等生產(chǎn)設備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統(tǒng)順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統(tǒng)中標北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負載系統(tǒng)成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關鍵部件測評研討會上演繹先進測評技術
- ...· 數(shù)據(jù)采集終端系統(tǒng)設備
- ...· 簡儀科技踏上新征程
- ...· 易靈思® 宣布 AEC-Q100 資質認證和汽車系列產(chǎn)品計劃
- ...· 易靈思® 宣布擴充高性能 鈦金系列™ FPGA 產(chǎn)品 鈦金系列產(chǎn)品擴充至包含 1M 邏輯單元的 FPGA
- ...· 易靈思® 宣布Trion® Titanium 在臺積電 (TSMC) 16納米工藝節(jié)點流片
- ...· TI杯2019年全國大學生電子設計競賽頒獎典禮在京舉行
- ...· BlackBerry QNX虛擬機獲得全球首個汽車安全完整性等級(ASIL) ‘D’認證
- ...· 威馬汽車選擇BlackBerry助力下一代汽車