基于ARM7 TDMI核的MCU ADuC7020的單電源心電檢測系統(tǒng)設計
心電信號采集系統(tǒng)的基本架構如圖1所示。人體的心電信號經電極和專用導聯(lián)線從人體送至系統(tǒng)。通過濾波和放大調節(jié)電路,微弱的心電信號被放大到合適的幅值,并處于A/D轉換范圍之內。
系統(tǒng)的控制和數(shù)據的處理由ADI公司基于ARM7 TDMI核的MCU ADuC7020來完成。這款芯片有豐富的片內外圍電路,處理速度高達40MIPS,A/D轉換速度可達1MSPS,具有很高的性價比。最后將結果由 ADuC7020通過UART口送至計算機,由計算機通過由LabVIEW編寫的界面將結果直觀地顯示出來或存儲下來。圖2是基本的硬件電路圖。
圖1:心電信號采集系統(tǒng)的基本架構。 |
從人體或是心電信號發(fā)生器上采集到的心電信號幅值在0.05~5mV之間(一般為2mV),頻率在0.05Hz~75Hz之間。心電信號要經過緩沖、匹配電阻網絡、電壓放大和濾波等幾級電路。
心電信號首先經過一個兩級的RC低通濾波電路,進入緩沖級。信號進入系統(tǒng)之前,需要除去高頻分量,因此這里設計了一個截止頻率為300Hz的低通濾波器,以保證0.05~75Hz的微弱心電信號不會被衰減。緩沖級由電壓跟隨器組成,它可以提高整個放大電路的輸入阻抗,降低輸出阻抗。為保證差分信號的一致性,應選用集成在芯片上的放大器。匹配電阻網絡通常采用威爾遜電中心端網絡,它通過特定的電阻網絡獲得威爾遜電中心端作為整個ECG系統(tǒng)的參考點。
濾波放大電路的前級采用負反饋差分放大電路,這里使用ADI公司可調增益高共模抑制比的儀表放大器AD8221作為前級放大器。放大倍數(shù)設為8倍,由公式G=49.4kΩ/RG+1計算得到,其中RG是AD8221兩個RG管腳之間的電阻值。
圖2:基本的硬件電路。 |
這個電阻應當選用高精度、低溫漂的金屬膜電阻,以保證AD8221的低噪聲性能。AD8221的REF管腳沒有接地,而是和一個低通濾波器構成負反饋回路,以便能有效地濾除直流分量,從而使U1處的電壓始終箝位在1.25V。因為是單電源供電,而不同導聯(lián)的心電信號電壓有正有負,所以一定要提供一個合適的箝位電壓。ADuC7020的AD轉換模式下電壓輸入范圍是0-2.5V,這里就選擇中間值1.25V作為箝位電壓。
AD8221輸出的單端信號幅值非常小,其中還混有大量干擾,無法進行數(shù)據處理。后級濾波放大電路由一個增益較大的有源低通組成,增益可調。不同人的心電信號強弱不一樣,考慮到有衰減,一般將該增益設為150倍。系統(tǒng)的傳遞函數(shù)為:
從保護病人和提高系統(tǒng)的共模抑制比兩方面考慮,必須將共模信號反相并放大后,再反饋給人體,這樣系統(tǒng)和人體就共同構成了一個電壓并聯(lián)負反饋網絡,即通常所說的右腿驅動電路。由ADuC7020對處理后的心電信號進行AD轉換,選擇定時器控制的ADC采樣模式。一次A/D轉換結束,觸發(fā)ADC中斷,在中斷服務程序中對數(shù)字信號進行處理。
圖3:數(shù)據處理的基本步驟。 |
處理心電數(shù)字信號的關鍵是對心電信號中QRS復波的精確識別。正常人的QRS波群的寬度為0.06至0.10秒,且不受心律變化的影響。針對R波很尖銳的特點,我們通過一個滑動時間窗判斷信號峰、谷是否滿足要求,同時確認其是否在時間窗內。對信號幅值的閾值采用雙可變閾值法,即對波形設置波峰閾值和波谷閾值。如果峰閾值和谷閾值在一段適當時間內有較大變化,則重新設置峰閾值和谷閾值。下面我們將對QRS復波定位和心律計算進行討論。對起始一段時間的信號只進行反相和濾波處理,這是為了將倒置的心電信號恢復過來,并避免信號初期的波動影響閾值。然后在一定的時期內,根據采樣得到的數(shù)據設置峰閾值Thpeak 和谷閾值THtrough,然后對QRS波進行定位。最后,按以下步驟(見圖3)進行數(shù)據處理。
讀取新采樣點Ni:
1)判斷采樣的信號點幅值是否大于峰閾值Thpeak。如果不滿足,則回到第1)步。
2)如果滿足條件,則開始計數(shù)n=1,并記錄n值為peaktime1。將時間窗的起始邊滑至此處。
3)繼續(xù)采樣Ni+1,每采樣一次則n+1。
4)判斷新的采樣點Ni+1是否小于谷閾值。如果不滿足,則回到第4)步。
5)如果滿足采樣點小于谷閾值Thtrough,則記錄該點的n值為troughtime1。
6判斷這兩次滿足幅值要求的信號點時刻troughtime1和peaktime1之差是否在時間窗內,即是否小于窗寬度THtime。如果不小于THtime,則回到第1)步。
7)如果滿足,則這段信號被認為是一個QRS波群。Peaktime1就被定位為一個R波。
有了定位的R波,就可以在此基礎上按以下步驟統(tǒng)計心率:1)找到第一個R波,并記錄n值為peaktime1;2)找到第二個R波,并記錄n值為peaktime2;3)按照以下公式計算心律。