甄超平,曾思明
(廣東工業(yè)大學(xué) 實驗教學(xué)部,廣東 廣州 510006)
醫(yī)療健康問題覆蓋全年齡階段的人群,上至部分有心腦血管、高血壓等慢性疾病的老年人,中至一些工作家庭壓力較大、有亞健康癥狀的中年人和年輕人,下至剛出生需要時刻監(jiān)護的嬰兒,無不需要時刻地、日常地關(guān)注其健康水平。對自身各種生理參數(shù)及時有效的監(jiān)測可以評估個人的健康狀態(tài),以此調(diào)整作息方式、飲食結(jié)構(gòu)或者及時就醫(yī),避免一些疾病向著更嚴(yán)重的態(tài)勢發(fā)展。
隨著5G 和物聯(lián)網(wǎng)時代的到來,遠(yuǎn)程式的醫(yī)療監(jiān)護將成為趨勢,人們只需在家就能根據(jù)自身的健康生理參數(shù)向醫(yī)生咨詢健康問題,醫(yī)護人員只需通過監(jiān)護中心的終端服務(wù)器即可查看病人的身體狀況,從而實現(xiàn)舒適、便攜和友好的醫(yī)療交互的環(huán)境[1-3]。
本設(shè)計的總體框架如圖1 所示。
圖1 總體框架圖
圖1 中,監(jiān)護儀采用以ARM Cortex-M3 為內(nèi)核STM32單片機作為核心處理單元,分別將數(shù)字集成心率血氧采集模塊、非接觸測量溫度的紅外線傳感器模塊得到的心率信號、血氧信號、溫度信號通過通用的通信協(xié)議傳輸?shù)胶诵奶幚韱卧M(jìn)行特定的算法以及處理,得到當(dāng)前測試者的心率值、血氧值、體溫值,這些參數(shù)同時在LCD 顯示屏上實時顯示與更新。測試者還可以通過獨立按鍵配置生理參數(shù)的閾值提醒和將得到的生理參數(shù)通過無線通信模塊實時發(fā)送至智能手機與電腦等終端設(shè)備,在云端可以實現(xiàn)這些生理參數(shù)的遠(yuǎn)程監(jiān)測。
該設(shè)計使用的微控制單元為STM32F103VET6主控芯片,其內(nèi)核Cortex-m3 是ARM 公司面向成本和功耗敏感同時滿足相對高性能的市場產(chǎn)品而推出的。ST 公司基于Cortex-m 內(nèi)核推出了STM32 的多個系列版本,有基本型、增強型、互補型和USB 基本型等,其主流產(chǎn)品STM32F103 增強型系列微控器廣泛應(yīng)用于電子電力系統(tǒng)、電機驅(qū)動、手持設(shè)備、空調(diào)系統(tǒng)、醫(yī)療電子等。STM32F103VET6 的工作頻率最高可達(dá)72 MHz,512 KB 的Flash 容量作為程序存儲器,64 KB 的SRAM靜態(tài)隨機存取存儲器,同時,片上集成豐富的外設(shè),如:USB、ADC、CAN、I2C、UART、TIMER 等。開發(fā)者可通過庫函數(shù)、寄存器、STM32CUBEMX 等多種開發(fā)方式提高編程效率。綜合以上多方面優(yōu)點,STM32 從一上市就迅速發(fā)展并占領(lǐng)了MCU 的中低端市場,受到國內(nèi)外電子工程師的喜愛。文獻(xiàn)[4]對STM32 有更為詳細(xì)的說明。
MAX30102 是美信半導(dǎo)體公司于2016 年專為可穿戴設(shè)備和健康醫(yī)療輔助設(shè)備設(shè)計的一款數(shù)字集成心率血氧傳感器模塊。該模組主要集成了雙波長紅光和紅外光LED、接收反射紅光和紅外光的光電探測器、環(huán)境光消除器件、分辨率可調(diào)的高精度18 位ADC、數(shù)字噪聲消除器件、FIFO 存儲器和I2C 通信接口。單片機可通過I2C通信對MAX30102 單獨設(shè)置為心率模式、血氧模式或者共用模式,配置內(nèi)部ADC 分辨率、紅光和紅外光樣本的采集速率、FIFO 中樣本數(shù)量溢出的中斷方式、低功耗待機模式等操作。美信官網(wǎng)有MAX30102 的系統(tǒng)圖和數(shù)據(jù)手冊,MAX30102 模塊的電路如圖2 所示。
圖2 MAX30102 原理圖
該傳感器測量心率和血氧的方法即光電容積法(PPG)。測量心率的基本原理[5-6]是利用動脈血液中的脈動成分對紅外光的吸光度隨著心臟跳動而進(jìn)行周期性的變化(紅外光波長通常為900 nm 附近),經(jīng)過反射后的紅外光光強被光電探測器接收后轉(zhuǎn)化為數(shù)字信號,進(jìn)而通過算法處理得到心率。而測量血氧需要用到兩種波長不同的紅光(波長通常在660 nm 附近)和紅外光。脈動血液中的還原血紅蛋白(Hb)和氧合血紅蛋白(HbO2)對660 nm 紅光的吸收度差異較大,而對900 nm 紅外光的吸收度差異很小。依靠這兩種蛋白對紅光和紅外光吸收度不同這一特性,將(Hb 對紅光的消光系數(shù))、(Hb 對紅外光的消光系數(shù))、(HbO2 對紅光的消光系數(shù)) 以及用算法從原始樣本中分離的交流信號和直流信號代入?yún)⒖嘉墨I(xiàn)[6]的以下公式,即可得到血氧飽和度值。
某些晶體可以因為溫度變化而引起晶體表面電荷,輻射紅外線。紅外非接觸傳感器的工作原理為探測物體表面紅外輻射能量,并將其轉(zhuǎn)變?yōu)橐子跍y量的電信號或其他形式的量。MLX90614 模組集成了用于探測目標(biāo)溫度和環(huán)境溫度的熱電偶MLX81101 和用于處理熱電偶輸出模擬信號的專用集成芯片MLX90302,由邁來芯公司研發(fā)和生產(chǎn)。該傳感器系列有多個型號和封裝方式,適用于不同領(lǐng)域的測量,專用于人體溫度監(jiān)測的醫(yī)療應(yīng)用版本在適用范圍內(nèi)精度可達(dá)到0.1 ℃。在傳感器開發(fā)方面,存儲在MLX90302RAM 中的目標(biāo)溫度和環(huán)境溫度數(shù)據(jù)可由兩線SMBus 通信協(xié)議模式和10 位PWM 模式輸出。文獻(xiàn)[7]對MLX90614 的SMBus 協(xié)議及其溫度采集程序作了說明,GY-90614 模塊的電路如圖3 所示。
圖3 MLX90614 原理圖
由于本監(jiān)護儀設(shè)計的循環(huán)流程運行一次所需時間為3~4 s,因此通常的在主函數(shù)中的按鍵掃描算法無法精確地識別到測試者按鍵操作,故采用了外部中斷嵌套定時器中斷掃描按鍵的方法來檢測測試者的按鍵動作。該方法能極大地減少用戶進(jìn)行單片機配置時所需要的按鍵數(shù)目,降低產(chǎn)品成本,同時提高了單片機運行程序的效率,提高硬件資源的使用率。
具體的按鍵掃描算法思想如下:測試者按下配置按鍵,單片機掃描到邊沿信號,程序進(jìn)入設(shè)置了打開定時器的外部中斷服務(wù)函數(shù),單片機處于掃描按鍵狀態(tài),測試者此時可進(jìn)行各種生理參數(shù)的閾值配置(當(dāng)閾值大于或小于測試者配置的數(shù)值時,單片機會實時響應(yīng)并提醒測試者),或者選擇關(guān)閉定時器的中斷開關(guān),從而使單片機退出配置模式,按鍵算法流程如圖4 所示。
圖4 按鍵算法流程圖
從MAX30102 中獲取的數(shù)據(jù)信號為原始信號,需經(jīng)過算法處理才能得到測試者的心率值與血氧值。對于從該模塊采集出來的數(shù)據(jù)信號進(jìn)行處理的方法,常用的有兩種:一種是時域分析,即算出脈搏數(shù)據(jù)信號(PPG)的平均波峰距,再用一分鐘除以這個波峰距即可得到心率值;另一種是通過對PPG 信號進(jìn)行FFT 變換得到頻域中脈搏波信號的頻段,再將這個頻率值乘以一分鐘得到心率值。首先是第二種方法,經(jīng)過了在STM32VET6 使用FFT(快速傅里葉變換)算法對PPG 信號的處理后,發(fā)現(xiàn)這種方法計算心率值存在時間和精度相矛盾的問題,由以下公式可得出:
其中,Samples_per_second 為每秒從MAX30102 中采集的紅外光樣本數(shù)量,s2_max_index×FFT_N 為脈搏信號中交流成分信號的頻率,F(xiàn)FT_N 為快速傅里葉變換的點數(shù)長度。若Samples_per_second 設(shè)置為100,F(xiàn)FT_N 設(shè)置為1 024,從FFT 填滿數(shù)據(jù)到計算出心率值需要花費5 s,但得到的各心率值間隔為3。從監(jiān)測測試者的心率的實時性和準(zhǔn)確性來看,這都是沒有參考價值的。若提高FFT 的點數(shù)長度,雖然能提高測試心率值的精度,但這將大大增加了監(jiān)測出心率的時間,同時加大了微控單元的負(fù)擔(dān)。文獻(xiàn)[8]中對采集的原始信號數(shù)據(jù)作了詳細(xì)分析。本文設(shè)計心率算法使用的是第一種,計算心率血氧的算法流程如圖5 所示。
圖5 心率血氧算法流程圖
從下位機監(jiān)護儀采集的測試者生理參數(shù)(如:心率、血氧和體溫)在LCD 模塊實時顯示,同時,還能將監(jiān)護儀進(jìn)行聯(lián)網(wǎng)后在手機客戶端和官方的網(wǎng)頁界面監(jiān)測到這些生理參數(shù)。物聯(lián)網(wǎng)平臺選擇的是機智云,而聯(lián)網(wǎng)設(shè)備選擇的是樂鑫的ESP8266。
ESP8266 廣泛應(yīng)用于各種物聯(lián)網(wǎng)智能硬件的開發(fā),如:傳感器網(wǎng)絡(luò)、智能家居設(shè)計和無線醫(yī)療電子設(shè)備等。其常用的固件AT 指令作為微控單元和WiFi 模組之間配置功能,連接與通信的底層指令。相應(yīng)地,機智云物聯(lián)網(wǎng)智能硬件云服務(wù)開發(fā)平臺使用GAgent 固件作為其與WiFi 模組的橋梁。在MCU 代碼開發(fā)方面,機智云有官方的代碼自動生成工具,該工具幫助開發(fā)者完成了MCU與WiFi 模組通信連接的底層協(xié)議工作,適用于獨立MCU方案和SoC 方案,使開發(fā)者更專注于軟硬件的功能開發(fā)。文獻(xiàn)[9]對機智云平臺的通信協(xié)議和開發(fā)流程作了詳細(xì)說明。機智云數(shù)據(jù)點設(shè)置如表1 所示,云端網(wǎng)頁生理參數(shù)遠(yuǎn)程監(jiān)測如圖6 所示,記錄了測試者某天21 時一段時間內(nèi)生理參數(shù)隨時間變化情況。
表1 機智云數(shù)據(jù)點設(shè)置表
圖6 機智云后臺監(jiān)測圖
為了測試驗證本次設(shè)計的監(jiān)護儀的準(zhǔn)確性,以同一測試者10 個不同時間點的生理參數(shù)作為測試樣本,每個時間點分別用參考監(jiān)護儀和本監(jiān)護儀進(jìn)行5 次采集,最后求平均值。測試者心率、血氧和體溫的測試結(jié)果如表2 所示。
表2 監(jiān)護儀測試數(shù)據(jù)表
智能遠(yuǎn)程多生理參數(shù)健康監(jiān)護儀為社會上的一些特定人群提供了日常居家健康監(jiān)護的可行性,監(jiān)護儀采用數(shù)字集成心率血氧模塊等采集人體的心率、血氧和體溫等,通過下位機實時顯示數(shù)據(jù)和波形,使用獨立按鍵配置閾值提醒和配置聯(lián)網(wǎng),同時可通過云端網(wǎng)頁監(jiān)測記錄。本設(shè)計具有操作簡單、成本低、便攜性好、擴展性豐富、測量較為準(zhǔn)確等特點。