微控制器的電子血壓計工作原理及設計

2021-07-24 10:24:51 字數 4962 閱讀 3987

示波法(振盪法)測量血壓工作原理示波法(振盪法)是根據袖帶在減壓過程中,其壓力振盪波的振幅變化包絡線來判定血壓的。目前比較一致的看法是當袖帶壓力振盪波的振幅最大時,袖帶的壓力就是動脈的平均壓。動脈的收縮壓對應於振幅包絡線的第乙個拐點,舒張壓對應於包絡線的第二個拐點。

硬體設計系統基本工作原理如圖1所示。壓力感測器輸出的電壓訊號首先通過低通濾波器濾波,之後由運放電路將訊號轉化為適合微控制器的輸入訊號.

示波法(振盪法)測量血壓工作原理

示波法(振盪法)是根據袖帶在減壓過程中,其壓力振盪波的振幅變化包絡線來判定血壓的。目前比較一致的看法是當袖帶壓力振盪波的振幅最大時,袖帶的壓力就是動脈的平均壓。動脈的收縮壓對應於振幅包絡線的第乙個拐點,舒張壓對應於包絡線的第二個拐點。

硬體設計

系統基本工作原理如圖1所示。壓力感測器輸出的電壓訊號首先通過低通濾波器濾波,之後由運放電路將訊號轉化為適合微控制器的輸入訊號,最後將模擬的取樣訊號經過mn101ef32d微控制器轉化為數字量。程式對採集的資料進行數字濾波後分析,計算出人體血壓的兩個關鍵指標"舒張壓"和"收縮壓",之後微控制器立即將資料儲存到外部儲存器中,並將這些重要資料顯示在lcd上。

感測器介紹及其外圍電路的設計

該血壓計使用的感測器為mps-3100-006g壓阻式壓力感測器,是由四個等值電阻組成的惠式電橋,其輸出電壓和輸入壓力成正比,理想狀態下當壓力輸入時,電阻值就跟著改變,但實際上溫度的改變也會影響其阻值輸出結果。另外,由於晶體和電路設計製作的誤差,加上封裝過程等方面的影響,零點偏移不是零。所以必須由外加元件來進行個別溫度補償電路校正。

其重要指標如下:

a、感測器測定範圍:5.8~15psig

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

c、驅動電流:1.5~3ma

d、驅動電壓:5~15v

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

f、電阻溫度係數為:0.2%/℃

因為血壓訊號取自手臂,測量的訊號容易受袖帶的位置、手臂的挪動而帶來的干擾。根據這些專業特點,要求系統具備高輸入阻抗、高增益、高共模抑制比、低雜訊以及低漂移等特徵。如圖2所示,圖中的t1即為mps-3100-006g壓阻式壓力感測器。

整個電路首先將壓力訊號轉換為電壓訊號,然後進行放大濾波。圖中u1、u2為有源運放lm324,它的輸入阻抗很高。壓力感測器的訊號通過放大後,並通過調節vr1的大小來改變運放的閉環增益,以調節為適應於a/d的電壓輸入範圍。

u1運放迴路用來測量袖帶中的壓力,測量的資料用來供mcu分析並控制對袖帶充氣和放氣的速度。另外u2運放迴路是將通過c11電容隔直的交流訊號放大,此迴路測量的是人體的脈搏波。兩個迴路的採集資料構成了血壓計各個指標的重要計算引數。

mn101ef32d的特性

mn101ef32d是松下(panasonic)公司於2023年初推出的產品,mn101exx系列8位微控制器復合了多功能的外圍功能,具有靈活而最優化的硬體結構,簡潔而高效的指令體系,充分實現經濟性和高速性。

mn101e32d型微控制器,內建64kb flash、4kb ram,具備6個外部中斷、20個內部中斷(包括nmi)、9個定時器計數器、3個序列介面、8路a/d轉換器、32×4段lcd驅動器、監視定時器、單系統的資料自動傳送功能、同步輸出功能以及蜂鳴器輸出等外圍功能。最小指令執行時間可達50ns,封裝為64引腳lqfp。本血壓計使用mn101ef32d的功能大致如下:

a、10位a/d取樣,用於靜態壓力及脈搏波的測量。

b、lcd顯示控制器,直接驅動23*4段的液晶顯示器,顯示測量的過程及結果。

c、定時器功能,用於定時a/d取樣資料並計算自動關機時間。

d、採用數字訊號處理的技術對a/d取樣的訊號進行處理,主要有數字低通濾波和相關的計算。

e、電源開啟採用硬體控制的方法,電源關閉採用軟體控制的方法,關機時除了穩壓模組外,其它晶元處於斷電狀態,功耗極低。

f、測量時可以選擇mmhg和kpa作為主顯示方式,測量精度高,達到靜態1mmhg、動態3mmhg的測量精度。由於採用鐵電儲存器作為儲存媒介,資料的儲存時間很長。

mn101ef32d與外部序列鐵電儲存器的硬體連線

在選擇外部儲存器時,由於考慮到要長期反覆擦除、寫入所設定的工作引數和測量到的重要資訊,並儲存大量的歷史資料,因此必須使用容量較大的靜態儲存器,以便寫入盡可能多的資料資訊並保證掉電後資料不丟失。由於eeprom本身的設計工藝。壽命有限,而且寫入的時間較長,因此不適合用於電池供電的系統。

血壓計需要儲存的資料設計依次為收縮壓(2個位元組)、舒張壓(2個位元組)、平均壓(2個位元組)、脈搏(2個位元組)、每次記錄的時間(5個位元組)等,每次測量需要13位元組儲存資料。假設每天測量4次,需要13×4=52位元組,血壓計能夠儲存7天的資料則需要節,故選用"鐵電"的24cl04。當開啟血壓計使用的時候,微控制器在其pa0口模擬出iic匯流排的scl,並輸入給外部儲存器24cl04的scl引腳,同時pa1口與24cl04的sda口進行資料交換,將有用的資料顯示在lcd上。

電源處理模組及其相關電路設

本血壓計選用2節7號電池作為電源的輸入。為了達到較好的供電質量,在此電路中選擇了dc/dc公升壓晶元rn5rk331a,將2節串聯的1.5伏7號電池構成的3v左右的電壓公升到3.

3v,供給系統中的模擬電路電源,也作為數位電路的正電源供給mcu(如圖3所示)。考慮到氣幫浦、氣閥如果與模擬電路、數位電路直接共用乙個電源,會引入比較大的干擾,從而影響壓力感測器、運放以及mcu的正常工作,所以設計成氣幫浦、氣閥不與其它器件接在一起,直接由電池供電。

另外,血壓計的重要採集資料通過運放放大的袖帶氣壓和隔直後的脈搏波,由於它們都是通過微小的訊號放大後得到的,所以a/d轉換的設計也極為重要。系統採用智慧型充氣測量、自動降壓,在降壓的過程中進行測量。由於在氣閥工作降壓的時候,電源受到波動,如果用系統電源直接拿來作為a/d的參考電壓基準,必然會給測量帶來誤差。

採用national semiconductor的lm385作為a/d轉換的電壓基準連線到晶元的vref+引腳,確保採集的資料轉換準確。

lcd顯示模組的設計

如圖4、5所示,為了使使用者更為方便、簡單地使用本系統,採用lcd顯示。

松下的mn101ef32d晶元內建了lcd驅動模組,可以直接驅動lcd。先初始化lcd方式控制暫存器1(lcdmd),它是8位暫存器,用來指定lcd時鐘、lcd顯示的on/off、顯示占空比等。

系統軟體設計

軟體的主要流程如下:

上電後,首先完成系統的初始化工作。微控制器開始給氣幫浦供電,讓袖帶迅速充氣至被測者收縮壓以上約30mmhg左右。之後微控制器通過1路a/d開始採集袖帶的氣壓,並根據袖帶內氣壓下降的速度來控制排氣閥排氣,使袖帶內勻速降壓(3~5mmhg /s)。

與此同時,另外1路a/d開始採集經過隔直的脈搏波。當脈搏波的振幅最大時,袖帶的壓力就是動脈的平均壓。動脈的收縮壓對應於振幅包絡線的第乙個拐點,舒張壓對應於包絡線的第二個拐點。

軟體主要細分為以下3個重要模組:

一)勻速降壓控制模組

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

本設計採用了pid演算法來控制氣閥的開關時間來確保袖帶以3~5mmhg /s的速度勻速降壓。受到微控制器的處理速度和ram資源的限制,這裡不採用浮點數運算,而將所有引數全部用整數,最後再除以2n(相當於移位),作類似定點數運算,可大大提高運算速度。最終賦值給定時器,來控制氣閥的開啟時間,從而保證降壓的速度恆定。

在pid演算法中三個基本的引數kp、ki、kd的設定與調整是比較難的部分,根據這些引數的作用原理,總結調整方法大致如下:

1、壓力很快就降到目標值,但壓力降的太多:

a)比例係數太大;

b)微分係數過小;

2、壓力下降達不到目標值:

a)比例係數過小;

b)積分係數過小;

3、基本上能夠控制在目標上,但上下偏差較大,且經常波動

a)微分係數過小;

b)積分係數過大;

二)訊號處理模組

本血壓計測量訊號為2路,mps-3100-006g壓力感測器的訊號首先進行低通濾波處理,排除因外界干擾造成的訊號讀數的誤差,之後放大送ad1,作為靜態血壓訊號;隔直後經再次放大送ad2,作為脈搏波訊號。由於mn101ef32d的a/d為10位,因此最高精度可達1/1024。為了最大限度地利用a/d轉換的取樣速度,用中斷來實現a/d轉換後的資料處理。

當a/d轉換完畢,在中斷程式中,用防脈衝干擾移動平均值法來實現簡單有效的數字濾波,使測量更加準確。具體做法為在一次定時中斷內連續進行5次a/d轉換,去掉最大值和最小值,剩餘3個資料求算術平均值,該算術平均值作為此次的a/d轉換結果。

三)計算血壓模組

袖帶氣壓和脈搏波經訊號處理模組的處理後,得出如圖6所示的資料。圖中的下方為被測者的脈搏波,上方為血壓計公升壓和壓降過程中的袖帶壓力。在此基礎上分析訊號,供收縮壓、舒張壓、平均壓和心率的計算。

微控制器在測量過程中已經儲存各個脈搏波的峰值,以及每個脈搏波的間隔時間。

收縮壓判據的確定採用最大振幅法,即在放氣過程中脈搏波幅度包絡線的上公升段,當某乙個脈搏波的幅度ui與最大幅度um(平均壓)之比剛剛大於ks時,就認為此時對應的氣袖壓力為收縮壓。

ps=p/ui=ks*um

舒張壓判據的確定也是用最大振幅法來判定的,不過是在脈搏波幅度包絡線的下降段,當某乙個脈搏波的幅度ui與最大幅度um(平均壓)之比剛剛小於kd時,就認為此時對應的氣袖壓力為舒張壓。

pd=p/ui=kd*um

先用經驗引數ks = 0.54和kd = 0.72來計算,經測試後再進行修正。

心率即為脈搏波的週期,具體也為算術平均值做法。

血壓是極為重要的健康指標,血壓測量的準確與否直接關係到人們的健康。國家把血壓計列為強制檢定計量器具。一般醫院使用的水銀血壓計基於人工柯氏音法,這種方法存在一些固有的缺點:

一是放氣的快慢對讀數有直接影響,國際標準放氣速度為每秒3~5mmhg,而不同的醫生放氣有快有慢,會影響測量的準確度;二是這種方法以人的視覺、聽覺和協調程度為主要依據,很難標準化。為此,本設計從血壓的檢測方法著手,採用日本松下公司高速、低功耗的mn101ef32d微控制器,作為血壓計測量、控制、資料讀寫、資料顯示的核心,可準確地採用示波法(振盪法)測量血壓。

51微控制器IO引腳IO口工作原理

一 p0埠的結構及工作原理 p0埠8位中的一位結構圖見下圖 由上圖可見,p0埠由鎖存器 輸入緩衝器 切換開關 乙個與非門 乙個與門及場效電晶體驅動電路構成。再看圖的右邊,標號為p0.x引腳的圖示,也就是說p0.x引腳可以是p0.0到p0.7的任何一位,即在p0口有8個與上圖相同的電路組成。下面,我們...

基於微控制器的電子時鐘設計

ds1302時鐘晶元具有通電自動計時的功能。向ds1302中寫入乙個初值,如寫入2011 05 01 00 00 00 星期日,在通電時,時間就會自動走 過60秒分加1 過60分時加1 過24小時天加1,星期日變成星期一 一周有7天,晶元內的周資訊每7天一迴圈 晶元能夠自動判斷每月有多少天,5月有3...

第2章微控制器的基本結構與工作原理

本文由貢獻 第二章主要內容 微控制器的基本結構與工作原理 總體結構總體結構 時鐘及時鍾及 工作時序時鐘及工作時 序 儲存器配置儲存器配置 總體結構 系列基本產品型號 系列基本產品型號 系列基本產品型號 稱為 子系列。子系列。稱為子系列不同型號 微控制器單 片機 處理能力和指令系統完不同型號微控制器處...