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