基于AT91S的表面肌電信號(hào)采集儀的軟硬件設(shè)計(jì)與實(shí)現(xiàn)
2.2 肌電采集任務(wù)
肌電采集任務(wù)用于對(duì)經(jīng)過(guò)硬件放大與濾波后的雙通道肌電信號(hào)進(jìn)行2 500 Hz采樣與A/D轉(zhuǎn)換,并將其通過(guò)SPI總線接口傳輸至主芯片中以進(jìn)行后續(xù)處理。基于肌電采集的實(shí)時(shí)性要求,在μC/0S-Ⅱ操作系統(tǒng)中,將肌電采集任務(wù)設(shè)置為除系統(tǒng)內(nèi)核使用的優(yōu)先級(jí)外最高的優(yōu)先級(jí),同時(shí)為滿足肌電采集的精確性要求,通過(guò)啟動(dòng)定時(shí)器中斷來(lái)運(yùn)行肌電采集任務(wù)。
肌電采集任務(wù)分兩種情況運(yùn)行:第一種,本地采集顯示,此時(shí)運(yùn)行該任務(wù)前會(huì)被要求輸入存儲(chǔ)文件名,然后在采集肌電同時(shí),調(diào)用下文的肌電濾波模塊進(jìn)行濾波和調(diào)用文件存儲(chǔ)模塊進(jìn)行實(shí)時(shí)存儲(chǔ)數(shù)據(jù),濾波后的肌電數(shù)據(jù)和已采集的時(shí)間會(huì)送到下文液晶屏顯示任務(wù)中同步顯示出來(lái);第二種,肌電采集并與PC端交互,此時(shí)啟動(dòng)任務(wù)需先選擇USB通信與Xbee無(wú)線模塊通信中的一種,然后才能啟動(dòng)肌電采集任務(wù),并將原始肌電數(shù)據(jù)傳輸給PC端進(jìn)行處理。
2.3 肌電回放任務(wù)
為了使用戶能隨時(shí)回放已保存的本地肌電數(shù)據(jù),設(shè)計(jì)了該肌電回放任務(wù)。通過(guò)采用定時(shí)器中斷來(lái)定時(shí)讀取文件中的肌電數(shù)據(jù),并發(fā)送給下文的液晶屏顯示任務(wù)來(lái)實(shí)現(xiàn)波形的復(fù)原顯示。同時(shí),為了便于用戶反復(fù)觀看某一段波形,該任務(wù)支持對(duì)肌電波形的顯示與暫停,以及對(duì)波形顯示的前翻與回翻一屏操作。
2.4 液晶屏顯示任務(wù)
為了使用戶能夠了解系統(tǒng)的當(dāng)前狀態(tài),同時(shí)可使用戶與系統(tǒng)進(jìn)行交互,在μC/OS-Ⅱ和μC/GUI的基礎(chǔ)上設(shè)計(jì)了液晶屏顯示任務(wù)。液晶屏顯示任務(wù)負(fù)責(zé)通告當(dāng)前的系統(tǒng)狀態(tài)與運(yùn)行過(guò)程,包括μC/GUl支持下的各種圖形界面。具體來(lái)說(shuō),這里集成了肌電采集、顯示與回放、時(shí)間顯示、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)USB或Xbee傳輸?shù)鹊膱D形界面。
因?yàn)樵撊蝿?wù)實(shí)時(shí)性要求不高,故對(duì)其設(shè)計(jì)了最低的任務(wù)優(yōu)先級(jí)。
2.5 觸摸屏輸入任務(wù)
為了人機(jī)交互的方便與系統(tǒng)整體的簡(jiǎn)潔,采用觸摸屏實(shí)現(xiàn)人機(jī)交互輸入。該任務(wù)在系統(tǒng)啟動(dòng)時(shí)就開(kāi)始工作,采集并處理用戶通過(guò)觸摸液晶屏輸入的信息,并將得到的用戶命令發(fā)送給μC/0S-Ⅱ與μC/GUl,以完成人機(jī)交互。
由于用戶輸入必須保證一定的實(shí)時(shí)性,以便使用戶不會(huì)感受到系統(tǒng)大的延時(shí),在此對(duì)觸摸屏輸入任務(wù)設(shè)計(jì)了僅低于肌電采集任務(wù)與肌電回放任務(wù)的第三高優(yōu)先級(jí)。
2.6 其他功能模塊
除了以上幾個(gè)任務(wù)之外,設(shè)計(jì)了幾個(gè)功能模塊輔助以上幾個(gè)任務(wù),具體如下:
(1)實(shí)時(shí)時(shí)鐘模塊。在AT91SAM7SE512芯片外擴(kuò)展了一片實(shí)時(shí)時(shí)鐘PCF8563用來(lái)為系統(tǒng)提供實(shí)時(shí)時(shí)鐘值,以便記錄用戶肌電數(shù)據(jù)采集時(shí)的具體時(shí)刻。PCF8563通過(guò)TWI(I2C)接口與AT91SAM7SE512芯片通信。
(2)定時(shí)器中斷模塊。在AT91SAM7SE512芯片中啟動(dòng)定時(shí)器中斷來(lái)支持肌電采集任務(wù)與肌電回放任務(wù)。定時(shí)器中斷頻率設(shè)計(jì)為2 500 Hz,用來(lái)在肌電采集任務(wù)中定時(shí)向ADC發(fā)送采樣轉(zhuǎn)換指令,并讀取雙通道肌電信號(hào)的數(shù)據(jù),或者在肌電回放任務(wù)中定時(shí)從肌電文件中讀取雙通道肌電數(shù)據(jù)。
(3)文件系統(tǒng)模塊。為了方便肌電數(shù)據(jù)在SD卡中的存儲(chǔ)和處理,在以SPI模式讀寫SD卡的基礎(chǔ)上移植了FATFS文件系統(tǒng)模塊來(lái)管理肌電數(shù)據(jù)。FATFS可以使用戶方便地存儲(chǔ)數(shù)據(jù)文件,讀取數(shù)據(jù)文件與刪除無(wú)用文件。
(4)通信模塊。為了使采集的肌電能實(shí)時(shí)傳輸給PC端處理,設(shè)計(jì)USB有線與Xbee無(wú)線兩種通信模塊。USB有線通信,利用片上USB外設(shè)接口實(shí)現(xiàn)與PC端的數(shù)據(jù)交互;Xbee無(wú)線通信,利用片上UART接口操作本地Xbee無(wú)線模塊與PC端的Xbee無(wú)線模塊通信,從而實(shí)現(xiàn)數(shù)據(jù)無(wú)線傳輸?shù)絇C端處理的功能。
(5)用戶設(shè)置模塊。對(duì)每一部設(shè)備而言,均有一些設(shè)置需要用戶更改,如用戶ID等。為便于在掉電狀態(tài)下保存此類信息,采用一片非易失性鐵電存儲(chǔ)器FM24CL64來(lái)保存此類信息。該存儲(chǔ)芯片通過(guò)TWI(I2C)接口與主芯片通信,可隨時(shí)讀取與保存用戶設(shè)置信息。每次系統(tǒng)啟動(dòng)時(shí),都會(huì)自動(dòng)讀入用戶已存儲(chǔ)好的設(shè)置信息。
(6)肌電濾波與分析模塊。表面肌電信號(hào)的頻率范圍為10~500 Hz。由于50 Hz工頻噪聲干擾處于表面肌電信號(hào)能量集中的頻段,且幅值較大,如果不做處理,肌電信號(hào)將被工頻噪聲所淹沒(méi)。因此在本地采集顯示時(shí),選用嵌入式環(huán)境中應(yīng)用廣泛的梳狀濾波器。梳狀濾波器可以有效濾除50 Hz工頻干擾和基線漂移,Q值足夠高,盡量少影響有效肌電信號(hào),并且計(jì)算量很少,且沒(méi)有浮點(diǎn)運(yùn)算,非常適宜用于嵌入式環(huán)境中。另外,為讓用戶直觀地感受肌電信號(hào),在肌電波形顯示窗口旁邊做了一個(gè)可以上下浮動(dòng)的氣球,根據(jù)本地濾波后的肌電數(shù)據(jù)平滑平均并與參考值比較后的兩者差值上下浮動(dòng)。
3 結(jié)語(yǔ)
肌電信號(hào)在基礎(chǔ)醫(yī)學(xué)研究、臨床診斷、康復(fù)工程等方面有著廣泛應(yīng)用,對(duì)它的檢測(cè)分析已成為醫(yī)學(xué)和生物醫(yī)學(xué)工程界研究的熱點(diǎn)問(wèn)題之一。這里研制的表面肌電信號(hào)采集儀,基于嵌入式ARM技術(shù)構(gòu)建,體積小,重量輕,功耗低,通信方便,穩(wěn)定性較好,界面簡(jiǎn)潔人性化,操作方便,在實(shí)踐中證明能夠滿足設(shè)計(jì)要求,能采集到清晰的肌電信號(hào)。采用μC/OS-Ⅱ操作系統(tǒng)與μC/GUI圖形用戶界面,便于后續(xù)研發(fā)中添加功能模塊與新任務(wù)。另外,若前端配用不同的傳感器,該系統(tǒng)還可以實(shí)現(xiàn)對(duì)其他生理信號(hào)的采集和分析處理。
評(píng)論