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