基于ARM的心電信號(hào)處理系統(tǒng)的設(shè)計(jì)與應(yīng)用
本文設(shè)計(jì)了一個(gè)具有數(shù)字化、信息化特征的心電信號(hào)處理系統(tǒng)。該系統(tǒng)以 32 位高速 ARM 處理器為硬件平臺(tái),以實(shí)時(shí)操作系統(tǒng)作為軟件平臺(tái),對(duì)硬件系統(tǒng)的資源進(jìn)行了調(diào)度和分配,達(dá)到了對(duì)心電信號(hào)進(jìn)行實(shí)時(shí)處理的效果,并且實(shí)現(xiàn)了對(duì)心電信號(hào)的實(shí)時(shí)顯示、實(shí)時(shí)存儲(chǔ)等功能。
據(jù)統(tǒng)計(jì),我國(guó)目前有縣及縣級(jí)以上醫(yī)院1.3萬(wàn)家,醫(yī)療機(jī)械總數(shù)達(dá)17.5萬(wàn)臺(tái),加上一些專(zhuān)業(yè)心臟疾病治療機(jī)構(gòu),我國(guó)目前每年心臟疾病的門(mén)診量約在一千萬(wàn)人次以上。根據(jù)國(guó)家衛(wèi)生部《全國(guó)衛(wèi)生信息化發(fā)展規(guī)劃綱要》的目標(biāo),在2010年要基本實(shí)現(xiàn)醫(yī)院的數(shù)字化和信息化。所以未來(lái)醫(yī)療器械市場(chǎng)對(duì)新型醫(yī)療設(shè)備的市場(chǎng)空間巨大,特別是擁有數(shù)字化和信息化特征的心電信號(hào)處理系統(tǒng)具有廣闊的應(yīng)用前景和實(shí)用價(jià)值。本文就是介紹的一種基于ARM的心電信號(hào)處理系統(tǒng)設(shè)計(jì)。
系統(tǒng)總體設(shè)計(jì)
本文所介紹的系統(tǒng)的主要功能是對(duì)心電信號(hào)進(jìn)行實(shí)時(shí)的處理和傳輸,系統(tǒng)原理框圖如圖1所示。
圖1 系統(tǒng)原理框圖
心電信號(hào)通過(guò)電極提取進(jìn)入模擬處理模塊,在模擬處理部分經(jīng)過(guò)放大和濾波處理后,提高了信號(hào)的強(qiáng)度和信噪比。信號(hào)經(jīng)過(guò)量化后轉(zhuǎn)換成數(shù)字信號(hào),進(jìn)入數(shù)字處理模塊,在以ARM處理器為核心的數(shù)字處理模塊中,心電信號(hào)被保存在一個(gè)緩沖區(qū)中,經(jīng)過(guò)實(shí)時(shí)操作系統(tǒng)的調(diào)度后,通過(guò)USB通道傳遞到PC上,PC的軟件模塊包含了對(duì)USB通道數(shù)據(jù)的接收和對(duì)心電信號(hào)的處理,經(jīng)過(guò)處理后的心電信號(hào)進(jìn)一步提高了信噪比,并顯示在屏幕上,從而達(dá)到協(xié)助醫(yī)生診斷心臟疾病的目的。
1 S3C44B0X處理器
S3 C44B0X微處理器是Samsung公司專(zhuān)為便攜式設(shè)備提供的高性能和高性?xún)r(jià)比的微控制器解決方案,使用32位的低功耗RISC內(nèi)核ARM7TDMI,采用0.25μm CMOS工藝制造,支持新型總線(xiàn)結(jié)構(gòu)SAMBAII(Samsung ARM CPU embedded Microcontroller Bus Architecture)。同時(shí),S3C44B0X在ARM7TDMI核的基礎(chǔ)上,擴(kuò)展了一系列通用外圍器件,使系統(tǒng)成本及外圍器件數(shù)口降至最低,這些功能部件可以分為CPU單元、系統(tǒng)時(shí)鐘管理單元、存儲(chǔ)單元和系統(tǒng)功能接口單元。
片上集成的主要功能有:在ARM7TDMl基礎(chǔ)上增加8KB的Cache;外部擴(kuò)充存儲(chǔ)器控制器(FP/EDO/SDRAM控制,片選邏輯);LCD控制器最大支持256色的DSTN,并帶有1個(gè)LCD專(zhuān)用DMA通道;2個(gè)通用DMA通道、2個(gè)帶外部請(qǐng)求引腳的DMA通道;2個(gè)帶有握手協(xié)議的DART: 1個(gè)SIO;1個(gè)I2C總線(xiàn)控制器;5個(gè)PWM定時(shí)器及1個(gè)內(nèi)部定時(shí)器;看門(mén)狗定時(shí)器;71個(gè)通用可編程I/O口,8個(gè)外部中斷源;功耗控制模式有正常、低、休眠和停止;8路10位ADC;具有日歷功能的RTC(實(shí)時(shí)時(shí)鐘);PLL時(shí)鐘發(fā)生器。
2 實(shí)時(shí)操作系統(tǒng)μC/OS-II
μC/OS-II是一個(gè)完整的、多移植、可固化、可裁剪的占先式實(shí)時(shí)多任務(wù)內(nèi)核。μC/OS-II是用ANSI的C語(yǔ)言編寫(xiě)的,包含一小部分匯編語(yǔ)言代碼,使之可供不同架構(gòu)的微處理器使用。至今,從8位到64位,μC/OS-II已在超過(guò)40種不同架構(gòu)的微處理器上運(yùn)行。世界上已經(jīng)有很多領(lǐng)域都使用了μC/OS-II。
μC/OS-II是一個(gè)“實(shí)時(shí)內(nèi)核”,使用這個(gè)內(nèi)核可以使得應(yīng)用程序的設(shè)計(jì)和擴(kuò)展變得容易,而且不需要大的改動(dòng)就可以增加新的功能。通過(guò)將應(yīng)用程序分割成若干個(gè)獨(dú)立的任務(wù),RTOS使得應(yīng)用程序的設(shè)計(jì)過(guò)程大大簡(jiǎn)化。
硬件系統(tǒng)設(shè)計(jì)
1 UART異步串行接口設(shè)計(jì)
在本文中,心電數(shù)據(jù)都是通過(guò)USB通道傳送到PC的,但是由于USB接口的復(fù)雜度,在調(diào)試USB器件時(shí)需要使用到異步串行接口。而且在某些老式的PC上不能使用或安裝USB驅(qū)動(dòng)程序時(shí),異步串行接口可以作為一種備用的低速傳輸方式,這樣也增加了系統(tǒng)的可擴(kuò)展性。
圖2是在心電信號(hào)處理系統(tǒng)中帶有RS232電平轉(zhuǎn)換的S3C44B0X的串行接口電路連接圖。在圖中,RS232電平轉(zhuǎn)換芯片為MAX3232,其RxD0、TxD0和RxD1、TxD1分別連接S3C44B0X的第99、100和103、104引腳。
圖2 串口部分連接圖
2 USB設(shè)備接口電路設(shè)計(jì)
由于USB協(xié)議的復(fù)雜性,USB設(shè)備控制器必須能夠檢測(cè)、反應(yīng)USB端口事件,提供數(shù)據(jù)存儲(chǔ)方式的功能??紤]到性?xún)r(jià)比和技術(shù)資料等因素,在本系統(tǒng)中選擇了支持USB1.1協(xié)議的PHILIPS公司生產(chǎn)的PDIUSBD12芯片。
圖3是PDIUSBD 12與S3C44B0X的硬件連接圖。在圖中,USBD 12的D0~D7腳分別連接S3C44B0X的數(shù)據(jù)總線(xiàn)D0~D7,A0連接S3C44B0X的地址總線(xiàn)ADR0 ,A0是地址位,當(dāng)A0=1時(shí),選擇命令指令;A0=0,選擇數(shù)據(jù)。J8是USB從接口(slave),可以通過(guò)USB電纜連接到PC的USB口。
圖3 USB接口電路
3 FLASH ROM電路設(shè)計(jì)
在心電信號(hào)處理系統(tǒng)中,S3C44B0X是硬件部分的中央處理器,而實(shí)時(shí)操作系統(tǒng)μC/OS-II是硬件資源的調(diào)度中心,它就存放在FLASH ROM中,在每次系統(tǒng)初始化之后,由S3C44B0X將其復(fù)制到SDRAM中后,再進(jìn)行應(yīng)用程序的執(zhí)行。
在本系統(tǒng)中使用的是SST公司生產(chǎn)的容量為1M×16bit的多用途FLASH存儲(chǔ)器SST39VF160。ARM與FLASH接口電路如圖4所示。
圖4 ARM與FLASH接口電路
當(dāng)S3C44B0X復(fù)位時(shí),它立即從0x00000000地址處開(kāi)始取指令執(zhí)行。因此,系統(tǒng)啟動(dòng)代碼放在了地址0x00000000處,并把定位在0x00000000處的存儲(chǔ)器稱(chēng)為BOOT ROM,在ARM系統(tǒng)中,通常都采用能夠快速讀取并方便重新寫(xiě)入的Flash ROM作為BOOT ROM。處理器對(duì)Flash ROM的接口不需要任何軟件上的設(shè)置,在系統(tǒng)第一次上電時(shí),CPU就可對(duì)Flash ROM進(jìn)行讀取了。
4 片外主存SDRAM的接口電路設(shè)計(jì)
在實(shí)時(shí)操作系統(tǒng) μC/OS-II中,每個(gè)任務(wù)都有獨(dú)立的堆棧,并且是由連續(xù)的內(nèi)存空間組成。在心電信號(hào)的傳輸過(guò)程中,還需要一個(gè)緩沖區(qū)進(jìn)行數(shù)據(jù)的存儲(chǔ),包括系統(tǒng)軟件運(yùn)行所需要的堆棧等。這些都需要系統(tǒng)的主存來(lái)分配空間。
S3C44B0X內(nèi)部只有8KB的緩存,沒(méi)有能用來(lái)運(yùn)行程序和存放臨時(shí)數(shù)據(jù)的RAM,所以必須外接SDRAM作為片外主存。在本文中,采用的是ICS公司生產(chǎn)的容量為1Mb×16×4Bank的IS42S16400。
S3C44B0X與SDRAM的連接圖如圖5所示。
圖5 S3C44B0X與SDRAM的連接圖
軟件系統(tǒng)設(shè)計(jì)
為了實(shí)現(xiàn)了對(duì)心電信號(hào)的量化和對(duì)數(shù)據(jù)的處理和傳輸,充分的利用μC/OS-II的實(shí)時(shí)性,并使軟件系統(tǒng)具有良好的可重用性,為以后對(duì)系統(tǒng)功能的擴(kuò)展提供條件,本系統(tǒng)軟件設(shè)計(jì)如圖6所示。
圖6 軟件系統(tǒng)設(shè)計(jì)流程圖
抗干擾設(shè)計(jì)
心電信號(hào)傳輸?shù)絇C機(jī)端后,需要顯示到屏幕上,形成心電圖。在心電信號(hào)處理系統(tǒng)中采用的12導(dǎo)聯(lián)在屏幕上表現(xiàn)為12個(gè)心電波形,每一個(gè)波形都包含著特定的信息,但是要得到接近于理想的心電波形,就必須對(duì)信號(hào)進(jìn)行預(yù)處理。
從測(cè)量技術(shù)上來(lái)說(shuō),心電信號(hào)屬于強(qiáng)噪聲背景下的低頻微弱信號(hào),幅度為10μV~5mV,主要的頻率范圍為0.05~100Hz,因此,在心電信號(hào)的檢測(cè)、提取、放大及記錄過(guò)程中,有來(lái)自人體自身的干擾,如肌電干擾,也有來(lái)自外界的干擾如工頻干擾等。這些干擾使系統(tǒng)的信噪比下降,甚至?xí)蜎](méi)微弱的有效心電信號(hào)。因此,需要進(jìn)行信號(hào)預(yù)處理以消除各種干擾。本文使用自適應(yīng)噪聲抵消器來(lái)進(jìn)行預(yù)處理,如圖7所示。
圖7 自適應(yīng)噪聲抵消器消除噪聲的結(jié)構(gòu)圖
結(jié)束語(yǔ)
實(shí)驗(yàn)表明,本文設(shè)計(jì)的基于ARM的心電信號(hào)處理系統(tǒng),對(duì)信號(hào)的采集和處理部分采用的軟硬件模塊化設(shè)計(jì),提高了心電信號(hào)檢測(cè)的精度。設(shè)計(jì)的以ARM處理器為核心的軟硬件系統(tǒng)和USB通信接口,提高了系統(tǒng)的穩(wěn)定性和可靠性,達(dá)到了預(yù)期的技術(shù)指標(biāo),為設(shè)計(jì)新型的心電信號(hào)處理設(shè)備提供了理論基礎(chǔ)和依據(jù),此系統(tǒng)也將為心臟病變的診斷發(fā)揮重要作用。
評(píng)論