摘要
本論文旨在設計一種基于 STM32 微控制器的心電圖監測系統,通過對人體心電信號的采集、處理和分析,實現對心電圖的實時監測與顯示。系統采用高精度的心電信號采集模塊,結合 STM32 強大的數據處理能力,能夠有效去除噪聲干擾,提取出準確的心電信號特征。同時,利用 LCD 顯示屏實現心電波形的實時顯示,并通過藍牙模塊實現數據的無線傳輸,方便醫護人員遠程監測。經測試,該系統具有較高的精度和穩定性,能夠滿足臨床心電圖監測的基本需求,為醫學診斷提供可靠的數據支持。
關鍵詞
STM32;心電圖監測;心電信號采集;數據處理;無線傳輸
一、引言
心電圖(ECG)是通過記錄心臟在每個心動周期中電活動產生的生物電變化,來反映心臟功能狀態的重要醫學檢查手段。在現代醫療領域,心電圖監測對于心臟病的早期診斷、病情監測以及治療效果評估等方面都具有至關重要的意義。傳統的心電圖監測設備往往體積龐大、價格昂貴,且功能相對單一,不利于在家庭醫療、社區醫療等場景中推廣應用。隨著微控制器技術、傳感器技術以及無線通信技術的不斷發展,設計一種小型化、智能化、低成本的心電監測系統成為可能。
STM32 系列微控制器基于 ARM Cortex-M 內核,具有高性能、低功耗、豐富的外設資源等特點,能夠滿足心電信號采集與處理過程中對數據處理能力和實時性的要求。本論文基于 STM32 微控制器設計心電圖監測系統,旨在為用戶提供一種便捷、準確的心電監測解決方案,推動心電監測技術在更廣泛場景中的應用。
二、系統總體設計
2.1 系統設計目標
本系統的設計目標是實現對人體心電信號的實時采集、處理、顯示與無線傳輸。具體要求如下:
能夠準確采集人體的心電信號,有效抑制噪聲干擾;
對采集到的心電信號進行實時處理,提取出關鍵的波形特征;
通過 LCD 顯示屏實時顯示清晰的心電波形;
實現心電數據的無線傳輸,方便醫護人員遠程監測與分析。
2.2 系統總體架構
基于 STM32 的心電圖監測系統主要由心電信號采集模塊、信號調理模塊、STM32 微控制器、LCD 顯示模塊、藍牙傳輸模塊以及電源模塊等部分組成。系統總體架構如圖 1 所示。
圖 1 系統總體架構圖
心電信號采集模塊負責從人體體表采集微弱的心電信號;信號調理模塊對采集到的原始信號進行放大、濾波等處理,以提高信號質量;STM32 微控制器作為系統的核心,對調理后的信號進行 A/D 轉換、數據處理以及控制其他模塊的工作;LCD 顯示模塊用于實時顯示心電波形;藍牙傳輸模塊將處理后的心電數據發送到智能手機或其他終端設備;電源模塊為整個系統提供穩定的電源。
三、系統硬件設計
3.1 心電信號采集模塊
心電信號采集模塊采用 AD8232 心電信號采集芯片。AD8232 是一款集成式單導聯 ECG 前端,專為在嘈雜環境中(如運動過程中)采集微弱生物電信號而設計。它內部集成了儀表放大器、右腿驅動電路、高通濾波器和低通濾波器等,能夠有效抑制共模干擾,提高信號的信噪比。AD8232 只需少量的外部元件即可實現完整的心電信號采集功能,具有電路簡單、性能可靠等優點。
3.2 信號調理模塊
信號調理模塊主要包括放大電路和濾波電路。由于人體心電信號非常微弱,其幅值一般在 0.05mV - 5mV 之間,因此需要對采集到的信號進行放大處理。放大電路采用兩級放大結構,第一級使用儀表放大器對信號進行初步放大,第二級采用運算放大器進行進一步放大,使信號幅值達到適合 STM32 微控制器 A/D 轉換的范圍。
濾波電路包括高通濾波和低通濾波。高通濾波器用于去除信號中的直流漂移和低頻干擾,低通濾波器用于抑制高頻噪聲。通過合理設計濾波器的參數,能夠有效提高心電信號的質量。
3.3 STM32 微控制器
本系統選用 STM32F103RCT6 微控制器作為核心處理器。該芯片基于 ARM Cortex-M3 內核,工作頻率最高可達 72MHz,具有 64KB 的 Flash 存儲器和 20KB 的 SRAM,能夠滿足心電信號采集與處理過程中對數據存儲和運算的需求。STM32F103RCT6 豐富的外設資源,如 ADC、定時器、SPI、USART 等,為系統的功能擴展提供了便利。其中,ADC 模塊用于將調理后的模擬心電信號轉換為數字信號,定時器用于控制信號采集的頻率,USART 模塊用于與藍牙模塊進行通信。
3.4 LCD 顯示模塊
LCD 顯示模塊采用 128×64 分辨率的 OLED 顯示屏。OLED 顯示屏具有自發光、對比度高、視角廣、響應速度快等優點,能夠清晰地顯示心電波形。該顯示屏通過 SPI 接口與 STM32 微控制器相連,STM32 微控制器通過控制 SPI 接口向顯示屏發送數據,實現心電波形的實時刷新顯示。
3.5 藍牙傳輸模塊
藍牙傳輸模塊選用 HC-05 藍牙模塊。HC-05 是一款高性能的藍牙串口模塊,支持藍牙 2.0 協議,能夠實現與智能手機、平板電腦等設備的無線通信。該模塊通過 USART 接口與 STM32 微控制器連接,STM32 微控制器將處理后的心電數據通過 USART 接口發送給藍牙模塊,藍牙模塊再將數據以無線的方式傳輸到接收設備上,方便醫護人員進行遠程監測和分析。
3.6 電源模塊
電源模塊為整個系統提供穩定的電源。考慮到系統的便攜性,采用鋰電池供電。鋰電池輸出的電壓經過穩壓芯片轉換為系統各模塊所需的電壓,如 3.3V 為 STM32 微控制器、藍牙模塊等供電,5V 為心電信號采集模塊、信號調理模塊等供電。同時,電源模塊還設計了充電電路,方便對鋰電池進行充電。
四、系統軟件設計
4.1 軟件總體架構
系統軟件采用模塊化設計思想,主要包括主程序模塊、心電信號采集與處理模塊、LCD 顯示模塊、藍牙傳輸模塊等。主程序模塊負責初始化系統各模塊,并協調各模塊之間的工作;心電信號采集與處理模塊實現對心電信號的 A/D 轉換、濾波處理以及波形特征提取;LCD 顯示模塊負責將處理后的心電信號實時顯示在顯示屏上;藍牙傳輸模塊實現心電數據的無線發送。
4.2 主程序設計
主程序流程如圖 2 所示。系統上電后,首先進行初始化操作,包括 STM32 微控制器的時鐘配置、GPIO 口初始化、ADC 初始化、定時器初始化、SPI 初始化、USART 初始化以及 LCD 顯示屏初始化等。初始化完成后,進入循環主程序,在循環中不斷調用心電信號采集與處理模塊、LCD 顯示模塊和藍牙傳輸模塊,實現心電信號的實時采集、顯示和傳輸。
圖 2 主程序流程圖
4.3 心電信號采集與處理模塊設計
心電信號采集與處理模塊通過定時器觸發 ADC 進行數據采集,采集到的數據存儲在數組中。為了去除信號中的噪聲干擾,采用中值濾波和滑動平均濾波相結合的方法對采集到的數據進行處理。中值濾波能夠有效去除脈沖干擾,滑動平均濾波可以進一步平滑信號,提高信號的穩定性。
在完成濾波處理后,對心電信號進行波形特征提取。通過檢測 R 波的位置,計算心率值,并提取 P 波、QRS 波群、T 波等特征參數,為后續的醫學診斷提供數據支持。
4.4 LCD 顯示模塊設計
LCD 顯示模塊根據心電信號采集與處理模塊提供的數據,在 OLED 顯示屏上繪制心電波形。為了實現波形的實時刷新顯示,采用雙緩沖技術。即在內存中開辟兩個緩沖區,一個緩沖區用于存儲當前要顯示的數據,另一個緩沖區用于接收新采集到的數據。當一個緩沖區的數據顯示完成后,立即切換到另一個緩沖區進行顯示,從而實現心電波形的流暢顯示。
4.5 藍牙傳輸模塊設計
藍牙傳輸模塊通過 USART 接口與 STM32 微控制器進行通信。在發送數據前,先對心電數據進行打包處理,添加數據幀頭、幀尾以及校驗信息,以確保數據傳輸的準確性。然后,將打包后的數據通過 USART 接口發送給藍牙模塊,藍牙模塊將數據以無線的方式傳輸到接收設備上。接收設備接收到數據后,進行解包和校驗處理,提取出有效的心電數據。
五、系統測試
5.1 硬件測試
對系統的各個硬件模塊進行單獨測試,確保各模塊能夠正常工作。測試內容包括:
心電信號采集模塊:使用信號發生器產生模擬的心電信號,輸入到心電信號采集模塊,通過示波器觀察采集模塊的輸出信號,檢查其是否能夠準確采集到信號,并對信號進行初步處理。
信號調理模塊:將采集模塊輸出的信號輸入到信號調理模塊,通過調整放大倍數和濾波參數,觀察調理后的信號波形,確保信號幅值合適、噪聲得到有效抑制。
STM32 微控制器:通過編寫簡單的測試程序,測試微控制器的 ADC、定時器、SPI、USART 等外設是否正常工作,確保能夠正確采集和處理數據,并與其他模塊進行通信。
LCD 顯示模塊:向 LCD 顯示模塊發送測試數據,檢查顯示屏是否能夠正常顯示字符和圖形,確保顯示效果清晰、穩定。
藍牙傳輸模塊:將藍牙模塊與智能手機或其他藍牙接收設備進行配對,通過 STM32 微控制器向藍牙模塊發送測試數據,檢查接收設備是否能夠正確接收到數據,確保藍牙傳輸功能正常。
5.2 系統整體測試
在硬件模塊測試完成后,對系統進行整體測試。邀請志愿者佩戴心電監測設備,采集真實的人體心電信號。通過觀察 LCD 顯示屏上的心電波形,檢查波形是否清晰、穩定,是否能夠準確反映人體的心電活動。同時,將采集到的心電數據通過藍牙傳輸到智能手機上,使用專門的應用程序對數據進行分析和處理,驗證系統的準確性和可靠性。
測試結果表明,本系統能夠準確采集人體的心電信號,有效抑制噪聲干擾,實時顯示清晰的心電波形,并能夠穩定地將心電數據通過藍牙傳輸到接收設備上。系統的心率測量誤差在 ±1 次 / 分鐘以內,滿足臨床心電圖監測的基本要求。
六、結論與展望
6.1 結論
本論文設計并實現了一種基于 STM32 的心電圖監測系統。該系統通過合理的硬件設計和軟件編程,實現了對人體心電信號的實時采集、處理、顯示與無線傳輸。經測試,系統具有較高的精度和穩定性,能夠滿足臨床心電圖監測的基本需求,為醫學診斷提供了可靠的數據支持。同時,該系統具有體積小、成本低、操作方便等優點,適用于家庭醫療、社區醫療等多種場景。
6.2 展望
雖然本系統已經實現了基本的心電監測功能,但仍有進一步改進和完善的空間。未來可以從以下幾個方面進行研究和改進:
增加更多的心電信號分析算法,如心律失常自動診斷算法,提高系統的智能化水平,為醫學診斷提供更準確的信息。
優化系統的電源管理,進一步降低系統的功耗,延長設備的續航時間,提高系統的便攜性。
開發配套的手機應用程序,豐富數據管理和分析功能,方便醫護人員和用戶對心電數據進行存儲、查詢和分析。
探索與物聯網技術的結合,實現心電監測設備與醫院信息系統的互聯互通,為遠程醫療和健康管理提供更完善的解決方案。