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