針對以往電子血壓計的不足,介紹了一種基于可編程片上系統(SOPC)的智能電子血壓計的設計,血壓測量的方法采用基于充氣過程的示波法。該系統采用Cyclone II系列低成本FPGA,并嵌NNIOS II軟核作為核心處理器,可以完成自動測量血壓、信息顯示、數據存儲、查看和刪除歷史數據等功能。由于采用了FPGA,從而簡化了電路的設計,提高了系統的可靠性和穩定性,并且使系統具有較強的可擴展性,有利于系統的升級。 血壓是反映心血管系統狀態的重要生理參數,合適的血壓是維持人體正常新陳代謝的必要條件。隨著人民生活水平的不斷提高以及城市老齡化程度的提高,人們自我保健意識逐漸增強,電子血壓計具有低成本、小型化、自動化程度高等優點,如今已作為家庭必備的保健用品,倍受人們的青睞。SOPC(可編程片上系統)是Altera公司提出的一種靈活、高效的SOC解決方案。用可編程邏輯技術把整個系統放到一塊硅片上,稱作SOPC。它可以將MCU、DSP和FPGA完美結合,有非常好的發展前景。 1 人體血壓測量原理 1.1血壓測量 血壓測量方法有很多,最常用的無創血壓測量方法為柯氏音法和示波法。本文設計所采用的是基于充氣的示波法。基于示波法的充氣測量恰好是放氣測量的逆過程,如圖1所示,在壓力增加(充氣)過程中,檢測靜壓力和袖帶內氣體的振蕩波,振蕩波起源于血管壁的搏動。壓力較小時,在袖帶靜壓力小于舒張壓Pd之前,動脈管壁在舒張期已充分擴展,管壁剛性增加,因而波幅維持在較小的水平。隨著壓力的增加,當袖帶壓力高于收縮壓Ps時,動脈被壓閉,此時因近端脈搏的沖擊而呈現細小的振蕩波;當袖帶靜壓等于平均壓時,波幅達到最大值;振蕩波的包絡線所對應的袖帶靜壓力就間接地反映了動脈血壓。 1.2 心率計算 心率指心臟每分鐘搏動的次數,由于心臟與脈搏搏動一致,所以在測量血壓的同時可以測得心率。心率的測定關鍵判斷脈搏波的峰值,然后根據在一定時間內測定有多少個脈搏波,從而計算出心率。 2 SOPC系統的硬件設計 SOPC系統的硬件設計框圖如圖2所示。 2.1 SOPC系統電路 該部分電路由FPGA芯片、存儲器以及其他外圍元件組成,是信號處理的核心部分。由SOPC Builder硬件開發環境構建包括CPU、存儲器接口和I/O外設的嵌入式微處理器系統。完成系統設計后,可以用SOPC Builder來生成系統。下圖為在SOPC Builder中構建的系統內容配置。 SOPC系統中添加了EPCS設備控制器核,這樣做的目的是做到充分利用系統資源,將FPGA的配置數據以及Nios II的軟件程序固化到EPCS芯片中,為Flash芯片節省出更多的空間來存儲測量結果。這時Nios II處理器的復位地址要設置為EPCS控制器的基地址,當系統復位后固化到EPCS芯片中的程序將自動下載到SDRAM中運行。 圖4為由SOPC Builder硬件開發環境生成的SOPC系統的頂層模塊圖。 2.2 壓力測量電路 2.2.1 壓力傳感器選型 本設計的壓力傳感器選擇的是Motorola公司生產的MPXV5050GP壓力傳感器。其內部含有信號運放,具有信號調節功能,有良好的線性度,可以直接將動脈血液對血管壁的壓力轉換為0.2~4.7V的電信號,對應的血壓值為0~375mmHg,與血壓計的設計要求非常匹配。 2.2.2 驅動電路的設計 控制氣泵和電磁閥工作的信號是由FPGA發出的,氣泵需要的工作驅動電流為450mA,電磁閥為75mA,而FPGA的數字I/O輸出電流不能滿足要求。因此,為給氣泵和電磁閥提供合適的驅動電流,采用達林頓管陣列ULN2803驅動電路來驅動氣泵和電磁閥工作。ULN2803可輸出500mA的電流,分別利用ULN2803的第一路、第二路來驅動電磁閥和氣泵,第三路驅動一個LED用來指示脈搏波信號。如圖5所示。 2.3 傳感器輸出信號的提取 從壓力傳感器出來的信號是脈搏波的振蕩信號和靜壓力信號的混合信號,還夾雜著來自外界的高頻干擾、直流或低頻分量。我們將混合信號分為兩個部分,一部分經過低通濾波器后進行A/D轉換,從而提取出袖帶壓信號,另一部分則通過帶通濾波、放大電路,得到放大的脈搏波數據后再送入A/D轉換模塊。信號提取部分的具體電路如圖6所示。 這里采用截止頻率為0.48Hz的二階低通巴特沃斯濾波器,將低通濾波器增益設為1,這樣做可以盡量減少誤差的放大。采用具有信號放大能力的有源濾波器對脈搏波信號的提取,通帶頻率范圍設計為0.48~4.8Hz。脈搏波信號放大濾波后,要使其最大幅度盡量接近A/D轉換模塊的允許上限,這樣有助于提高采集數據的精度。 由于需要對靜壓信號和脈搏波信號分別進行A/D轉換,因此需要兩個采樣通道。人體的臂動脈血壓,收縮壓一般在95~140mmHg范圍內,平均值為110~120mmHg,舒張壓為60~90mmHg,平均值為80mmHg,考慮到高血壓等疾病情況,血壓計的測量范圍應該在0~250mmHg內,則對A/D轉換器的要求至少為8位(28=256)。 2.4 鍵盤電路與顯示電路 本系統用1個按鍵作為系統復位開關,5個按鍵作為系統操作鍵盤,分別完成測量血壓、查看記錄、上翻記錄、下翻記錄和刪除記錄的功能。顯示部分采用的是128×64點陣LCD顯示器,具有操作簡便,界面友好的特點。 3 系統軟件流程設計 本系統的軟件工作流程框圖如圖7所示。其中信號處理算法部分主要是對采樣的脈搏信號進行處理,包括采用數字濾波算法對各種干擾噪聲信號進行識別與去除,改善脈搏波的包絡線等,以提高電子血壓計在測量血壓時的抗干擾能力與測量精度。 當用戶測量血壓時,按下“測量”按鍵,SOPC系統發出控制信號給氣泵,開始加壓充氣。充氣的過程中,來自壓力傳感器的血壓信號經放大、濾波后送入A/D轉換模塊,信號經A/D轉換后送入SOPC系統執行相應的信號處理算法,計算出心率、收縮壓和舒張壓的值。SOPC計算出測量值以后,保存本次測試結果至Flash芯片(寫Flash),如果測量結果正常,則LCD顯示出所測的數據并執行快速放氣操作;如果測量出的結果超出正常范圍,則顯示相應提示信息,同時發出警報聲音和放氣控制信號。如果在測量過程中出現錯誤,系統將停止充氣并啟動電磁閥進行放氣,蜂鳴器也會發出報警聲音,同時顯示測量出錯的提示信息。 用戶可按下相應按鍵來完成“查看”(讀Flash芯片)、“刪除”(擦除Flash芯片中當前存儲區的內容)等功能。若用戶想退出當前操作或者是測量過程中出現錯誤,直接按下復位鍵系統即可回到初始化狀態等待新的操作信息。 4 測量結果對比與分析 為了檢驗本設計的測量結果,我們將此電子血壓計與市面上評價比較好的歐姆龍HEM-7012型電子血壓計分別對不同的個體進行了測量,結果如表1所示: 從多組測量結果的對比可以看出,雖然測量結果存在一定的誤差,但本血壓計對不同的測量者具有良好的個體適應性。與歐姆龍電子血壓計相比,本血壓計測得的血壓結果略有偏大,這是因為電子血壓計采用基于充氣過程的示波法,特征點的確定只能依賴采集樣本的統計歸納,有一定的離散性,此外,在測量過程中,壓力傳感器輸出信號以及放大、濾波等電路的輸出信號都可能與真實值之間存在一些小的差異,因此會存在一定的誤差。 5 結束語 本文所提出的電子血壓計設計方案采用的是基于充氣測量的方法。具有操作簡單方便、界面友好、測量精度較高、個體適應性強等優點,而且由于采用充氣過程測量,放氣速度很快,因此縮短了測量時間,提高了用戶的測量舒適度。 |