0 引 言
隨著社會(huì)的發(fā)展,人們的醫(yī)療保健意識(shí)越來越強(qiáng),所以醫(yī)生的培訓(xùn)也就成為非常重要的環(huán)節(jié)。雖然測量血壓是一項(xiàng)較簡單的技術(shù),但若操作不規(guī)范,所測血壓數(shù)值與實(shí)際血壓相比也常出現(xiàn)誤差,不能客觀真實(shí)地反映病人的血壓情況。血壓測量作為學(xué)生的基本考核部分,以往都是通過直接的人體測量,但老師不知道在當(dāng)時(shí)情況下人體的血壓狀況,同時(shí)測量情況又受到外界環(huán)境的干擾,所以給考核造成一定的困難。該系統(tǒng)可以隨意設(shè)置血壓情況,使得測量情況更加豐富,以盡快提高醫(yī)生的血壓測量技術(shù)。該血壓模擬發(fā)生器是根據(jù)柯勞克氏技術(shù)(血壓測量時(shí)聽診器在動(dòng)脈上聽到的5個(gè)時(shí)相的聲音)以及現(xiàn)代醫(yī)學(xué)的相關(guān)規(guī)定,嚴(yán)格按照脈搏發(fā)生的規(guī)律。發(fā)出的聲音逼真、效果良好,可以在不同的心率下判斷血壓收縮壓和舒張壓等各項(xiàng)指標(biāo),可以用于醫(yī)療培訓(xùn)機(jī)構(gòu)的培訓(xùn)工具,使學(xué)員快速掌握血壓測量方法。該系統(tǒng)配合血壓手臂,壓力表,聽診器使用,具有廣闊的市場前景。
本文介紹的血壓模擬發(fā)生器是以凌陽16位單片機(jī)SPCE061A為控制核心,充分利用凌陽單片機(jī)所帶有的強(qiáng)大語音功能,以符合實(shí)際情況的順序播放柯勞克氏音,同時(shí)實(shí)現(xiàn)電磁閥跳動(dòng)模擬人體脈搏搏動(dòng)。可以設(shè)置相應(yīng)的收縮壓、舒張壓、聽診間隔,還帶有誤差校準(zhǔn)功能,誤差值不超過2 mmHg。
l 系統(tǒng)結(jié)構(gòu)和設(shè)計(jì)方案
系統(tǒng)主要包括凌陽16位單片機(jī)SPCE061A,傳感器輸入模塊,電磁閥驅(qū)動(dòng)模塊,語音播放模塊,液晶顯示模塊,鍵盤控制等幾個(gè)部分。本系統(tǒng)采用凌陽16位單片機(jī)SPCE061A作為主控制芯片,該芯片CPU時(shí)鐘O.32~9.152 MHz(2.6~3.6 V);內(nèi)置2 KB SRAM和32 KB FLASH;32位可編程的多功能I/O端口;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;可編程音頻處理;系統(tǒng)備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài))耗電僅為2μA;7通道10位電壓模/數(shù)轉(zhuǎn)換器;雙通道10位DAC方式的音頻輸入功能,只需要外接功放(SPY0030A)即可完成語音的播放,方便實(shí)現(xiàn)系統(tǒng)的語音功能;14個(gè)中斷源可來自定時(shí)器A/B時(shí)基,2個(gè)外部時(shí)鐘源輸入;具備觸鍵喚醒的功能。另外該單片機(jī)具有自己的集成開發(fā)環(huán)境,支持標(biāo)準(zhǔn)的C語言??梢詫?shí)現(xiàn)C語言與匯編語言的相互調(diào)用,并提供了語音播放的庫函數(shù),這樣很容易就完成語音的播放,為軟件開發(fā)提供了方便的條件。血壓模擬發(fā)生器總體系統(tǒng)設(shè)計(jì)方案如圖1所示。
2 系統(tǒng)硬件部分
該部分主要分為SPCE061A系統(tǒng)部分,電源管理模塊,電磁閥驅(qū)動(dòng),氣體壓力傳感器,語音輸出,液晶顯示,鍵盤設(shè)置。系統(tǒng)在單片機(jī)的控制下,由氣體壓力傳感器對(duì)壓力采集,并進(jìn)行A/D轉(zhuǎn)換后交給MCU,將測量結(jié)果與預(yù)設(shè)值進(jìn)行比較,播放脈搏跳動(dòng)聲音。同時(shí)電磁閥開始工作。系統(tǒng)硬件連接圖如圖2所示。
2.1 電源管理模塊
電源管理是任何電子產(chǎn)品都無法回避的問題,也是系統(tǒng)的核心部分,隨著能源成本的提升,降低功耗成為電子產(chǎn)品的競爭優(yōu)勢之一。以移動(dòng)性取勝的便攜式產(chǎn)品中以電池供電為主,降低能耗成為便攜式產(chǎn)品中電源管理急需解決的問題。系統(tǒng)電源部分采用MAX1705升降壓芯片和BQ2057充電管理芯片,MAX1705具有低功耗,高效、低噪聲的特點(diǎn),輸出電壓在2.5~5.5 V范圍內(nèi)。最大輸出電流850 mA,完全可以滿足大部分便攜式儀器的需要。同時(shí)還采用了美國TI公司生產(chǎn)的先進(jìn)鋰電池充電管理芯片BQ2057,它適合單節(jié)或雙節(jié)鋰離子電池的充電需要,BQ2057可以動(dòng)態(tài)補(bǔ)償鋰電池組的內(nèi)阻以減少充電時(shí)間,帶有可選的電池溫度監(jiān)測,利用電池組溫度傳感器連續(xù)檢測電池溫度,當(dāng)電池溫度超出設(shè)定范圍時(shí)BQ2057關(guān)閉對(duì)電池充電。內(nèi)部集成的恒壓恒流器帶有高/低邊電流感測和可編程充電電流,充電狀態(tài)識(shí)別可由輸出的LED指示燈或與主控器接口實(shí)現(xiàn),具有自動(dòng)重新充電、最小電流終止充電、低功耗睡眠等特性。利用該芯片設(shè)計(jì)的充電器外圍電路極其簡單,非常適合便攜式電子產(chǎn)品的緊湊設(shè)計(jì)需要。
2.2 氣體壓力傳感器
該模塊采用摩托羅拉公司的MPX5100系列氣體壓力傳感器,可以承受0~100 kPa的壓強(qiáng),輸出電壓在O.5~4.5 V的范圍內(nèi),可以滿足凌陽單片機(jī)I/O的電壓輸入范圍,通過凌陽單片機(jī)的A/D轉(zhuǎn)換采集氣體壓力傳感器電壓的變化,由于血壓計(jì)壓力表的量程范圍是0~300 mmHg,根據(jù)760 mmHg="101".3 kPa,得到300 mmHg="39".9868 kPa,并且壓力傳感器的輸入與輸出為線性關(guān)系,根據(jù)多次測量得到公式:
ADValue=K1Value*mmHgValue+offset*K2Value
其中:ADValue為電壓經(jīng)過AD轉(zhuǎn)換后的數(shù)字量;mmHgValue為壓力表上的刻度值;K1Value=1.8;K2Value=329.17;offset=0.2,offset為校準(zhǔn)系數(shù),通過調(diào)整offset可以使誤差控制在2 mmHg。
2.3 電磁閥驅(qū)動(dòng)電路
該部分主要是模擬人體脈搏跳動(dòng),為了更好地模擬血壓測量環(huán)境,帶來更加逼真的效果,采用的電磁閥靈敏度高、噪音小,其吸合電流為100 mA,釋放電流為12 mA,工作電壓為5 V,當(dāng)系統(tǒng)初始化以后電磁閥便開始根據(jù)設(shè)定的心率值工作。通過MCU控制其跳動(dòng)頻率,為了增大驅(qū)動(dòng)電流采用達(dá)林頓管,其放大倍數(shù)是兩個(gè)三極管放大倍數(shù)的乘積,達(dá)到小的基極電流控制大的集電極電流的目的,驅(qū)動(dòng)電磁閥工作,如圖3所示。
2.4 語音輸出模塊
凌陽SPCE061A單片機(jī)支持語音播放技術(shù)所要求的硬件和軟件的全部功能。硬件方面,SPCE061A有兩類D/A轉(zhuǎn)換通道,一類是直接采用數(shù)/模轉(zhuǎn)換的DAC方式,另一類是采用脈寬調(diào)制的PWM驅(qū)動(dòng)方式,其結(jié)構(gòu)是由兩個(gè)DAC通道或一個(gè)PWM驅(qū)動(dòng)通道構(gòu)成。兩類實(shí)現(xiàn)方式實(shí)質(zhì)都為數(shù)/模轉(zhuǎn)換,都是將數(shù)字信號(hào)轉(zhuǎn)換成模擬電流信號(hào)輸出。該設(shè)計(jì)的音頻輸出采用雙通道數(shù)/模轉(zhuǎn)換DAC方式,即數(shù)字信號(hào)通過10位DAC轉(zhuǎn)換成3 mA驅(qū)動(dòng)的模擬電流信號(hào)輸出,經(jīng)SPY0030A芯片信號(hào)放大后,由揚(yáng)聲器輸出。音頻電路圖如圖4所示。
2.5 液晶顯示模塊
系統(tǒng)采用的CMS-TG94DYSG-w小型液晶顯示模塊,該128×64點(diǎn)陣液晶顯示模塊具有20個(gè)引腳。價(jià)格低廉,數(shù)據(jù)可讀可寫,使用方便。其驅(qū)動(dòng)芯片采用三星電子公司生產(chǎn)的KS0713。它是一種小型的大規(guī)模集成并帶有驅(qū)動(dòng)器的點(diǎn)陣型液晶控制芯片。KS0713體積小,外觀尺寸只有42 mm×39 mm,可直接由微處理器控制,數(shù)據(jù)讀寫操作不受外部時(shí)鐘控制,集成化程度高,自帶液晶所必需的電源驅(qū)動(dòng)。
2.6 低功耗設(shè)計(jì)
SPCE06lA在功能上增加了睡眠與喚醒功能。當(dāng)IC在接受到睡眠信號(hào)后關(guān)閉系統(tǒng)時(shí)鐘(PLL振蕩器),進(jìn)入睡眠狀態(tài)??梢酝ㄟ^對(duì)P_SystemClock(寫)(7013)單元寫入CPUCLKSTOP控制字(CPU睡眠信號(hào))使系統(tǒng)從運(yùn)行狀態(tài)轉(zhuǎn)入低功耗睡眠狀態(tài)。系統(tǒng)進(jìn)入睡眠狀態(tài)后,通過設(shè)置該單元的第4位可以打開或關(guān)閉32 768 Hz實(shí)時(shí)時(shí)鐘,同時(shí)程序計(jì)數(shù)器(PC)會(huì)停在程序的下一條指令計(jì)數(shù)上,當(dāng)有喚醒事件發(fā)生后,由此繼續(xù)執(zhí)行程序。只有當(dāng)IOA[7~O]內(nèi)位的控制字為000,001和010時(shí),相對(duì)應(yīng)位才具有喚醒功能。系統(tǒng)收到喚醒信號(hào)后會(huì)接通PLL振蕩器,同時(shí)回響應(yīng)喚醒事件的處理并初始化。CPU需要200μs的時(shí)間完成喚醒,隨意喚醒睡眠的頻率不能超過5 kHz,否則CPU無法進(jìn)入睡眠模式。該系統(tǒng)在規(guī)定時(shí)間內(nèi)沒有接收到按鍵觸發(fā)即轉(zhuǎn)入休眠狀態(tài)。
3 軟件設(shè)計(jì)
SPCE061A單片機(jī)內(nèi)部具有9個(gè)中斷向量,可安置14個(gè)中斷源。14個(gè)中斷源分為兩個(gè)定時(shí)器溢出中斷、兩個(gè)外部中斷、一個(gè)串行口中斷、一個(gè)觸鍵喚醒中斷、7個(gè)時(shí)基信號(hào)中斷、PWM音頻輸出中斷,可以靈活地配置給各個(gè)模塊使用。圖5為主程序流程圖。本設(shè)計(jì)的軟件采用C語言編寫,整個(gè)程序包括主程序、A/D轉(zhuǎn)換、鍵盤掃描子程序、延時(shí)子程序、顯示及語音播放子程序等。系統(tǒng)啟動(dòng)后,先進(jìn)行初始化操作,初始化程序主要完成I/O端口初始化、開定時(shí)中斷、調(diào)用開機(jī)顯示界面、接收鍵盤賦值,驅(qū)動(dòng)電磁閥跳動(dòng)等。然后進(jìn)入循環(huán),接收傳感器輸出電壓值,與預(yù)設(shè)值進(jìn)行比較后,根據(jù)設(shè)定調(diào)用語音播報(bào)函數(shù),SPCE061A自帶有多種音頻壓縮算法,具有豐富的語音函數(shù)庫可分別實(shí)現(xiàn)高保真音樂、普通話音等語音效果。本設(shè)計(jì)采用SACM_A2000音頻壓縮算法提供音頻輸出,使用SACM A2000模塊的函數(shù)進(jìn)行開發(fā),可直接調(diào)用相應(yīng)的A