淺析基于MSP430的動態心電圖采集系統設計方案
動態心電圖是指連續記錄24小時或更長時間的心電圖,它已經成為臨床上廣泛應用的無創性心血管病診斷手段之一。尤其是常規心電圖檢查正常,但有心臟病癥狀或心率變化與癥狀不相符時,可以作為首選的無創檢查方法。此方法為美國人Holter發明,所以又稱為Holter。由于資金、技術等因素,Holter系統在我國并未得到普及,因此研制一種能夠記錄24小時全程心電圖的低功耗、便攜式心電圖記錄系統十分必要。
本文引用地址:http://www.j9360.com/article/199133.htm目前該類產品存在的主要問題在功耗和容量等方面[1]。市場上的動態心電記錄系統普遍采用51系列或DSP,其功耗很大,不能滿足24小時連續記錄的要求。MSP430具有優勢,它自帶12位AD轉換和液晶顯示,在圖1中虛線框中的模塊都是MSP430自帶的,其集成化程度高,更有利于實現低功耗和便攜式。因此采用MSP430和SD卡的動態心電采集系統十分合適[2]。
1 系統的硬件結構和工作原理
1.1 MSP430 芯片介紹
美國德州儀器公司推出的MSP430系列超低功耗16位混合信號處理器,以16位RISC處理器、超低功耗、豐富的片內外設、JTAG仿真調試定義了新一代單片機的概念。本系統采用的MSP430FG4618是一款優秀的片上系統,它自帶12位AD轉換、3個可編程運放、12位DA同步轉換器、160段LED驅動以及UART、SPI、I2C等豐富的外設接口,給系統設計提供了很大的方便。
1.2 系統整體流程介紹
系統整體框圖如圖1所示。系統硬件主要由三部分組成:模擬放大部分、MSP430主處理部分和SD卡存儲部分。系統的工作流程為:由導聯電極采集人體表面微弱的心電信號,經由儀表運放INA321初步放大,再通過50Hz陷波器濾除工頻干擾;主運放采取MSP430內部的可編程運放,放大100倍,滿足AD轉換的電壓要求;AD轉換結果經過數字濾波消除一些高頻干擾后,一方面直接將數據存入SD卡,另一方面通過設定閾值判斷QRS波群的到來,由兩次波群的采樣間隔計算出心率,經由LCD顯示。
系統中AD轉換采用MSP430自帶的12位AD,采樣點數設定為500點/s,這樣的采樣速率有利于工頻干擾的數字濾波;MSP430FG4618自帶160段液晶驅動,最多可以帶20位的數碼顯示;根據實際需要選用4位的數碼顯示;存儲系統采用1GB的金士頓SD卡,完全滿足數據量和存儲速度的需要。
1.3 模擬部分電路
儀表運放采用TI公司的INA321,其默認放大倍數為5倍。因為人體皮膚接觸電阻大、共模電壓高等因素,前級運放放大倍數不能太大,否則容易引起飽和,因此設定其放大倍數為5。模擬部分電路如圖2所示。其中點1接參考電壓1.5V,能保證輸出點3的參考電壓也為1.5V。U2和INA321組成一個積分電路,可以消除由于采集過程中皮膚接觸阻抗變換引起的基線漂移[2]。U3和R7、C4等電容網絡組成了低通和陷波電路,其增益為500倍,能將微弱的信號放大到AD轉換需要的1V電壓。
模擬部分整體電路在Multisim10仿真圖形波形中,可以看出此電路的性能完全符合后級AD轉換要求。
1.4 心電信號的存儲設備SD卡
24小時采集的心電信號數據量計算如下:采樣率500點/s,每個點用8位表示,則數據量為24×3 600×500=43.2MB。這樣大的數據量可以采用Flash或者移動存儲卡的形式存儲。考慮到SD卡能用讀卡器直接讀入PC機,所以將SD卡作為存儲設備,具體采用金士頓1GB的SD卡作為存儲設備,它在容量和功耗上完全滿足設計需求。
2 系統軟件設計和工作流程
AD轉換后的數據須經過數字濾波消除高頻干擾,再對數據分別進行心率計算和存儲。由于MSP430自帶硬件乘法器,因此可以在芯片內部實現簡單整系數數字濾波,以提高心率計算的準確度。在存儲時要滿足FAT16文件系統要求,將FAT表、根目錄、數據區等相應位置寫入數值,以便PC機讀取采集到的心電數據。其工作流程如圖3所示。
SD卡的讀寫方式有SD方式和SPI方式,這里選擇SPI方式。SD卡上的文件系統基本單位是扇區,格式化時由操作系統將每個扇區設置為512B,則采集時也要在MSP430內部設置一個512B的緩沖區,寫滿后一次性寫入SD卡。由于采樣間隔只有2ms,這就要求在2ms內能將一個扇區的數據寫入卡內,不然就會造成數據的丟失。可以設置SPI總線的時鐘頻率在8MHz,則存儲512B的數據需要0.5ms,滿足實時性要求。
3 FAT文件系統原理
SD卡內部存儲空間以扇區為單位,每扇區512B。在進行格式化時由操作系統決定了每簇含扇區的個數、保留扇區的個數、FAT表的位置和根目錄的位置等信息。然后將這些信息寫到SD卡的第一個扇區。
在卡上建立文件必須讀取第一個扇區的內容,并由此計算出各個偏移地址。首先計算出FAT表的位置,并將第一頁FAT表讀入,并檢查是否有空簇。若有則記錄其偏移地址并寫到根目錄相應文件屬性中;否則順序讀取下個FAT頁面,繼續查找直到最后一個FAT頁。在根目錄中每個文件占32B,內容包括文件名、擴展名、文件起始簇所在位置、文件隱藏歸檔等屬性。
FAT文件系統的結構如圖4所示。
因為心電數據是不斷采集的,所以文件的大小也是不斷增加的,這就是說在建立文件時不可能設定最終的文件大小,要求程序能不斷申請新簇,然后相應修改文件大小。
4 上位機軟件設計
將采集到的心電信號存儲在SD卡上,通過讀卡器讀入PC機中。先進行預處理,經過低通濾波消除工頻干擾、中值濾波消除基線漂移后的結果如圖5所示。
從預處理后的波形可以看出,在采集過程中產生的基線漂移和50Hz工頻干擾都被消除了,得到的波形完全能反映被測者的心電特征,滿足后級處理的要求。
上位機軟件同時還有QRS波群的識別功能。算法上采用基于導數的測量方法。首先對預處理后的波形進行一階差分并圖像增強,這樣R波的特征會更加明顯;然后對差分信號進行過零檢測,可以判斷出R波的位置;接下來在R波峰位置向前向后分別檢測,即可找出Q、S波的起始位置。
大量實驗結果顯示,所采集到的ECG圖像完整,能夠滿足臨床診斷精度要求,從而說明采用MSP430和SD卡實現Holter采集系統的方案是可行的。同時,由于此算法的識別成功率較高,因此采用基于導數的QRS波群識別算法。實驗結果說明,采用此算法完全可以滿足后級處理要求。在后級處理中對各個波峰中間采樣點數進行了統計分析,并計算出心電圖中的各個時間參數,如P-Q、Q-R時間等參數,可以作為實際診斷的重要依據。
本文的創新點:(1)采用TI公司的超低功耗單片機MSP430和具有關閉模式的前端儀表放大器,使得兩節干電池供電的24小時不間斷采集成為可能。(2)用SD卡作為存儲設備并用單片機實現了文件系統,能方便地將數據轉存到PC機上,利于后端的數據處理和顯示。
更多醫療電子信息請關注:21ic醫療電子頻道
評論