梁家輝,梁冀,黃燦勝,卜宗煒,梁興健,陸榮秋,陳積燕,盧香艷
(廣西民族師范學院 數理與電子信息工程學院,廣西崇左,532200)
隨著社會的進步和經濟的發展,生活節奏飛快加速,持續快節奏生活的人們對自身健康問題的預防變的愈加重視,需要時常獲取身體相關的生理參數,以防患于未然。為了能夠更方便更快捷地診斷,便攜式健康監護儀順勢走進大眾的生活。為此,本文將以嵌入式技術為基礎,以模塊化為思想,選用低功耗高集成的傳感器設計一種便攜式健康監護儀系統。
本文設計的便攜式監護儀系統是以STM32F407ZGT6為MCU與多個生理信號采集模塊相結合的嵌入式設備。主要分為兩部分:生理信息采集單元和系統主控單元。生理信息采集單元包含:心電采集模塊、心率采集模塊、紅外測溫模塊、血壓模塊和計步器,該部分的傳感器主要用來獲取人體的生理信號,再進行簡單的放大、濾波后,把獲取的生理信息整理存儲到內部RAM,通過內置的通信協議傳輸給主控單元。主控單元由STM32F407ZGT6芯片作為核心,STM32F4微處理器對采集單元傳輸的數據進行接收、解析、濾波處理后,將檢測結果通過TFTLCD可觸摸液晶屏實時顯示,同時也可以通過無線WiFi模塊和手機通信,通過手機查看監測結果。電源部分為可充電的鋰離子電池,容量大,設備續航久,并且充電和監測工作可同時進行。
系統的總體設計圖如1所示。
對于基于嵌入式技術開發的設備,MCU性能的好壞直接影響到系統的可靠性與穩定性,為滿足系統能有強大的處理能力和豐富的外設接口,本設計選用STM32F407ZGT6作為核心處理器,它是一款32位高性能ARM Cortex-M4內核微處理器,最高工作頻率高達168MHz,還具備了增強的DSP指令集,它比STM32F103具備更大的Flash、SRAM容量和更豐富的外設接口,為了使系統的穩定與功耗,本系統MCU使用STM32F407ZGT6,既滿足了系統的性能要求,也方便日后對該系統的功能進行改進和補充。
本系統采用的心電采集模塊為ADS1292,這是德州儀器的一款醫用級ADC芯片。ADS1292具有24位高分辨率同步采樣模數轉換器(ADC)、內置低噪聲可編程增益放大器(PGA)和右腿驅動(RLD)等電路,憑借高集成度和出色的性能,采集信號的復雜度和功耗都大大降低,也方便設備小型化,適合為長時間工作的便攜式監護設備使用,ADS1292電路設計如圖2所示。

圖2 ADS1292電路設計
設計系統采用的是單通道三導聯方式,使用三根電導線通過電極片貼在人體上半身(胸導聯),其工作方式是:心電描記術(ECG)是一種以時間為單位記錄心臟的電生理活動,在心臟搏動前后,心肌會發生激動,激動過程中產生微弱的生物電,利用貼在皮膚表面的電極,采集皮膚上出現的微小電信號,并將其在時間軸上描記出來構成心電圖。
本設備采集的工作原理是:用三根導聯線與ADS1292的輸入接口相接,當電極采集到的身體特定位置的微弱生理電信號輸入到芯片后,首先,通過模塊內置的電路將信號放大提高輸入阻抗;其次,使用24位的高速A/D轉換器將模擬信號轉為數字信號,再經過數字濾波器獲得較為準確的心電數據,芯片通過SPI通信協議與主控通信,最后主控接收到信號后進行心電圖的繪制以及參數可視化。
本系統采用的心率采集模塊為MAX30102。芯片可分為兩部分如圖3:模擬信號采集電路和數字處理電路,模擬信號采集電路由一個600nm紅光LED、800nm紅外光LED、和能抑制環境光的低噪聲元器件。數字處理電路包含18位高速ADC、數字濾波器、FIFO數據寄儲器等。使用光電容積法(PPG),檢測時需要測量者將手指或者手腕放置在RED和IR燈上保持不動,當LED燈發出特定波長的光射向人體皮膚,血管的搏動會導致透光率變化,此時,采集透過皮膚返回的光,經過PD管將光信號轉為電信號并由18位ADC轉換器轉為數字信號,由ADC轉換后的原始數據進行數字濾波處理后放置于數據寄存器,主控單元通過IIC通信協議讀取芯片寄存器的數據,由于心臟的搏動脈搏是周期性的變化,所以讀取電信號的變化周期就可以計算出心率。心率模塊電路設計如圖3所示。

圖3 心率模塊電路設計
體溫測量采用MLX90614非接觸式紅外溫度計,內部嵌入了兩個電路單元,一個是紅外熱電堆檢測器(傳感單元),另一個是信號調理DSP器件(計算單元),兩個單元都集成在同一TO-39罐封裝中。紅外熱電堆傳感單元將采集到的紅外輻射轉為電信號,經過內部低噪聲、低失調運算放大器(OPA)放大后,在由A/D轉換器通過低通數字濾波器(DSP)處理后輸出,最后把使用公式計算出的結果存儲到MLX90614內部的RAM中,數據可以通過串SMBus串行總線和PWM方式供STM32F4主控單元讀取與輸出。紅外測溫電路如圖4所示。

圖4 紅外測溫電路
本系統采的用血壓傳感器為HKB-08B,使用USB接口與MUC連接的臂式血壓測量模塊,操作簡單,測量精度高,可以快速的獲得人體的收縮壓、舒張壓和心率。由STM32F4主控單元通過發送固定的控制命令,當傳感器接收到指令后開始測量,再把獲取的數據通過串口傳輸至處理器。
計步采用MMA9555L智能體感計步器,它由MEMS加速度計、32位CildFire微控制器、模擬前端、Flash以及通信接口等組成。本系統中MMA9555L與MCU之間通過I2C接口通訊,主控發送配置參數至MMA9555L配置寄存器,配置完對應的參數,當人體運動時,三軸加速度的值存進狀態寄存器,然后主控可直接讀取MMA9555L狀態寄存器數值,通過運算解析即可獲得步數。電路如圖5所示。

圖5 計步器電路設計
為了設備更方便更穩定的使用,電源部分的設計采用可充電的鋰離子電池給系統提供電源,設計的系統為設備設計了一套完整可靠的電源電路。如圖6所示,電源分兩部分:恒流充電充電電路和升壓電路。恒流充電充電電路部分實時監控電池充電電流,因為電池在沒有專門恒流充電電路的情況下將會以自身最大輸出輸入電流進行充電,這種情況下將會導致過大的充電電流通過電路,電路溫度升高,甚至損壞電路,由此引入鋰電池充電控制IC TC4056A及其外圍電路組成鋰電池恒流充電電路,并外接2顆LED指示電池的充放電狀態。由于鋰電池電壓范圍為3.7~4.2V而電路一些傳感器等功能電路所需要的供電電壓為5V所以在有鋰電池充電保護電路的情況下再設計一個鋰電池升壓電路,將鋰電池輸出的電壓,而本設計通過使用ME2109FM5G芯片以及搭配SC8205雙P溝道MOS實現BOOST升壓,通過BOOST升壓電路提高輸出電壓至5V。

圖6 充電電源設計電路
便攜式監護儀系統軟件開發環境是基于Keil MDK5,開發語言是C語言。本系統的軟件設計也是以模塊化的編程思維,采用自頂向下的設計方式,設計好軟件系統的總體流程,再根據系統的功能劃分為幾個功能模塊,功能模塊再劃分為多個小模塊,由主程序調用子程序來實現系統的功能,等待硬件設計制作完畢后,再進行整體的調試。我們根據系統的功能劃分為三個板塊:生理信號采集單元、主控單元、上位機。從架構上可以分為下位機應用程序設計和上位機軟件設計。
下位機應用程序設計:主要是以STM32為平臺的應用程序設計。主要是任務是完成對微弱生理信號的采集、放大、以及濾波,進行數據打包傳輸、把解析后的數據利用TFT-LCD可觸摸液晶屏完成參數可視化和心電圖的繪制和WiFi無線通信等。該部分的程序執行流程圖如圖7所示。這個部分的難點在于如何對生理信號的濾波處理,整體的設計思路是:先完成對STM32F4主控的初始化,在完成各傳感器的程序編寫,主程序是無限循環的,通過觸發中斷的方式調用相對于功能的子程序實現相關功能。

圖7 下位機程序設計流程圖
上位機軟件設計:上位機的APP主要是用來實現下位機采集完數據后,接收其測量數據發送到手機端上進行顯示。本系統上位機還用于分析接收到的下位機數據是否超出人體正常范圍,如超出人體正常范圍,則除了發送測量數據到手機端外還進行相應的警告。上位機設計流程圖如圖8所示。

圖8 上位機設計流程圖
系統首先使用了SKX-2000D心電發生器來模擬人體心電,設置輸出的幅值為1mV,BPM為80的心電信號,測試心電采集部分的IIR數字濾波算法的效果,通過LCD液晶屏顯示或者上位機,經過測試發現測試模擬心電信號誤差極小,故上人體檢測。模擬信號測試如圖9所示。

圖9 模擬心電
系統使用三導聯方式,黃色LA放在左胸偏上,紅色RA放在右胸偏上,綠色RL放在右腹部,經過測試人體心電波形的繪制顯示正常,如圖10所示,測試結果顯示,測試的心電波形能滿足日常健康監測需要,但與大型醫用專用設備存在一定的誤差,這是由于芯片和硬件電路板的設計有關,同時軟件的數字濾波算法也存在一定的不足,還需要進一步改進,不過日常健康監測以達到滿足。

圖1 便攜式監護儀系統總體框架圖

圖10 人體心電測試結果
測試血壓主要是采集收縮壓,舒張壓和平均壓,成人的正常收縮壓為90~140mmHg,舒張壓為60~90mmHg,在這兩個參數之間都屬于正常范圍,經過系統測試(以成年人為測試對象),參數都處于正常范圍,且誤差不大,如圖11所示。測試血壓的功能也滿足系統的設計要求。

圖11 血壓測量結果
本文基于STM32嵌入式技術針對心電、心率、血壓、體溫等重要的人體生路參數來設計了一款便攜式健康監護系統。本文的軟件硬件都是采用模塊化的思想,方便了對人體生理參數進行監測,在預防疾病和觀察疾病方面起到了作用。
雖然本設計的便攜式健康監護儀實現了對心電、心率、血壓、體溫生理信號的采集與監測,但是由于知識水平局限,設計的電路板集成度還不夠高,軟件的算法還可以進行進一步優化。