DSP在心電監(jiān)護(hù)模塊中的應(yīng)用
美國德州儀器公司(TI)的TMS320C2XX系列定點數(shù)字信號處理器(DSP)具有強(qiáng)大的實時處理能力和高度集成的片上硬件資源,使用靈活方便,在數(shù)字信號處理領(lǐng)域得到了廣泛的應(yīng)用。討論了該DSP系列中的TMS320F206的心電監(jiān)護(hù)模塊中的應(yīng)用,包括硬件接口和軟件編程。
本文引用地址:http://m.butianyuan.cn/article/257910.htm心臟在機(jī)械收縮之前,心肌預(yù)先發(fā)生電的激動,并向全身各部位放散,從而在體表的不同部位產(chǎn)生電位差。通過體表把這種變動著的電位差按時間順序描記出來的連續(xù)曲線就是心電圖(ECG)。
心電圖是診斷心律失常的最可靠的途徑,其它臨床檢查雖然也可以診斷某些心律失常,但是準(zhǔn)確率不高。通過觀察患者的心電圖,其診斷準(zhǔn)確率幾乎可以達(dá)到100%。心電監(jiān)護(hù)模塊的功能就是實時地記錄下病人的心電波形,并進(jìn)行自動分析和處理,同時給出相應(yīng)的結(jié)論。
隨著數(shù)字信號處理技術(shù)和大規(guī)模集成電路工藝的發(fā)展,單片數(shù)字信號處理器的功能越來越強(qiáng)大,價格越來越低,越來越多地被應(yīng)用到人們生產(chǎn)生活的各個領(lǐng)域。本文介紹一種基于DSP芯片的心電監(jiān)護(hù)模塊的解決方案,討論了它的硬件結(jié)構(gòu)和軟件組成。
該心電監(jiān)護(hù)模塊是一個以美國德州儀器公司(TI)的TMS320F206為核心的DSP數(shù)據(jù)采集和處理模塊。整個系統(tǒng)安裝在一塊4層的PCB板上,通過9針 RS-232電纜和PC機(jī)進(jìn)行通訊,其原理框圖如圖1所示。其中所有的輸入信號包括ECG1、ECG2(兩路心電信號)、TEMPI(體溫信號)、 RESP(呼吸信號)、LEADOFF(導(dǎo)聯(lián)脫落檢測)、PACE(起博器檢測)等均來自心電信號前期模擬處理模塊。
1 TMS320F206簡介
TMS320F206 (以下簡稱F206)是TI公司于1996年推出的一種性價比很高的16位定點DSP芯片,運(yùn)算速度為40MIPS。F206體系采用改進(jìn)的哈佛結(jié)構(gòu)。將程序存儲器和數(shù)據(jù)存儲器的總線分開,以便最大限度地提高處理能力。其可尋址空間為224K字(64K字程序空間,64K字?jǐn)?shù)據(jù)空間,64K字I/O空間, 32K字全局空間),64K字程序空間中前32K字可映射到F206片內(nèi)集成的內(nèi)爍存儲器(FLASH MEMORY)中,這樣可以內(nèi)具有4級流水線結(jié)構(gòu),其指令集專門對信號算是中常用的乘-加運(yùn)算作了優(yōu)化,支持單周期的乘法/累加指令;支持存儲器塊搬移指令,以便更好地管理程序和數(shù)據(jù);支持基2的FFT位倒序檢查尋址。
除支持高速運(yùn)算以外,F(xiàn)206還具有眾多的片上外設(shè),主要包括:①軟件可編程定時器;②用于程序、數(shù)據(jù)、I/O存儲空間的軟件可編程等待狀態(tài)發(fā)生器,便于和低速器件接口;③片內(nèi)振蕩器和鎖相環(huán)(PLL),用于時鐘選擇×1,×2,×4,÷2;④同步串口,便于和串行CODEC接口;⑤全雙工的異步串口,便于和PC機(jī)通信。
2 硬件組成
該心電監(jiān)護(hù)模塊共有4路輸入:兩路心電信號ECG1和ECG2、一路體溫信號TEMPI、一路呼吸信號RESP,采用分時采樣的工作方式。由于呼吸信號和體溫信號的頻率遠(yuǎn)小于心電信號的頻率,在確定采樣率時就以心電信號為基準(zhǔn)。經(jīng)驗表明,在做常規(guī)心電圖時,要求系統(tǒng)的帶寬為100Hz左右,根據(jù) Nyquist采樣定理,采樣頻率必須低于200Hz??紤]到一定的工作裕量,每個工作通道的采樣率取250Hz,這樣對4個通道而言,總的工作頻率為 1kHz。通道切換的工作由一片雙向模擬開關(guān)CD4051來實現(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)換時間為8.5μs,并且有多種工作方式可供用戶選擇。在本心電模塊中我們選用了直通(throughout)模式,僅用兩根控制線R/C和STATUS與TSM320F206接口,其工作原理和時序如圖2所示。
TMS320F206 通過指令在XF引腳上產(chǎn)生一個寬度大于25ns的低電平脈沖,啟動ADS664進(jìn)行一次轉(zhuǎn)換。啟動后ADS774的STATUS引腳變?yōu)楦唠娖?,轉(zhuǎn)換結(jié)束后ADS774數(shù)據(jù)線上的數(shù)據(jù)有效,此時其STATUS引腳跳變回低電平,通過這個電平跳變觸發(fā)TMS320F206的INT1外部中斷,將12位轉(zhuǎn)換數(shù)據(jù)讀入數(shù)據(jù)存儲器。
由于TMS320F206片內(nèi)的數(shù)據(jù)存儲空間有限,為保存大量的采樣數(shù)據(jù)和運(yùn)算的中間結(jié)果,需增加外部數(shù)據(jù)存儲器;同時為了在調(diào)試程序時能夠設(shè)置斷點和進(jìn)行單步操作;也需要增加外部程序存儲器。我們采用了4 片日立公司的8位SRAM HM62256-10,兩兩組成16位的程序存儲器和數(shù)據(jù)存儲器,分別用F206的PS和DS信號進(jìn)行片選。HM62256-10的典型存取時間為 100ns,而TMS320F206的指令周期為50ns。為節(jié)省硬件等待電路的開中支,利用了TMS320F206片內(nèi)的可編程軟件等待狀態(tài)發(fā)生器產(chǎn)生兩個等待狀態(tài),從而滿足存儲器的操作時間要求。利用TMS320F206片上集成的全雙工異步串口,可以實現(xiàn)心電模塊和PC機(jī)的通信。但是RS232電平和TTL電平不兼容,我們使用了一片電平轉(zhuǎn)換芯片MAX202,它采用+5V單電源供電,使用時只需加幾個電容,便能完成兩種電平的轉(zhuǎn)換。為防止數(shù)據(jù)在傳輸過程中受到干擾,在輸入輸出端都加上光電耦合器。
R 波的精確定位是心電監(jiān)護(hù)模塊的一個重要功能,它關(guān)系到后面進(jìn)行心率計算及心律失常分析結(jié)果的正確性。一個正常人完整的心電波形由P、Q、R、S、T五個部分組成,其中R波和T波的幅值相對較高。心率計算通常是根據(jù)心電波形中R波的間距來推算得到。但在少數(shù)異常波形中,T波的幅值會超過R波,如果把T波誤判為R波來進(jìn)行心率計算,則會產(chǎn)生很大的誤差。通過對大量的心電信號進(jìn)行頻譜分析,發(fā)現(xiàn)R波通常位于0~33Hz的頻率范圍內(nèi),而T波位于 0~9Hz的頻率范圍內(nèi)。為了在心率計算時消除T波可能引起的干擾,我們設(shè)計了個有源帶濾波器,其中心頻率f0=12.687Hz,帶寬B=fo/Q= 5.629Hz,下限截止頻率f1=10.3565Hz;上限截止頻率f2=15.9655Hz。標(biāo)準(zhǔn)心電信號通過該通濾波器前后的波形如圖3所示??梢钥闯觯l率相對較低的T波有很大的衰減而R波基本保持不變。
3 軟件設(shè)計
該心電監(jiān)護(hù)模塊的軟件由兩部分組成。一是運(yùn)行在TMS320F206片內(nèi)FLASH MEMORY中的系統(tǒng)監(jiān)控程序,二是運(yùn)行于PC機(jī)端的圖形界面用戶程序。前者對實時性的要求較高,為提高運(yùn)行效率,采用TMS320C2XX匯編語言編寫,經(jīng)匯編、鏈接后在外部程序RAM中調(diào)試,調(diào)試成功后燒寫到TMS320F206的FLASH中。它主要由如下幾個功能模塊組成:①系統(tǒng)初始化模塊。完成RAM、ADS774、中斷以及定時器等外初始化設(shè)置;②定時采樣模塊,進(jìn)行四路信號的分時采集,經(jīng)預(yù)處理后存入數(shù)據(jù)RAM;③心率、呼吸率計算和體溫插值運(yùn)算模塊;④512點心電信號的基2FFT運(yùn)算模塊;⑤異步串行通信模塊,實現(xiàn)與PC機(jī)之間的通信協(xié)議。
下面簡要介紹一下心率計算模塊的算法。設(shè)dR-R是相鄰兩個R波的間距(即兩個R波之間有dR-R個采樣點),由于心電通道的采樣率為250Hz,所以 250÷dR-R即為一秒鐘內(nèi)R波的個數(shù),60×250÷dR-R即為一分鐘內(nèi)的心跳次數(shù)。因此關(guān)鍵在于對R波進(jìn)行準(zhǔn)確定位。算法流程如圖4所示。其中F [I]為數(shù)據(jù)RAM中最新1024個心電信號真,一次運(yùn)算后,F(xiàn)IFO即被刷新,準(zhǔn)備進(jìn)行下次運(yùn)算。
圖5顯示了R波的定位結(jié)果,“X”標(biāo)識出查找到的R波最高點。為了驗證這個算法的正確性,我們以BIO-TECH心電信號仿真器產(chǎn)生的標(biāo)準(zhǔn)心電信號作為測試信號,發(fā)現(xiàn)它對正常信號和大部異常信號均能準(zhǔn)確地測出心率。
4 模塊高度過程
整個心電模塊的調(diào)試過程分三個階段:①硬件調(diào)試,確保DSP板上的各器件均正常工作,這是進(jìn)行軟件調(diào)試的基礎(chǔ);②TMS320F206端軟件調(diào)試,采用模塊化方法,對各個功能編寫相應(yīng)子程序,分別調(diào)通各個功能模塊,然后把這些模塊通過接口組裝起來,實現(xiàn)整個系統(tǒng)的功能;③圖形用戶界面GUI軟件調(diào)試,與 TMS320F206的通訊模塊調(diào)試同時進(jìn)行,確何數(shù)據(jù)的正確收發(fā),并在此基礎(chǔ)上逐步增加新的功能。調(diào)試結(jié)束后,用仿真器的FLASH燒寫程序?qū)⒛繕?biāo)代碼通過JTAG口下載到TMS320F206中去,實現(xiàn)整個系統(tǒng)的脫機(jī)運(yùn)行。
本系統(tǒng)已經(jīng)達(dá)到設(shè)計任務(wù)書規(guī)定的要求,但還具有進(jìn)一步擴(kuò)展的潛力。軟件方面,由于采用模塊化設(shè)計,可以方便增加新的功能模塊,如自相關(guān)處理等;在硬件方面, TMS320F206和外圍芯片接口邏輯目前是用小模塊集成電路實現(xiàn),今后可改用PLD或FPGA進(jìn)行編程實現(xiàn)接口邏輯,減少芯片的數(shù)據(jù),提高系統(tǒng)的可靠性。
評論