鮑俊成,王邦輝
基于STM32的電子血壓計的設(shè)計與實現(xiàn)
鮑俊成,王邦輝
目的:研制一款測量結(jié)果準確可靠、測量過程形象直觀的電子血壓計,用于血壓的測量及心腦血管疾病的防治。方法:該電子血壓計的設(shè)計以STM32F103RBT6為主控芯片,以INA122和OPA333為運算放大器芯片,以KEIL公司的RVMDK3.8為軟件設(shè)計平臺。結(jié)果:設(shè)計并實現(xiàn)了以STM32微處理器為核心、利用示波法對人體血壓進行測量的可顯示測壓波形的電子血壓計。結(jié)論:該血壓計不僅能準確測量人體血壓,還能在測壓過程中實時顯示血管彈性波動的波形圖,使醫(yī)生和患者直觀感受到血壓的測量,增強對設(shè)備測量準確性的信心。
血壓測量;STM32微處理器;示波法;波形圖
近年來,電子血壓計以其測量的客觀性、準確性以及操作的方便性已被臨床認可并廣泛使用。然而,臨床上在用的大多數(shù)品牌的電子血壓計在測量過程中只提供收縮壓、舒張壓和心率值等數(shù)值信息,而缺乏對測壓過程的有效動態(tài)顯示,致使部分醫(yī)生和患者缺乏對電子血壓計足夠的信任,也無法直觀反映出因肢體移動而產(chǎn)生的干擾,從而無法有效甄別可能的測量錯誤。因此,為提高血壓監(jiān)測質(zhì)量,在電子血壓計中增加壓力波形實時顯示功能很有必要。
示波法是20世紀70年代發(fā)展起來的一種新的血壓測量方法,此方法通過檢測袖帶振蕩脈沖的變化情況來對血壓值進行判定。大量研究證明,人體脈搏波與血壓之間存在著一種確定的函數(shù)關(guān)系,示波法測量的原理就是根據(jù)這種函數(shù)關(guān)系來對血壓值進行判定。
利用放氣過程中袖帶內(nèi)壓力波動與袖帶內(nèi)氣壓的關(guān)系間接地實施血壓測量,具體測量過程是用充氣袖帶阻斷動脈血流,在放氣過程中,袖帶內(nèi)氣壓跟隨動脈內(nèi)壓力波動而出現(xiàn)脈搏波,這種脈搏波隨袖帶氣壓的減小而呈現(xiàn)由弱變強后再逐漸減弱的趨勢。大量臨床研究表明,脈搏波振幅達到最大點時對應(yīng)的袖帶壓力即為平均壓,基于統(tǒng)計學(xué)規(guī)律,以平均壓出現(xiàn)點為準,設(shè)其幅值為平均動脈壓(mean artery pressure,MAP),向前搜索脈搏波振幅為K1×MAP左右的點對應(yīng)的袖帶壓即為收縮壓,向后搜索脈搏波振幅為K2×MAP左右的點對應(yīng)的袖帶壓即為舒張壓[1]。其中,K1一般介于0.7~0.85之間,K2一般介于0.4~0.6之間。示波法測量過程中脈搏波的變化與血壓值之間的關(guān)系如圖1所示。
圖1 示波法血壓測量示意圖
本文設(shè)計的電子血壓計系統(tǒng)分為電源部分、前端信號采集部分、微控制單元(microcontroller unit,MCU)最小系統(tǒng)部分和顯示部分4個部分(如圖2所示)。
圖2 系統(tǒng)總體結(jié)構(gòu)圖
2.1 重要芯片介紹
2.1.1 運算放大器
此系統(tǒng)使用的運算放大器芯片均為TI公司提供的正品免費樣片,包括儀表放大器INA122和運算放大器OPA333等芯片。INA122為精密儀器儀表放大器芯片,具有高精度、低噪聲的差分信號采集功能[2]。它的雙運算放大器設(shè)計使其具有非常低的靜態(tài)電流,非常適用于便攜式儀表和數(shù)據(jù)采集系統(tǒng)。INA122可進行單電源供電,其供電范圍非常寬,為2.2~36 V,靜態(tài)電流僅為60 mA,另外亦可進行雙電源供電。OPA333系列互補金屬氧化物半導(dǎo)體(complementary metal-oxide-semiconductor,CMOS)運算放大器芯片采用了專有的自動校準技術(shù),能提供極低的失調(diào)電壓以及隨時間和溫度變化接近于零的漂移[3]。這種小型、高精度、低靜態(tài)電流的運算放大器在100mV共模信號的范圍內(nèi)具有極高的輸入阻抗,其軌對軌輸出時僅有50mV電壓的擺動幅度。它可用于單電源或雙電源方式供電,工作電壓能在低至+1.8V(±0.9V)和高達+5.5 V(±2.75 V)的范圍內(nèi)變化。OPA333系列運算放大器出色的共模抑制能力消除了傳統(tǒng)的補償輸入級常見的交越失真,其優(yōu)異的性能提升了系統(tǒng)的整體可靠性。
2.1.2 壓力傳感器
MPXM2053GS為硅材料壓阻式壓力傳感器,該芯片提供一個高精度的線性差分輸出電壓,該電壓與施加于其上的壓力大小成正比關(guān)系。除此之外,該芯片還具有激光微調(diào)精確跨度調(diào)節(jié)、失調(diào)校準和溫度補償?shù)裙δ躘4],是一款為無創(chuàng)血壓測量量身打造的壓力傳感器芯片。
2.2 前級信號放大與濾波電路
壓力傳感器提取的信號包括血壓信號、脈搏信號及其他雜波信號等。但是,我們的最終目的是提取有用的血壓信號及脈搏信號,為此,我們必須使用濾波器進行濾波。由于血壓信號主要分布在0.1~38 Hz之間,其中絕大多數(shù)的有用信號分布在0.5~5 Hz之間,所以必須采用低通及高通2級濾波器進行濾波。參考INA122數(shù)據(jù)手冊之后,進行一階無源低通濾波器設(shè)計,其電路圖如圖3所示。低通濾波器主要用來濾除高頻干擾信號及放氣過程中產(chǎn)生的諧波信號,整個信號通過低通濾波器濾波后獲取的是靜壓力信號,隨后信號被送入高通濾波器進行濾波處理,主要濾除袖帶靜壓力信號,從而獲取袖帶內(nèi)壓力變化信號。
圖3 壓力傳感器和前級信號濾波放大電路圖
圖3中一階低通濾波器的上限截止頻率為f= 1/4πR2(C7+C12/2)=33 Hz,放大倍數(shù)A=(5+R1/200)=6,將差分血壓信號變?yōu)閱味诵盘枴?/p>
2.3 后級信號放大與濾波電路
血壓信號經(jīng)儀表放大器進行差分放大之后變?yōu)閱味诵盘?。由于此時交直流信號中夾雜的噪聲仍然較多,而且信號幅值仍然非常小而不利于AD采集,故需要對其進行進一步濾波和放大。圖4中放大倍數(shù)為A=-R12/R4//R=-20,其低通濾波電路上限截止頻率為f=1/2π×R12×C13=4.83 Hz。經(jīng)過放大之后,得到的輸出信號幅值較為適中,故此時將信號送入AD轉(zhuǎn)換器通道1進行采集,AD轉(zhuǎn)換后經(jīng)過數(shù)據(jù)換算(壓力傳感器差分輸出 1 mV電壓變化對應(yīng)9.375 mmHg(1 mmHg=133.322 Pa)的血壓壓力變化)可得到袖帶內(nèi)的實時靜壓力。
獲得袖帶內(nèi)靜壓力只是第一步,更為重要的是要獲得袖帶放氣過程中人體血壓從被阻斷到恢復(fù)血流的過程中血管的壓力波形。圖5中的輸入信號中既有直流信號又有交流信號,故此時需加高通濾波器將直流信號濾除。該一階高通濾波器截止頻率為f=1/2π×R6×C8=0.78 Hz。U5為電壓跟隨器,是為了增大后級運算放大器的輸入阻抗,減小后級交流放大電路對前級放大電路的影響。
圖5中Vout1進來之后再次經(jīng)過0.78 Hz高通濾波器,進一步凈化交流信號。Pulse_ADC輸出的為純模擬信號,實驗過程中測得如果直接將其連接到A/D轉(zhuǎn)換器會對A/D原來的信號產(chǎn)生很嚴重的干擾。因此,需在其輸出端加一個RC電路進行濾波,如圖6所示,我們加了一個10 kΩ的電阻和0.1 μF的電容進行濾波。
圖4 后級低通濾波放大電路圖
圖5 后級有源高通濾波電路圖
圖6 后級低通濾波放大電路
系統(tǒng)軟件采用KEIL公司RVMDK3.8軟件開發(fā),主要流程如圖7所示,軟件具體實現(xiàn)過程主要有以下6個階段:
(1)快速充氣階段:當啟動血壓測量功能時,軟件控制氣泵對袖帶進行充氣,袖帶壓力不斷增大,并慢慢阻斷血流。當壓力到達軟件設(shè)定值后,氣泵停止充氣,隨后轉(zhuǎn)入緩慢放氣階段。
(2)血壓信號獲取階段:軟件啟動氣閥開始緩慢放氣,放氣速度由微控制器進行檢測控制。在放氣過程中,袖帶壓力緩慢減小,壓力傳感器對血壓及脈搏波信號進行獲取。
(3)快速放氣階段:當放氣到達一定程度,脈搏波消失,此時恢復(fù)血流,袖帶對血管沒有壓力,氣閥轉(zhuǎn)入快速放氣階段。到此階段,血壓及脈搏信號已獲取完畢[5]。
(4)A/D轉(zhuǎn)換階段:經(jīng)放大后的信號仍為模擬信號,不能送微控制器直接進行處理,須經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號后送微處理器進行分析處理。
(5)分析處理階段:此階段主要完成血壓及脈搏信號的分析及處理,并獲得最終確切的血壓及心率值。
(6)顯示階段:主要包括數(shù)值顯示和波形顯示2個部分。數(shù)值顯示部分實現(xiàn)的功能是將經(jīng)軟件分析的最終結(jié)果由薄膜晶體管(thin flim transistor,TFT)液晶顯示器(liquid crystal display,LCD)進行顯示,并可以選擇是否進行結(jié)果的存儲。波形顯示部分采用了畫點函數(shù)和畫線函數(shù),將采集到的A/D數(shù)值描記為動態(tài)的壓力波形。
其中,波形顯示功能的主要程序代碼如下:
畫線函數(shù)x1,y1:起點坐標;x2,y2:終點坐標
void LCD_DrawLine (u16 x1,u16 y1,u16 x2,u16 y2)
{
u16 t;
int xerr =0,yerr =0,delta_x,delta_y,distance;
int incx,incy,uRow,uCol;
delta_x=x2-x1;//計算坐標增量
delta_y=y2-y1;
uRow=x1;
uCol=y1;
if(delta_x>0)incx=1;//設(shè)置單步方向
else if(delta_x==0)incx=0;//垂直線
else{incx=-1;delta_x=-delta_x;}
if(delta_y>0)incy=1;
else if(delta_y==0)incy=0;//水平線
else{incy=-1;delta_y=-delta_y;}
if(delta_x>delta_y)distance=delta_x;//選取基本增量坐標軸
else distance=delta_y;
for(t=0;t<=distance+1;t++)//畫線輸出
{
LCD_DrawPoint(uRow,uCol);//畫點
xerr+=delta_x;
yerr+=delta_y;
if(xerr>distance)
{
xerr-=distance;
uRow+=incx;
}
if(yerr>distance)
{
yerr-=distance;
uCol+=incy;
}
}
}
圖7 整體軟件流程圖
血壓測量過程中人體脈搏波型如圖8所示。從圖中可以看出此時袖帶壓降到70 mmHg,此時出現(xiàn)了最大的脈搏波幅值,這個最大的脈搏波幅值對應(yīng)的靜壓力即為平均壓。
一次測量過程中得到的人體血壓和脈搏值如圖9所示。其中收縮壓為113 mmHg,舒張壓為77 mmHg,心率為73次/min,LCD中顯示的波形為袖帶內(nèi)壓力變化波形。
圖8 袖帶振蕩波形圖
圖9 血壓和心率測試結(jié)果
心血管疾病是人類致殘和過早死亡的主要原因之一[6]。高血壓是心血管疾病的獨立風(fēng)險因素,采用電子血壓計進行家庭血壓監(jiān)測,是預(yù)防嚴重心血管事件的重要舉措。電子血壓計價格低廉,使用方便,可隨時測量,是一種理想的自助式血壓監(jiān)測儀器。隨著微電子技術(shù)的不斷發(fā)展,醫(yī)療儀器行業(yè)也隨之迅速成長,本文所研究與設(shè)計的血壓檢測系統(tǒng)就是基于STM32嵌入式系統(tǒng)的一個典型案例。
[1]鄧靜.柯氏音法與示波法結(jié)合的新型血壓測量方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2010.
[2]楊振江,馬武裝.微功耗儀用放大器INA122及其應(yīng)用[J].電子科技,1999(4):47-48.
[3]徐俊,戴亞文,張義桃.基于MSP430的超低功耗無線應(yīng)變傳感器的設(shè)計[J].儀表技術(shù)及傳感器,2008(7):11-13.
[4]Freescale.50 kPa on-chip temperature compensated and calibrated silicon pressure sensors[EB/OL].(2012-10-01)[2014-09-20].http://cache.freescale.com/files/sensors/doc/data_sheet/MPX2053.pdf.
[5]黃杰.基于ARM嵌入式系統(tǒng)綜合血壓檢測系統(tǒng)的研究與設(shè)計[D].武漢:湖北工業(yè)大學(xué),2010.
[6]李雪情.基于示波法和高斯擬合的腕式電子血壓計設(shè)計與驗證[D].合肥:中國科學(xué)技術(shù)大學(xué),2011.
(收稿:2014-10-22 修回:2015-01-22)
Design and implementation of electronic sphygmomanometer based on STM32
BAO Jun-cheng,WANG Bang-hui
(Taihe Hospital Affiliated to Hubei Medical College,Shiyan 442000,Hubei Province,China)
ObjectiveTo develop an electronic sphygmomanometer with accurate and reliable measuring results and intuitive measuring processes.MethodsThe meter took STM32F103RBT6 as the main control chip,INA122 and OPA333 as the operational amplifier,and KEIL's RVMDK3.8 as the software design platform.ResultsA manometric waveform-based electronic sphygmomanometer was designed with STM32 microprocessor as the core and oscillography to measure human blood pressure.ConclusionThe sphygmomanometer can measure blood pressure and display the oscillogram of vascular elasticity at real time.[Chinese Medical Equipment Journal,2015,36(6):21-24]
blood pressure measurement;STM32 microprocessor;oscillography;oscillogram
R318.6;TH772.2;TP302
A
1003-8868(2015)06-0021-04
10.7687/J.ISSN1003-8868.2015.06.021
鮑俊成(1981—),男,工程師,主要從事醫(yī)療設(shè)備質(zhì)量維修與質(zhì)量控制方面的研究工作,E-mail:ramboa007@163.com。
442000湖北十堰,十堰市太和醫(yī)院,湖北醫(yī)藥學(xué)院附屬醫(yī)院(鮑俊成,王邦輝)