新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DSP在心電監(jiān)護(hù)模塊中的應(yīng)用

DSP在心電監(jiān)護(hù)模塊中的應(yīng)用

作者: 時(shí)間:2010-09-20 來源:網(wǎng)絡(luò) 收藏

美國德州儀器公司(TI)的TMS320C2XX系列定點(diǎn)數(shù)字信號處理器(DSP)具有強(qiáng)大的實(shí)時(shí)處理能力和高度集成的片上硬件資源,使用靈活方便,在數(shù)字信號處理領(lǐng)域得到了廣泛的應(yīng)用。討論了該DSP系列中的中的應(yīng)用,包括硬件接口和軟件編程。

本文引用地址:http://butianyuan.cn/article/257910.htm

心臟在機(jī)械收縮之前,心肌預(yù)先發(fā)生電的激動(dòng),并向全身各部位放散,從而在體表的不同部位產(chǎn)生電位差。通過體表把這種變動(dòng)著的電位差按時(shí)間順序描記出來的連續(xù)曲線就是心電圖()。

心電圖是診斷心律失常的最可靠的途徑,其它臨床檢查雖然也可以診斷某些心律失常,但是準(zhǔn)確率不高。通過觀察患者的心電圖,其診斷準(zhǔn)確率幾乎可以達(dá)到100%。的功能就是實(shí)時(shí)地記錄下病人的心電波形,并進(jìn)行自動(dòng)分析和處理,同時(shí)給出相應(yīng)的結(jié)論。

隨著數(shù)字信號處理技術(shù)和大規(guī)模集成電路工藝的發(fā)展,單片數(shù)字信號處理器的功能越來越強(qiáng)大,價(jià)格越來越低,越來越多地被應(yīng)用到人們生產(chǎn)生活的各個(gè)領(lǐng)域。本文介紹一種基于DSP芯片的的解決方案,討論了它的硬件結(jié)構(gòu)和軟件組成。

該心電監(jiān)護(hù)模塊是一個(gè)以美國德州儀器公司(TI)的為核心的DSP數(shù)據(jù)采集和處理模塊。整個(gè)系統(tǒng)安裝在一塊4層的PCB板上,通過9針 RS-232電纜和PC機(jī)進(jìn)行通訊,其原理框圖如圖1所示。其中所有的輸入信號包括1、2(兩路心電信號)、TEMPI(體溫信號)、 RESP(呼吸信號)、LEADOFF(導(dǎo)聯(lián)脫落檢測)、PACE(起博器檢測)等均來自心電信號前期模擬處理模塊。

1 簡介

TMS320F206 (以下簡稱F206)是TI公司于1996年推出的一種性價(jià)比很高的16位定點(diǎn)DSP芯片,運(yùn)算速度為40MIPS。F206體系采用改進(jìn)的哈佛結(jié)構(gòu)。將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的總線分開,以便最大限度地提高處理能力。其可尋址空間為224K字(64K字程序空間,64K字?jǐn)?shù)據(jù)空間,64K字I/O空間, 32K字全局空間),64K字程序空間中前32K字可映射到F206片內(nèi)集成的內(nèi)爍存儲(chǔ)器(FLASH MEMORY)中,這樣可以內(nèi)具有4級流水線結(jié)構(gòu),其指令集專門對信號算是中常用的乘-加運(yùn)算作了優(yōu)化,支持單周期的乘法/累加指令;支持存儲(chǔ)器塊搬移指令,以便更好地管理程序和數(shù)據(jù);支持基2的FFT位倒序檢查尋址。

除支持高速運(yùn)算以外,F(xiàn)206還具有眾多的片上外設(shè),主要包括:①軟件可編程定時(shí)器;②用于程序、數(shù)據(jù)、I/O存儲(chǔ)空間的軟件可編程等待狀態(tài)發(fā)生器,便于和低速器件接口;③片內(nèi)振蕩器和鎖相環(huán)(PLL),用于時(shí)鐘選擇×1,×2,×4,÷2;④同步串口,便于和串行CODEC接口;⑤全雙工的異步串口,便于和PC機(jī)通信。

2 硬件組成

該心電監(jiān)護(hù)模塊共有4路輸入:兩路心電信號ECG1和ECG2、一路體溫信號TEMPI、一路呼吸信號RESP,采用分時(shí)采樣的工作方式。由于呼吸信號和體溫信號的頻率遠(yuǎn)小于心電信號的頻率,在確定采樣率時(shí)就以心電信號為基準(zhǔn)。經(jīng)驗(yàn)表明,在做常規(guī)心電圖時(shí),要求系統(tǒng)的帶寬為100Hz左右,根據(jù) Nyquist采樣定理,采樣頻率必須低于200Hz。考慮到一定的工作裕量,每個(gè)工作通道的采樣率取250Hz,這樣對4個(gè)通道而言,總的工作頻率為 1kHz。通道切換的工作由一片雙向模擬開關(guān)CD4051來實(shí)現(xiàn),將C、B、A控制端連接到TMS320F206的三根地址線上,通過I/O指令打開相應(yīng)的模擬通道,進(jìn)行信號的采樣。

信號的采樣和量化工作由一片ADS774完成。ADS774是美國Burr-Brown公司生產(chǎn)的12位逐次副近型并行A/D轉(zhuǎn)換器,典型轉(zhuǎn)換時(shí)間為8.5μs,并且有多種工作方式可供用戶選擇。在本心電模塊中我們選用了直通(throughout)模式,僅用兩根控制線R/C和STATUS與TSM320F206接口,其工作原理和時(shí)序如圖2所示。

TMS320F206 通過指令在XF引腳上產(chǎn)生一個(gè)寬度大于25ns的低電平脈沖,啟動(dòng)ADS664進(jìn)行一次轉(zhuǎn)換。啟動(dòng)后ADS774的STATUS引腳變?yōu)楦唠娖剑D(zhuǎn)換結(jié)束后ADS774數(shù)據(jù)線上的數(shù)據(jù)有效,此時(shí)其STATUS引腳跳變回低電平,通過這個(gè)電平跳變觸發(fā)TMS320F206的INT1外部中斷,將12位轉(zhuǎn)換數(shù)據(jù)讀入數(shù)據(jù)存儲(chǔ)器。

由于TMS320F206片內(nèi)的數(shù)據(jù)存儲(chǔ)空間有限,為保存大量的采樣數(shù)據(jù)和運(yùn)算的中間結(jié)果,需增加外部數(shù)據(jù)存儲(chǔ)器;同時(shí)為了在調(diào)試程序時(shí)能夠設(shè)置斷點(diǎn)和進(jìn)行單步操作;也需要增加外部程序存儲(chǔ)器。我們采用了4 片日立公司的8位SRAM HM62256-10,兩兩組成16位的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,分別用F206的PS和DS信號進(jìn)行片選。HM62256-10的典型存取時(shí)間為 100ns,而TMS320F206的指令周期為50ns。為節(jié)省硬件等待電路的開中支,利用了TMS320F206片內(nèi)的可編程軟件等待狀態(tài)發(fā)生器產(chǎn)生兩個(gè)等待狀態(tài),從而滿足存儲(chǔ)器的操作時(shí)間要求。利用TMS320F206片上集成的全雙工異步串口,可以實(shí)現(xiàn)心電模塊和PC機(jī)的通信。但是RS232電平和TTL電平不兼容,我們使用了一片電平轉(zhuǎn)換芯片MAX202,它采用+5V單電源供電,使用時(shí)只需加幾個(gè)電容,便能完成兩種電平的轉(zhuǎn)換。為防止數(shù)據(jù)在傳輸過程中受到干擾,在輸入輸出端都加上光電耦合器。

R 波的精確定位是心電監(jiān)護(hù)模塊的一個(gè)重要功能,它關(guān)系到后面進(jìn)行心率計(jì)算及心律失常分析結(jié)果的正確性。一個(gè)正常人完整的心電波形由P、Q、R、S、T五個(gè)部分組成,其中R波和T波的幅值相對較高。心率計(jì)算通常是根據(jù)心電波形中R波的間距來推算得到。但在少數(shù)異常波形中,T波的幅值會(huì)超過R波,如果把T波誤判為R波來進(jìn)行心率計(jì)算,則會(huì)產(chǎn)生很大的誤差。通過對大量的心電信號進(jìn)行頻譜分析,發(fā)現(xiàn)R波通常位于0~33Hz的頻率范圍內(nèi),而T波位于 0~9Hz的頻率范圍內(nèi)。為了在心率計(jì)算時(shí)消除T波可能引起的干擾,我們設(shè)計(jì)了個(gè)有源帶濾波器,其中心頻率f0=12.687Hz,帶寬B=fo/Q= 5.629Hz,下限截止頻率f1=10.3565Hz;上限截止頻率f2=15.9655Hz。標(biāo)準(zhǔn)心電信號通過該通濾波器前后的波形如圖3所示??梢钥闯觯l率相對較低的T波有很大的衰減而R波基本保持不變。

3 軟件設(shè)計(jì)

該心電監(jiān)護(hù)模塊的軟件由兩部分組成。一是運(yùn)行在TMS320F206片內(nèi)FLASH MEMORY中的系統(tǒng)監(jiān)控程序,二是運(yùn)行于PC機(jī)端的圖形界面用戶程序。前者對實(shí)時(shí)性的要求較高,為提高運(yùn)行效率,采用TMS320C2XX匯編語言編寫,經(jīng)匯編、鏈接后在外部程序RAM中調(diào)試,調(diào)試成功后燒寫到TMS320F206的FLASH中。它主要由如下幾個(gè)功能模塊組成:①系統(tǒng)初始化模塊。完成RAM、ADS774、中斷以及定時(shí)器等外初始化設(shè)置;②定時(shí)采樣模塊,進(jìn)行四路信號的分時(shí)采集,經(jīng)預(yù)處理后存入數(shù)據(jù)RAM;③心率、呼吸率計(jì)算和體溫插值運(yùn)算模塊;④512點(diǎn)心電信號的基2FFT運(yùn)算模塊;⑤異步串行通信模塊,實(shí)現(xiàn)與PC機(jī)之間的通信協(xié)議。

下面簡要介紹一下心率計(jì)算模塊的算法。設(shè)dR-R是相鄰兩個(gè)R波的間距(即兩個(gè)R波之間有dR-R個(gè)采樣點(diǎn)),由于心電通道的采樣率為250Hz,所以 250÷dR-R即為一秒鐘內(nèi)R波的個(gè)數(shù),60×250÷dR-R即為一分鐘內(nèi)的心跳次數(shù)。因此關(guān)鍵在于對R波進(jìn)行準(zhǔn)確定位。算法流程如圖4所示。其中F [I]為數(shù)據(jù)RAM中最新1024個(gè)心電信號真,一次運(yùn)算后,F(xiàn)IFO即被刷新,準(zhǔn)備進(jìn)行下次運(yùn)算。

圖5顯示了R波的定位結(jié)果,“X”標(biāo)識(shí)出查找到的R波最高點(diǎn)。為了驗(yàn)證這個(gè)算法的正確性,我們以BIO-TECH心電信號仿真器產(chǎn)生的標(biāo)準(zhǔn)心電信號作為測試信號,發(fā)現(xiàn)它對正常信號和大部異常信號均能準(zhǔn)確地測出心率。

4 模塊高度過程

整個(gè)心電模塊的調(diào)試過程分三個(gè)階段:①硬件調(diào)試,確保DSP板上的各器件均正常工作,這是進(jìn)行軟件調(diào)試的基礎(chǔ);②TMS320F206端軟件調(diào)試,采用模塊化方法,對各個(gè)功能編寫相應(yīng)子程序,分別調(diào)通各個(gè)功能模塊,然后把這些模塊通過接口組裝起來,實(shí)現(xiàn)整個(gè)系統(tǒng)的功能;③圖形用戶界面GUI軟件調(diào)試,與 TMS320F206的通訊模塊調(diào)試同時(shí)進(jìn)行,確何數(shù)據(jù)的正確收發(fā),并在此基礎(chǔ)上逐步增加新的功能。調(diào)試結(jié)束后,用仿真器的FLASH燒寫程序?qū)⒛繕?biāo)代碼通過JTAG口下載到TMS320F206中去,實(shí)現(xiàn)整個(gè)系統(tǒng)的脫機(jī)運(yùn)行。

本系統(tǒng)已經(jīng)達(dá)到設(shè)計(jì)任務(wù)書規(guī)定的要求,但還具有進(jìn)一步擴(kuò)展的潛力。軟件方面,由于采用模塊化設(shè)計(jì),可以方便增加新的功能模塊,如自相關(guān)處理等;在硬件方面, TMS320F206和外圍芯片接口邏輯目前是用小模塊集成電路實(shí)現(xiàn),今后可改用PLD或FPGA進(jìn)行編程實(shí)現(xiàn)接口邏輯,減少芯片的數(shù)據(jù),提高系統(tǒng)的可靠性。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉