《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ZigBee無線傳感網(wǎng)絡的人體動作信息采集平臺設計
基于ZigBee無線傳感網(wǎng)絡的人體動作信息采集平臺設計
來源:微型機與應用2014年第8期
朱福民, 劉炎鳴, 朱英翔
(上海海事大學 物流工程學院,上海201306)
摘要: 采集人體動作信息,提出了一種基于ZigBee無線傳感技術的采集系統(tǒng),以CC2530芯片為核心設計網(wǎng)絡的協(xié)調器和終端節(jié)點,以MMA7361L三軸加速度傳感器為采集傳感器,搭建ZigBee無線采集網(wǎng)絡,并在Visual Studio開發(fā)環(huán)境下設計上位機監(jiān)控界面。介紹了ZigBee協(xié)議工作原理和節(jié)點的軟硬件設計方法,并給出了上位機的軟件設計。實驗給出了無線傳感網(wǎng)絡節(jié)點的部分采集結果,并在上位機軟件中顯示加速度變化的曲線圖。
Abstract:
Key words :

摘  要: 采集人體動作信息,提出了一種基于ZigBee無線傳感技術的采集系統(tǒng),以CC2530芯片為核心設計網(wǎng)絡的協(xié)調器和終端節(jié)點,以MMA7361L三軸加速度傳感器為采集傳感器,搭建ZigBee無線采集網(wǎng)絡,并在Visual Studio開發(fā)環(huán)境下設計上位機監(jiān)控界面。介紹了ZigBee協(xié)議工作原理和節(jié)點的軟硬件設計方法,并給出了上位機的軟件設計。實驗給出了無線傳感網(wǎng)絡節(jié)點的部分采集結果,并在上位機軟件中顯示加速度變化的曲線圖。
關鍵詞: ZigBee; 無線傳感網(wǎng)絡; CC2530; MMA7361L; Z-stack協(xié)議棧; 人體動作信息

    人在日常生活中的一舉一動都離不開加速度的變化,所以采集人體動作信息主流方法之一就是利用加速度傳感器來識別人體運動狀態(tài)[1]。對于采集人體動作信息,單個加速度傳感器已經(jīng)無法滿足研究人員的需要,出于不同的實驗目的,投入的加速度傳感器數(shù)目也不同,傳統(tǒng)的點對點無線模塊也無法適應多節(jié)點的通信需求,結合無線傳感網(wǎng)絡技術采集信息成為學者們研究的熱點話題[2]。ZigBee技術憑借低成本、低功耗、自組織、低復雜度等特點[3],在自動控制、遠程控制、環(huán)境監(jiān)測以及智能家居領域相比較藍牙、WiFi和紅外等技術更具優(yōu)勢[4]?;诖?,本文設計實現(xiàn)了一種基于ZigBee無線傳感網(wǎng)絡的人體動作信息采集系統(tǒng),該系統(tǒng)可采集加速度值,并將數(shù)據(jù)傳至上位機進行后續(xù)處理。
1 采集平臺架構設計
    如圖1所示,本文提出的信息采集平臺由ZigBee無線采集網(wǎng)絡和上位機監(jiān)測平臺組成,整個ZigBee采集網(wǎng)絡由Z-stack協(xié)議棧支撐運行。ZigBee網(wǎng)絡有且僅有一個協(xié)調器與多個路由器和終端設備組成,本實驗由于不需要較遠距離的傳輸過程,終端節(jié)點相互之間以及節(jié)點與協(xié)調器之間不受距離因素影響,所以本采集網(wǎng)絡不添加多余的路由節(jié)點,以避免不必要的路徑選擇,提高傳輸效率。實驗采用3個終端節(jié)點和一個協(xié)調器的設計方案,3個終端設備可以分散地綁在實驗對象身體上采集運動信息,終端節(jié)點會將加速度值無線傳輸給協(xié)調器,協(xié)調器再經(jīng)過串口發(fā)送給上位機軟件,上位機軟件描繪出各節(jié)點的三軸加速度值的變化曲線圖。

2 ZigBee網(wǎng)絡工作原理及網(wǎng)絡拓撲
    實現(xiàn)整個ZigBee無線網(wǎng)絡的功能,其核心就是ZigBee協(xié)議棧,本文采用的是美國TI公司推出的Z-stack協(xié)議棧[5]。在Z-stack協(xié)議中添加了操作系統(tǒng)抽象層OSAL(Operating System Abstraction Layer),該層好比一個簡化的實時操作系統(tǒng),實現(xiàn)的方式是建立一個多任務鏈表,鏈表中存放著協(xié)議棧每層的處理函數(shù)名,即指向每層處理函數(shù)的指針,并賦給每個處理函數(shù)連續(xù)的任務ID號。當程序運行時,就會不斷地遞增任務ID號來查詢某任務是否有事件觸發(fā),同時每一個觸發(fā)事件都伴隨一些數(shù)據(jù)傳遞,系統(tǒng)將事件和它的數(shù)據(jù)封裝成一個消息,為此OSAL層維護了一個消息隊列,每一個任務處理事件時會調用消息接收函數(shù)來取得自己的數(shù)據(jù)包。
    ZigBee網(wǎng)絡拓撲結構分為星形網(wǎng)絡、網(wǎng)狀網(wǎng)絡以及樹狀網(wǎng)絡。由于人體動作信息測量的終端節(jié)點相互距離短,測試環(huán)境在室內測量,實驗采集節(jié)點數(shù)為3個,數(shù)據(jù)容量需求小,所以采用結構簡單、速率較快的星形網(wǎng)絡來實現(xiàn)[6]。
3 無線傳感網(wǎng)絡系統(tǒng)實現(xiàn)
3.1終端節(jié)點設計

   (1)硬件組成
 本文系統(tǒng)的終端節(jié)點以及協(xié)調器節(jié)點均采用TI公司的CC2530芯片設計。這款芯集成了一個高性能的RF收發(fā)器與一個增強型8051微處理器、8 KB的RAM、32/64/128/256 KB閃存以及一套強大的外設集[7]。終端節(jié)點的硬件結構圖如圖2所示,該節(jié)點模塊主要由傳感器模塊、CPU內核、RF射頻模塊、A/D轉換模塊、DMA控制模塊、電源模塊以及晶振模塊組成。其中加速度傳感器模塊采用飛思卡爾公司的MMA7361L加速度傳感器,這是一種低功耗、高精度、模擬量輸出的三軸加速度傳感器,本實驗采用1.5 g精度模式,其精度為800 mV/g。

    (2)軟件設計
    終端節(jié)點的軟件設計要滿足低功耗、采集速度快、保證一定的精度要求等特點。本系統(tǒng)ZigBee無線網(wǎng)絡的開發(fā)平臺采用IAR Systems公司的IAR 2007開發(fā)平臺。編程采用模塊化思想,分別有加速度傳感器驅動模塊、ADC轉換模塊、DMA驅動模塊、通信協(xié)議模塊以及中斷處理模塊。為將讀取的加速度模擬量值轉換為可存儲的數(shù)字量值,需要開啟A/D轉換,與傳感器三軸連接的GPIO口必須設置為ADC外設引腳。為了減輕CPU內核的負擔,降低轉換時間,提高收發(fā)速率,本實驗采用直接存取訪問(DMA)控制器將加速度值從A/D轉換模塊不經(jīng)過CPU直接傳送到RF接收緩存器中,再傳送給協(xié)調器單元[8]。終端節(jié)點的程序流程圖如圖3所示。

    MMA7361L三軸加速度器所測得的加速度值為模擬量,經(jīng)過A/D裝換后得到對應的數(shù)字量,本實驗用線性插值法計算出與實測數(shù)字量對應的加速度值。具體公式如下:

其中Dig為測得模擬量; A為所求的加速度值; U為電壓,其量程為0 V~3.3 V; G為重力加速度,其量程為-1.5 g~1.5 g;C為常數(shù),該A/D轉換的有效位共9位,故29為512。
3.2 協(xié)調器設計
    協(xié)調器硬件設計與終端節(jié)點類似,協(xié)調器軟件實現(xiàn)主要分為網(wǎng)絡管理、數(shù)據(jù)上傳功能。網(wǎng)絡管理包括了創(chuàng)建ZigBee網(wǎng)絡,允許新的終端節(jié)點加入網(wǎng)絡并分配16位網(wǎng)絡地址,接收網(wǎng)絡中各節(jié)點數(shù)據(jù),向網(wǎng)絡各節(jié)點發(fā)送操作命令,綁定網(wǎng)絡節(jié)點等操作。數(shù)據(jù)上傳則是與上位機的通信模塊,在接收到了某終端節(jié)點的數(shù)據(jù)后立即送至上位機,才能使上位機同步的做出加速度值變化曲線圖。為此,協(xié)調器沿用DMA控制器將RF收發(fā)緩沖器的數(shù)據(jù)不通過CPU內核直接發(fā)送至UART串口,這樣可以保證傳輸速率同時不加重CPU負擔[9]。協(xié)調器的軟件設計過程如圖4所示,網(wǎng)絡中有3個終端采集節(jié)點,所以要在確認與3個節(jié)點都通信成功以后再進行數(shù)據(jù)采集工作。

4 上位機軟件設計與實現(xiàn)
    上位機監(jiān)測軟件是在Visual Studio開發(fā)環(huán)境下自定義編寫的。軟件界面上能顯示協(xié)調器向上位機串口所發(fā)送的數(shù)據(jù),經(jīng)過處理后分別可顯示出各終端節(jié)點的網(wǎng)絡短地址以及對應的三軸加速度X、Y、Z實時變化的數(shù)值,最后在每個節(jié)點對應的圖框中顯示三軸的變換曲線趨勢圖,以紅、藍、綠三色線分別表示不同的方向。測試結果如圖5所示,圖中有A、B、C 3個終端采集節(jié)點,分別固定在人體的手臂以及兩腿腳踝處。前兩幅曲線圖采集的是走路時左右腳的加速度值變換,圖中的波峰波谷振動區(qū)域就是抬腳落地的過程,平穩(wěn)區(qū)則是腳和地面接觸的過程;第三幅曲線圖采集的是手臂來回擺動加速度值變化曲線,可以從X、Y方向上明顯看出周期性變化,Z方向也有小幅變化,不明顯的原因是Z方向幾乎垂直于手臂擺動的運動平面。

 

 

    將ZigBee網(wǎng)絡用于采集人體動作信息,介紹了采集網(wǎng)絡以及檢測平臺的總體方案,ZigBee協(xié)議棧的工作原理及網(wǎng)絡拓撲,終端節(jié)點以及協(xié)調器的軟硬件設計,并對系統(tǒng)進行測試。測試結果表明,利用ZigBee網(wǎng)絡星形拓撲能夠較好地采集到各節(jié)點加速度值并上傳,通過自定義編寫的監(jiān)測軟件可以觀察加速度值的變化曲線,從而分析人體動作的變化。該系統(tǒng)方案實現(xiàn)了對人體動作信息的采集,利用該采集網(wǎng)絡進行二次開發(fā),分析動作類別,模擬出人體的運動軌跡,可應用于更廣闊的平臺。
參考文獻
[1] 薛洋.基于單個加速度傳感器的人體運動模式識別[D].廣州:華南理工大學,2011.
[2] 謝小芳,黃俊,譚成宇.基于RFID的電力溫度監(jiān)控系統(tǒng)的軟件分析與設計[J].電子技術應用,2013,39(1):23-26.
[3] 劉溯. 基于ZigBee技術的工業(yè)數(shù)據(jù)采集系統(tǒng)設計及實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學, 2011.
[4] 原羿,蘇鴻根.基于ZigBee技術的無線網(wǎng)絡應用研究[J].計算機應用與軟件, 2004, 21(6): 89-91.
[5] 陳志奎, 李良. 基于ZigBee的智能家庭醫(yī)保系統(tǒng)[J].計算機研究與發(fā)展, 2010,47(2):355-360.
[6] Instrument T. Z-Stack-ZigBee protocol stack[Z]. 2009.
[7] 宋冬,廖杰,陳星,等.基于 ZigBee和GPRS的智能家居系統(tǒng)設計[J]. Computer Engineering, 2012,38(23):243-246.
[8] Instruments T. Z-Stack User′s Guide For SmartRF05EBand CC2530[EB/OL].(2010-01-19)[2012-04-18].http://www.ti.com.
[9] Instruments T. CC2530 data sheet[EB/OL].(2010-10-05)[2012-09-14].http://www.ti.com.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。