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