基于嵌入式的心電模擬發(fā)生系統(tǒng)設計方案
3.1 D/A驅(qū)動程序和高壓信號采集驅(qū)動部分
設備驅(qū)動程序是操作系統(tǒng)內(nèi)核和機器硬件之間的接口。設備驅(qū)動程序為應用程序屏蔽了硬件的細節(jié),這樣在應用程序看來,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作,以往在開發(fā)應用程序時都有一個main函數(shù)作為程序的入口點,而在驅(qū)動開發(fā)時卻沒有main函數(shù),模塊在調(diào)用insmod命令時被加載,此時的入口點是init module函數(shù),通常在該函數(shù)中完成沒備的注冊。同樣,模塊在調(diào)用rmmod函數(shù)時被卸載,此時的入口點是cleanup module函數(shù),在該函數(shù)中完成設備的卸載。在設備完成注冊加載之后,用戶的應用程序就可以對該設備進行一定的操作,如read,write等,而驅(qū)動程序就是用于實現(xiàn)這些操作,在用戶應用程序調(diào)用相應入口函數(shù)時執(zhí)行相關的操作,init roodule入口點函數(shù)則不需要完成其他如read,write之類功能。
驅(qū)動程序主要函數(shù)如下:
3.2 系統(tǒng)應用程序設計與實現(xiàn)
該系統(tǒng)的應用程序是基于Qt/Embedded設計的,目前使用的嵌入式GUI系統(tǒng)存在 Microwindows,MiniGUI,Qt/Embedded,Qt/Embedded延續(xù)了Qt的強大功能,可以運行在多種不同的處理器上部署的嵌入式Linux操作系統(tǒng)。Qt/Embedded提供了信號和插槽的編程機制,該部分采用的Qt是一個創(chuàng)建GUI程序的C++類庫,編寫Qt應用程序的主要工作是基于已有的Qt類編寫用戶類。該部分主要分為波形界面的實現(xiàn)和用戶按鍵控制的實現(xiàn),波形顯示采用Qt的函數(shù)類庫Qpainter,由于波形界面顯示兩路心電波形,會產(chǎn)生延遲效果,所以引入了多線程機制協(xié)調(diào),Qt支持多線程,有獨立于平臺的線程類,線程安全方式的時間傳遞和一個全局Qt庫互斥量允許不同的線程調(diào)用Qt方法。
4 結(jié)語
本系統(tǒng)設計采用三星2440嵌入式處理器作為核心搭建了硬件平臺,并采用嵌入式Linux操作系統(tǒng)并結(jié)合外圍的D/A轉(zhuǎn)換部分、與監(jiān)護儀匹配網(wǎng)絡、高壓信號采集部分、應用程序控制部分等實現(xiàn)了心電除顫模擬發(fā)生系統(tǒng)的設計。該系統(tǒng)可以很好地模擬醫(yī)學除顫的過程,并可以與醫(yī)用監(jiān)護儀相連接,輸出符合醫(yī)學標準的34種常見異常心率波形,由于系統(tǒng)使用嵌入式實時多任務操作系統(tǒng),因此該設計具有很高的實時性、穩(wěn)定性和可靠性。
評論