便攜式電子血壓計連續(xù)動態(tài)監(jiān)測的設計
3 系統(tǒng)軟件設計
系統(tǒng)軟件包括采集信號處理程序,串口驅動程序,氣泵氣閥驅動與控制程序、時鐘、存儲、顯示器及鍵盤、蜂鳴器等相關的接口程序的設計。系統(tǒng)軟件總體框圖如圖6所示。
3.1 采集和信號處理
本系統(tǒng)采用ATmegal6內部集成的10位的逐次逼近型ADC和7.372 8 MHz外部晶振,根據Nyquist采樣定理,采樣頻率應大于等于被采樣信號最高頻率的兩倍,以免采樣后的信號發(fā)生頻譜的混疊。同時考慮到選用的氣泵、氣閥有自動緩慢放氣的特點,將采樣頻率設置為200 Hz、選擇AVCC作為ADC的參考電平,轉換結果為ADC=(VIN×1 024)/VREF。ADC模塊的工作時鐘由系統(tǒng)時鐘經過128分頻提供,轉換周期由T/C0定時控制,定時器T/CO的時鐘源采用系統(tǒng)時鐘1 024分頻,運行于普通模式,因采樣頻率是200 Hz,則采樣周期是5 000μs,定時初值TCNT0=
256-7.372 8×5 000/l 024=0 xdc。轉換模式選擇自動轉換觸發(fā)工作模式,在定時溢出中斷中運行A/D轉換程序,A1通道轉換完成之后,直接改變通道,開始A0通道轉換。
為了最大限度地利用A/D轉換的采樣速率,用中斷實現(xiàn)A/D轉換后的數據處理。當A/D轉換完成后觸發(fā)中斷,在嵌套中斷服務程序中,將采樣結果進行簡單預處理。由于在信號采集過程中,經常會遇到尖脈沖干擾的現(xiàn)象,為避免采集到的是干擾信號,在一次定時中斷服務子程序中連續(xù)進行4次模數轉換,得到4個連續(xù)的數據,然后進行防脈沖干擾數字濾波。在此,采用簡單有效的均值濾波法,即對4個數據進行比較,去掉最大值和最小值,然后計算余下的2個數據的算術平均值,視該算術平均值為所需的模數轉換結果。這樣即可濾除脈沖干擾又可濾除小的隨機干擾,使測量更準確。
由于定時器T1具有2個比較匹配寄存器(OCRlA、OCRlB),故可通過兩個I/O口PC6、PC7產生PWM信號分別控制氣泵和氣閥的開關。T/C1是這樣工作的:選擇T/C1的計數長度為16位,工作于快速PWM模式,時鐘源來自系統(tǒng)時鐘經過1 024分頻,當定時器T1產生溢出中斷前,首先比較匹配中斷觸發(fā),氣閥工作;定時器T1繼續(xù)運行直到溢出,氣閥停止運行。改變定時初值TCNTl和OCRlA、OCRlB的值,可以改變氣閥、氣泵運行的頻率和輸出脈沖的占空比。為保證測量工作能可靠進行,應使系統(tǒng)能夠實現(xiàn)出錯檢測和自動恢復。
脈搏信號輸入ADC模塊ADCl通道的同時,也被輸入到模擬比較器的負極AINl,芯片內部的固定能隙參考電源1.23 V將代替正極AIN0的輸入,比較器輸出ACO觸發(fā)定時器T1的輸入捕獲功能,當捕獲到脈沖信號的變化時,計數寄存器TCNTl(TCNTlH,TCNTlL)的值被傳送至輸入捕獲寄存器ICRl,并賦予時間標記以說明該事件的發(fā)生時刻,從而計算出脈率。
3.2 數據存儲
以單片機為核心的儀表要考慮發(fā)生斷電時的數據保存問題,本系統(tǒng)需要保存的數據依次為受檢者的收縮壓、舒張壓、平均壓、脈率以及時鐘芯片DSl302的月份寄存器、日期寄存器、小時寄存器、分鐘寄存器。前3個參數每個參數占2 bit,脈率等后5個參數各占l bit,一次測量僅需要11 bit的長度存儲數據。
假設白天(am 6:00~pm 10:00)每隔15分鐘測量一次,共測64次;夜間(pmlO:00~次日am 6:00)每隔60分鐘測量一次,共測8次;則一天共測量72次,需要11×72=792 bit。加上偶側血壓記錄值的考慮,選用容量為32 kB的串行I2C總線E2PROM――AT24C256。AVR的TWI接口是兼容I2C總線的硬件接口,使用硬件接口編程比軟件模擬簡單,代碼短,效率也高。
4 結束語
設計的便攜式電子血壓計具有成本低、功耗低、自動化程度高的優(yōu)點,具有便攜和易操作的特點,滿足了人性化和連續(xù)監(jiān)測動態(tài)血壓的要求。文中給出了完整的設計方案及詳盡的資料和數據。以ATmegal6為控制核心,輔以壓力傳感器、外圍模擬以及數字電路,確保了該血壓計設計的合理性和可行性。
電子血壓計相關文章:電子血壓計原理
評論