隨著社會(huì)的發(fā)展,,人們的醫(yī)療保健意識(shí)越來越強(qiáng),,所以醫(yī)生的培訓(xùn)也就成為非常重要的環(huán)節(jié),。心電除顫技術(shù)作為醫(yī)生培訓(xùn)的一個(gè)主要方面,,若操作規(guī)范,,動(dòng)作熟練,,往往在緊急關(guān)頭可以救人于危難之間,,在培訓(xùn)的時(shí)候,,如果能夠真實(shí)地模擬急救除顫的場(chǎng)景,將會(huì)起到良好的學(xué)習(xí)效果,。因此,,在急救、有創(chuàng)性臨床操作訓(xùn)練上,,醫(yī)學(xué)模擬教學(xué)日益顯示出其成本低,、重復(fù)性高、教學(xué)效率高以及符合醫(yī)學(xué)倫理要求等優(yōu)勢(shì),。
除顫模擬發(fā)生系統(tǒng)可以任意選擇34種狀態(tài)(包括成人和兒童兩大類)時(shí)也可以連接醫(yī)用監(jiān)護(hù)儀,,使除顫模擬更加逼真。學(xué)員可以進(jìn)行不同能量的除顫練習(xí),,同時(shí)這也便于老師檢驗(yàn)學(xué)員的學(xué)習(xí)效果,。
該系統(tǒng)是根據(jù)心電圖的有關(guān)原理以及監(jiān)護(hù)儀的信號(hào)合成原理研制的,嚴(yán)格按照醫(yī)學(xué)的相關(guān)規(guī)定,,產(chǎn)生的波形達(dá)到醫(yī)學(xué)教學(xué)的目的,。在相關(guān)病態(tài)心電圖的關(guān)鍵點(diǎn)處達(dá)到比較逼真的效果,當(dāng)系統(tǒng)接收到高壓除顫信號(hào)以后,,根據(jù)系統(tǒng)的預(yù)設(shè)置,,進(jìn)行相應(yīng)的波形變換。系統(tǒng)可以用于醫(yī)療培訓(xùn)機(jī)構(gòu)的培訓(xùn)工具,,使學(xué)員快速掌握心電除顫的方法,。該系統(tǒng)與急救模擬人、監(jiān)護(hù)儀配合使用,,具有廣闊的市場(chǎng)前景,。
本文介紹的心電除顫模擬發(fā)生系統(tǒng)是以ARM9為控制核心,充分利用ARM9豐富的I/O資源和強(qiáng)大的處理功能,。它采用嵌入式的開發(fā)方案,,并綜合考慮系統(tǒng)的通用性和使用性,系統(tǒng)輸出信號(hào)的幅度為0~5 mV可以連續(xù)輸出室性,、室上性早搏型號(hào)等,還可以產(chǎn)生周期為1 s,,脈寬為100 ms,,幅度為1 mV的方波,。便于對(duì)監(jiān)護(hù)儀進(jìn)行校準(zhǔn),信號(hào)均采用三導(dǎo)聯(lián)的同步信號(hào)輸出,。
1 系統(tǒng)結(jié)構(gòu)和設(shè)計(jì)方案
系統(tǒng)主要包括ARM9中央處理單元,、高壓除顫信號(hào)采集模塊、D/A轉(zhuǎn)換模塊,,與監(jiān)護(hù)儀信號(hào)匹配模塊以及心電波形仿真和數(shù)據(jù)的提取,,應(yīng)用程序的設(shè)計(jì)等幾個(gè)部分。本系統(tǒng)采用ARM9嵌入式開發(fā)平臺(tái),,以下是ARM9處理器的主要結(jié)構(gòu)及其特點(diǎn),。
(1)32 b定點(diǎn)RISC處理器,改進(jìn)型ARM/Thumb代碼交織,,增強(qiáng)性乘法器設(shè)計(jì),,支持實(shí)時(shí)(real-TIme)調(diào)試;
(2)片內(nèi)指令和數(shù)據(jù)SRAM,而且指令和數(shù)據(jù)的存儲(chǔ)器容量可調(diào);
(3)片內(nèi)指令和數(shù)據(jù)高速緩沖器(Cache)容量從4 KB~l MB:
(4)設(shè)置保護(hù)單元(Protoction Unit),,非常適合嵌入式應(yīng)用中對(duì)存儲(chǔ)器進(jìn)行分段和保護(hù);
(5)采用AMBA AHB總線接口,,為外設(shè)提供統(tǒng)一的地址和數(shù)據(jù)總線;
(6)支持外部協(xié)處理器,指令和數(shù)據(jù)總線有簡單的握手信令支持;
(7)支持標(biāo)準(zhǔn)基本邏輯單元掃描測(cè)試方法;
(8)支持BIST(Built-in-self-test);
(9)支持嵌入式跟蹤宏單元,,支持實(shí)時(shí)跟蹤指令和數(shù)據(jù),。
心電除顫模擬發(fā)生系統(tǒng)總體設(shè)計(jì)方案,如圖1所示,。
2 系統(tǒng)硬件部分設(shè)計(jì)
該部分主要分為ARM9硬件平臺(tái),、D/A轉(zhuǎn)換、濾波電路,、高壓除顫信號(hào)的采集,,其系統(tǒng)硬件連接圖如圖2所示。系統(tǒng)在ARM9的控制下,,由D/A轉(zhuǎn)換把波形數(shù)據(jù)轉(zhuǎn)換為模擬量進(jìn)行輸出,。當(dāng)接收到高壓采集信號(hào)后,處理器就會(huì)轉(zhuǎn)換輸出另一種心電波形圖,。
2.1 D/A轉(zhuǎn)換和電阻衰減網(wǎng)絡(luò)
該部分是系統(tǒng)的核心,,為了保證系統(tǒng)的穩(wěn)定和ECG信號(hào)的要求,D/A轉(zhuǎn)換芯片采用8位并行的DAC0832芯片,,由12 V單電源供電,,每個(gè)DAC有各自獨(dú)立的基準(zhǔn)輸入,對(duì)ARM9提供的數(shù)據(jù)進(jìn)行變換,,輸出部分采用4階巴特沃斯濾波,,輸出的波形經(jīng)衰減后得到所要求的心電信號(hào),經(jīng)有源濾波后輸出波形的峰值可達(dá)到10 V,,通過電阻分壓網(wǎng)絡(luò)得到0~5 mV的電壓輸出范圍,??紤]到要采用三路D/A,如果每一路獨(dú)占8個(gè)I/O端口,,再加上若干控制端口,,處理器提供的I/O端口數(shù)遠(yuǎn)不能滿足要求,所以計(jì)劃采用共用數(shù)據(jù)端口,,外接I/O口片選的方式來實(shí)現(xiàn),,這樣可以節(jié)約16個(gè)I/O口,也滿足了信號(hào)輸出同步性的要求,。
2.2 高壓信號(hào)采集電路設(shè)計(jì)
該部分采集除顫器上的高壓放電信號(hào),,由于高壓除顫信號(hào)具有的放電電流具有雙向性,且放電時(shí)間只有4 ms,,瞬態(tài)電壓可達(dá)到3 000 V,,所以在安全性能上要充分考慮。該部分電路圖如圖3所示,。
電路中采用大功率電阻和瞬態(tài)抑制二極管對(duì)高壓放電信號(hào)進(jìn)行預(yù)處理,,將高壓信號(hào)降低到比較小的范圍,通過整流電路把電流變?yōu)閱蜗蛄鲃?dòng),,然后通過光耦隔離輸入到ARM9的I/O口中,,起到保護(hù)處理器的作用。
3 軟件設(shè)計(jì)
系統(tǒng)的硬件為基本功能和擴(kuò)展功能的實(shí)現(xiàn)奠定了牢固的基礎(chǔ),,軟件系統(tǒng)的設(shè)計(jì)就是要充分利用硬件平臺(tái)的資源,,實(shí)現(xiàn)軟件操作的有序運(yùn)行。
軟件開發(fā)工作涉及到以下兩個(gè)方面:接口驅(qū)動(dòng)程序的修改和完善;應(yīng)用層軟件的開發(fā),。應(yīng)用層的程序全部用C++開發(fā)完成的,。
圖4是整個(gè)系統(tǒng)的軟件模塊結(jié)構(gòu)圖。
3.1 D/A驅(qū)動(dòng)程序和高壓信號(hào)采集驅(qū)動(dòng)部分
設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口,。設(shè)備驅(qū)動(dòng)程序?yàn)閼?yīng)用程序屏蔽了硬件的細(xì)節(jié),,這樣在應(yīng)用程序看來,硬件設(shè)備只是一個(gè)設(shè)備文件,,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作,,以往在開發(fā)應(yīng)用程序時(shí)都有一個(gè)main函數(shù)作為程序的入口點(diǎn),而在驅(qū)動(dòng)開發(fā)時(shí)卻沒有main函數(shù),,模塊在調(diào)用insmod命令時(shí)被加載,,此時(shí)的入口點(diǎn)是init module函數(shù),通常在該函數(shù)中完成沒備的注冊(cè),。同樣,,模塊在調(diào)用rmmod函數(shù)時(shí)被卸載,此時(shí)的入口點(diǎn)是cleanup module函數(shù),,在該函數(shù)中完成設(shè)備的卸載,。在設(shè)備完成注冊(cè)加載之后,,用戶的應(yīng)用程序就可以對(duì)該設(shè)備進(jìn)行一定的操作,如read,,write等,而驅(qū)動(dòng)程序就是用于實(shí)現(xiàn)這些操作,,在用戶應(yīng)用程序調(diào)用相應(yīng)入口函數(shù)時(shí)執(zhí)行相關(guān)的操作,,init roodule入口點(diǎn)函數(shù)則不需要完成其他如read,write之類功能,。
驅(qū)動(dòng)程序主要函數(shù)如下:
3.2 系統(tǒng)應(yīng)用程序設(shè)計(jì)與實(shí)現(xiàn)
該系統(tǒng)的應(yīng)用程序是基于Qt/Embedded設(shè)計(jì)的,,目前使用的嵌入式GUI系統(tǒng)存在Microwindows,MiniGUI,,Qt/Embedded,,Qt/Embedded延續(xù)了Qt的強(qiáng)大功能,可以運(yùn)行在多種不同的處理器上部署的嵌入式Linux操作系統(tǒng),。Qt/Embedded提供了信號(hào)和插槽的編程機(jī)制,,該部分采用的Qt是一個(gè)創(chuàng)建GUI程序的C++類庫,編寫Qt應(yīng)用程序的主要工作是基于已有的Qt類編寫用戶類,。該部分主要分為波形界面的實(shí)現(xiàn)和用戶按鍵控制的實(shí)現(xiàn),,波形顯示采用Qt的函數(shù)類庫Qpainter,由于波形界面顯示兩路心電波形,,會(huì)產(chǎn)生延遲效果,,所以引入了多線程機(jī)制協(xié)調(diào),Qt支持多線程,,有獨(dú)立于平臺(tái)的線程類,,線程安全方式的時(shí)間傳遞和一個(gè)全局Qt庫互斥量允許不同的線程調(diào)用Qt方法。
4 結(jié)語
本系統(tǒng)設(shè)計(jì)采用三星2440嵌入式處理器作為核心搭建了硬件平臺(tái),,并采用嵌入式Linux操作系統(tǒng)并結(jié)合外圍的D/A轉(zhuǎn)換部分,、與監(jiān)護(hù)儀匹配網(wǎng)絡(luò)、高壓信號(hào)采集部分,、應(yīng)用程序控制部分等實(shí)現(xiàn)了心電除顫模擬發(fā)生系統(tǒng)的設(shè)計(jì),。該系統(tǒng)可以很好地模擬醫(yī)學(xué)除顫的過程,并可以與醫(yī)用監(jiān)護(hù)儀相連接,,輸出符合醫(yī)學(xué)標(biāo)準(zhǔn)的34種常見異常心率波形,,由于系統(tǒng)使用嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),因此該設(shè)計(jì)具有很高的實(shí)時(shí)性,、穩(wěn)定性和可靠性,。