- 無線傳感器網絡技術在人體參數采集中的應用
- 來源:賽斯維傳感器網 發(fā)表于 2011/9/15
摘要: 針對人體生理參數采集特點,設計了基于CC2430 和TinyOS 的星型無線傳感器網絡。實現了傳感器節(jié)點和中心節(jié)點間CSMA/CA 協議通信。以溫濕度數據采集為例,采用nesC 語言開發(fā)了節(jié)點應用程序。對傳感器節(jié)點的功耗進行了計算。研究設計方法可應用于相關的周期性無線數據采集中。
生理參數采集是指對人在特定環(huán)境下靜止或活動時的某些生理參數進行測量、處理和傳送。該技術應用領域廣泛, 如醫(yī)療、保健、體育、軍事和服裝舒適性*價等。生理參數采集的實現方法是將傳感器置于人體相應部位, 以有線或無線方式將傳感器采集到的數據傳送到終端進行處理。在使用中有線傳輸的方式有時會受到限制, 所以有必要研究采用無線方式傳輸數據的方法。如在服裝舒適性*價應用中, 主要方法有: 在真實環(huán)境下對人體表溫濕度的測量; 在模擬環(huán)境( 人工氣候室) 下對真人或假人體表溫濕度的測量, 根據測量值給出主客觀*價。在進行真實環(huán)境下人體穿著動態(tài)實驗時, 無線數據采集傳輸方式會帶來很大方便。無線傳感器網絡技術發(fā)展迅速, 將這一技術應用于人體生理參數采集在國內已有相關應用, 如參考文獻[2] 提出基于Zigbee 技術的無線傳感器網絡在遠程家庭監(jiān)護中的應用, 參考文獻[3] 提出了無線傳感器技術在醫(yī)療監(jiān)護中的應用。本文將結合具體應用, 從無線傳感器網絡節(jié)點軟硬件平臺選擇、網絡體系結構、MAC 層協議、節(jié)點低功耗設計等方面分析和設計人體參數采集。
1 系統設計
1.1 網絡體系結構及協議
網絡拓撲結構主要描述網絡節(jié)點的連接模式。人體生理參數采集范圍小, 傳感器節(jié)點集中, 各節(jié)點間一般不需要通信。根據這些特點, 可以使用星型網絡拓撲結構。在星型拓撲結構中, 每個分支節(jié)點以點到點的方式連接到中心節(jié)點上, 當在中心節(jié)點與分支節(jié)點間大量通信時, 采用星型拓撲結構是最有效的。其優(yōu)點在于能夠將資源集中、網絡易于管理、覆蓋范圍集中、路由算法相對簡單, 有問題的節(jié)點很容易在不影響其他節(jié)點性能的情況下被中心節(jié)點隔離掉。
在無線傳感器網絡中,MAC(Medium Access Control)協議決定無線信道的使用方式, 在傳感器節(jié)點之間分配有限的無線通信資源, 對傳感器網絡的性能有較大影響, 是保證無線傳感器網絡低功耗工作的關鍵網絡協議之一。人體生理參數采集應用中, 傳感器節(jié)點周期性采集數據, 供電常采用小型紐扣電池, 而中心節(jié)點一般供電充足, 所以采用CSMA/CA(Carrier Sense Multiple Accesswith Collision Avoidance) 控制協議。中心節(jié)點不關閉射頻模塊, 持續(xù)接收。傳感器節(jié)點定時采樣、發(fā)送數據, 在需要發(fā)送數據時打開射頻模塊, 首先對信道進行偵聽, 若信道被占用, 則退避一段隨機時間后再繼續(xù)偵聽, 若此時信道沒有被占用, 則發(fā)送數據, 得到確認后關閉射頻模塊,MCU 進入睡眠模式,等待下一次定時觸發(fā)。
1.2 射頻收發(fā)器件及網絡操作系統
傳感器節(jié)點要求體積小、功耗低、能夠進行數據處理和無線收發(fā), 這里采用TI/Chipcon 公司CC2430EM *估板作為無線收發(fā)模塊, 傳感器電路根據需要自行設計。CC2430 *估板的P0.1 ~P0.7 、P1.0 ~P1.7 及P2.0 ~P2.2 口線, 可與傳感器電路連接進行控制。芯片CC2430內嵌CC2420 射頻收發(fā)器和8051 MCU, 內含12 bit 模/數轉換器、4 個定時器、32 kHz 晶振的休眠模式定時器, 硬件支持CSMA/CA, 供電電壓2.0 V~3.6 V, 在掉電模式下電流消耗僅0.5 μA, 可通過外部中斷或實時時鐘喚醒。無線傳感器網絡可以被視為由多個能量、存儲空間和處理能力有限的CPU 組成的計算機系統, 這些CPU相互獨立, 又協同工作。為便于軟件開發(fā)與維護, 提高軟件開發(fā)效率, 采用TinyOS 嵌入式操作系統。TinyOS 是一種專門為嵌入式系統設計的基于組件的操作系統, 主要應用于無線傳感器網絡, 由nesC 語言實現, 它采用輕量級線程技術、主動消息通信技術、事件驅動模式、組件化編程方式。使用該操作系統能夠提高CPU 使用率, 在TinyOS 的調度下, 所有與通信事件相關聯的任務在事件產生時可以迅速進行處理。在處理完畢且沒有其他事件的情況下,CPU 將進入睡眠狀態(tài)。
1.3 節(jié)點設計
圖1 為人體生理參數采集網絡結構示意圖。為提高便攜性能, 可以將其中的PC 機用嵌入式設備替換。圖中各傳感器節(jié)點定時采樣、發(fā)送數據, 中心節(jié)點收到數據后通過串口送至PC 機, 進行顯示和處理。
圖1 無線數據采集網絡結構圖
節(jié)點有兩類: 傳感器節(jié)點和中心節(jié)點。在TinyOS 環(huán)境下編程語言為nesC, 為支持組件化編程模式,nesC 語言引入了接口和組件的概念。接口是一些功能類似或相關的函數聲明, 根據調用方向不同命名為命令或事件,具體實現在提供或使用該接口的組件中。組件包括配件和模塊, 配件負責把不同組件通過接口連接起來, 模塊提供程序所需的代碼實現。對于傳感器節(jié)點, 需要針對不同的傳感器設計硬件驅動組件, 結合已有的中間組件( 如系統組件、電源管理組件、A/D 轉換組件、定時器組件、射頻組件等), 設計應用層的配置組件和模塊組件。
下面以溫濕度傳感器節(jié)點為例說明設計方法, 溫濕度傳感器采用瑞士SENSIRION 公司的SHT10 。
溫濕度傳感器節(jié)點的組件連接如圖2 所示。小矩形框內是各組件使用和提供的接口, 箭頭方向表示命令調用的方向。因為所有傳感器節(jié)點都具有定時采樣、數據處理、按協議數據收發(fā)、射頻模塊和MCU 電源管理等功能, 所以這里將與傳感器有關的操作單獨設計一個組件SHT10_C, 在頂層配件中通過與不同類型傳感器組件連接, 實現各傳感器節(jié)點功能。將與傳感器操作無關、與應用相關的其他功能組合設計一個中間組件SensorNet_C,通過與下層配件McuSleepC、CsmaC 和CC2430ActiveMessageC連接, 實現MCU 電源管理、CSMA 協議及射頻模塊控制。配件SHT10_C 和SensorNet_C 僅提供組件間連接關系, 其實現分別由SHT10_M 和SensorNet_M 完成。在調用命令Send.send () 發(fā)送數據時, 首先進行清潔信道*估, 如果信道被占用, 則需要退避一段時間。退避時間由隨機函數產生一個1~31 之間的隨機數, 與一個給定初始值(這里設為160 μs , 即10 symbols) 相乘而得。初始值可以根據網絡中節(jié)點數量進行調整, 節(jié)點少則初始值小, 反之則適當加大。溫濕度傳感器節(jié)點的頂層配置組件程序如下:
在配件SensorNet_C 中, 通過連接配件CC2430ActiveMessageC使用模塊組件CC2430ActiveMessageP 中提供的射頻功能。CC2430ActiveMessageP 是射頻堆棧中的頂層組件, 提供單跳通信實現方法。通過連接配件McuSleepC使用模塊組件McuSleepP 中的MCU 電源管理功能, 實現MCU 睡眠、定時和啟動等功能, 以降低節(jié)點功耗。需要在使用McuSleepP 組件的上層組件SensorNet_M 中實現事件McuSleepControl.beforeSleep () 和McuSleepControl.after-Wakeup() , 以保護和恢復睡眠前后的狀態(tài)。
溫濕度傳感器SHT10 具有兩線制串行接口, 輸出已校準數字信號。這里定義SHT10 的接口SHT 如下, 需要在模塊組件SHT10_M 中實現接口所定義的命令。
中心節(jié)點實現射頻數據接收, 然后通過串口將數據送給PC 機。其頂層配置文件如下:
2 傳感器節(jié)點功耗計算
對人體生理參數進行采集, 尤其在室外應用中, 低功耗對于電池供電的傳感器節(jié)點來說非常重要。以下應用參考文獻[6] 中的方法對本設計中的傳感器節(jié)點的功耗進行計算。采用3.3 V 直流電源供電, 將一個1%精度的10 Ω 電阻與CC2430EM 串聯, 通過測量電阻兩端的電壓降來計算一個采樣周期中各個時間段的電流。設采樣周期T=10 s ,CC2430 射頻輸出功率設置為100%, 圖3為使用示波器TPS2024 在傳感器節(jié)點發(fā)送數據時獲取的電阻兩端電壓變化波形圖, 水平方向2.50 ms/div , 垂直方向100 mV/div 。表1 為活動期間的電流消耗。
表1 傳感器節(jié)點各時段電流消耗計算
一個采樣周期T 內低功耗模式時間(A 段、G 段,CC2430 在PM2 模式下):
低功耗模式下(CC2430 在PM2 模式下)電流消耗:
一個采樣周期T 內總電流消耗:
每小時消耗電流:1.326×10-4×360=0.047 74 mA
假設使用60 mAh 的紐扣電池, 則可以使用時間為:
60 mAh/0.047 74 mA=1 256 h≈52 天本文采用nesC 語言設計了基于TinyOS 的中心節(jié)點和傳感器節(jié)點程序, 實現了使用CSMA/CA 協議的星型無線傳感器網絡, 并以溫濕度數據采集為例, 設計了采用溫濕度數字傳感器SHT10 的傳感器節(jié)點。當采樣周期為10 s、使用60 mAh 電池供電時, 傳感器節(jié)點可持續(xù)工作52 天。本設計能夠滿足無線、便攜、低功耗地采集人體生理參數的需要。使用模塊化編程語言nesC, 提高了開發(fā)效率, 便于擴展。本文介紹的研究和設計方法可在相關應用中使用。
轉載請注明來源:賽斯維傳感器網(www.fineinshow.com)
- 如果本文收錄的圖片文字侵犯了您的權益,請及時與我們聯系,我們將在24內核實刪除,謝謝!