《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于ARM9的心電模擬波形發(fā)生系統(tǒng)的設(shè)計
基于ARM9的心電模擬波形發(fā)生系統(tǒng)的設(shè)計
現(xiàn)代電子技術(shù)
摘要: 本系統(tǒng)設(shè)計采用三星2440嵌入式處理器作為核心搭建了硬件平臺,并采用嵌入式Linux操作系統(tǒng)并結(jié)合外圍的D/A轉(zhuǎn)換部分、與監(jiān)護儀匹配網(wǎng)絡(luò)、高 壓信號采集部分、應(yīng)用程序控制部分等實現(xiàn)了心電除顫模擬發(fā)生系統(tǒng)的設(shè)計。該系統(tǒng)可以很好地模擬醫(yī)學(xué)除顫的過程,并可以與醫(yī)用監(jiān)護儀相連接,輸出符合醫(yī)學(xué)標(biāo) 準(zhǔn)的34種常見異常心率波形,由于系統(tǒng)使用嵌入式實時多任務(wù)操作系統(tǒng),因此該設(shè)計具有很高的實時性、穩(wěn)定性和可靠性。
Abstract:
Key words :

0 引言

  隨著現(xiàn)在社會的發(fā)展,人們也日益開始關(guān)注健康事業(yè)的發(fā)展,對醫(yī)學(xué)技術(shù)的要求也越來越高?,F(xiàn)實中很多病例無法通過現(xiàn)實病例學(xué)習(xí),更多的醫(yī)生培養(yǎng)只能通過模擬設(shè)備進行,心電波形模擬波形發(fā)生系統(tǒng)的設(shè)計就是其中一個例子。

  心電模擬發(fā)生系統(tǒng)使用4種不同頻率的標(biāo)準(zhǔn)心電波形及用于測試的方波、鋸齒波、三角波和正弦波,通過算法擬合出病人的34種異常心電波形(包括成人和兒童的),各周期波形可采用插入不同的延時子程序來實現(xiàn)。提取醫(yī)院病人的異常心電波形,通過擬合的方法可以模擬和轉(zhuǎn)換除顫后的正常波形,依據(jù)此方法設(shè)計出一個心電信號發(fā)生系統(tǒng),系統(tǒng)可以采集、模擬任意導(dǎo)聯(lián)心電信號,并將結(jié)果存儲到心電數(shù)據(jù)庫供研究分析使用。最后設(shè)計出一種用微控制器和波形輸出以及鍵盤轉(zhuǎn)換電路構(gòu)成的心電模擬波形發(fā)生器。

1 系統(tǒng)設(shè)計

  心電模擬波形系統(tǒng)主要以ARM9處理單元為核心,另外還有高壓除顫采集電路、D/A轉(zhuǎn)換模塊、波形輸出電路、鍵盤接口電路與監(jiān)護儀信號匹配以及應(yīng)用程序的設(shè)計等幾個部分。

  ARM微處理器是一種高性能、低功耗的32位微處器,它被廣泛應(yīng)用于嵌入式系統(tǒng)中。ARM9代表了ARM公司主流的處理器,已經(jīng)在手持電話、機頂盒、數(shù)碼像機、GPS、個人數(shù)字助理以及因特網(wǎng)設(shè)備等方面有了廣泛的應(yīng)用。

  本系統(tǒng)采用的ARM9嵌入式開發(fā)平臺,主要利用ARM9豐富的I/O資源和快速處理的強大功能。ARM9處理器的主要結(jié)構(gòu)及其特點如下:

  (1)32 b定點RISC處理器,改進型ARM/Thumb代碼交織,增強性乘法器設(shè)計。支持實時(real-TIme)調(diào)試。

  (2)片內(nèi)指令和數(shù)據(jù)SRAM,而且指令和數(shù)據(jù)的存儲器容量可調(diào)。

  (3)片內(nèi)指令和數(shù)據(jù)高速緩沖器(cache)容量從4 KB~1 MB。

  (4)設(shè)置保護單元(protcction unit),非常適合嵌入式應(yīng)用中對存儲器進行分段和保護。

  (5)采用AMBA AHB總線接口,為外設(shè)提供統(tǒng)一的地址和數(shù)據(jù)總線。

  (6)支持外部協(xié)處理器,指令和數(shù)據(jù)總線有簡單的握手信令支持。

  (7)支持標(biāo)準(zhǔn)基本邏輯單元掃描測試方法學(xué),而且支持BIST(built-in-self-test)。

  (8)支持嵌入式跟蹤宏單元,支持實時跟蹤指令和數(shù)據(jù)。

  新一代的ARM9處理器通過全新的設(shè)計,采用更多的晶體管,能夠達到高于ARM7處理器兩倍以上的處理能力。這種處理能力的提高是通過增加時鐘頻率和減少指令執(zhí)行周期實現(xiàn)的。

2 硬件電路和原理

  該部分主要分為ARM9硬件平臺、D/A轉(zhuǎn)換、波形輸出電路、信號的采集以及右腳驅(qū)動電路的共模負(fù)反饋電路。系統(tǒng)在ARM9處理單元的控制下,D/A轉(zhuǎn)換電路把波形數(shù)據(jù)轉(zhuǎn)換為模擬量進行輸出。當(dāng)接收到高壓除顫信號后,處理器就會把異常心電波形采集轉(zhuǎn)換成為正常的心電波形圖。

  系統(tǒng)硬件連接圖如圖1所示。

  2.1 D/A轉(zhuǎn)換原理

  心電模擬信號就必須通過采樣量化為數(shù)字量并將其存儲在數(shù)據(jù)存儲器內(nèi),供軟件進行分析使用。這個過程必須通過AD轉(zhuǎn)換器來實現(xiàn)。有數(shù)字量轉(zhuǎn)化為模擬量的D/A轉(zhuǎn)換模式:

  (1)采用D/A轉(zhuǎn)換芯片;

  (2)采用PWM方式,即脈寬調(diào)制;

  (3)采用f-v方式,即頻率電壓轉(zhuǎn)換。

  通過對心電圖信號波形的分析可知,波形變化周期大約是1 s,因此采用頻率電壓轉(zhuǎn)換方式已經(jīng)具備足夠的數(shù)模轉(zhuǎn)換精度,頻率轉(zhuǎn)換指標(biāo)也滿足要求,而且該方式所用硬件少,一般都是用軟件來實現(xiàn)的。

  該部分是系統(tǒng)的核心,為了實現(xiàn)數(shù)字系統(tǒng)對這些電模擬量進行檢測、運算和控制,需要一個模擬量與數(shù)字量之間的相互轉(zhuǎn)換的過程,即常常需要將數(shù)字量轉(zhuǎn)換成模擬量,簡稱D/A轉(zhuǎn)換,完成這種轉(zhuǎn)換的電路為數(shù)模轉(zhuǎn)換器(Digital to Analog Converter,DAC)。

  為了保證系統(tǒng)的穩(wěn)定和信號的要求,D/A轉(zhuǎn)換芯片采用8位并行的DAC0832芯片,由12 V單電源供電,每個DAC有各自獨立的基準(zhǔn)輸入。  DAC0832芯片結(jié)構(gòu)框圖如圖2所示。

2 系統(tǒng)硬件部分設(shè)計
 
該部分主要分為ARM9硬件平臺、D/A轉(zhuǎn)換、濾波電路、高壓除顫信號的采集,其系統(tǒng)硬件連接圖如圖2所示。系統(tǒng)在ARM9的控制下,由D/A轉(zhuǎn)換把波形數(shù)據(jù)轉(zhuǎn)換為模擬量進行輸出。當(dāng)接收到高壓采集信號后,處理器就會轉(zhuǎn)換輸出另一種心電波形圖。
 
 
2.1 D/A轉(zhuǎn)換和電阻衰減網(wǎng)絡(luò)
 
該 部分是系統(tǒng)的核心,為了保證系統(tǒng)的穩(wěn)定和ECG信號的要求,D/A轉(zhuǎn)換芯片采用8位并行的DAC0832芯片,由12 V單電源供電,每個DAC有各自獨立的基準(zhǔn)輸入,對ARM9提供的數(shù)據(jù)進行變換,輸出部分采用4階巴特沃斯濾波,輸出的波形經(jīng)衰減后得到所要求的心電信 號,經(jīng)有源濾波后輸出波形的峰值可達到10 V,通過電阻分壓網(wǎng)絡(luò)得到0~5 mV的電壓輸出范圍??紤]到要采用三路D/A,如果每一路獨占8個I/O端口,再加上若干控制端口,處理器提供的I/O端口數(shù)遠不能滿足要求,所以計劃采 用共用數(shù)據(jù)端口,外接I/O口片選的方式來實現(xiàn),這樣可以節(jié)約16個I/O口,也滿足了信號輸出同步性的要求。
 
2.2 高壓信號采集電路設(shè)計
 
該部分采集除顫器上的高壓放電信號,由于高壓除顫信號具有的放電電流具有雙向性,且放電時間只有4 ms,瞬態(tài)電壓可達到3 000 V,所以在安全性能上要充分考慮。該部分電路圖如圖3所示。
 
電路中采用大功率電阻和瞬態(tài)抑制二極管對高壓放電信號進行預(yù)處理,將高壓信號降低到比較小的范圍,通過整流電路把電流變?yōu)閱蜗蛄鲃?,然后通過光耦隔離輸入到ARM9的I/O口中,起到保護處理器的作用。
 
3 軟件設(shè)計
 
系統(tǒng)的硬件為基本功能和擴展功能的實現(xiàn)奠定了牢固的基礎(chǔ),軟件系統(tǒng)的設(shè)計就是要充分利用硬件平臺的資源,實現(xiàn)軟件操作的有序運行。
 
軟件開發(fā)工作涉及到以下兩個方面:接口驅(qū)動程序的修改和完善;應(yīng)用層軟件的開發(fā)。應(yīng)用層的程序全部用C++開發(fā)完成的。
 
圖4是整個系統(tǒng)的軟件模塊結(jié)構(gòu)圖。
 
3.1 D/A驅(qū)動程序和高壓信號采集驅(qū)動部分
 
設(shè) 備驅(qū)動程序是操作系統(tǒng)內(nèi)核和機器硬件之間的接口。設(shè)備驅(qū)動程序為應(yīng)用程序屏蔽了硬件的細(xì)節(jié),這樣在應(yīng)用程序看來,硬件設(shè)備只是一個設(shè)備文件,應(yīng)用程 序可以像操作普通文件一樣對硬件設(shè)備進行操作,以往在開發(fā)應(yīng)用程序時都有一個main函數(shù)作為程序的入口點,而在驅(qū)動開發(fā)時卻沒有main函數(shù),模塊在調(diào) 用insmod命令時被加載,此時的入口點是init module函數(shù),通常在該函數(shù)中完成沒備的注冊。同樣,模塊在調(diào)用rmmod函數(shù)時被卸載,此時的入口點是cleanup module函數(shù),在該函數(shù)中完成設(shè)備的卸載。在設(shè)備完成注冊加載之后,用戶的應(yīng)用程序就可以對該設(shè)備進行一定的操作,如read,write等,而驅(qū)動 程序就是用于實現(xiàn)這些操作,在用戶應(yīng)用程序調(diào)用相應(yīng)入口函數(shù)時執(zhí)行相關(guān)的操作,init roodule入口點函數(shù)則不需要完成其他如read,write之類功能。
 
驅(qū)動程序主要函數(shù)如下:
 
 
3.2 系統(tǒng)應(yīng)用程序設(shè)計與實現(xiàn)
 
該 系統(tǒng)的應(yīng)用程序是基于Qt/Embedded設(shè)計的,目前使用的嵌入式GUI系統(tǒng)存在 Microwindows,MiniGUI,Qt/Embedded,Qt/Embedded延續(xù)了Qt的強大功能,可以運行在多種不同的處理器上部署的 嵌入式Linux操作系統(tǒng)。Qt/Embedded提供了信號和插槽的編程機制,該部分采用的Qt是一個創(chuàng)建GUI程序的C++類庫,編寫Qt應(yīng)用程序的 主要工作是基于已有的Qt類編寫用戶類。該部分主要分為波形界面的實現(xiàn)和用戶按鍵控制的實現(xiàn),波形顯示采用Qt的函數(shù)類庫Qpainter,由于波形界面 顯示兩路心電波形,會產(chǎn)生延遲效果,所以引入了多線程機制協(xié)調(diào),Qt支持多線程,有獨立于平臺的線程類,線程安全方式的時間傳遞和一個全局Qt庫互斥量允 許不同的線程調(diào)用Qt方法。
 
4 結(jié)語
本系統(tǒng)設(shè)計采用三星2440嵌入式處理器作為核心搭建了硬件平臺,并采用嵌入式Linux操作系統(tǒng)并結(jié)合外圍的D/A轉(zhuǎn)換部分、與監(jiān)護儀匹配網(wǎng)絡(luò)、高 壓信號采集部分、應(yīng)用程序控制部分等實現(xiàn)了心電除顫模擬發(fā)生系統(tǒng)的設(shè)計。該系統(tǒng)可以很好地模擬醫(yī)學(xué)除顫的過程,并可以與醫(yī)用監(jiān)護儀相連接,輸出符合醫(yī)學(xué)標(biāo) 準(zhǔn)的34種常見異常心率波形,由于系統(tǒng)使用嵌入式實時多任務(wù)操作系統(tǒng),因此該設(shè)計具有很高的實時性、穩(wěn)定性和可靠性?! ?/div>
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。