嵌入式技術(shù)應(yīng)用表面肌電信號采集儀設(shè)計
這里涉及到的便攜式肌電采集儀小巧方便,結(jié)構(gòu)簡單,性能穩(wěn)定,可以隨身攜帶,可由電池供電,一般用于運動員的訓(xùn)練中。本文主要介紹表面肌電信號采集儀的軟硬件設(shè)計與實現(xiàn)。
本文引用地址:http://www.ex-cimer.com/article/201612/324435.htm1 硬件系統(tǒng)總體設(shè)計
該系統(tǒng)的控制核心選擇Atmel公司的AT91SAM7SE512處理器。AT91SAM7SE512是一款32位嵌入式微處理器,可針對交互式終端類和工業(yè)控制類等多種嵌入式應(yīng)用。AT91SAM7SE512提供了豐富的外圍設(shè)備接口,包括USB,UART,SPI,TWI(I2C)和系統(tǒng)高速并行BUS等總線接口,從而減小了添加、配置附加外圍接口的困難與開銷,為用戶開發(fā)簡化了硬件和軟件設(shè)計,節(jié)省了系統(tǒng)成本。系統(tǒng)的整體結(jié)構(gòu)如圖1所示。
基于AT91SAM7SE512核心板的底板上配備了8 MB的SDRAM,l GB的NANFLASH等存儲芯片,對外提供SPI,UART,TWI(I2C),USB及高速并行BUS等通信接口,并對其余外部模塊(表面肌電信號采集模塊、人機(jī)接口模塊、Xbee無線通信模塊等)進(jìn)行統(tǒng)一調(diào)度。
整個系統(tǒng)的工作流程如下:兩個通道的表面肌電信號被表面電極拾取,首先通過硬件放大和模擬濾波后送入多通道16 b ADC中進(jìn)行2 500 Hz采樣與A/D轉(zhuǎn)換;轉(zhuǎn)換好的雙通道數(shù)據(jù)通過SPI總線接口送入AT91SAM7SE512中進(jìn)行處理。處理分兩種情況:在沒有連接使用PC端時,本地進(jìn)行實時濾波、簡單分析、顯示、存儲;在連接使用PC端時,通過USB接口或者Xbee無線通信模塊將數(shù)據(jù)實時傳輸給PC端處理。另外,在已有存儲數(shù)據(jù)的情況下,可以進(jìn)行表面肌電波形的回放。以上所有人機(jī)交換操作是通過采用帶觸摸功能的液晶顯示屏(320×240彩色分辨率)實現(xiàn)的。
2 軟件系統(tǒng)總體設(shè)計
隨著嵌入式系統(tǒng)的廣泛應(yīng)用,傳統(tǒng)的前/后臺程序開發(fā)機(jī)制已經(jīng)不能滿足日益復(fù)雜的需求,因而現(xiàn)在常采用嵌入式實時操作系統(tǒng)RTOS開發(fā)實時多任務(wù)系統(tǒng)。
嵌入式實時操作系統(tǒng)一般可以提供多任務(wù)的任務(wù)調(diào)度、時間管理、任務(wù)間通信和同步以及內(nèi)存管理等重要服務(wù),使得嵌入式應(yīng)用程序易于設(shè)計和擴(kuò)展。采用RTOS可以使嵌入式產(chǎn)品更可靠,開發(fā)周期更短。μC/OS-Ⅱ以其本身所具有的源碼開放,代碼規(guī)模極小,運行穩(wěn)定,執(zhí)行效率高,實時性好等優(yōu)點在諸多RT0S中擁有自己的一席之地。代碼采用ANSIC編寫,具有很強(qiáng)的可移植性和較好的可裁剪性,在移植過程中只需對與處理器相關(guān)的一些代碼進(jìn)行修改。
同時為了進(jìn)一步增強(qiáng)軟件的可操作性,該系統(tǒng)在μC/OS-Ⅱ的基礎(chǔ)上移植了μC/GUI,用作用戶圖形界面設(shè)計。μC/GUI是由Micrium公司專門針對嵌入式系統(tǒng)開發(fā)的一款圖形開發(fā)系統(tǒng)。它用于為任何使用LCD圖形顯示的應(yīng)用提供高效的獨立于處理器及LCD控制器的圖形用戶接口,適用于單任務(wù)或者多任務(wù)系統(tǒng)環(huán)境,并適用于任意LCD控制器和CPU下任何尺寸的真實顯示或虛擬顯示。
另外,為了方便對于用戶資料和肌電數(shù)據(jù)的存儲與操作,在SD卡存儲機(jī)制上,移植了FATFS文件系統(tǒng)。FATFS是一種完全免費開源的FAT文件系統(tǒng)模塊,是專門為小型嵌入式系統(tǒng)而設(shè)計的。它完全用標(biāo)準(zhǔn)C語言編寫,所以具有良好的硬件平臺獨立性,可以移植到多種平臺而只需做簡單的修改。需要使用者編寫移植代碼的是FATFS提供的底層接口,包括存儲介質(zhì)讀/寫接口DiskIO和供給文件創(chuàng)建修改時間的實時時鐘。
2.1 系統(tǒng)軟件架構(gòu)
軟件系統(tǒng)的整體架構(gòu)圍繞表面肌電采集儀的幾個基本功能來設(shè)計,結(jié)構(gòu)如圖2所示。主要分成下面幾個部分:
(1)肌電采集顯示,用于控制對肌電信號的實時采集、分析處理、顯示和存儲;
(2)本地肌電回放,用于對已存儲在SD卡中的肌電數(shù)據(jù)進(jìn)行回放顯示,并支持對無用肌電數(shù)據(jù)文件的刪除操作;
(3)肌電采集傳輸,選擇傳輸模式向PC端實時發(fā)送采集的肌電數(shù)據(jù);
(4)用戶設(shè)置,用于設(shè)置用戶ID及實時時鐘初始值等參數(shù)。以上各功能均在μC/GUI用戶圖形界面上實現(xiàn)人機(jī)交互。
如圖2所示,依據(jù)表面肌電采集儀的功能要求,在μC/OS-Ⅱ下設(shè)計了肌電采集任務(wù);液晶屏顯示任務(wù);觸摸屏輸入任務(wù);肌電回放任務(wù)。其他所需功能均做成模塊,集成在上述某一任務(wù)中。
評論