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