• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于nRF905和MSP430的慣性傳感器無線數(shù)傳系統(tǒng)設(shè)計*

      2013-10-22 07:24:18寧運琨熊顯名趙國如
      傳感器與微系統(tǒng) 2013年5期
      關(guān)鍵詞:寄存器中斷命令

      寧運琨,熊顯名,趙國如

      (1.桂林電子科技大學(xué) 電子工程與自動化學(xué)院 ,廣西 桂林 541004;2.中國科學(xué)院深圳先進技術(shù)研究院生物醫(yī)學(xué)與健康工程研究所,廣東深圳 518055)

      0 引言

      跌倒是對老年人健康乃至生命的嚴重威脅,在我國,跌倒是65歲以上老年人首位傷害死因[1]。在對人體跌倒實驗數(shù)據(jù)分析階段,目前普遍采用的方法是在傳感器節(jié)點模塊上內(nèi)置存儲介質(zhì),實時存儲姿態(tài)數(shù)據(jù),然后后期用Matble分析處理,采用該方法,測量數(shù)據(jù)不容易丟失,但分析數(shù)據(jù)不夠靈活??紤]到人體佩戴的方便性和功耗,不適合在傳感器節(jié)點端安裝人機交互模塊(按鍵或觸摸屏等)進行配置和顯示。在數(shù)據(jù)采集系統(tǒng)中,有線方式可靠、穩(wěn)定,但需要在測量現(xiàn)場布置大量的導(dǎo)線或電纜,安裝、拆卸都比較復(fù)雜,靈活性差,成本高[2]。而射頻通信具有成本低,布線簡單的優(yōu)點,特別適用于電池供電的手持或者人體佩戴設(shè)備。

      本文提出一種基于nRF905的數(shù)據(jù)包和配置命令無線傳輸?shù)能浻布鉀Q方案,可以實現(xiàn)將節(jié)點采集到的加速度和角速度通過射頻方式上傳到界面友好的PC機顯示控制和分析,無線傳感器節(jié)點上傳感器的量程、采樣率等以及數(shù)據(jù)采集命令均可以通過PC機可視化操作。

      1 系統(tǒng)硬件結(jié)構(gòu)與功能

      如圖1所示,系統(tǒng)主要由無線傳感器節(jié)點、基站和上位機組成。節(jié)點模塊通過腰帶綁定在人體腰部,確保傳感器三維坐標隨同人體坐標而變化,節(jié)點的MCU負責(zé)將傳感器數(shù)據(jù)通過無線方式發(fā)往基站,并可以接收基站上位機發(fā)來的各種配置命令從而對傳感器和MSP430配置,而基站負責(zé)將接收的數(shù)據(jù)發(fā)送到上位機。上位機可實現(xiàn)跌倒過程的加速度和角速度波形顯示控制、配置命令發(fā)送等功能。

      節(jié)點的電源管理單元包括充電電路和穩(wěn)壓電路,采用3.7 V鋰電池給各模塊供電。

      圖1 系統(tǒng)硬件結(jié)構(gòu)圖Fig 1 Structure diagram of system hardware

      1.1 主控芯片、射頻模塊和傳感模塊介紹

      主控芯片采用了TI公司的基于16位精簡指令集架構(gòu)的微控制器MSP4302418作為處理器單元,該芯片電源電壓范圍為1.8~3.6 V,具有5種節(jié)能模式,從待機模式中喚醒僅需不到1 μs的時間,內(nèi)含116 kB+256 B的FLASH,8 kB的RAM,在芯片上集成了4個獨立的SPI同步串行接口和2個RS—232異步串行接口,可以方便地與PC機和采用SPI通信的MEMS硬件模塊連接。MSP4302418 P1.P2口具有外部中斷能力,可以對P1,P2口的每個引腳獨立的設(shè)置為上升沿或者下降沿中斷,在功耗體積要求苛刻而運算處理速度要求較快的場合得到了廣泛的應(yīng)用[3]。

      系統(tǒng)采用NORDIC公司的nRF905芯片,配上外圍電路和天線作為射頻模塊,該芯片采用32引腳的QFN 5 mm×5 mm封裝結(jié)構(gòu),nRF905是工作于433/868/915 MHz ISM頻段的單片射頻收發(fā)器,最高數(shù)據(jù)傳輸速率為50kps,收發(fā)模式切換時間小于650 μs,內(nèi)置CRC檢錯和高效GFSK調(diào)制,抗干擾能力強,125頻道,通過SPI總線可以對nRF905進行點對多點地址控制和頻率、功耗等控制,滿足多點通信和調(diào)頻通信的要求。采用1.9~3.3 V的工作電壓,待機模式下僅消耗2.5 μA的電流,在發(fā)送模式下,當(dāng)發(fā)射功率為10 dBm的時候僅消耗30 mA的電流,接收模式下僅消耗12.2 mA的電流[4]。

      傳感器組件采用美國 InvenSense公司的 MPU6000,4 mm×4 mm ×0.9 mm QFN 超小封裝,MPU—6000整合了3軸陀螺儀、3軸加速器,量程分別為±2,±4,±8,±16gn;±250°/s,±500°/s,±1000°/s,±2000°/s。

      1.2 硬件電路

      如圖2所示,MSP430自帶同步串行總線接口,相比普通單片機的軟件模擬SPI方式,它不需要CPU過多的干預(yù),使得CPU有更多的時間處理其他事務(wù),SPI總線的時鐘、相位、極性、中斷等可以通過相應(yīng)的寄存器進行靈活的配置。相比I2C方式,具有速度快、編程簡單的優(yōu)點,故MSP430采用四線制SPI總線與MPU6000和nRF905進行數(shù)據(jù)傳輸。在節(jié)點中MPU6000和nRF905都作為從機,時鐘和片選都由MSP430控制,MPU6000中斷輸出線 INT用于當(dāng)MPU6000三軸上的所有傳感器數(shù)據(jù)準備好,INT置高,通知MSP430進行SPI讀取數(shù)據(jù)。nRF905的3根狀態(tài)指示線:CD(當(dāng)載波偵聽置1)、AM(當(dāng)?shù)刂菲ヅ渲?)、DR(當(dāng)數(shù)據(jù)準備好置1)分別與 P2.3,P2.4,P2.5 相連,作為 MCU 的中斷輸入線。模式控制線用于模式轉(zhuǎn)換[5],如表1所示,三線不同組合指示nRF905不同的工作模式。基站的MSP430與nRF905的硬件電路一樣,只是多了串口模塊,采用RS—232與PC機通信,雖然效率比不上并口,但是具有線路少、成本低、結(jié)構(gòu)簡單的優(yōu)點,而且基站的MSP430本身就帶有波特率可設(shè)置的異步串行硬件接口,為數(shù)據(jù)通信提供了方便。

      圖2 節(jié)點硬件電路圖Fig 2 Circuit diagram of node hardware

      表1 nRF905工作模式Tab 1 Operating mode of nRF905

      2 系統(tǒng)軟件設(shè)計

      系統(tǒng)軟件分為節(jié)點數(shù)據(jù)采集、節(jié)點數(shù)據(jù)包無線發(fā)送、節(jié)點命令接收處理,基站數(shù)據(jù)包接收、基站命令中轉(zhuǎn),系統(tǒng)采用模塊化的設(shè)計方法,兼顧功耗與運算速率,充分利用MSP430的中斷系統(tǒng)來確保數(shù)據(jù)的實時傳輸。

      2.1 慣性傳感器數(shù)據(jù)命令格式

      為了提高節(jié)點端MSP430的處理速率和充分發(fā)揮PC機強大運算能力和面向?qū)ο罂梢暬幊痰膬?yōu)勢,數(shù)據(jù)包僅包括三軸加速度和三軸陀螺儀原始數(shù)據(jù)和中斷狀態(tài)寄存器內(nèi)容,MPU6000內(nèi)置3種運動狀態(tài)檢測:自由落體、運動、零運動,在相應(yīng)配置寄存器中使能相應(yīng)狀態(tài)檢測中斷之后,當(dāng)MPU6000檢測到的加速度閾值低于或者高于設(shè)定的加速度閾值時,就會觸發(fā)中斷,中斷狀態(tài)寄存器中相應(yīng)標志位置1,MPU6000運動狀態(tài)檢測系統(tǒng)的運用能夠降低CPU處理跌倒算法的難度。從原始數(shù)據(jù)到相應(yīng)物理數(shù)據(jù)的轉(zhuǎn)換和波形可視化分析的工作,都由上位機完成,數(shù)據(jù)包格式如表2所示,Acc-X,Gyr-X分別代表X軸16位補碼(實質(zhì)上是高8位和低8位寄存器數(shù)據(jù)的組合)加速度和陀螺儀原始數(shù)據(jù),均占2個字節(jié),Y,Z依次類推,0xab代表包頭,INT-STATUS代表8位中斷狀態(tài)寄存器,數(shù)據(jù)包一共14個字節(jié)。

      表2 數(shù)據(jù)包格式Tab 2 Data packet format

      在人體跌倒慣性數(shù)據(jù)的傳輸實驗中,需要結(jié)合各種日常生活行為和跌倒行為進行對比分析(比如:快速坐下、緩慢蹲下,跳躍等),MPU6000需要根據(jù)實驗條件設(shè)定不同的加速度、角速度量程、采樣率、濾波器頻率等。這些配置都由上位機以命令包的形式下發(fā),然后通過節(jié)點無線接收、解析后再通過SPI寫入配置寄存器。命令包如表3所示,Reg1—a和Reg1—d都是1個字節(jié)寬度,分別代表包中第一個寄存器的地址編號和配置內(nèi)容,后面依次類推。一個命令包共32個字節(jié),0xba代表命令包包頭,一條命令最多只能同時配置8個MPU6000寄存器,后面15個字節(jié)是MSP430和nRF905的配置信息,包括節(jié)點MSP430的SPI配置和啟動采集、停止采集等特殊命令。

      表3 命令包格式Tab 3 Command packet format

      2.2 節(jié)點軟件設(shè)計

      節(jié)點主要包括MPU6000和nRF905初始化,慣性數(shù)據(jù)采集、打包處理,數(shù)據(jù)包無線發(fā)送,中斷響應(yīng)接收幾大模塊。流程圖如圖3所示。當(dāng)系統(tǒng)進行一系列的初始化之后,節(jié)點軟件系統(tǒng)進入待機模式(低功耗模式LPM0)并且開啟中斷等待命令,當(dāng)nRF905接收到載波頻段匹配和接收到的數(shù)據(jù)包中的地址與本身地址一致的時候,AM引腳即可置高,MSP430馬上退出LPM0并觸發(fā)中斷。以PC機端的啟動命令來開啟“采集數(shù)據(jù)—發(fā)送數(shù)據(jù)”的循環(huán),以結(jié)束命令結(jié)束該循環(huán)并返回待機模式。這為靈活控制采集數(shù)據(jù)的時段和增強電池續(xù)航能力提供了良好解決方案。為了保證該循環(huán)處理數(shù)據(jù)的實時性,所有的命令配置的接收和處理都放在P2.4(AM)中斷服務(wù)函數(shù)。因為節(jié)點端數(shù)據(jù)包發(fā)送完畢同樣會令DR端置1,所以,節(jié)點若利用DR來通知命令接收將會引起嚴重干擾,只能采用AM檢測。系統(tǒng)軟件中在初始化和發(fā)送數(shù)據(jù)后必須根據(jù)表1讓nRF905進入接收模式,否則,不能接收命令。

      2.3 基站軟件設(shè)計

      基站的初始化大部分與節(jié)點類似,但多了串口初始化部分,軟件采用9600 kbs的波特率通信。流程圖如圖4所示。當(dāng)節(jié)點不發(fā)送數(shù)據(jù)的時候,基站可以進入低功耗模式或者做其他事務(wù)處理。經(jīng)測試發(fā)現(xiàn),系統(tǒng)若采用輪詢方式接收數(shù)據(jù)包,當(dāng)節(jié)點端數(shù)據(jù)包發(fā)送太快會出現(xiàn)丟包現(xiàn)象,而采用外部中斷接收可以避免上述現(xiàn)象,當(dāng)基站的nRF905的DR端置1,說明數(shù)據(jù)已經(jīng)接收成功,并放到了nRF905的接收寄存器,觸發(fā)P2.5(DR)上升沿中斷,之后系統(tǒng)退出低功耗或者終止其他事務(wù)處理,之后在P25外部中斷服務(wù)函數(shù)里面,令nRF905進入待機模式,通過SPI讀取nRF905接收數(shù)據(jù)寄存器的內(nèi)容,再通過RS—232發(fā)往上位機。為了快速響應(yīng)命令,基站的MCU采用串口中斷接收上位機的命令,流程圖如圖4所示。

      圖3 節(jié)點軟件流程圖Fig 3 Flow chart of node software

      圖4 基站軟件流程圖Fig 4 Flow chart of base station software

      3 上位機軟件設(shè)計

      上位機采用VC++6.0開發(fā),上位機通過調(diào)用動態(tài)鏈接庫Pcomm.dll來進行串口通信,避免了基于MSComm控件的通信函數(shù)中數(shù)據(jù)類型轉(zhuǎn)換和配置的復(fù)雜性,并減少了應(yīng)用程序執(zhí)行時所占內(nèi)存空間[6],可以通過按鈕、文本框等操作對波特率、串口端口號、節(jié)點各個模塊進行可視化配置,上位機利用繪圖的雙緩沖技術(shù),有效避免了繪制波形過程中的閃爍,并且提高繪圖速率。上位機還利用了多線程技術(shù),X,Y,Z軸的加速度和陀螺儀六通道數(shù)據(jù)都可以實時采集并顯示波形。結(jié)合MPU6000的運動狀態(tài)中斷寄存器檢測結(jié)果,可以對波形進行觸發(fā)控制,波形數(shù)據(jù)還可以保存打印輸出。

      4 實驗結(jié)果

      系統(tǒng)調(diào)試分為命令測試和數(shù)據(jù)測試,篇幅有限,僅給出部分測試數(shù)據(jù)。表4為節(jié)點處于靜止條件,根據(jù)傳感器量程不同和MPU6000的X軸所處在的姿態(tài)不同,對應(yīng)的X軸加速度測量數(shù)據(jù),圖5是節(jié)點佩戴到人體身上后人體跌倒過程中上位機捕獲到的三軸加速度、三軸角速度數(shù)據(jù)。根據(jù)表中可以看出,采集的數(shù)據(jù)和實際很相符,無線傳輸具有良好的可靠性。

      圖5 上位機捕獲到的加速度和角速度波形Fig 5 Acceleration and angular velocity wave captured by upper computer

      5 結(jié)束語

      該系統(tǒng)的數(shù)據(jù)傳輸是在單一節(jié)點單一基站之間進行實驗該系統(tǒng)的數(shù)據(jù)傳輸是在單一節(jié)點單一基站之間進行實驗的,因此,功能上有一定的局限性。因為軟件中采用中斷方式處理數(shù)據(jù),使得無論基站還是節(jié)點都可以實現(xiàn)實時發(fā)送接收,實時響應(yīng)命令,數(shù)據(jù)包不丟失,該系統(tǒng)在多節(jié)點多基站構(gòu)成的無線傳感器網(wǎng)絡(luò)或者其他無線傳輸應(yīng)用系統(tǒng)中也有一定的參考價值。

      表4 X軸加速度值Tab 4 Acceleration value of X axis

      [1] 張 玉.老年跌倒研究概況與進展[J].中國老年學(xué)雜志,2008,28(5):929 -931.

      [2] 趙建華,韓玉杰.基于nRF905的溫室無線數(shù)據(jù)傳輸系統(tǒng)[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2009,22(6):141-142.

      [3] 沈建華,楊艷琴.MSP430系列16位超低功耗單片機原理與實踐[M].北京:北京航空航天大學(xué)出版社,2008.

      [4] 蔣 博.nRF905的無線數(shù)據(jù)傳輸系統(tǒng)[J].工業(yè)儀表與自動化裝置,2006(3):59-60.

      [5] 張孝云,江小華.基于nRF905的無線加速度測量系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(17):155 -156.

      [6] 孫 鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.

      猜你喜歡
      寄存器中斷命令
      只聽主人的命令
      Lite寄存器模型的設(shè)計與實現(xiàn)
      移防命令下達后
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      這是人民的命令
      藍色命令
      AT89C51與中斷有關(guān)的寄存器功能表解
      FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
      微處理機(2012年4期)2012-06-13 11:32:24
      黄大仙区| 英德市| 叙永县| 保康县| 定西市| 丰都县| 上饶市| 临清市| 沅江市| 墨竹工卡县| 连南| 乌审旗| 垣曲县| 武宁县| 吴川市| 武胜县| 思茅市| 凌云县| 财经| 隆化县| 化隆| 张掖市| 田林县| 马山县| 东平县| 黎城县| 昆明市| 邵东县| 建湖县| 乌拉特中旗| 淮安市| 刚察县| 嘉鱼县| 轮台县| 眉山市| 宁波市| 天门市| 班玛县| 石台县| 温州市| 宁国市|