基于Linux和MiniGUI的心電監(jiān)護儀設(shè)計
2. 3. 2 心電采集與顯示
心電數(shù)據(jù)采集采用定時器進行采集和顯示,定時器使用SetTimer 函數(shù)創(chuàng)建,創(chuàng)建時需要指定定時器標識號以及定時時間,當(dāng)定時時間到達時,定時器將會產(chǎn)生MSG _ TIMER 消息,本系統(tǒng)的心電采集頻率為200Hz。
從A/D 寄存器讀取三通道的數(shù)據(jù)存入數(shù)組中,并將數(shù)組中的數(shù)據(jù)在液晶顯示器上繪出。在MiniGUI 中實時繪圖采用GDI,GUI 系統(tǒng)的一個重要組成部分就是GDI,即圖形設(shè)備接口( Graphics Device
Interface) 。通過GDI,GUI 程序就可以在計算機屏幕上,或者其它的顯示設(shè)備上進行圖形輸出,包括基本繪圖和文本輸出。所有繪圖相關(guān)的函數(shù)均需要有一個設(shè)備上下文,為了提高繪圖效率,在這里建立私有設(shè)備上下文,所建立的設(shè)備上下文在整個窗口生存期內(nèi)有效,從而免除了獲取和釋放的過程。利用hdc =GetPrivateClientDC( hDlg) 可獲得私有設(shè)備上下文。然后調(diào)用MoveTo ( HDC hdc, int x, int y) 和LineTo( HDC hdc, int x, int y) 對數(shù)組中的數(shù)據(jù)進行畫線,由于采集到的心電數(shù)據(jù)較小,因此在對其進行畫線之前根據(jù)顯示區(qū)域?qū)λ袛?shù)據(jù)進行適當(dāng)放大,這樣可以使心電波形在液晶顯示器上直觀顯示。
2. 3. 3 心電數(shù)據(jù)分析
在心電數(shù)據(jù)顯示和分析線程中,由于心電信號容易受到各種干擾的影響,為了濾除心電信號中的干擾成分,首先要進行數(shù)字濾波處理,采用FFT 濾波和滑動平均濾波的方法使圖像得以平滑,并采用差分方法進行R 波檢測。當(dāng)采集到5 秒的數(shù)據(jù)的時候,程序啟動心電數(shù)據(jù)分析線程,對存儲在數(shù)組中的心電數(shù)據(jù)進行分析,主要進行R 波檢測,并且在液晶顯示器上顯示。
2. 3. 4 心電界面程序的編譯
心電界面程序首先是在PC 機上編寫的,為了能夠在目標平臺上運行,必須先進行交叉編譯,編譯
如下:
#arm-linux-gcc -I /home /include -L/home /lib-O2 -oxindian xindian.c -lminigui -lmgext -lm -ljpeg-lpthread-lpng
這時生成心電界面程序的可執(zhí)行文件,將其下載到目標平臺中即可運行。
3 結(jié)束語
本文研制的心電監(jiān)護儀采用高性能的ARM9 微處理器為核心,在其上移植Linux 操作系統(tǒng),并用
MiniGUI 進行心電界面開發(fā),能夠?qū)π碾娦盘栠M行采集、波形顯示及處理,實現(xiàn)心電信號的實時監(jiān)護的目的。該心電監(jiān)護儀結(jié)合了目前現(xiàn)有的心電監(jiān)護儀的優(yōu)點,體積小、重量輕,并且具有操作界面簡潔、可擴展性強等優(yōu)點,對各種心率失常及各種心臟病變有較高的診斷價值。本文引用地址:http://m.butianyuan.cn/article/148229.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論