劉光宇
摘要:人體步態研究在醫療康復治療、生物識別和仿生機器人等多個領域中具有重要的意義,結合中國人口老齡化的步伐迅速推進,醫療資源緊張,低成本便攜的醫療設施的研制可以作為緩解我國醫療現狀的一個方向。本文主要探討的就是步態監測系統的嵌入式軟件設計與實現相關內容。
關鍵詞:步態監測;嵌入式軟件;軟件設計
引言:
步態分析是指通過對人行走時的姿態進行觀察和力學等方面的分析,得到一系列距離、角度、時間和受力等方面的參數和信號曲線等。相比于基于視覺的步態監測設備復雜昂貴且只能提供直觀的運動圖像而言,基于慣性傳感器的步態分析節點靈巧方便攜帶,耗資較小,可在絕大部分環境下多次采樣,不受光線色系重合等影響,最重要的是慣性器件精度較高可感受微小變化,并提供量化的參數為進一步的數據和圖像分析提供更準確的依據,近年來已受到了廣泛的應用。
1.系統硬件平臺介紹
1.1硬件平臺簡介
步態監測系統的嵌入式硬件平臺由基于TI的超低功耗單片機MSP430F169的兩個下位機數據采集緩存節點,一個上位機數據存儲節點和一塊給三個節點提供電的8.4V鏗聚合物電池構成。三個節點共用一個電源,下位機節點與上位機節點之間通過雙絞線連接,硬件構成如圖1所示,圖中紅色標注的部分1為上位機節點,2為電源,3是兩個下位機節點。
硬件系統中上位機和下位機節點均以MSP430F169為微處理器控制實現各種功能,該單片機以低功耗著稱,具有精簡指令集、強大的處理能力、運算速度快、豐富的片內資源、高性能模擬技術與豐富的片上外圍模塊以及系統穩定等特點。MSP430F169中16位CPU通過總線連接到存儲器和外圍模塊,具有JTAG接口可直接進行嵌入式仿真。片內有復位模塊、時鐘模塊、定時器模塊、低功耗結構、硬件乘法器、片內Flash存儲器模塊、比較器模塊、USART模塊、DMA控制器,P1}P6.s和COM端口實現I/O和片內外設功能,還有多個通用寄存器和特殊功能寄存器。本系統的設計中使用了單片機的復位、時鐘模塊為節點提供時鐘,P1~P6端口分別使用通用I/O或片內外圍功能實現傳感器數據的讀取、指示LED電平輸出、按鍵動作電平輸入等功能,RS-485總線使用USART模塊UART模式實現數據從下位機向上位機的傳輸,上位機中USART模塊使用SPI模式對SD卡進行讀寫操作,下位機中USART模塊使用SPI模式對片外Flash進行讀寫操作。
1.2下位機硬件介紹
兩個下位機節點硬件結構完全相同,MSP430F169芯片作為微處理器控制三個功能模塊,分別是搭載ADIS16405慣性測量單元的傳感器模塊采集步態活動中的加速度和角速度數據并以數字量的形式輸出至與單片機相連的端口,片外Flash模塊可連續將數據采集過程中一定量的數據暫存在AT45DB 161芯片中,RS-485總線模塊以MAX3485芯片為接口將Flash中的數據傳輸到上位機中。
1.3上位機硬件介紹
上位機節點硬件結構與下位機有所不同,由MSP430F169芯片作為微處理器控制兩個功能模塊,MAX3485采集芯片作為接口的RS-485總線模塊負責向下位機發送操作指令和接收下位機慣性測量單元采集的原始數據,并將所有數據經過單片機控制存儲在SD卡中。
2.系統軟件設計
2.1軟件總流程
步態監測樣機的使用流程如下:
使用者將兩個下位機節點固定在雙腳外側,上位機固定在腰部,立正雙腿站直,雙腳并齊腳尖向前;
打開上位機總開關為三個節點同時供電,兩個下位機節點進行慣性測量單元的初始校正和Flash芯片的格式化過程,此階段使用者需保持靜止不動大概30s左右。
初始校正結束慣性傳感器開始采樣,下位機LED閃爍提示開始采集數據,使用者進行步態活動,采集中不斷將一定量的數據緩存至Flash芯片中。使用者步態活動結束,慣性傳感器停止采集數據,指示數據采集的LED停止閃爍。打開兩個下位機RS-485總線開關,按下上位機按鍵1,固定在左腳的下位機LED閃爍,開始將Flash中數據通過總線傳輸到上位機SD卡中,數據傳輸完畢LED停止閃爍,關閉該下位機節點RS-485總線開關。固定在右腳的下位機進行同樣的操作過程,數據傳輸結束時將雙腳下位機節點中采集的數據全部存儲在SD卡中。將SD卡中數據導入PC端步態軟件進行存儲、處理和分析,查看監測結果,整個監測過程結束。
按照上述流程,整個系統的軟件設計流程圖如圖2所示。
2.2軟件功能模塊介紹
本文所設計的步態監測系統要實現采集測試者步行活動中的數據,并將這些原始數據經過Flash緩存后通過RS485總線上傳到SD卡中。按照所實現的功能,整個系統的嵌入式軟件分為以下四個模塊。
1、采集模塊:數據采集在硬件平臺的下位機完成,下位機上電后開始工作,首先對慣性測量單元ADIS16405進行端口初始化和SPI初始化,通過操作寄存器進行初始的校準,使靜止時慣性傳感器輸出偏置消除后,單片機的SPI總線開始采集步態活動中的加速度和角速度數據,慣性測量單元輸出的數據進入單片機RAM中。
2、緩存模塊:數據緩存也在硬件平臺的下位機完成,由于MSP430F169的內部RAM容量為2KB只能存儲140個采樣點的數據,所以在采集加速度和角速度信息過程中收集一定容量數據后隨即緩存在片外Flash芯片AT45DB 161中。上電后對Flash模塊進行初始化,采集36個數據包后向Flash中寫一頁,如此不間斷循環至步態活動結束。
3、傳輸模塊:數據傳輸由硬件平臺的下位機和上位機配合完成,步態活動結束后對RS-485總線進行初始化,單片機的USART模塊以異步通信UART模式工作。上位機按鍵1按下后,左腳下位機Flash中的數據開始進入發送緩沖器,上位機以UART中斷的方式做數據的接收,該節點數據接收完畢后對右腳下位機做類似操作。
4、存儲模塊:數據存儲在硬件平臺的上位機完成,步態活動結束后對SD卡進行初始化操作,RS-485總線將數據從下位機Flash中傳輸到上位機后,單片機USART模塊工作在同步通信sPI模式將數據以一頁為單位寫入SD卡指定位置,直至兩個下位機節點中所有原始數據全部存儲在卡中一段連續空間。
3.總結語
本文所設計并實現的步態監測系統的概況,介紹了軟件設計的四個功能模塊,數據采集模塊、數據緩存模塊、數據傳輸模塊和數據存儲模塊實現采集測試者步行活動中的數據,并將這些原始數據經Flash緩存后通過RS-485總線上傳到SD卡中等一系列功能。隨著集成電路技術的不斷進步和傳感器網絡的迅速發展,使用慣性測量單元設計可穿戴人體步態監測系統成為研究的熱點。