1 引言
隨著人們健康意識(shí)的逐漸增強(qiáng),,戶外運(yùn)動(dòng)越來(lái)越受到重視,。然而運(yùn)動(dòng)量過(guò)強(qiáng)或不足都不能達(dá)到鍛煉的目的,甚至?xí):ι眢w,。這里介紹一種多功能實(shí)時(shí)生理參數(shù)監(jiān)測(cè)儀的設(shè)計(jì)方法,,該監(jiān)測(cè)儀具有廉價(jià)、實(shí)用,、便攜,,并有語(yǔ)音播報(bào)測(cè)量值及越限報(bào)警等多種功能。
2 總體結(jié)構(gòu)與工作原理
該監(jiān)測(cè)儀以凌陽(yáng)16位單片機(jī)SPCE061A為控制核心,,通過(guò)溫度傳感器,、水銀開(kāi)關(guān)、壓電陶瓷片獲得人體溫度,、跑步者的步數(shù)及脈搏跳動(dòng)情況,,再由CPU實(shí)時(shí)計(jì)算測(cè)量值并將結(jié)果送至液晶顯示器顯示,同時(shí)進(jìn)行語(yǔ)音播報(bào),。系統(tǒng)設(shè)有鍵盤(pán),、人工復(fù)位和自動(dòng)上電復(fù)位及硬件看門(mén)狗電路。SPCE061A內(nèi)部帶有硬件乘法器功能,,可方便地實(shí)現(xiàn)測(cè)量數(shù)據(jù)的記錄,、計(jì)算和語(yǔ)音播報(bào)功能。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示,。
3 硬件電路設(shè)計(jì)
3.1 體溫測(cè)量模塊
溫度傳感器采用DALLAS的DS18B20,,該器件無(wú)需外部元件,通過(guò)數(shù)據(jù)線供電即可提供最高12位的溫度讀數(shù),,器件的溫度信息經(jīng)單線接口送入DS18B20或從DS18B20送出,,從CPU到DS18B20僅需連接1條線,。讀、寫(xiě)和完成溫度變換所需的電源由數(shù)據(jù)線本身提供,,測(cè)量范圍為-55℃~+125℃,,增量值為0.
0625(以12位數(shù)值方式讀出溫度),在1s(典型值)內(nèi)把溫度變換為數(shù)字,,具有用戶可定義的非易失性溫度告警設(shè)置,。輸出的溫度數(shù)值由單片機(jī)的IOA15口讀入,如圖2所示,。
經(jīng)單線接口訪問(wèn)DS18B20的協(xié)議如下:
?。?)初始化單線總線上的所有處理均從初始化序列開(kāi)始。初始化序列包括:總線主機(jī)發(fā)出一個(gè)復(fù)位脈沖,,接著從屬器件送出存在脈沖,,程序清單見(jiàn)初始化DS18B20子程序intInit_1820(void)。
?。?)ROM操作命令一旦總線主機(jī)檢測(cè)到從屬器件便可發(fā)出,,ROM操作命令,ROM操作命令均為8位長(zhǎng),,程序見(jiàn)讀DS18B20子程序unsignedintRead_1820_Byte(void)和寫(xiě)DS18B20子程序voidWrite_1820_Byte(unsignedintData),。
(3)存儲(chǔ)器操作命令程序清單見(jiàn)讀DS18B20子程序unsignedintRead_1820_Byte(void)和寫(xiě)DS18B20子程序voidWrite_1820_Byte(unsignedintData),。
(4)處理數(shù)據(jù)程序清單見(jiàn)溫度轉(zhuǎn)換子程序voidRead_Temp(unsignedint*Data),。溫度測(cè)量程序如下:
1 引言
隨著人們健康意識(shí)的逐漸增強(qiáng),,戶外運(yùn)動(dòng)越來(lái)越受到重視。然而運(yùn)動(dòng)量過(guò)強(qiáng)或不足都不能達(dá)到鍛煉的目的,,甚至?xí):ι眢w,。這里介紹一種多功能實(shí)時(shí)生理參數(shù)監(jiān)測(cè)儀的設(shè)計(jì)方法,該監(jiān)測(cè)儀具有廉價(jià),、實(shí)用,、便攜,并有語(yǔ)音播報(bào)測(cè)量值及越限報(bào)警等多種功能,。
2 總體結(jié)構(gòu)與工作原理
該監(jiān)測(cè)儀以凌陽(yáng)16位單片機(jī)SPCE061A為控制核心,,通過(guò)溫度傳感器、水銀開(kāi)關(guān),、壓電陶瓷片獲得人體溫度,、跑步者的步數(shù)及脈搏跳動(dòng)情況,再由CPU實(shí)時(shí)計(jì)算測(cè)量值并將結(jié)果送至液晶顯示器顯示,,同時(shí)進(jìn)行語(yǔ)音播報(bào),。系統(tǒng)設(shè)有鍵盤(pán),、人工復(fù)位和自動(dòng)上電復(fù)位及硬件看門(mén)狗電路。SPCE061A內(nèi)部帶有硬件乘法器功能,,可方便地實(shí)現(xiàn)測(cè)量數(shù)據(jù)的記錄,、計(jì)算和語(yǔ)音播報(bào)功能。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示,。
3 硬件電路設(shè)計(jì)
3.1 體溫測(cè)量模塊
溫度傳感器采用DALLAS的DS18B20,,該器件無(wú)需外部元件,通過(guò)數(shù)據(jù)線供電即可提供最高12位的溫度讀數(shù),,器件的溫度信息經(jīng)單線接口送入DS18B20或從DS18B20送出,,從CPU到DS18B20僅需連接1條線。讀,、寫(xiě)和完成溫度變換所需的電源由數(shù)據(jù)線本身提供,,測(cè)量范圍為-55℃~+125℃,增量值為0.
0625(以12位數(shù)值方式讀出溫度),,在1s(典型值)內(nèi)把溫度變換為數(shù)字,,具有用戶可定義的非易失性溫度告警設(shè)置。輸出的溫度數(shù)值由單片機(jī)的IOA15口讀入,,如圖2所示,。
經(jīng)單線接口訪問(wèn)DS18B20的協(xié)議如下:
(1)初始化單線總線上的所有處理均從初始化序列開(kāi)始,。初始化序列包括:總線主機(jī)發(fā)出一個(gè)復(fù)位脈沖,,接著從屬器件送出存在脈沖,程序清單見(jiàn)初始化DS18B20子程序intInit_1820(void),。
?。?)ROM操作命令一旦總線主機(jī)檢測(cè)到從屬器件便可發(fā)出,ROM操作命令,,ROM操作命令均為8位長(zhǎng),,程序見(jiàn)讀DS18B20子程序unsignedintRead_1820_Byte(void)和寫(xiě)DS18B20子程序voidWrite_1820_Byte(unsignedintData)。
?。?)存儲(chǔ)器操作命令程序清單見(jiàn)讀DS18B20子程序unsignedintRead_1820_Byte(void)和寫(xiě)DS18B20子程序voidWrite_1820_Byte(unsignedintData),。
(4)處理數(shù)據(jù)程序清單見(jiàn)溫度轉(zhuǎn)換子程序voidRead_Temp(unsignedint*Data),。溫度測(cè)量程序如下:
3.2 心率測(cè)量模塊
心率測(cè)量模塊如圖3所示,。首先將人體的脈搏通過(guò)壓電陶瓷片HTD27A-1轉(zhuǎn)換為可處理的電信號(hào),經(jīng)高阻輸入級(jí)隔離和電壓放大級(jí)放大后將信號(hào)送入帶通濾波器以濾除噪聲及高次諧波,,經(jīng)集成運(yùn)放放大及施密特觸發(fā)器整形后再進(jìn)入單片機(jī)外部中斷EXT2進(jìn)行計(jì)數(shù),,即可得出心率。
壓電傳感器的基本原理是利用壓電材料的壓電效應(yīng),,一定的壓力作用會(huì)使壓電材料石英晶體的兩個(gè)極板間產(chǎn)生一定的電壓,。沿石英晶體電軸方向施加作用力Fx時(shí),,在與電軸垂直的表面上將產(chǎn)生電荷:
式中,d11=2.31×10-12C/N,,為石英晶體電軸方向受力壓電系數(shù),。
壓電傳感器相當(dāng)于一個(gè)以壓電材料為介質(zhì)的電容器:
式中,A為極板面積(m2),,h為壓電體厚度(m),,ε為壓電材料介電常數(shù)(F/m)。
采用石英晶體為壓電材料,,其相對(duì)介電常數(shù)為εr,,而標(biāo)準(zhǔn)介電常數(shù)為ε0,則石英晶體的介電常數(shù)為ε=εrε0,。設(shè)壓電體兩極板間(沿電軸方向)承受一個(gè)大氣壓的壓力,,則與電軸垂直的表面產(chǎn)生電荷qx=d11Fx=2.31×10-12×9.8×A,兩極板間產(chǎn)生電壓Ux=qx/C,。壓電陶瓷片產(chǎn)生的電壓很小,,因此在電壓信號(hào)送至后級(jí)電路處理前必須經(jīng)高阻輸入級(jí)以盡量減少電荷泄放,確保獲取電壓信號(hào)的準(zhǔn)確性,。由于運(yùn)算放大器通常具有極高的輸入阻抗,,采用運(yùn)放實(shí)現(xiàn)高阻輸入級(jí),如圖4所示,。
據(jù)后級(jí)電路處理要求,,要放大采集的電壓信號(hào)。為濾除電壓信號(hào)中的噪聲信號(hào),,便于后級(jí)數(shù)字電路處理獲得的信號(hào),,后端電路采用20~200Hz的帶通濾波器進(jìn)一步處理信號(hào),經(jīng)施密特觸發(fā)器整形后再送入單片機(jī)計(jì)數(shù),,即可得到心率。
3.3 跑步步數(shù)測(cè)量模塊
跑步步數(shù)測(cè)量電路如圖5所示,,圖中EXT1為外部時(shí)鐘源輸入,。跑步或走路時(shí),手臂擺動(dòng),,水銀開(kāi)關(guān)隨之通斷,,通過(guò)單片機(jī)進(jìn)行計(jì)數(shù),再乘以步長(zhǎng),,即可得到行走距離和速度,。
數(shù)學(xué)模型得到預(yù)測(cè)公式,即可預(yù)測(cè)能量消耗量,。系統(tǒng)根據(jù)性別,、體重,、身高、年齡等生理指標(biāo),,采用Harris-Benedict預(yù)測(cè)公式計(jì)算能量損耗:
BEE(男)=(66.4730+13.7516W+5.0033H-6.7550A)×4.1840
BEE(女)=(655.0955+9.5634W+1.8496H-4.6756A)×4.1840
式中,,BEE為基礎(chǔ)能量消耗;W為體重(kg),;H為身高(cm),;A為年齡(歲)。
3.4 鍵盤(pán)顯示單元
顯示單元選用128×64字符點(diǎn)陣液晶模塊SPLC501組件,,由LCD顯示器,、LCD控制板和偏壓產(chǎn)生電路組成。分4行顯示當(dāng)前體溫值,、心率,、速度、行程等信息,,如圖6所示,。
鍵盤(pán)模塊主要用于設(shè)定初始值(包括體重、步長(zhǎng)等),、報(bào)警值(心率,、體溫等)。KEY1鍵為確定/取消功能,,KEY2鍵為上調(diào)功能,,KEY3鍵為下調(diào)功能。光標(biāo)閃爍為設(shè)定狀態(tài),,當(dāng)設(shè)定好后停止按鍵,,5s后系統(tǒng)自動(dòng)重新開(kāi)始測(cè)量,液晶顯示關(guān)閉以節(jié)省電能,,為防止誤按鍵,,鍵盤(pán)鎖定,按任意鍵,,液晶顯示打開(kāi),,按KEY1鍵一下,再按KEY3鍵兩下,,再按KEY1鍵一下,,鍵盤(pán)解鎖,按KEY1鍵超過(guò)2s,,進(jìn)入初始值,、報(bào)警值的設(shè)定。
4 軟件設(shè)計(jì)
軟件采用模塊化設(shè)計(jì)方法,,由主程序及鍵盤(pán)處理,、數(shù)據(jù)采集,、報(bào)警、語(yǔ)音和液晶顯示5個(gè)子程序組成,。圖7為系統(tǒng)主程序流程,。系統(tǒng)上電后首先初始化,然后進(jìn)行各參數(shù)的測(cè)定,、顯示判斷超量報(bào)警等操作,,同時(shí)檢測(cè)按鍵情況,若有按鍵按下,,執(zhí)行顯示和語(yǔ)音播報(bào)等功能,。此系統(tǒng)編譯環(huán)境為unSPIDE2.6.2D,使用匯編語(yǔ)言與C語(yǔ)言混合編寫(xiě),,其中中斷服務(wù)程序及液晶顯示等相關(guān)底層程序由匯編語(yǔ)言編寫(xiě),,測(cè)量及語(yǔ)音播報(bào)等程序由C語(yǔ)言完成。鍵盤(pán)處理子程序通過(guò)定時(shí)器中斷方式調(diào)用,。參數(shù)輸入采用菜單方式設(shè)定,,包括步伐長(zhǎng)度(計(jì)算行走速度及行程),體重,、性別,、身高、年齡(能量消耗計(jì)算),,體溫上下限,,心率上下限,行程提醒等,。當(dāng)測(cè)得溫度,、心率超過(guò)上下限時(shí)報(bào)警;當(dāng)測(cè)得行程達(dá)到行程提醒設(shè)定值時(shí)提醒,。
5 結(jié)語(yǔ)
經(jīng)實(shí)際測(cè)量表明,,此設(shè)計(jì)方案具有低成本、低功耗,、操作簡(jiǎn)單等特點(diǎn),。該測(cè)量?jī)x可根據(jù)要求改變?cè)O(shè)定值,適于各年齡段人群的生理參數(shù)測(cè)量,。隨著人們對(duì)健康的關(guān)注,這種多功能便攜式測(cè)試儀將會(huì)有更廣闊的應(yīng)用前景,。本文的創(chuàng)新點(diǎn)在于集人體各種參數(shù)測(cè)量與安全報(bào)警功能為一體,,液晶顯示和語(yǔ)音播報(bào)相結(jié)合,非常人性化,。