新聞中心

EEPW首頁 > 醫(yī)療電子 > 設(shè)計應(yīng)用 > 基于MN101EF32D單片機實現(xiàn)示波法測量血壓

基于MN101EF32D單片機實現(xiàn)示波法測量血壓

作者: 時間:2017-06-07 來源:網(wǎng)絡(luò) 收藏

 
 引言

本文引用地址:http://m.butianyuan.cn/article/201706/350219.htm

  水銀存在一些固有的缺點:一是放氣的快慢對讀數(shù)有直接影響,國際標(biāo)準(zhǔn)放氣速度為每秒3~5mmHg,而不同的醫(yī)生放氣有快有慢,會影響測量的準(zhǔn)確度;二是這種方法以人的視覺、聽覺和協(xié)調(diào)程度為主要依據(jù),很難標(biāo)準(zhǔn)化。為此,本設(shè)計從血壓的檢測方法著手,采用日本松下公司高速、低功耗的,作為測量、控制、數(shù)據(jù)讀寫、數(shù)據(jù)顯示的核心,可準(zhǔn)確地采用(振蕩法)測量血壓。

  工作原理

  (振蕩法)是根據(jù)袖帶在減壓過程中,其壓力振蕩波的振幅變化包絡(luò)線來判定血壓的。目前比較一致的看法是當(dāng)袖帶壓力振蕩波的振幅最大時,袖帶的壓力就是動脈的平均壓。動脈的收縮壓對應(yīng)于振幅包絡(luò)線的第一個拐點,舒張壓對應(yīng)于包絡(luò)線的第二個拐點。

  硬件設(shè)計

  系統(tǒng)基本工作原理如圖1所示。壓力傳感器輸出的電壓信號首先通過低通濾波器濾波,之后由運放電路將信號轉(zhuǎn)化為適合的輸入信號,最后將模擬的采樣信號經(jīng)過轉(zhuǎn)化為數(shù)字量。程序?qū)Σ杉臄?shù)據(jù)進(jìn)行數(shù)字濾波后分析,計算出人體血壓的兩個關(guān)鍵指標(biāo)舒張壓和收縮壓,之后單片機立即將數(shù)據(jù)存儲到外部存儲器中,并將這些重要數(shù)據(jù)顯示在LCD上。

  

  傳感器介紹及其外圍電路的設(shè)計

  該使用的傳感器為MPS-3100-006G壓阻式壓力傳感器,是由四個等值電阻組成的惠式電橋,其輸出電壓和輸入壓力成正比,理想狀態(tài)下當(dāng)壓力輸入時,電阻值就跟著改變,但實際上溫度的改變也會影響其阻值輸出結(jié)果。另外,由于晶體和電路設(shè)計制作的誤差,加上封裝過程等方面的影響,零點偏移不是零。所以必須由外加元件來進(jìn)行個別溫度補償電路校正。其重要指標(biāo)如下:

  a、傳感器測定范圍:5.8~15 PSIG

  b、操作溫度范圍:?40~85 ℃

  c、驅(qū)動電流:1.5~3mA

  d、驅(qū)動電壓:5~15V

  e、零點漂移:?25~25mV

  f、電阻溫度系數(shù)為:0.2%/℃

  因為血壓信號取自手臂,測量的信號容易受袖帶的位置、手臂的挪動而帶來的干擾。根據(jù)這些專業(yè)特點,要求系統(tǒng)具備高輸入阻抗、高增益、高共模抑制比、低噪聲以及低漂移等特征。如圖2所示,圖中的T1即為MPS-3100-006G壓阻式壓力傳感器。整個電路首先將壓力信號轉(zhuǎn)換為電壓信號,然后進(jìn)行放大濾波。圖中U1、U2為有源運放LM324,它的輸入阻抗很高。壓力傳感器的信號通過放大后,并通過調(diào)節(jié)VR1的大小來改變運放的閉環(huán)增益,以調(diào)節(jié)為適應(yīng)于A/D的電壓輸入范圍。U1運放回路用來測量袖帶中的壓力,測量的數(shù)據(jù)用來供MCU分析并控制對袖帶充氣和放氣的速度。另外U2運放回路是將通過C11電容隔直的交流信號放大,此回路測量的是人體的脈搏波。兩個回路的采集數(shù)據(jù)構(gòu)成了血壓計各個指標(biāo)的重要計算參數(shù)。

  

 是松下(Panasonic)公司于2008年初推出的產(chǎn)品,MN101Exx系列8位單片機復(fù)合了多功能的外圍功能,具有靈活而最優(yōu)化的硬件結(jié)構(gòu),簡潔而高效的指令體系,充分實現(xiàn)經(jīng)濟(jì)性和高速性。

  MN101E32D型單片機,內(nèi)置64KB Flash、4KB RAM,具備6個外部中斷、20個內(nèi)部中斷(包括NMI)、9個定時器計數(shù)器、3個串行接口、8路A/D轉(zhuǎn)換器、32×4段LCD驅(qū)動器、監(jiān)視定時器、單系統(tǒng)的數(shù)據(jù)自動傳送功能、同步輸出功能以及蜂鳴器輸出等外圍功能。最小指令執(zhí)行時間可達(dá)50ns,封裝為64引腳LQFP。本血壓計使用MN101EF32D的功能大致如下:

  a、10位A/D采樣,用于靜態(tài)壓力及脈搏波的測量。

  b、LCD顯示控制器,直接驅(qū)動23*4段的液晶顯示器,顯示測量的過程及結(jié)果。

  c、定時器功能,用于定時A/D采樣數(shù)據(jù)并計算自動關(guān)機時間。

  d、采用數(shù)字信號處理的技術(shù)對A/D采樣的信號進(jìn)行處理,主要有數(shù)字低通濾波和相關(guān)的計算。

  e、電源開啟采用硬件控制的方法,電源關(guān)閉采用軟件控制的方法,關(guān)機時除了穩(wěn)壓模塊外,其它芯片處于斷電狀態(tài),功耗極低。

  f、測量時可以選擇mmHg和Kpa作為主顯示方式,測量精度高,達(dá)到靜態(tài)1mmHg、動態(tài)3mmHg的測量精度。由于采用鐵電存儲器作為存儲媒介,數(shù)據(jù)的保存時間很長。

  MN101EF32D與外部串行鐵電存儲器的硬件連接

  在選擇外部存儲器時,由于考慮到要長期反復(fù)擦除、寫入所設(shè)置的工作參數(shù)和測量到的重要信息,并保存大量的歷史數(shù)據(jù),因此必須使用容量較大的靜態(tài)存儲器,以便寫入盡可能多的數(shù)據(jù)信息并保證掉電后數(shù)據(jù)不丟失。由于EEPROM本身的設(shè)計工藝。壽命有限,而且寫入的時間較長,因此不適合用于電池供電的系統(tǒng)。血壓計需要保存的數(shù)據(jù)設(shè)計依次為收縮壓(2個字節(jié))、舒張壓(2個字節(jié))、平均壓(2個字節(jié))、脈搏(2個字節(jié))、每次記錄的時間(5個字節(jié))等,每次測量需要13字節(jié)存儲數(shù)據(jù)。假設(shè)每天測量4次,需要13×4=52字節(jié),血壓計能夠保存7天的數(shù)據(jù)則需要364字節(jié),故選用鐵電的24cL04。當(dāng)打開血壓計使用的時候,單片機在其PA0口模擬出IIC總線的SCL,并輸入給外部存儲器24cL04的SCL引腳,同時PA1口與24cL04的SDA口進(jìn)行數(shù)據(jù)交換,將有用的數(shù)據(jù)顯示在LCD上。

  

  電源處理模塊及其相關(guān)電路設(shè)計

  本血壓計選用2節(jié)7號電池作為電源的輸入。為了達(dá)到較好的供電質(zhì)量,在此電路中選擇了DC/DC升壓芯片RN5RK331A,將2節(jié)串聯(lián)的1.5伏7號電池構(gòu)成的3V左右的電壓升到3.3V,供給系統(tǒng)中的模擬電路電源,也作為數(shù)字電路的正電源供給MCU(如圖3所示)??紤]到氣泵、氣閥如果與模擬電路、數(shù)字電路直接共用一個電源,會引入比較大的干擾,從而影響壓力傳感器、運放以及MCU的正常工作,所以設(shè)計成氣泵、氣閥不與其它器件接在一起,直接由電池供電。

  另外,血壓計的重要采集數(shù)據(jù)通過運放放大的袖帶氣壓和隔直后的脈搏波,由于它們都是通過微小的信號放大后得到的,所以A/D轉(zhuǎn)換的設(shè)計也極為重要。系統(tǒng)采用智能充氣測量、自動降壓,在降壓的過程中進(jìn)行測量。由于在氣閥工作降壓的時候,電源受到波動,如果用系統(tǒng)電源直接拿來作為A/D的參考電壓基準(zhǔn),必然會給測量帶來誤差。采用National Semiconductor的LM385作為A/D轉(zhuǎn)換的電壓基準(zhǔn)連接到芯片的VREF+引腳,確保采集的數(shù)據(jù)轉(zhuǎn)換準(zhǔn)確。

  LCD顯示模塊的設(shè)計

  如圖4、5所示,為了使用戶更為方便、簡單地使用本系統(tǒng),采用LCD顯示。

  松下的MN101EF32D芯片內(nèi)置了LCD驅(qū)動模塊,可以直接驅(qū)動LCD。先初始化LCD方式控制寄存器1(LCDMD),它是8位寄存器,用來指定LCD時鐘、LCD顯示的ON/OFF、顯示占空比等。

軟件的主要流程如下:

  上電后,首先完成系統(tǒng)的初始化工作。單片機開始給氣泵供電,讓袖帶迅速充氣至被測者收縮壓以上約30mmHg左右。之后單片機通過1路A/D開始采集袖帶的氣壓,并根據(jù)袖帶內(nèi)氣壓下降的速度來控制排氣閥排氣,使袖帶內(nèi)勻速降壓(3~5mmHg /s)。與此同時,另外1路A/D開始采集經(jīng)過隔直的脈搏波。當(dāng)脈搏波的振幅最大時,袖帶的壓力就是動脈的平均壓。動脈的收縮壓對應(yīng)于振幅包絡(luò)線的第一個拐點,舒張壓對應(yīng)于包絡(luò)線的第二個拐點。

  軟件主要細(xì)分為以下3個重要模塊:

  一)勻速降壓控制模塊

  盡管氣閥有自動緩慢放氣的特點,但為了使袖帶迅速充氣至被測者收縮壓以上30mmHg左右后勻速降壓(3~5mmHg /s),而不能用普通的處理方法,因為整個測量過程中容易受到外界震動的影響,如人為的震動袖帶、氣管的震動、人的身體運動等,另外氣管的剛性度也會影響到袖帶內(nèi)氣壓微弱的變化。所以袖帶內(nèi)的壓力降低的速度與氣閥開關(guān)的頻率為非線形關(guān)系。

  本設(shè)計采用了PID算法來控制氣閥的開關(guān)時間來確保袖帶以3~5mmHg /s的速度勻速降壓。受到單片機的處理速度和RAM資源的限制,這里不采用浮點數(shù)運算,而將所有參數(shù)全部用整數(shù),最后再除以2N(相當(dāng)于移位),作類似定點數(shù)運算,可大大提高運算速度。最終賦值給定時器,來控制氣閥的開啟時間,從而保證降壓的速度恒定。

  在PID算法中三個基本的參數(shù)Kp、Ki、Kd的設(shè)定與調(diào)整是比較難的部分,根據(jù)這些參數(shù)的作用原理,總結(jié)調(diào)整方法大致如下:

  1、壓力很快就降到目標(biāo)值,但壓力降的太多:

  a)比例系數(shù)太大;

  b)微分系數(shù)過小;

  2、壓力下降達(dá)不到目標(biāo)值:

  a)比例系數(shù)過小;

  b)積分系數(shù)過小;

  3、基本上能夠控制在目標(biāo)上,但上下偏差較大,且經(jīng)常波動

  a)微分系數(shù)過小;

  b)積分系數(shù)過大;

  二)信號處理模塊

  本血壓計測量信號為2路,MPS-3100-006G壓力傳感器的信號首先進(jìn)行低通濾波處理,排除因外界干擾造成的信號讀數(shù)的誤差,之后放大送AD1,作為靜態(tài)血壓信號;隔直后經(jīng)再次放大送AD2,作為脈搏波信號。由于MN101EF32D的A/D為10位,因此最高精度可達(dá)1/1024。為了最大限度地利用A/D轉(zhuǎn)換的采樣速度,用中斷來實現(xiàn)A/D轉(zhuǎn)換后的數(shù)據(jù)處理。當(dāng)A/D轉(zhuǎn)換完畢,在中斷程序中,用防脈沖干擾移動平均值法來實現(xiàn)簡單有效的數(shù)字濾波,使測量更加準(zhǔn)確。具體做法為在一次定時中斷內(nèi)連續(xù)進(jìn)行5次A/D轉(zhuǎn)換,去掉最大值和最小值,剩余3個數(shù)據(jù)求算術(shù)平均值,該算術(shù)平均值作為此次的A/D轉(zhuǎn)換結(jié)果。

  三)計算血壓模塊

  袖帶氣壓和脈搏波經(jīng)信號處理模塊的處理后,得出如圖6所示的數(shù)據(jù)。圖中的下方為被測者的脈搏波,上方為血壓計升壓和壓降過程中的袖帶壓力。在此基礎(chǔ)上分析信號,供收縮壓、舒張壓、平均壓和心率的計算。單片機在測量過程中已經(jīng)存儲各個脈搏波的峰值,以及每個脈搏波的間隔時間。

  


  收縮壓判據(jù)的確定采用最大振幅法,即在放氣過程中脈搏波幅度包絡(luò)線的上升段,當(dāng)某一個脈搏波的幅度Ui與最大幅度Um(平均壓)之比剛剛大于Ks時,就認(rèn)為此時對應(yīng)的氣袖壓力為收縮壓。

  Ps=P/Ui=Ks*Um

  舒張壓判據(jù)的確定也是用最大振幅法來判定的,不過是在脈搏波幅度包絡(luò)線的下降段,當(dāng)某一個脈搏波的幅度Ui與最大幅度Um(平均壓)之比剛剛小于Kd時,就認(rèn)為此時對應(yīng)的氣袖壓力為舒張壓。

  Pd=P/Ui=Kd*Um

  先用經(jīng)驗參數(shù)Ks = 0.54和Kd = 0.72來計算,經(jīng)測試后再進(jìn)行修正。

  心率即為脈搏波的周期,具體也為算術(shù)平均值做法。

  結(jié)論

  基于MN101EF32D單片機的血壓計,充分利用了該芯片本身的功能,具備電路簡單、功耗低、電源要求單一、精度高以及實用性強等特點,有著廣闊的市場前景。

.



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉