任郁苗,康 瑜,單方潤,羅忠文
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安710021)
隨著人們生活水平的不斷提高,心臟病已成為人類健康的最大障礙之一[1],心血管疾病發(fā)病率也越來越高,發(fā)病患者也越來越年輕化,對人們的健康甚至生命具有嚴(yán)重的威脅[2]。心臟疾病有發(fā)病速度快、隱蔽性高等特點,導(dǎo)致許多病人在沒有任何征兆的情況下死亡,許多病人無法做到有效預(yù)防和治療心臟疾病,才導(dǎo)致心臟疾病的死亡率不斷上升[3-5]。醫(yī)院的大型心電監(jiān)測設(shè)備只能監(jiān)測患者的靜態(tài)心電,然而心臟疾病的特殊性,有些異常心電是需要在運動狀態(tài)才能表現(xiàn)出來的,還有的異常心電具有短暫性,只會在某一時刻才會表現(xiàn)出來[6-8],所以說傳統(tǒng)的大型心電監(jiān)測設(shè)備是不足以滿足當(dāng)前心電監(jiān)測的需求,需要有一款便攜式實時監(jiān)測儀來對患者進行24 h 的實時監(jiān)測,實時捕捉患者的異常心電。近幾年,在互聯(lián)網(wǎng)技術(shù)飛速發(fā)展的時代,使得心電監(jiān)護儀朝著微型化、數(shù)字化的方向發(fā)展,快速便捷的可穿戴心電監(jiān)護儀系統(tǒng)成為當(dāng)今社會的主流產(chǎn)物[9]。
本系統(tǒng)首先是通過聚吡咯織物電極對微弱心電信號進行采集,其次通過OPA2277 芯片對采集到的微弱心電信號進行放大和濾波處理,且單片機系統(tǒng)采用STM32F103ZET6 芯片為核心的微處理器,在微處理器上實現(xiàn)模數(shù)轉(zhuǎn)化、數(shù)據(jù)處理、FATFS 文件系統(tǒng)的移植和HC-06 藍牙模塊的數(shù)據(jù)傳輸?shù)紸PP 進行心電波形顯示,實現(xiàn)了24 h 的實時監(jiān)控,并通過設(shè)定的閾值與心率比較,實現(xiàn)超值報警功能,最后針對Android 手機開發(fā)了一個心電監(jiān)護系統(tǒng)的軟件,其可以對患者心率和心電信號波形實時顯示,起到監(jiān)護作用。系統(tǒng)的整體框架圖如圖1所示。
圖1 系統(tǒng)的整體框架圖Fig.1 Overall framework of the system
系統(tǒng)硬件設(shè)計主要包括聚吡咯心電織物電極設(shè)計、心電信號采集調(diào)理電路的設(shè)計、ADC 采集模塊、存儲模塊、蜂鳴器報警模塊和藍牙模塊的設(shè)計。
本課題采用的聚吡咯/棉織物電極利用導(dǎo)電高聚物沉積在織物表面使織物具備導(dǎo)電性的方法,借助人體皮膚汗液充當(dāng)電解質(zhì),可以采集到皮膚表面的微弱電勢(生物電信號)[10]。與將導(dǎo)電材料和刺繡工藝結(jié)合的織物電極相比,不僅具有優(yōu)良的力學(xué)性能,而且還有成本低廉和可重復(fù)洗滌、無毒性的特點,并且能夠完整采集到穩(wěn)定的心電信號,可以滿足織物電極柔性可穿戴的要求[11]。
織物電極制作步驟如下,如圖2所示反應(yīng)后棉織物由原先的白色變?yōu)楹谏?jīng)觀察織物表面包覆一層較為均勻的聚吡咯膜 (左邊棉織物未經(jīng)處理,右邊是處理后的帶有導(dǎo)電扣的棉織物)。
圖2 未反應(yīng)織物和聚吡咯/棉織物Fig.2 Unreacted fabric and polypyrrole/cotton fabric
(1)配置0.04 mol/L 吡咯單體水溶液和0.02 mol/L過硫酸銨晶體水溶液。根據(jù)反應(yīng)比例將0.04 mol/L吡咯單體水溶液取260 ml 和0.5 g 的1,5-萘二磺酸溶于燒杯中,可放置冰箱保存。
(2)將預(yù)處理的12 片織物全部放入在步驟(1)中配置的溶液,然后將燒杯再放入在0 ℃的冰浴中,并用玻璃棒不斷進行攪拌20 min。
(3)向燒杯中加入0.02 mol/L 過硫酸銨晶體130 ml,引發(fā)聚合反應(yīng),并于0 ℃的冰水浴中反應(yīng)1 h。
(4)取出步驟(3)中反應(yīng)后的全部織物,反復(fù)用蒸餾水沖洗織物表面,直到肉眼看不見漂浮于織物表面的聚吡咯粉末為止。
(5)將步驟(4)中洗滌后12 片織物,拿出品相不好的織物,將其余的織物放在80 ℃的恒溫烘箱里干燥20 min。
(6)將烘干的聚吡咯/導(dǎo)電織物放入自封袋中,在冰箱的保鮮室保存。
人體正常的心電信號的幅值在10 μV~4 mV 之間,典型值為1 mV。心電信號頻率范圍一般在0.05~100 Hz 之內(nèi),并且90%的ECG 頻譜能量集中在0.25~35 Hz 之間[12]。所以根據(jù)ECG 的能量譜可以得知,低通濾波器的上限截止頻率要略小于35 Hz,高通濾波器的下限截止頻率要略高于0.25 Hz。這樣就可以保證搭建出來的帶通濾波器可以通過90%的心電信號。
心電信號采集調(diào)理電路分為5 個模塊:聚吡咯/棉織物電極采集的心電信號,前置級放大電路,帶通濾波器,主放大電路,A/D 轉(zhuǎn)換電路。實物圖如圖3所示。
圖3 外圍心電信號采集調(diào)理模塊實物圖Fig.3 Physical diagram of external core electric signal acquisition and conditioning module
本設(shè)計采用STM32F103ZET6 芯片,其內(nèi)部包含12 位的ADC 模數(shù)轉(zhuǎn)換器,最高采樣頻率可達到1 MHz。此芯片滿足心電信號采樣的需求[13]。本設(shè)計使用ADC 是將經(jīng)過硬件濾波和放大的心電信號轉(zhuǎn)化為可以存儲的數(shù)字信號,由于ADC 參考電壓是3.3 V,12 位的轉(zhuǎn)化精度[14],因此,獲取的數(shù)字值需要乘以3.3,然后除以4096,就是轉(zhuǎn)化的電壓值。
存儲模塊采用TF 卡進行存儲,TF 卡在尺寸和性能方面都優(yōu)于SD 卡,工作電壓在2.7 V~3.6 V,TF卡模塊通過SDIO 接口與單片機相連,利用TF 卡對心電數(shù)據(jù)以文件方式進行存儲,STM32F1 系列與TF卡模塊的電路連接圖如圖4所示。
圖4 SD 卡電路圖Fig.4 SD card circuit diagram
本設(shè)計選擇藍牙模塊進行數(shù)據(jù)傳輸,通過HC-06藍牙模塊和串口實現(xiàn)對數(shù)據(jù)的傳輸,并實現(xiàn)通過藍牙發(fā)送數(shù)據(jù)給手機端APP,將心電信號發(fā)送給手機端APP 進行實時顯示。
通過STM32F103 芯片對采集的心電數(shù)據(jù)進行算法處理后獲取心率數(shù)值,就會利用這個采集出來的心率值和先前設(shè)定好的閾值去進行比較,如果測量獲取到的心率值比事先設(shè)置好的心率閾值高,蜂鳴器就會發(fā)出聲響進行報警。在本設(shè)計中蜂鳴器接在單片機的PA6 口。用NPN 型三極管對蜂鳴器進行驅(qū)動,三極管的集電極通過蜂鳴器接3.3 V 的電源,基極與PA6 連接,發(fā)射極接地,當(dāng)PA6 口為高電平時,三極管導(dǎo)通,蜂鳴器進行報警;當(dāng)PA6 輸出低電平時,三極管截止,蜂鳴器斷開。具體電路如圖5所示。
圖5 報警電路Fig.5 Alarm circuit
基于嵌入式系統(tǒng)的軟件設(shè)計程序包括主程序、ADC 轉(zhuǎn)換子程序、存儲子程序、藍牙傳輸子程序、心率計算子程序、報警子程序。主程序調(diào)用各功能模塊,并將它們聯(lián)系起來,從而形成一個整體,以實現(xiàn)對系統(tǒng)的管理。軟件功能圖如圖6所示。
圖6 軟件功能圖Fig.6 Software function diagram
主程序?qū)崿F(xiàn)的功能:與心電采集模擬前端的硬件部分相結(jié)合通過ADC 轉(zhuǎn)換得到24 位的心電數(shù)據(jù),再將獲取的心電數(shù)據(jù)保存在數(shù)組里面,首先找出最大值,然后對心電信號進行序列差分,繼而尋找序列過零點的數(shù)據(jù),尋找過零點與最大值相重合的點,最后排除T 波影響,最后通過R-R 計算心率;若當(dāng)出現(xiàn)心率異常,超出預(yù)設(shè)范圍,則啟動報警,再利用SDIO 接口和FATFS 文件系統(tǒng)對數(shù)據(jù)進行存儲,在PC 端可直接看到TF 卡內(nèi)部文件,得到實時心率數(shù)據(jù)。并啟動藍牙連接,下位機會將存儲的實時心率數(shù)據(jù)以及異常信號數(shù)據(jù)發(fā)送給手機APP,供用戶查看和醫(yī)生追蹤診斷使用。主程序流程如圖7所示。
圖7 主程序流程Fig.7 Main program flow chart
由于采樣的速度較快,本設(shè)計利用DMA 方式來對采集的數(shù)據(jù)進行搬移,這樣可以為CPU 提高工作效率。在AD 每次轉(zhuǎn)換的結(jié)果會放到一個固定的寄存器里,在沒有使用DMA 時,需要利用賦值語句來獲取采集的數(shù)據(jù)到變量,但是開啟了DMA 通道,數(shù)據(jù)直接存儲到指定的變量里,不用CPU 再執(zhí)行賦值語句,可以大幅度提高CPU 的工作效率[15]。模數(shù)轉(zhuǎn)化流程如圖8所示。
圖8 ADC 轉(zhuǎn)換流程Fig.8 ADC conversion flow chart
本設(shè)計采用SDIO 接口和FATFS 文件系統(tǒng)對心電數(shù)據(jù)進行存儲,結(jié)構(gòu)包括系統(tǒng)引導(dǎo)區(qū),目錄和文件[16]。使用文件系統(tǒng)前,先將存儲介質(zhì)格式化,接著存儲介質(zhì)會創(chuàng)建新的文件分配表和目錄。且數(shù)據(jù)會以文件形式存儲,閱讀性更強。TF 卡存儲流程如圖9所示。
圖9 TF 卡存儲流程Fig.9 TF card storage flow chart
首先將獲取的心電數(shù)據(jù)保存在數(shù)組里面,接著找出最大值,然后對心電信號進行序列差分,繼而尋找序列過零點的數(shù)據(jù),尋找過零點與最大值相重合的點,排除T 波影響,最后通過R-R 計算心率。心率計算流程如圖10所示。根據(jù)以上所述可利用式(1)計算心率:
圖10 心率計算流程Fig.10 Heart rate calculation flow chart
如今Android 智能手機市場占有率很高[17],許多的應(yīng)用程序也隨之誕生并且得到了廣泛的普及?,F(xiàn)在心血管病的患病率持續(xù)不斷的增加,因此開發(fā)一款基于Android 智能手機的心電監(jiān)護系統(tǒng)應(yīng)用程序,具有很好的潛在市場[18]。與體積大,價格昂貴的心電監(jiān)護設(shè)備相比,便攜的Android 監(jiān)護系統(tǒng)就顯得十分的重要,它可以隨時對用戶的心電信號進行實時監(jiān)測。
將已經(jīng)處理好的心電信號通過串口發(fā)送到藍牙,打開手機端藍牙和單片機端進行藍牙匹配,獲取心電數(shù)據(jù)[19],將心電數(shù)據(jù)無線傳輸?shù)紸ndroid 智能手機上并且顯示,通信流程如圖11所示。
圖11 通信流程Fig.11 Communication flow chart
設(shè)計一個心電監(jiān)護應(yīng)用軟件,首先要有一個藍牙模塊獲取前端傳來的患者心電數(shù)據(jù)。其次是要有一個登錄和注冊界面,來對用戶的個人信息密碼等數(shù)據(jù)進行記錄和存儲[20]。接下來就是最主要的部分,對患者的心電信號進行顯示的心電圖顯示模塊。最后就是患者的心電數(shù)據(jù)存儲模塊。綜上所述,手機應(yīng)用程序所需要設(shè)計的模塊包括4 部分:登錄和注冊模塊,藍牙模塊,心電圖繪制模塊,心電數(shù)據(jù)存儲模塊。Android 智能手機監(jiān)護系統(tǒng)的軟件設(shè)計的總體框架以及模塊如圖12所示。
圖12 心電監(jiān)護軟件總體設(shè)計模塊Fig.12 Overall design module of ECG monitoring software
下面對系統(tǒng)的有效性進行實測。選取了10 名測試人員,將織物電極以貼片的形式,貼在被測人員兩條胳膊的手腕部和腳腕部,如圖13所示,隨后接通電源。當(dāng)STM32F103ZET6 的藍色指示燈亮起時,此時程序正在向TF 卡內(nèi)寫入數(shù)據(jù),當(dāng)藍色LED燈熄滅時,此時為ADC 采樣的時間,然后ADC 模塊利用DMA 總線對采集的數(shù)據(jù)進行傳輸,再利用串口將獲取的數(shù)據(jù)顯示出來,最后再將ADC 采集的數(shù)據(jù)通過USART 和藍牙傳輸?shù)绞謾C端APP 顯示。如圖14 和圖15所示。
圖13 聚吡咯/棉織物電極與人體連接圖Fig.13 Connection diagram between polypyrrole/cotton fabric electrode and human body
圖15 手機應(yīng)用軟件繪制出的心電波形Fig.15 ECG waveform drawn by mobile phone application software
本設(shè)計是一個基于織物電極的心電監(jiān)測嵌入式系統(tǒng),在本次設(shè)計中完成前后兩部分的聯(lián)合調(diào)試,主要實現(xiàn)的功能有:將通過OPA2277 芯片對采集到的微弱心電信號進行放大和濾波的心電信號(0~3.3 V)經(jīng)過ADC 模數(shù)轉(zhuǎn)化,將采集的心電數(shù)據(jù)由模擬數(shù)據(jù)變成方便存儲的數(shù)字?jǐn)?shù)據(jù)。然后利用FATFS 文件系統(tǒng)將數(shù)據(jù)以文件的格式存儲起來,同時將心電數(shù)據(jù)發(fā)送給UART 端口,UART 連接著HC-06 藍牙模塊,然后通過HC-06 藍牙模塊將心電數(shù)據(jù)無線傳輸給手機端的APP,繪制心電圖并顯示其心率值。然后對采集的數(shù)據(jù)進行分析處理,獲取其心率值,同時將心率值也發(fā)送給手機端APP 進行實時顯示。實現(xiàn)了患者24 h 的實時監(jiān)測,讓患者足不出戶即可進行心電監(jiān)測,這樣不但對患者提供不少便捷,而且對有限的醫(yī)療資源也是一種節(jié)約,同時提高了醫(yī)生的就診效率。