版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實用標準文案實用標準文案精彩文檔精彩文檔本人聲明我聲明,本論文及其研究工作是由本人在導師指導下獨立完成的,在完成論文時所利用的一切資料均已在參考文獻中列出。作者:劉桂良簽字:時間:2008年6月基于S12單片機的血壓計的實現(xiàn)學生:劉桂良指導老師:張軍香董韶鵬摘要人體血壓是人重要的生命參數(shù)之一,目前人體血壓的測量多采用間接測量,測量方法主要有示波法、柯氏音法等。其中示波法因其測量方便、抗干擾能力強等優(yōu)點被當前主流的自動電子血壓計所采用。本文主要研究使用S12單片機實現(xiàn)人體血壓的測量,測量方法為示波法。本論文研究的主要內容有:對人體血壓的測量系統(tǒng)進行詳細的分析,對血壓測量實驗系統(tǒng)進行改進,統(tǒng)一實驗箱與單片機的接口;編寫單片機程序,完成對人體血壓測量的控制與血壓值的計算;實現(xiàn)單片機與上位機的通信,上位機軟件對血壓數(shù)據進行圖形顯示,編寫軟件計算血壓值。同時,本論文開發(fā)的實驗系統(tǒng)為壓力測量與算法的學生實驗提供了一個良好的實驗平臺。在血壓測量算法的研究和實現(xiàn)測量系統(tǒng)的基礎上,設計實驗,編寫實驗指導書,學生可以根據實驗指導書,完成對人體血壓的測量,學習并掌握 Freescale單片機的原理及應用方法,培養(yǎng)學生的學習和動手的能力。關鍵詞:單片機,示波法,LabVIEW實用標準文案實用標準文案精彩文檔精彩文檔BloodPressureMonitorBasedonS12MCUAuthor:LiuGuiliangTutor:ZhangJunxiang,DongShaopengAbstractHumanbloodpressureisoneofperson'smostimportantlifeparameters,itsmeasuringtechniquevariesandmainlyindirectly,amongwhichOscillometricandKeshi-Lawincluded.Thisarticlemainlydealswiththeoscillometricmethodwhichisgenerallyusedintheautomaticbloodpressuremonitordesignsforitsconvenienceandstronganti-disturbancecapacity.Thepapercarriesonthedetailedanalysistothehumanbodybloodpressure'smeasurementsystem,theimprovementtotheoriginalexperimentsystemandtheunifiedmonolithicintegratedcircuitseriesexperiment'sconnection.Itresearchesmoreonthecontrolofthemeasurementsystemandthecalculationofbloodpressure.Alsointhispaper,asoftwareisusedtofinishthecommunicationbetweenthemeasurementsystemandthecomputeronwhichthemeasuredataisdisplayedgraphicallyandthebloodpressureiscalculatedtoo.ThedevelopmentoftheS12MCUbloodpressuremeasurementsystemprovidesaniceexperimentsplatformforstudents.Usingtheexperimentguidebook,studentscanaccomplishthehumanbloodpressuremeasurement,mastertheapplicationmethodoftheFreescalemicrocontrollers.Theexperimentcanfostertheirabilitytostudyandwork.Keywords:Microcontrollers,Oscillometric,LabVIEW目錄1緒論 1 論文選題意義 1 TOC\o"1-5"\h\z國內外研究現(xiàn)狀分析 2……血壓及血壓測量方法 2..…示波法血壓測量基本原理 3.…最新成果和發(fā)展動態(tài) 5……論文構成及研究方案 5……研究目標 .5.......研究內容 7.......研究方法 7.......2系統(tǒng)總體設計 9.......血壓測量系統(tǒng) .9.......系統(tǒng)組成 .9.......TOC\o"1-5"\h\z工作原理 10血壓測量算法研究 10提取脈搏波包絡曲線 10血壓值計算 13本章小結 143硬件設計 1.5.....硬件設計概述 15血壓測量實驗箱 15單片機系統(tǒng) 17血壓測量電路模塊分析 17氣閥、氣泵控制電路 17氣袖壓力測量電路 18脈搏波提取電路 20電源及整流電路 21實驗箱接口標準化 22本章小結 234軟件設計 2.5.....單片機軟件設計 25軟件流程 25模塊設計 28上位機軟件設計 51串口通信 51數(shù)據處理 53本章小結 625實驗設計 6.3.....實驗目的 63實驗內容 63實驗要求 64實驗說明 64本章小結 64結論 65......致謝 66......參考文獻 6.7......附錄 .6.8......附錄A 單片機血壓測量C語言程序 68附錄B壓力測量與算法實驗指導書 81實用標準文案實用標準文案精彩文檔精彩文檔實用標準文案實用標準文案精彩文檔精彩文檔1緒論論文選題意義Motorola單片機是國際上應用非常廣泛的單片機口】。它具有功能全、品種多、性價比高、功耗低、應用方便、速度高等優(yōu)點,使其在家電、通信、智能化測控系統(tǒng)、儀器儀表、汽車電子等領域獲得廣泛應用。 Freescale(飛思卡爾半導體公司)一直是Motorola公司的半導體分支,2004年7月從Motorola分離出來成為獨立企業(yè),Motorola單片機半導體業(yè)務就由飛思卡爾接管負責,改為Freescale單片機。為了使實驗者熟練掌握 Freescale單片機的原理、使用方法,開設了一系列的Freescale單片機實驗,并在此基礎上開發(fā)了針對不同對象的實驗箱,以配合實驗者進行測量、控制及算法實現(xiàn)等實驗。實驗中使用Freescale單片機S12系列中的MC9s12DG128實驗系統(tǒng),MC9s12DG128是Freescale公司推出的S12系列單片機中的一款增強型16位微控制器。具集成度高,片內資源豐富,接口模塊包括SPI、SCI、I2C、A/D、PWM等,能很好地滿足學生實驗的需要。Freescale單片機系列實驗包括四種:溫度測量與控制、電機轉速測量與控制、血壓測量與算法、電子秤實驗?;赟12單片機的血壓計的實現(xiàn)是為其中的壓力測量與算法實驗開發(fā)的一個實驗平臺,通過該實驗可掌握氣體壓力傳感器的原理及使用方法,學習人體血壓測量方法。國內外研究現(xiàn)狀分析血壓及血壓測量方法血壓是指血液在血管內流動時,對血管壁產生的單位面積側壓 卷]。通常說的血壓是指動脈血壓,用血壓計在臂動脈上測得的數(shù)值來表示,以mmHg或kPa為單位,包括收縮壓和舒張壓。當心臟收縮時,動脈內的壓力最高,此時壓力稱為收縮壓;心臟舒張時,血液從動脈彈性回縮產生的壓力稱為舒張壓。工程上把相對于真空所測得的壓力稱為絕對壓力,把相對于大氣壓所測得的壓力稱為標準壓力。人體血壓值是相對于大氣壓而言的,為血壓的標準壓力值。對健康成人,在心血管系統(tǒng)中不同部位的正常血壓值不同,以臂動脈為例,收縮壓一般在95?140mmHg(12.67?18.67kPa)范圍內,平均值為110?120mmHg(14.67?16kPa);正常舒張壓為60?90mmHg(8?12kPa),平均值為80mmHg(10.67kPa)。動脈血壓一般以分數(shù)形式表示,如120/80mmHg,分子代表收縮壓,分母代表舒張壓。人體血壓測量分為直接(有創(chuàng))測量和間接(無創(chuàng))測量兩大類 I31。直接測量一般采用導管法來測定血管或心臟內的壓力, 壓力傳感器可放置在導管的頂端直接將壓力轉換成電量,也可通過充滿液體的導管將壓力傳遞到體外的壓力傳感器轉換成電量。問接測量則是在體外用各種轉換方法及信號處理技術測量血壓,其測量方法很多,比較典型的有柯氏音法和示波法??率弦舴ǖ牟僮鞣椒椋航o袖帶充氣,使動脈血流完全堵斷,此時用聽診器聽血管的波動聲是沒有的;然后慢慢放氣至聽到脈搏音,這時的壓力為高壓即收縮壓;繼續(xù)放氣通過聽診器能聽到強而有力的脈搏音,且慢慢變輕,直至聽到很平穩(wěn)較正常脈搏音,此時血管完全未受擠壓,對應的壓力為低壓,即舒張壓??率贤ㄟ^對袖帶加壓和聽脈搏音來測量血壓實現(xiàn)了人體血壓的間接測量,對人類醫(yī)學的貢獻很大,人們?yōu)榱思o念柯氏,稱此法為柯氏音法??率弦舴ù嬖谝恍┕逃械娜秉c:一是確定舒張壓比較困難;二是此法憑人的視覺和聽覺,帶有主觀因素,除非專業(yè)醫(yī)生,一般人很難測準血壓。曾經也出現(xiàn)了多種柯氏音法電子血壓計,試圖實現(xiàn)血壓的自動檢測,但很快發(fā)現(xiàn)這類血壓計未能克服柯氏音法的固有缺點,誤差大,重復性差。示波法的測量過程與柯氏音法類似,仍采用氣袖來阻斷上臂動脈血流,由于心搏血液動力學作用,在氣袖壓力上將重疊與心搏同步的壓力波動,即脈搏波。當氣袖壓力遠高于收縮壓時,脈搏波消失。隨著袖套壓力下降,脈搏開始出現(xiàn)。當袖套壓力從高于收縮壓降到收縮壓以下時,脈搏波會突然增大,當氣袖壓力降至平均壓時達到最大值。然后又隨袖套壓力下降而衰減。示波法血壓測量就是根據脈搏波振幅與氣袖壓力之間的關系來計算血壓的。示波法具有較好的抗干擾能力,能比較可靠地判斷血壓、實現(xiàn)血壓的自動檢測,因而成為測量血壓的主流方法。本論文中的血壓計也采用這種方法。示波法血壓測量基本原理示波法是臨床上各類監(jiān)護儀、電子血壓計廣泛采用的血壓測量技術。將血壓計氣袖加壓至阻斷臂動脈血流,然后緩慢放氣,人們發(fā)現(xiàn)氣袖中的壓力除隨放氣而下降之外還存在一個振蕩,并稱其為脈搏波,其波形如圖1.1。圖1.1脈搏波圖1.1中波形幅度最大處對應的氣袖壓力稱動脈血管平均壓, 收縮壓和舒張壓可由各種算法計算得到。脈搏波信號相對氣袖壓力下降信號為高頻信號,在氣袖緩慢放氣的過程中對氣袖壓力信號進行濾波即可得到脈搏波信號。示波法測量的關鍵技術是:1)放氣過程中對氣袖壓力和脈搏波信號的準確采集;2)收縮壓和舒張壓的計算。信號采集中涉及到濾波和抗干擾技術,而血壓計算算法的優(yōu)劣與否,則是決定血壓測量準確與否的關鍵。目前收縮壓和舒張壓的判別準則很多,但無公認的判別準則,多是基于統(tǒng)計學規(guī)律,而不是基于個體特征。文獻檢索到的收縮壓和舒張壓經驗判別準則,大致分為兩類,一類是歸一化準則(幅值系數(shù)法),另一類是突變點準則(拐點法)。歸一化準則就是將脈搏波信號的幅值與信號的最大幅值相比進行歸一化處理, 通過確定的收縮壓和舒張壓的歸一化值來識別收縮壓和舒張壓。突變點準則認為,收縮壓和舒張壓對應著脈搏波幅度發(fā)生突變的點,即識別脈搏波包絡的拐點為收縮壓或舒張壓。最新成果和發(fā)展動態(tài)隨著人們對人體生理信號特征認識的深入,以及大量新技術應用于生物醫(yī)學工程領域,近年來血壓測量技術又有了新的發(fā)展。人們對脈搏波特征的研究進一步深入,探索無創(chuàng)血壓測量的新思路。隨著心臟的問歇性收縮和舒張,血流壓力、血流速度和血流量的脈動以及血管壁的變形和振動在血管系統(tǒng)中的傳播,統(tǒng)稱為脈搏波或脈搏波在血管中的傳播。本質角度講柯氏音聽診法、示波法等血壓測量方法都可稱之為基于脈搏波特征的測量方法,但是都存在一定的缺陷。脈搏波是一種低頻成分為主的生理信號,可通過對數(shù)字微分信號的特殊處理來實現(xiàn)。焦學軍、房興業(yè)提出了利用脈搏波特征參數(shù)連續(xù)測量血壓的方法, 具有較高的測量精度[4];空軍第四研究所的俞夢孫院士正在進行有關脈搏波傳導時間( PWTT)法和血壓關系的研究,顯示出很好的前景[5]o隨著人們對人體生理信號特征認識的進一步加深,各種技術如數(shù)字信號處理、模式識別應用于生物醫(yī)學工程領域,無創(chuàng)血壓測量裝置必將向著更加方便可行、準確可靠的方向發(fā)展。論文構成及研究方案研究目標本課題的研究目標是對血壓計測量系統(tǒng)進行硬件改造, 用標準接口實現(xiàn)血壓計與單片機的互連;采用S12單片機對血壓計測量系統(tǒng)中的氣泵和氣閥進行控制, 并測出需要的壓力信息;單片機對壓力測量數(shù)據進行處理并顯示人體的血壓值,同時實現(xiàn)單片機與計算機的互連,圖形化顯示測量數(shù)據并計算人體動脈血壓值。研究內容本課題的主要研究內容如下:1、對原有血壓測量電路進行測量,繪出電路圖,分析電路結構,用標準接口實現(xiàn)血壓計與單片機互連,完成血壓計系統(tǒng)的硬件電路改造。2、設計單片機測量與控制程序,包括氣泵、電磁閥開關的控制,壓力數(shù)據的測量,血壓的計算,血壓值的顯示,與上位機的通信等。3、編寫上位數(shù)據處理軟件,實現(xiàn)單片機與上位機軟件的聯(lián)調,完成測量數(shù)據的圖形顯示。4、設計實驗并完成實驗指導書的編寫。研究方法1、血壓測量系統(tǒng)硬件改造血壓測量系統(tǒng)的硬件主要包括氣袖壓力測量模塊、脈搏波信號提取模塊、氣泵控制模塊、電磁閥控制模塊。首先對這些模塊進行詳盡分析,清楚各自模塊的工作原理,對電路進行優(yōu)化或修正,然后統(tǒng)一實驗箱與單片機的接口電路。2、單片機軟件設計對應于硬件的各個部分,單片機軟件采用模塊化設計。分別設計各模塊子程序,如A/D轉換子程序、氣泵控制子程序、電磁閥控制子程序、壓力采集子程序、壓力數(shù)據顯示子程序、微機通信子程序等等。在主函數(shù)中初始化硬件并調用各子程序,完成各部分的協(xié)調工作,最終測量并計算出人體血壓值,對收縮壓和舒張壓進行顯示。3、上位機軟件實現(xiàn)單片機與上位機通信,上位機通過串口軟件接收單片機發(fā)送的壓力測量數(shù)據,并保存為文本格式。編寫上位機數(shù)據處理軟件,對測量數(shù)據進行圖形顯示,進行算法研究,通過上位機軟件計算血壓值,與單片機所計算出的血壓值進行比較分析。4、實驗設計作為實驗室建設的重要部分,為學生實驗編寫實驗指導書,給出常用程序的函數(shù)接口參數(shù),供學生參考使用??商峁┭獕簻y量算法,而血壓計算程序由學生自已完成。5、論文構成根據畢業(yè)設計所進行的研究與完成的工作,本論文的主要構成包括系統(tǒng)總體設計、硬件設計、軟件設計以及實驗設計四個部分。在接下來的幾章中,本文將會陸續(xù)介紹本次本科畢業(yè)設計的設計過程以及研究成果。第2章將從課題的總體設計入手,對系統(tǒng)總體設計進行分析,對血壓測量算法進行研究。第3章將介紹血壓測量系統(tǒng)的硬件構成,對血壓測量試驗箱每個硬件模塊進行分析,并介紹單片機系統(tǒng)的組成。第4章將介紹血壓測量系統(tǒng)的軟件設計,包括單片機控制軟件及上位機數(shù)據處理軟件的設計。第5章是則是根據學生實驗的特點,對學生實驗進行了方案設計。2系統(tǒng)總體設計本章主要介紹血壓測量系統(tǒng)的硬件組成和工作原理,研究血壓測量算法血壓測量系統(tǒng)系統(tǒng)組成血壓測量系統(tǒng)主要包括氣袖、氣閥驅動與控制模塊、氣泵驅動與控制模塊、氣袖壓力測量模塊(壓力傳感器直接輸出)、脈搏波信號提取模塊(壓力傳感器輸出信號濾波放大)與A/D轉換模塊、血壓值顯示模塊、單片機與上位機通信模塊以及單片機控制模塊MC9s12DG128單片機系統(tǒng),如圖2.1所示圖2.1血壓測量系統(tǒng)組成工作原理血壓測量系統(tǒng)進行血壓測量時,將氣袖縛于上臂或腕部,氣袖充氣至壓力比受試者收縮壓高約20mmHg,阻斷動脈內血流,在氣袖放氣過程中,動脈受到的壓力逐漸下降,當壓力低于收縮壓時,開始有血液流動,引起動脈壁的振動,當氣袖內壓力足夠小時,就會產生脈搏波。當氣袖內壓力低于舒張壓時血液可以順利流過,脈搏波消失。脈搏波振動通過氣袖中空氣的壓力變化傳導到傳感器,將壓力信號轉換為電信號。血壓測量過程為:單片機發(fā)送控制信號,關閉電磁閥,控制氣泵加壓至阻斷動脈血液流動,然后關閉氣泵控制氣袖自然放氣。氣袖壓力信號(壓力傳感器輸出信號)和脈搏波信號(濾波電路輸出信號)經A/D轉換送入單片機,對數(shù)據進行處理,計算血壓值并顯示。上位機通過申行總線接收單片機采集的數(shù)據,實現(xiàn)圖形化顯示,計算血壓值。血壓測量算法研究本畢業(yè)設計中的血壓測量算法采用典型的基于示波法的血壓測量原理。目前示波法測量血壓主要對提取出來的脈搏波進行數(shù)據處理,因此示波法測量血壓首先提取脈搏波,然后對脈搏波包絡曲線進行數(shù)據分析,求得血壓值。提取脈搏波包絡曲線以血壓值為120/80mmHg為例:1、血壓值為120/80mmHg的血壓波信號和血壓計袖帶壓力下降曲線,如圖2.2
圖2.2血壓波和血壓計袖帶壓力曲線2、袖帶中的壓力加至阻斷肱動脈血流,然后緩慢排氣,袖帶對肱動脈的壓力隨之緩慢下降,當袖帶壓力下降到動脈最大血壓(收縮壓)以下時,動脈血管中的血液恢復流動,并產生脈搏,脈搏所產生的壓力脈沖(脈搏波)和袖帶壓力相疊加,輸入氣體壓力傳感器,轉變?yōu)橄鄳碾娦盘枺鐖D2.3。圖2.3氣體壓力傳感器輸入信號
3、將傳感器壓力曲線中的脈搏波(形狀如圖1.1)提取出來并與同時刻的袖帶壓力相對應,如圖2.4180 160 140 120 100XO60 40'■!-111h.J;niniHy圖2.4袖帶壓力對應的脈搏波4、用袖帶壓力對應的脈搏波脈沖峰值形成脈搏波的包絡線, 如圖2.5。根據此包絡線,運用相應的血壓計算算法,即可得到人體的血壓值(具體見下節(jié))波波HUllIIg圖2.5脈沖峰值包絡線綜上所述,壓力傳感器的輸出為兩類壓力信號的疊加,一為袖帶壓力信號,另一為脈搏波壓力信號。脈搏波信號頻率大約為1Hz,袖帶壓力信號頻率大約為0.04Hz,可視為直流。為得到脈搏波信號,需要對壓力傳感器信號進行濾波(隔直) ??梢圆捎密浖苯訉毫鞲衅餍盘栠M行數(shù)字高通濾波,也可設計硬件電路實現(xiàn)模擬濾波,本實驗系統(tǒng)采用的為后者。血壓值計算脈搏波峰值包絡曲線提取出來之后,只要應用各種計算方法,就可以得到血壓值,目前的主流方法包括兩種,一是幅值系數(shù)法,另一為拐點法。1、幅值系數(shù)法收縮壓判據的確定:在放氣過程中脈搏波幅度包絡線的上升段,當某一個脈搏波的幅度與最大幅度之比大于指定值(Ks)時,就認為此時對應的氣袖壓力為收縮壓。舒張壓判據的確定:在脈搏波幅度包絡線的下降段,當某一個脈搏波的幅度與最大幅度之比小于指定值(Kd)時,就認為此時對應的氣袖壓力為舒張壓。根據上海醫(yī)用儀表廠多年的研究成果,取Ks0.58,Kd0.772、拐點法根據脈搏波的產生原理,當氣袖內壓力下降到等于收縮壓時,血液由阻斷至開始流動。當氣袖內壓力下降到低于舒張壓時,血液將完全流通。因此在氣袖壓力等于收縮壓或舒張壓附近,因血液流動速度的變化將產生強烈的渦流,氣袖內壓力振蕩幅度將有明顯突變。采用這一原理計算血壓就稱為拐點法。拐點法計算血壓值,對于脈搏波的測量精度要求較高,可以采用兩種方法。一種方法是尋找脈搏波包絡幅值變化最大的兩個點,對應的氣袖壓力可視為收縮壓或舒張壓;另一種是采用數(shù)學的方法,用多項式擬和脈搏波信號曲線,計算曲線的拐點,所對應的壓力值即為收縮壓或舒張壓。本章小結本章對血壓測量系統(tǒng)的總體結構組成及其工作原理進行了說明,對人體血壓測量算法進行了研究。3硬件設計本章介紹血壓測量系統(tǒng)的硬件組成,并對血壓測量的硬件電路進行分析。硬件設計概述血壓測量系統(tǒng)硬件包括實驗箱和單片機系統(tǒng)兩部分。實驗箱接收控制信號,實現(xiàn)氣袖的充放氣,并敏感壓力的變化,將壓力測量數(shù)據傳送至單片機系統(tǒng)。單片機系統(tǒng)發(fā)出氣泵氣閥的控制信號,采集壓力數(shù)據,是血壓測量系統(tǒng)的核心,完成對血壓測量的控制及血壓值的計算等工作。血壓測量實驗箱實驗箱前面板有電源接口、血壓測量氣袖以及單片機與實驗箱的接口等。實驗箱的后面板上安裝了所有血壓測量元件。后面板又分為上載板和下載板,下載板上分布著主要工作元件如氣泵、氣閥、變壓器、氣體壓力傳感器,實驗箱各部分分布如圖3.1所示博感;哥力海施輸出U-Jjr匚口J1.F載航氣是匚口
w受IS*re,JQIllir~T~lr~T~lItI1r~rrJ3J4JS| 1植感馨|鯉陽II植感馨上軟板JIJ?上軟板mrn圖3.1血壓測量實驗箱部件分布圖上載板是血壓測量實驗箱的電路核心,由左至右分布有氣泵氣閥控制電路、電源整流電路、脈搏波提取電路等。其電路原理圖如圖3.2所示。力十圖3.2上載板電路原理圖單片機系統(tǒng)本實驗中采用天津工業(yè)大學開發(fā)的MC9s12DG128實驗系統(tǒng),對血壓測量進行控制并實現(xiàn)血壓值的計算與顯示、與上位機通信等。MC9S12DG128具有16位中央處理器(HCS12CPU)、128KBFlashEEPROM、8KBRAM、2KBEEPROM,以及定時器通道、鍵盤中斷和A/D通道等接口。MC9S12DG128實驗系統(tǒng)可以直接與CodeWarrior相連,具有下載程序、在線單步運行、斷點調試、連續(xù)運行、修改寄存器和存儲單元等特點,可以很方便的進行血壓測量的軟件設計。血壓測量電路模塊分析氣閥、氣泵控制電路氣閥、氣泵控制電路原理相同,電路結構相似,均通過光電耦合方式對各自的工作回路進行開關控制,以氣閥控制電路為例,如圖3.4,J1端接單片機氣閥控制輸入,J3接氣閥驅動。imRWimRW當單片機輸入數(shù)字信號0,3.4當單片機輸入數(shù)字信號0,J1的上管腳接單片機5V電源,下管腳接氣閥控制信號為低電平0V,此時光電耦合管控制氣閥工作回路接通,氣閥關閉;當單片機輸入數(shù)字信號1,為高電平5V,此時光電耦合管控制氣閥工作回路斷開,氣閥打開。氣泵、氣閥的控制回路輸入電壓最大為5V,最小為0V,回路電阻R1為200Q,最大工作電流為25mA,對單片機實驗系統(tǒng)的電流要求很小,電路的設計是合理的。氣袖壓力測量電路氣袖壓力直接由氣體壓力傳感器測量得到,實驗系統(tǒng)采用的氣體壓力傳感器型號為MPX5050DP,OUT1為傳感器信號輸出,同時作為脈搏波提取電路的輸入,如圖3.5MPX5050DP元件參數(shù)為:1、工作電壓:5V(4.75~5.25V);2、工作電流:7.0mA,最大10mA;3、工作溫度:0~85C;4、測量范圍:0-50kPa(1kPa=7.5Hg,0~375mmHg);5、輸出電壓范圍:0.2~4.7V;6、最小偏移量(工作電壓5V):0.2V(0.088~0.313V);■PX5O50iDP圖3.5壓力傳感器電路在定電壓5V的驅動下,此壓力傳感器的靈敏度為12mV/mmHg,其壓力變化與電壓輸出轉移函數(shù)為:Vout=Vs*(0.018*P+0.04)±ERROR (3.1)Vout代表壓力傳感器的電壓輸出,單位為V;Vs為給定的定電壓,P代表氣體壓力,單位為kPa;ERROR為誤差值,單位為V。壓力傳感器的線性測量范圍為0?50kPa,相當于0~375mmHg的壓力,而實驗系統(tǒng)中氣袖壓力范圍為0~180mmHg;輸出電壓為0.2~4.7V,單片機A/D轉換最大電壓為5V,傳感器輸出不需要接放大電路。因此MPX5050DP適合用作血壓測量系統(tǒng)的壓力傳感器。
脈搏波提取電路根據脈搏波信號提取的原理,只要對氣袖壓力進行信號調理即可得到需要的脈搏波信號,由于脈搏的頻率約為1Hz,氣袖內壓力下降頻率約為0.04Hz,因此要獲得脈搏波信號,調理電路需要對原始信號進行濾波,高通截止頻率約為 1Hzo每個人脈搏波振蕩幅度略有不同,一般而言為 1~3mmHg壓力變化,轉換為電信號為12?36mV,因此在進行A/D轉換之前必須對其進行放大。脈搏波提取電路如圖3.6所示,采用Multisim軟件交流分析可知,其截止頻率約為1Hz,放大倍數(shù)約為21(R3/R4+1),能滿足脈搏波信號提取的要求,如圖3.7■ GNDJ6JH]? OUT(_C3INVCCHDR1X4I山與IACAji.i]vslsFgqur力”(Ilr)FfMUrribtJlr.i圖3.7脈搏波提取電路交流分析3.2.4電源及整流電路實驗箱輸入工頻電壓實驗箱輸入工頻電壓220V經變壓器輸出兩路6V電壓,經整流后作為氣閥、氣泵的驅動電源,如圖3.8V14J5囪HDR1X3圖3.8實驗電源及整流電路氣泵氣閥的元件型號及參數(shù)分別為:1、氣泵:KPM27A (生產公司:KOGEELEC.CO)工作電壓:DC6V工作電流:小于430mA2、氣閥:KOGESD0503工作電壓:DC3.5V~6V電源整流電路輸出約為5.4V,氣泵氣閥均能正常工作。實驗箱接口標準化由于實驗室建設需要,必須標準化實驗箱與單片機的接口,不再使用原實驗箱面板上復雜的接線電路,在實驗箱面板上加工并安裝標準9針接口,內部電路引線連接方式如圖3.9,管腳定義見表3.1。
表3.1標準接口定義DB9引腳號信號特性信號類型隹T號方向(對實驗箱而百)1氣象控制數(shù)字量輸入2氣閥控制數(shù)字量輸入3氣袖壓力輸出模擬量輸出4脈搏波壓力輸出模擬量輸出5GND接地-95V電源-本章小結了詳細的分析,完成了血壓測量實驗箱與S12單片機實驗系統(tǒng)接口的標準化本章介紹了人體血壓測量系統(tǒng)的硬件組成,對硬件電路的每個模塊的電路結構進行本章介紹了人體血壓測量系統(tǒng)的硬件組成,對硬件電路的每個模塊的電路結構進行4軟件設計人體血壓測量的軟件設計包括單片機軟件設計和上位機軟件設計兩個部分, 單片機軟件完成血壓測量過程的控制和血壓值的計算,并將測量得到的壓力數(shù)據發(fā)送至上位機。上位機軟件將接收的壓力數(shù)據存儲下來,進行數(shù)據處理和血壓測量算法的實現(xiàn),計算血壓值。單片機軟件設計單片機軟件采用模塊化設計方法,將血壓測量系統(tǒng)中使用到的每個單片機硬件模塊獨立出來,分別編寫子函數(shù),在控制主程序中完成各個模塊的協(xié)調工作,完成血壓測量進程的控制和人體血壓值的計算。采用模塊化設計方法,增強了軟件的可讀性,代碼的修改和維護相對簡單,有利于實驗的設計,只要給出每個函數(shù)模塊的接口參數(shù),學生可以很方便地調用已經模塊化的代碼,而集中精力放在血壓值計算上面。軟件流程單片機血壓測量的基本過程為:初始化系統(tǒng)硬件(包括AD初始化,LED顯示初始化,定時器中斷初始化等),關電磁閥(電磁閥為常開)、開氣泵,氣袖充氣;當壓力達到一定值時,關氣泵;緩慢放氣(電磁閥仍關閉,自由漏氣) ,進行數(shù)據測量與保存;當氣壓降到一定值,開電磁閥放氣;完成數(shù)據處理,計算血壓值,進行顯示。單片機軟件要完成對上述血壓測量的控制和血壓值的計算, 在壓力數(shù)據測量時還要將測量數(shù)據發(fā)送至上位機軟件采用模塊化設計,在主程序中對每個功能模塊進行調用,主函數(shù)流程圖如圖4.1實用標準文案實用標準文案圖4.1圖4.1軟件流程精彩文檔Main()實用標準文案實用標準文案精彩文檔精彩文檔模塊設計單片機軟件模塊主要包括:A/D轉換模塊、定時器模塊、數(shù)碼管顯示模塊、壓力數(shù)據測量模塊、血壓值計算模塊及通信模塊等。1、A/D轉換模塊A/D轉換模塊硬件概述S12單片機內置了2個10位/8位的A/D模塊:ATD0和ATD1,通稱為模/數(shù)轉換器(ATD)0S12的ATD是逐次逼近型A/D轉換器,它內置多路器,轉換精度為2LSB,無需外部采樣保持電路。ATD模塊具有如下特性:8位/10位精度可選擇;8位數(shù)字量轉換時間為6us,10位數(shù)字量轉換時間為7us;具有采樣緩沖器,放大器;可編程采樣時間;數(shù)據可選擇左/右對齊方式和無符號/有符號數(shù)據方式;轉換結束標志和轉換結束中斷;外部觸發(fā)控制;模擬輸入的8個通道為復用方式,采用多通道掃描方式;模擬/數(shù)字輸入引腳復用;可選擇單次轉換模式或連續(xù)轉換模式
ATD模塊工作原理S12ATD工作時,CPU向該模塊發(fā)出啟動命令,然后進行采樣、 A/D轉換,最后將結果保存到相應的寄存器。ATD模塊組成原理框圖如圖4.2所示。ATD模塊由模擬量前端的8選1多路轉換開關,采樣緩沖器及放大器,逐次逼近式模擬量轉換、控制部分及轉換結果存儲等部分組成。每個A/D轉換都可通過9個相應的寄存器對其進行設置??倯驎r鐘時鐘分頻ATD時鐘總戲時鐘時鐘分頻ATD時鐘轉換完成中斷4 模塊和時序控制需存器轉換完成中斷4 模塊和時序控制需存器VRH因VRL國VDDAVSSAAN7/PAD7EAN6/PAD6EAN5/PAD5EAN4/PAD4EAN3/PAD3KAN2/PAD2EAN1/PAD1?VRH因VRL國VDDAVSSAAN7/PAD7EAN6/PAD6EAN5/PAD5EAN4/PAD4EAN3/PAD3KAN2/PAD2EAN1/PAD1?ANO/PADO因二二二二和模/數(shù)法換器采樣/保持比較器圖4.2ATD模塊的組成原理ATD寄存器說明ATD控制寄存器2——ATDCTL2ATDCTL2主要控制ATD的啟動、狀態(tài)標志及上電模式。該寄存器用于啟動 ATD、觸發(fā)及控制ATD中斷。對該寄存器進行寫操作時,將中斷當前的轉換過程。表4.1ATDCTL2讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Read/WriteADPUAFFCAWAIETRIGLEETRIGPETRIGEASCIEASCIF復位默認值:00000000BASCIF:ATD轉換序列轉換結束標志。只讀,ATD轉換完成時發(fā)生中斷,該位置1。ASCIE:ATD轉換序列轉換結束中斷使能控制位。用以控制ATD轉換結束后是否發(fā)生中斷,0表示禁止ATD中斷。ETRIGE:外部觸發(fā)使能控制位。該功能借助于引腳AN7,當AN7接收到外部觸發(fā)時,啟動A/D轉換,否則不進行轉換,0表示忽略外部觸發(fā),即A/D轉換不受外部觸發(fā)控制。ETRIGP、ETRIGLE:AN7外部觸發(fā)方式選擇位,本實驗中未使用到外部觸發(fā),不作說明。AWAI:等待狀態(tài)下ATD運行使能控制位。0表示當MCU進行等待狀態(tài),ATD繼續(xù)運行。AFFC:ATD標志快速清除使能控制位。A/D轉換結束標志的清除方式有兩種:自動消除和軟件清除。0表示ATD標志通過軟件方式解除,即在讀取結果寄存器之前讀取寄存器ATDSTAT1的值,1表示當A/D轉換結束后自動清除寄存器ATDSTAT1的CCFx位。ADPU:ATD使能控制位。相當于一個開關,用來啟動/禁止A/D轉換。1為啟動A/D轉換。ATD控制寄存器3——ATDCTL3ATDCTL3用于控制結果寄存器的映射,設置轉換序列長度,還可暫時凍結 ATD模塊,尤其是確定ATD在BDM狀態(tài)下的行為。寫該寄存器將中斷當前的轉換序列。表4.2ATDCTL3讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Read0S8CS4CS2CS1CFIFOFRZ1FRZ0Write-復位默認值:00000000BFRZ0、FRZ1:背景調試凍結控制位。在背景調試模式下,經常設一些斷點,程序運行到斷點便會停止,即為凍結。此時可控制A/D轉換是否進行。00為繼續(xù)轉換,01為保留,10為完成轉換后凍結,11為立刻凍結。FIFO:結果寄存器模式控制位。即A/D轉換結果是否映射到轉換序列。0表示結果寄存器沒有映射到轉換序列。S1C、S2C、S4C、S8C:轉換序列長度選擇位控制位。本實驗中轉換序列長度為1,設置為0001。ATD控制寄存器4——ATDCTL4ATDCTL4用于選擇時鐘,選擇采樣轉換時間及選擇 8位/10位轉換方式,對ATDCTL4進行寫操作將開始一個新的轉換,如果在轉換過程中對該寄存器進行寫操作,將使ATD轉換中斷,一直到對ATDCTL5進行寫操作為止。表4.3ATDCTL4讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Read/WriteSRES8SMP1SMP0PRS4PRS3PRS2PRS1PRS0復位默認值:00000000BPRS0、PRS1、PRS2、PRS3、PRS4:A/D轉換預分頻設置控制位。該位用于選擇分頻系數(shù),從而選擇相應的采樣頻率,總分頻系數(shù)為2*n+2,n為PRS4~PRS0代表的10進制數(shù)值。SMP0、SMP1:采樣時間選擇控制位。00、01、10、11分另I」對應2、4、8、16*A/D時鐘周期。ATD控制寄存器5——ATDCTL5表4.4ATDCTL5讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ReadDJMDSGNSCANMULT0CCCBCAWrite復位默認值:00000000BATDCTL5用于選擇轉換方式,選擇轉換通道,設置單/多通道轉換和單次/連續(xù)轉換模式及選擇對齊方式。寫寄存器ATDCTL5將會啟動一個新的轉換,如果寫該寄存器時ATD正在進行轉換,則轉換將被中止。CA、CB、CC:采樣通道選擇控制位。當MULT=0時,用來選擇采樣通道;當MULT=1時用來選擇開始轉換的起始通道。MULT:單/多通道A/D轉換選擇控制位。0為單通道選擇,無論用哪個通道進行A/D轉換,轉換結果都存放在ATDDR0中;1為多通道轉換。SCAN:單次/連續(xù)A/D轉換模式選擇控制位。0為單次A/D轉換模式。DSGN:轉換結果有無符號控制位。0為轉換結果無符號。DJM:轉換結果對齊方式控制位。0為左對齊,1為右對齊。ATD狀態(tài)寄存器0——ATDSTAT0ATDSTAT0反映當前的轉換通道、A/D轉換是否結束、寄存器是否被覆蓋以及是否有外部觸發(fā)事件發(fā)生。表4.5ATDSTAT0讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ReadSCF0ETORFFIFOR0CC2CC1CC0Write----------復位默認值:00000000BCC0、CC1、CC2:轉換計數(shù)器。指向一個將要轉換的通道,只讀。FIFO=0,CC0、CC1、CC2始終為0;FIFO=1,CC0、CC1、CC2用來循環(huán)計數(shù)。FIFOR:寄存器值覆蓋標志位。當前結果寄存器的值在讀出之前被寫入,CCFx(x=0~7)清零時,該位置位。ETORF:外部觸發(fā)覆蓋標志位。SCF:A/D轉換結束標志位。SCAN=0,為單次轉換模式,當轉換完成后置位;SCAN=1,連續(xù)轉換模式,第一次轉換完成后置位,當AFFC=0,向SCF中寫1,可將該位清零。ATD狀態(tài)寄存器1——ATDSTAT1ATDSTAT1反映轉換序列中相應轉換是否完成。Bit7~Bit0分別為CCF0~CCF7,只讀,1表示轉換結束。ATD結果寄存器——ATDDRxH和ATDDRxLATD模塊的結果寄存器是8個16位的寄存器。結果寄存器在普通模式下為只讀。各寄存器的高、低字節(jié)分別稱為ATDDRxH、ATDDRxL(其中,x=0~7對應通道0~7),每個寄存器給出一個通道的轉換結果。ATD輸入使能寄存器一一ATDDIENBit7~Bit0對應IEN7~IEN0。0表示相應的數(shù)字信號輸入禁止;1表示相應的數(shù)字信號輸入使能。(4)軟件編程A/D轉換模塊軟件編程主要包括A/D轉換初始化函數(shù)及A/D轉換值讀取函數(shù)。A/D轉換初始化voidATD_Init(void){
//ATDOInitATD0CTL3=0b00001000;ATD0CTL4=0b01100110;ATD0CTL5=0b10100000;連續(xù)A/D轉換模式,轉換結果無符號ATD0CTL2=0b11000000;CCFx位,啟動A/D轉換。//ATDIInit//持續(xù)轉換,序列轉換長度為//持續(xù)轉換,序列轉換長度為1〃分頻系數(shù)14,轉換精度10位//單通道A/D轉換,結果存放在ATD0DR0中;轉換結果右對齊//A/D轉換結束后自動清除寄存器ATD0STAT1的ATD1CTL4=0b01100110;ATD1CTL5=0b10100000;ATD1CTL2=0b11000000;A/D轉換值讀取函數(shù)unsignedintgetAD0(void){while(!ATD0STAT0_SCF); //等待轉換完成returnATD0DR0;}unsignedintgetAD1(void){while(!ATD1STAT0_SCF);returnATD1DR0;}2、定時器模塊(1)定時器模塊概述S12系統(tǒng)MCU的定時器模塊在HC12的標準定時器模塊(StandardTimerModule,TIM)基礎上增加了一些功能,加強了原來的輸入捕捉及脈沖累加器的一些功能,擴大了應用范圍,因此S12的定時器模塊稱為增強型定時器模塊(EnhancedCaptureTimerModule,ECT)。S12增強型定時器模塊ECT具有如下特點:4個具有16位緩沖寄存器的輸入捕捉通道;4個8位脈沖累加器可以通過級聯(lián)形成2個16位脈沖累加器;1個具有4位預分頻器的16位遞減計數(shù)器;4個可選的延遲計數(shù)器用來增強輸入抗干擾能力(2)定時器工作原理本實驗系統(tǒng)中A/D轉換結果的讀取采用查詢方式,采樣間隔(采樣頻率)由定時器決定,本軟件設計中采用ECT中1個具有4位預分頻器的16位遞減計數(shù)器(模數(shù)遞減計數(shù)器)來定時,定時頻率為100Hz。模數(shù)遞減計數(shù)器(MDC)是S12微控制器ECT特有的。ECT既可以作為一個時基定時產生中斷,也可以用來產生控制信號。MDC是一個遞減16位計數(shù)器,其外圍配備了常寄存器MCCNT和預分頻器,它們分別為MDC提供定時常數(shù)和時鐘信號。當MCCTL中的MCEN=0時,MDC被復位成$FFFF,以避免在計數(shù)啟動的初期置位中斷標志。MCEN置1,MDC啟動并從當前值開始對預分頻器輸出的時鐘進行遞減計數(shù),分頻系數(shù)為1、4、8、16可選,具體由MCCTL寄存器中的MCPR1和PCPR0確定。(3)定時器寄存器16位模數(shù)計數(shù)器控制寄存器一一MCCTL表4.6MCCTL讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ReadMCZIMODMCRDMCL00MCENMCPR1MCPR0WriteICLATFLMC復位默認值:00000000BMCZI:模數(shù)計數(shù)器向下溢出中斷使能位。0為中斷禁止,1為中斷使能。MODMC:模數(shù)方式使能位。0為單次計數(shù)方式,計數(shù)器從設定值遞減到0后停止;1為循環(huán)計數(shù)方式,當計數(shù)器遞減回0后,加載最新設定值,并開始新一輪計數(shù)。RDMCL:模數(shù)讀取選擇位。0為返回模數(shù)計數(shù)器的當前值,1為返回重新加載所用的常數(shù)。ICLAT:捕捉寄存器強制轉移控制位。FLMC:模數(shù)計數(shù)器強制加載控制位。該位只在模數(shù)計數(shù)器使(MCEN=1)時有效。0為無效,1為將模數(shù)寄存器的值加載到模數(shù)計數(shù)器,同時復位模數(shù)計數(shù)器的定時器。MCEN:模數(shù)遞減計數(shù)器使能位。當MCEN=0時,計數(shù)器被預置為$FFFF,以避免在計數(shù)器啟動的初期出現(xiàn)中斷標志。0表示模數(shù)計數(shù)器禁止,1為模數(shù)計數(shù)器使能。MCPR1、MCPR0:模數(shù)計數(shù)器定時器分頻常數(shù)設定位。00、01、10、11分別對應1、4、8、16分頻常數(shù)。16位模數(shù)計數(shù)器標志寄存器一一MCFLG表4.7MCFLG讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ReadMCZF000POLF3POLF2POLF1POLF0Write-------復位默認值:00000000BMCZF:模數(shù)計數(shù)器溢出中斷標志。遞減回0時置位,向該位寫1將清除該標志,寫0無效。POLF3~POLF0:輸入首次捕捉極性標志。只讀,寫操作無效,它們可選擇引發(fā)第一個捕捉動作的邊沿性的極性。0為下降沿,1為上升沿。16位模數(shù)遞減計數(shù)器寄存器一一MCCNT表4.8MCCNTMCCNT(H)Read/WriteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8MCCNT(L)Read/WriteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0復位默認值:0000000000000000B對寄存器MCCNT應按字訪問,分別對高位、低位字節(jié)的訪問可能會得到不同的結果。如果寄存器MCCNT中的RDMCL清零,對寄存器MCCNT的讀操作將返回計數(shù)器的當前值;如果RDMCL置位,則將返回每次重新加載所用的常數(shù)。
MODMC=1時,為允許模數(shù)方式,對MCCNT進行寫操作將更新此寄存器的值,但計數(shù)器不會立即更新,必須等到計數(shù)器回0后重新加載。MODMC=0時,為非允許模數(shù)方式,寫寄存器MCCNT將對定時器進行清零,并用新值更新計數(shù)器,然后開始一次新的遞減計數(shù),減到 0時停止。(4)定時器軟件編程定時器軟件主要包括定時器的初始化及定時器中斷程序。定時器初始化模數(shù)計數(shù)器的初始化在系統(tǒng)初始化函數(shù)SYS_Init()中實現(xiàn)。voidSYS_Init(void){…MCCTL=0xc7; //定時器啟動MCCNT=5000; //定時1ms,100Hz}MCCTL=0xc7:定時器中斷使能,采用循環(huán)計數(shù)方式,模數(shù)計數(shù)器使能,16分頻常數(shù)。MCCNT=5000:由S12時鐘頻率為16MHz,定時頻率為:100Hz時鐘頻率 16000000100Hz2*分頻系數(shù)*MCCNT2*16*5000定時器中斷函數(shù)
建立定時器中斷,對中斷次數(shù)進行計數(shù),計數(shù)值定義為全局變量mseco#pragmaCODE_SEGNON_BANKEDmsecoDisablelnterrupts;msec++;MCFLG_MCZF=1;EnableInterrupts;}//開中斷Disablelnterrupts;msec++;MCFLG_MCZF=1;EnableInterrupts;}//開中斷//累加計數(shù)//清除中斷溢出標志位//開中斷#pragmaCODE_SEGDEFAULT3、數(shù)碼管顯示模塊(1)模塊概述數(shù)碼管顯示模塊主要完成血壓測量過程中氣袖內壓力的實時顯示,血壓測量完成時對血壓值進行顯示。LED數(shù)碼管顯示部分由兩個8段數(shù)碼管和2個1*8排針組成,原理圖如圖4.3圖4.3 數(shù)碼管顯示電路(2)軟件編程本實驗系統(tǒng)采用A口作為LED編碼,B口作為LED位選控制。4個數(shù)碼管為一組,實現(xiàn)對壓力值(4位整數(shù))的實時顯示。constunsignedcharsgcode[20]={0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,//編碼//編碼//數(shù)碼管緩存區(qū)unsignedchardpbuf[4];voiddisled(intnum){chari;dpbuf[3]=(char)(num/1000); //千位TOC\o"1-5"\h\zdpbuf[2]=(char)((num-dpbuf[3]*1000)/100); //百位dpbuf[1]=(char)((num-dpbuf[3]*1000-dpbuf[2]*100)/10); //十位dpbuf[0]=(char)(num-dpbuf[3]*1000-dpbuf[2]*100-dpbuf[1]*10); //個位for(i=0;i<4;i++){switch(i){case0:PORTB=0b00000001;break;case1:PORTB=0b00000010;break;case2:PORTB=0b00000100;break;case3:PORTB=0b00001000;break;}PORTA=sgcode[dpbuf[i]]; //發(fā)送編碼到LED}}4、通信模塊(1)通信模塊概述S12串行通信模塊包括多個獨立的串行子系統(tǒng),例如同步串行通信SPI、異步串行通信SCI和CAN總線通信等,本血壓測量系統(tǒng)中采用熟悉的異步串行通信SCI來完成單片機向上位機數(shù)據的發(fā)送過程。SCI串行通信接口是一種異步串行通信系統(tǒng),它是計算機最常用的通信接口之一。S12的SCI是全雙工異步串行通信接口,通常用于微控制器與其他計算機、調制解調器等設備之間的通信。在S12微控制器中集成了2個SCI串行通信模塊,它內置了獨立的波特率發(fā)生電路和SCI收發(fā)器。(2)SCI寄存器波特率寄存器——SCIBDH、SCIBDLSCIBDH和SCIBDL構成一個16位的波特率控制寄存器。SCIBDH的低5位與SCIBDL全8位構成一個13位的波特率常數(shù),SCI波特率的計算公式如下:波特率二SCI模式時鐘/(16*波特率常數(shù)) (4.1)SCI控制寄存器1——SCICR1SCI的工作方式主要由該寄存器設置,可選擇工作模式、設置幀格式、喚醒、空閑檢測類型以及奇偶校驗等。表4.9SCICR1讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Read/WriLOOPSSCISWARSRCMWAKEILTPEPTteI復位默認值:00000000BLOOPS:循環(huán)選擇位。0為正常工作使能,1為循環(huán)工作使能SCISWAI:SCI等待模式停止位。0為等待模式使能,1為禁止RSRC:接收器信號源位。當LOOP=1時,RSRC決定接收器移位寄存器的信號源。M:數(shù)據幀格式位。0表示1個起始位,8個數(shù)據位,1個停止位;1表示1個起始位,9個數(shù)據位,1個停止位。WAKE:喚醒條件位。0表示由空閑線喚醒,1表示第9位數(shù)據位喚醒。ILT:空閑線類型。PE:奇偶校驗使能位。0為奇偶校驗禁止,1為奇偶校驗使能。PT:奇偶校驗類型位。0為偶校驗,1為奇校驗。SCI控制寄存器2——SCICR2該寄存器主要完成收發(fā)中斷的控制、收發(fā)的允許等操作。本血壓測量系統(tǒng)只發(fā)送數(shù)據,不用接收數(shù)據,僅對發(fā)送相關位進行介紹。表4.10SCICR2讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Read/WriteTIETCIERIEILIETERERWUSBK復位默認值:00000000BTIE:發(fā)送中斷使能位,1為中斷請求使能
TCIE:發(fā)送結束中斷使能位,1為TC中斷請求使能。TE、RE:發(fā)送、接U^允許位,1為發(fā)送、接收使能。SCI狀態(tài)寄存器1——SCISR1該寄存器可顯示SCI的運行情況,例如收發(fā)數(shù)據是否已空/滿,是否出錯等表4.11SCISR1讀寫B(tài)it7Bit6Bit5Bit4Bit3Bit2Bit1Bit0ReadTDRETCRDRFIDLEORNFFEPF復位默認值:00000000BTDRE:發(fā)送數(shù)據寄存器空標志位。0表示無字節(jié)傳送到發(fā)送移位寄存器,1表示數(shù)據已傳送到發(fā)送移位寄存器,發(fā)送數(shù)據寄存器為空。TC:發(fā)送結束標志,0為正在發(fā)送,1為無發(fā)送。SCI數(shù)據寄存器——SCIDRLSCIDRL中為8位接收數(shù)據位或發(fā)送數(shù)據位。(3)軟件編程軟件編程主要包括串行通信初始化及數(shù)據發(fā)送兩個部分。串行通信初始化voidSci_Init(){SCI0BDL=(unsignedchar)((16000000UL/*OSCfreq*//2)/9600/*baudrate*//16/*factor*/); //波特率為9600SCI0CR1=0;〃正常工作模式,無奇偶校驗SCI0CR1=0;〃正常工作模式,無奇偶校驗SCI0CR2=0X0C; 〃發(fā)送使能,發(fā)送中斷禁止,采用查詢方式發(fā)送}串口發(fā)送數(shù)據voidSciTx(unsignedchartext){while(!(SCI0SR1&0x80)); //等待上一次發(fā)送完成SCI0DRH=0;SCI0DRL=text; //發(fā)送數(shù)據送入發(fā)送數(shù)據寄存器}5、氣袖充氣模塊該模塊完成對氣袖充氣過程的控制,關閉氣閥,開氣泵,對氣袖進行充氣,使氣袖壓力上升,對氣袖壓力進行實時檢測并顯示,當氣袖壓力大于給定閥值時,此時氣袖壓力阻斷上臂動脈血液流動,關閉氣泵。軟件流程如圖4.4,源碼及分析見附錄A,函數(shù)原型為voidPump(void)。Pump()No 4顯示氣袖壓力Pump()No 4顯示氣袖壓力圖4.4氣袖充氣模塊軟件流程Measure()(a)壓力數(shù)據測量N0Measure()(a)壓力數(shù)據測量N06、壓力數(shù)據測量模塊根據血壓測量原理,該模塊中氣泵、氣閥關閉,氣袖緩慢自然放氣,對壓力數(shù)據進行存儲,供血壓值計算使用,并將壓力數(shù)據發(fā)送至上位機。軟件流程如圖 4.5,源碼及分析詳見附錄A,函數(shù)原型為voidMeasure(void)。Calculate。去脈搏波數(shù)據初始
噪聲及信號偏置求脈搏波最大峰值(動脈平均壓)將小于平均壓1/4的
壓力數(shù)據視為噪聲,
去除脈搏波上升段達到平均壓一定比例Ks的壓力對應的氣袖壓力為收縮壓脈搏波下降段達到平均壓一定比例Kd的壓力對應的氣袖壓力為舒張壓(b)血壓值計算圖4.5壓力數(shù)據測量與血壓值計算軟件流程7、血壓值計算模塊血壓值的計算采用幅值系數(shù)法,對測量的壓力數(shù)據進行處理,計算出收縮壓和舒張壓。軟件流程如圖4.5,源碼及分析詳見附錄A,函數(shù)原型為voidCalculate(void)。4.2上位機軟件設計上位機軟件主要進行壓力數(shù)據的接收,壓力數(shù)據的圖形顯示,壓力值的計算等。壓力數(shù)據的接收由串口通信軟件完成,數(shù)據處理軟件由 LabVIEW編寫,完成壓力數(shù)據的圖形顯示,并進行壓力值的計算等。用口通信串口通信采用軟件串口大師(ComMaster)實現(xiàn),該軟件的串口調試功能強大,能自動檢測用口,可以設置串口通信各種參數(shù),最大的特點是可以將接收到的數(shù)據文件保存為文本格式,便于對測量的數(shù)據進行數(shù)據處理。軟件的運行界面如圖 4.6所示。
圖4.6串口通信軟件界面進行血壓數(shù)據采集時,先設置好用口參數(shù),將“ 16進制”復選框勾上,打開用口,即可接收數(shù)據。接收完成后,點擊“選擇文件”按扭,輸入文件名或打開已有文件,再點擊“保存數(shù)據”就可以將接收的數(shù)據保存為文本文件。軟件運行時設置界面如圖 4.7&聿LI太MKglaNtcrU.jForiini>VSr用口利式Cfiitar) iWftnitar)用口及流CFiltsr)|美于蹴Rfe(K*]|.其用器匚停工星剪珪端顯反JwJ6H制三新兄F|造用燈廠|看神咫[Ha£11*串口I.其用器匚停工星剪珪端顯反JwJ6H制三新兄F|造用燈廠|看神咫[Ha£11*串口I源眸同iFi-71KffiCj:I': ▼171的血 ▼]后止位fl .blLZtdBZ4bLi心現(xiàn)qI牛IIT8E M 川 Tut WJ Ei Qi7££Tc b 7c 15 7b bl ?46fKifid % M Eh 上口 B161cd6D bE 5E lb 5i W Si55d55 ba. '53 It 52 bb 5]lcM4?154&eO4ke940婦岫43hS42b-Q4]3dtc3dlhdh%:3bIb^l3i3S鼠熊d9SM翡HM31b931E8妙30bfl30史d1j92cli&2cc32ccl2cb?29HZQb電理犯鈿化的151粕范久?;僦『正二|:-恭配功5047*:指34受注望ji'5b5D3f39332fJb26alyth5nr:.□二,nabd59M4fIf4B$,3£占3g小3D=6"f123b=B28如tdLb40TMkb74c4M小C6a&ci即E47445(flT3ELEh3gIT足3310,"15c£處15h27FJZMM修工Id氣以5IH%%bJcfvqRMW國tllhutc二一吧內福m把科"出!£普通*£<]曾一廿L4bl旭h萬聒弓可4Qf£3-Wb--1-1(二rl『.a1a■二v-r-rtH#!皿Ir優(yōu)總判■用球g|lUUJf!S唯春芟牛點送交件慟。fili5?1flftddJIEKJL-US^iCluXLLU無信JIEKJL-US^iCluXLLU無信*i*■■■■■■■■華增相出收滬皆為堂如蹊IessssHeJ運行章助退出崖序圖4.7串口通信運行界面數(shù)據處理1、LabVIEW軟件介紹血壓數(shù)據的處理由工程軟件LabVIEW(LaboratoryVirtualInstrumentEngineering)設計完成。LabVIEW是一種圖形化的編程語言,它廣泛地被工業(yè)界、學術界和研究實驗室所接受,視為一個標準的數(shù)據采集和儀器控制軟件。 LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據采集卡通訊的全部功能。它還內置了便于應用TCP/IP、ActiveX等軟件標準的庫函數(shù)。這是一個功能強大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣。LabVIEW編程語言是一種圖形化的程序語言,又稱為“G”語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖。它盡可能利用了技術人員、科學家、
工程師所熟悉的術語、圖標和概念,因此,LabVIEW是一個面向最終用戶的工具。它可以增強構建科學和工程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據采集系統(tǒng)的便捷途徑。使用它進行原理研究、設計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。利用LabVIEW,可產生獨立運行的可執(zhí)行文件,它是一個真正的32位編譯器。像許多重要的軟件一樣,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多種版本,本次畢業(yè)設計采用的是LabVIEW8.2。2、LabVIEW數(shù)據處理(1)數(shù)據格式轉換串口通信軟件將接收完成的數(shù)據保存為16進制的文本字符(ASCII碼)格式,為了進行數(shù)據處理,必須轉換成為計算機可識別的十進制數(shù)據,數(shù)據格式轉換程序框圖如圖4.8所小。尸II■11/11LI*」LidI口U口11口1ML」IIL」I」H口■」LIULJU*[[R .卜gLIEJUEJLILIUEJLIULIULJ口LIUUU口ULI口UULIUEJLJU口口片子眄逞;K[i,-T口片子眄逞;K[i,-Tncz71rrrT5FLmTTnKhTzi□nrrnTmi1ei圖4.8數(shù)據格式轉換程序框圖
由于每個壓力數(shù)據保存為16進制文本時占用3個字符串長度,即2個數(shù)據長度和1個空格符,因此每個文本文件中保存的壓力數(shù)據個數(shù)為字符總長度的 1/3。應用LabVIEW提供的for循環(huán)結構,可對每3個字符長度進行轉換,轉換完成后的數(shù)據可存入新的文本文件,同時保存為數(shù)據結構供下一步的數(shù)據處理使用。(2)壓力數(shù)據圖形顯示由4.2.2中的壓力數(shù)據測量模塊編程可知,上位機接收的壓力數(shù)據中包含氣袖壓力數(shù)據和脈搏波數(shù)據,因此進行圖形顯示前需要對數(shù)據進行分離,分別提取出氣袖壓力數(shù)據和脈搏波數(shù)據,壓力數(shù)據圖形顯示程序框圖如4.9所示??诳谪慰陂T口口口口門口rri"i匚 :口?1匚TrnTinrr口uu~??kjTiRirnninn~~"t~rii-n-nnnrrmr'inrinTinT圖4.9壓力數(shù)據圖形顯示框圖圖4.10氣袖壓力圖4.11脈搏波由于氣袖壓力數(shù)據和脈搏波數(shù)據是以間隔順序接收的,因此可以直接對經過格式轉換的數(shù)據進行處理,應用LabVIEW的for循環(huán)結構,對壓力數(shù)據數(shù)組索引進行判別,偶數(shù)索引對應的數(shù)據為氣袖壓力數(shù)據,奇數(shù)索引對應的數(shù)據為脈搏波數(shù)據, LabVIEW循環(huán)結構中的移位寄存器可以方便地對壓力數(shù)據進行連續(xù)存儲。數(shù)據分離之后,可以直接將數(shù)據進行圖形顯示,同時可以將數(shù)據通過添加局部變量送至下一層供血壓值計算使用,實際程序運行結果如圖 4.10、4.11所示。(3)人體血壓值計算人體血壓值的計算方法有多種,單片機的血壓測量是基于示波法,示波法血壓值計算主要有幅值系數(shù)法和拐點法。求脈搏波振蕩峰值上位機接收到的數(shù)據量較大,而求人體血壓值只需要求脈搏波的包絡曲線,為此必須先求脈搏波的振蕩峰值及其對應的氣袖壓力,程序框圖如4.12所示圖4.12求脈搏波波峰波谷程序框圖對脈搏波的連續(xù)3個數(shù)據進行比較,判別第2個數(shù)據是否為最大值或最小值(即判
別當前數(shù)據中是否含有脈搏波振蕩的波峰或波谷),如果不是則從數(shù)組中刪除該數(shù)據,同時從氣袖壓力數(shù)組中刪除對應的壓力數(shù)據。經過處理的數(shù)據再次進行圖形顯示,如圖4.13、4.14所示,數(shù)據量大大減少。圖4.13氣袖壓力曲線曲線0180-160-190--IO002550751QO125150175200225必Z7S30032535037540042S450C5時間1曲線0180-160-190--IO002550751QO125150175200225必Z7S30032535037540042S450C5時間1ic-120-130-140150-200-210-220-230-圖4.14脈搏波振蕩峰值曲線脈搏波去干擾及偏置由圖4.11及圖4.14中可知脈搏波壓力的中心未在零點上,而且在氣袖壓力開始下降的初期,脈搏波信號存在很大的干擾,為無效數(shù)據,因此必須對脈搏波信號去干擾及偏置,程序框圖如圖4.15圖4.15脈搏波去干擾及偏置振蕩波2為脈搏波的振蕩峰值數(shù)據,即框圖4.12中的脈搏波數(shù)據,脈搏波數(shù)據的偏置為186.4,該值是在當氣袖內壓力包為零時測得的脈搏波提取電路輸出壓力數(shù)據的平均值,將壓力數(shù)據減去該值就可以去偏置。圖4.16去干擾及偏置后的脈搏波去干擾是直接將脈搏波壓力的前20個值置為0,由于此部分對應的氣袖壓力大于160mmHg,即遠遠大于人體的收縮壓,不會對血壓值的計算造成影響,因此作這樣的簡單處理是可行的,經過處理的脈搏波信號如圖 4.16。計算血壓值血壓值的計算采用幅值系數(shù)法,找出脈搏波的最大峰值,在脈搏波包絡峰值的上升階段,第一個大于或等于最大峰值一定比例(Ks)的幅值所對應的氣袖壓力為收縮壓;在脈搏波包絡峰值的下降階段,第一個小于或等于最大峰值一定比例( ()的幅值所對應的氣袖壓力為舒張壓。本實驗系統(tǒng)中, Ks0.58,Kd0.77。血壓值計算的程序框圖如圖4.17所示。血壓值計算結果為,收縮壓127mmHg,舒張壓82mmHg。測量結果在正常人體血壓平均值附近,結果較理想,人體血壓測量軟件面板如圖 4.18。圖4.17血壓值計算人體血Jk測量也嘀蘇.小宙回1,舒張JE/mraHg圖4.18人體血壓測量軟件面板本章小結本章主要介紹了血壓測量系統(tǒng)的軟件設計方法,詳細分析了單片機軟件的編寫過程,單片機軟件采用模塊化設計方法,對各模塊的工作原理及算法作了介紹?;贚abVIEW的上位機數(shù)據處理軟件給出了程序框圖及程序編寫說明, 詳細的軟件設計源代碼可以參考附錄Ao5實驗設計本課題是為單片機系列實驗之一壓力測量與控制實驗開發(fā)的一個實驗平臺,供學生學習Freescale單片機的原理及使用方法,本章主要介紹血壓測量系統(tǒng)學生實驗的設計思想及設計方法。實驗目的通過該實驗,應當使學生熟練掌握Freescale單片機的組成原理及編程方法,掌握壓力傳感器的使用;了解人體血壓的測量過程,了解壓力信號的提??;掌握壓力測量方法,而關鍵是使學生掌握單片機的編程方法。實驗內容根據實驗目的,制定相應的實驗內容,由于人體血壓測量系統(tǒng)結構復雜,學生在有限的時間內不可能完成繁多的實驗任務,因此只要求學生按照已經給出的算法,編寫血壓測量控制過程的軟件程序和血壓值計算程序,而血壓測量過程需要用到的通用子模塊均提供詳細的函數(shù)接口,供學生方使使用。本實驗的實驗內容為,學習人體血壓的測量原理和血壓測量系統(tǒng)的組成結構,根據提供的子函數(shù)庫及血壓測量算法,編寫一個實驗程序,完成人體血壓的測量與計算,數(shù)據處理完成后,顯示最終結果。實驗要求本實驗的實驗要求,就是完成人體血壓的測量與顯示,測量結果要在合理的范圍之內,越接近真實值越好。實驗說明作為學生實驗,實驗說明部分將給出實驗步驟,實驗箱的組成及實驗箱與單片機的接口方法等,同時實驗說明將提供通用函數(shù)的接口及使用注意事項,給出人體血壓測量控制算法及血壓值計算的算法等。本章小結本章主要介紹了學生實驗的設計思想和設計方法,為學生實驗指導書的編寫提供一個參考,詳細的實驗指導書見附錄Bo結論通過本次畢業(yè)設計,完成了人體血壓測量系統(tǒng)實驗箱的改造,統(tǒng)一了單片機系列實驗的接口,完成了S12單片機系統(tǒng)對血壓測量的控制與計算軟件的設計,用LabVIEW編寫了上位機數(shù)據處理軟件,對血壓數(shù)據進行了圖形顯示并計算出了人體的血壓值,最后對學生實驗進行了設計,基本完成了開題報告中所要求完成的內容。在整個設計過程中,我認真學習了CodeWarrior軟件、LabVIEW軟件,以及飛思卡爾MCS12DG128單片機的嵌入式開發(fā)系統(tǒng),查閱了大量期刊文獻,大大提高了自己的自主學習能力。自己親自實踐完成了單片機實驗電路的搭建,動手完成了實驗箱內部電路的改造焊接,增強了自己的動手能力。在軟件設計過程中遇到了一些困難,通過自己的思考和與老師同學的交流,最終解決了難題,學會了解決問題的方法。整個畢業(yè)設計對我個人的能力是一次非常全面的培養(yǎng)。致謝本次畢業(yè)設計是在我的指導老師張軍香老師、董韶鵬老師的指導下完成的,本次畢業(yè)設計能夠順利完成,與她們的悉心教導是分不開的。畢業(yè)設計的每個星期,兩位老師都會不斷對我上個星期的工作進行總結,對我的工作提出一些很有成效的建議,并能發(fā)現(xiàn)我畢業(yè)設計中存在的問題,幫我及時指正,使我的畢業(yè)設計更加高效地完成,在此我對張軍香老師和董韶鵬老師表示誠摯的感謝和由衷的敬意。本次畢業(yè)設計是在北航2號樓的教學實驗中心完成的,感謝實驗室的老師為我的畢業(yè)設計提供了良好的學習環(huán)境,感謝各位老師在畢業(yè)設計過程中的良好監(jiān)督。止匕外,我還要感謝實驗室許多同學在整個過程中對我畢業(yè)設計工作的幫助和配合。參考文獻[1]王威.HCS12微控制器原理及應用[M].北京:北京航空航天大學出版社,2007[2]王保華.生物醫(yī)學測量與儀器[M].上海:復旦大學出版社.2002[3]聶能,謝正祥.生物醫(yī)學信號數(shù)字處理技術及應用[M].北京:科學出版社.2005[4]焦學軍、房興業(yè).利用脈搏波特征參數(shù)連續(xù)測量血壓的方法研究 [J].生物醫(yī)學工程學雜志.2002.19(2):217-220[5]俞夢孫.21世紀醫(yī)學電子儀器[A].第十一屆中國國際醫(yī)用儀器設備展覽會暨技術交流會[C].2002,9:9-11[6]王博亮,劉迎春,劉安之,劉希順.醫(yī)用傳感器及其接口技術[M].北京:國防工業(yè)出版社.1998□樊尚春,周浩敏.信號與測試技術[M].北京:北京航空航天大學,2002[8]張桂平.電子血壓測量原理及存在的問題[J].醫(yī)療保健器具,2005[9]鄧親愷.現(xiàn)代醫(yī)學儀器設計原理[M].北京:科學出版社,2004[10]黃建新,劉懷.基于示波法的無創(chuàng)血壓監(jiān)護儀的設計[J].南京師范大學學報(工程技術版),2005,5(1):25-27[11]周月英,吳延慶.血壓研究的新進展[J].江西醫(yī)學院學報,2004,44(6):130-131附錄附錄A單片機血壓測量C語言程序#include<hidef.h>#include<mc9s12dg128.h>#include"math.h"#pragmaLINK_INFODERIVATIVE"mc9s12dg128b"voidSYS_Init(void);voidATD_Init(void);voidSci_Init(void);voidSciTx(unsignedchartext
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學心理學模擬練習題(附答案)
- 臨床醫(yī)學概論(內科)試題庫與參考答案
- 昭通買房合同范例
- 2025年銀川貨運從業(yè)資格證題庫答案
- 2025年防城港貨運資格證試題及答案
- 電梯監(jiān)控安裝勞務合同范例
- 油田開發(fā)征地合同范例
- 小型超市出租合同范例
- 電力維修家政服務合同范例
- 建造水池合同范例
- 年產5億粒藿香正氣膠囊車間工藝設計.文檔
- 第17課《昆明的雨》課件(共35張)
- 多發(fā)性骨折的護理
- 2023-2024學年北京市海淀區(qū)七年級(上)期末數(shù)學試卷(含解析)
- 五官科醫(yī)院感染管理
- 規(guī)劃設計方案審批全流程
- 2024年考研政治試題及詳細解析
- 2024年03月遼寧建筑職業(yè)學院招考聘用17人筆試歷年(2016-2023年)真題薈萃帶答案解析
- 酒店強電主管述職報告
- 2023版道德與法治教案教學設計專題7 第1講 社會主義法律的特征和運行
- 虛擬電廠總體規(guī)劃建設方案
評論
0/150
提交評論