【導(dǎo)讀】本文設(shè)計并研制了一種集可編程(設(shè)置參數(shù))、語音播報、超限報警功能于一體,并能聯(lián)機(jī)顯示溫度變化曲線和可聯(lián)網(wǎng)使用的新型智能溫度計。可以廣泛地應(yīng)用于醫(yī)療衛(wèi)生行業(yè)甚至家庭。
系統(tǒng)設(shè)計目標(biāo)
(1)每分鐘采用語音報告一次所測溫度的實時值,無誤報、漏報。所測溫度超過預(yù)警溫度值時,系統(tǒng)立即報警。
(2)系統(tǒng)預(yù)警溫度值可在-55.O~+125.O℃的范圍內(nèi)任意設(shè)置(默認(rèn)值設(shè)定為37.O℃)。
(3)記錄測溫結(jié)果,并可以和計算機(jī)聯(lián)網(wǎng)顯示溫度變化曲線。
(4)測量精度為±0.1℃(或0.2 F)。
(5)系統(tǒng)結(jié)構(gòu)簡單,使用方便,價格合理。
硬件設(shè)計
系統(tǒng)采用一般自動測試系統(tǒng)的成熟方案,由主控單片機(jī)、測溫電路、語音播報和編程電路組成。
主控芯片的選擇
可供選擇的主控芯片比較多,如使用面最廣的MCS-5l系列、資源豐富的ARM7TDMI-S系列微控制器、低功耗的MSP430系列等??紤]到語音播報和語音編程功能的高性價比實現(xiàn)方案,所以采用臺灣凌陽公司推出的16位μ’nSPTM內(nèi)核單片機(jī)SPCE061A,其較高的處理速度能夠非常容易、快速地處理復(fù)雜的數(shù)字信號,也是適用于數(shù)字語音識別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟(jì)的選擇。
測溫方案
在不同的測溫范圍,成熟的測溫方案也比較多,如采用熱敏電阻、利用鉑電阻、基于集成溫度傳感器等的測溫系統(tǒng)。當(dāng)前流行的數(shù)字型溫度傳感器有 AD7416;MAX6575L/H以及DSl8X20。前兩者多用于計算機(jī)或儀器設(shè)備內(nèi)部的溫度檢測。鑒于后者接口簡單,且就測量精度、器件可靠性、穩(wěn)定性及參數(shù)一致性而言表現(xiàn)良好,應(yīng)用較廣泛。由于在-10~+85℃范圍其測溫誤差不超過±O.5℃,以及有12位的分辨率而使其在各適用領(lǐng)域十分受歡迎。本系統(tǒng)采用DSl8B20,該傳感器內(nèi)部自帶信號調(diào)理和A/D轉(zhuǎn)換,與單片機(jī)之間的硬件接口非常簡單,只需要通過一根數(shù)據(jù)線與單片機(jī)相連,所以保證了系統(tǒng)的高可靠性。為了實現(xiàn)測量精度為±0.1℃,利用了DSl8B20中SCRATCHPAD中的“剩余脈沖數(shù)”和“每度脈沖數(shù)”,通過公式:高分辨率溫度值=TI-0.25+(Tp—TR)/TP可以獲得±0.1℃的測量精度。
語音播報
對于語音播報,常用做法是用單片機(jī)對ISDl420操作來實現(xiàn),所用硬件和連線都較多,所以系統(tǒng)的可靠性和成本都不占優(yōu)勢。本設(shè)計由于采用了 SPCE061A單片機(jī),由于其強(qiáng)大的信號處理功能,所以可以直接由單片機(jī)輸出語音信號,不需要借助其他語音芯片,從而使系統(tǒng)的可靠性得到大幅提高。
語音控制(編程)
語音控制也有現(xiàn)成的芯片可供選擇,由于本系統(tǒng)采用的單片機(jī)具有較強(qiáng)的數(shù)字信號處理能力,而且其Mic輸入內(nèi)部已經(jīng)集成AGC電路,使得語音控制更為穩(wěn)定,所以直接用SPCE061A實現(xiàn)語音控制。由于凌陽公司提供的語音識別API是基于特定人語音識別技術(shù)的,所以使用之前需要用戶對系統(tǒng)進(jìn)行訓(xùn)練,同時也只有對訓(xùn)練過的人的語音識別率才較高,所以使用很不方便。本系統(tǒng)基于DHMM模型的識別算法,用BaumWelch法對模板進(jìn)行訓(xùn)練,Viterbi算法進(jìn)行識別實現(xiàn)的非特定人語音識別,使得使用者可以直接控制而無需進(jìn)行繁瑣的訓(xùn)練,不同的用戶也不需要經(jīng)常反復(fù)訓(xùn)練,使系統(tǒng)的適應(yīng)性大為增強(qiáng)。
鍵盤電路
考慮到使用者講話的習(xí)慣,對于部分用戶,使用語音控制不太方便,所以設(shè)置鍵盤電路,以解決其設(shè)置(編程)問題,所以要求鍵盤電路非常簡單,對整體成本影響不大。SPCE06IA有2個16位的通用I/O接口Port A和Port B,而且Port A具有喚醒功能,所以采用A口直控鍵盤的形式。
聯(lián)網(wǎng)功能
SPCE061A同樣提供了通用異步串行接口UART,所以可以直接利用其通用異步串行接口進(jìn)行聯(lián)網(wǎng),實現(xiàn)測溫人員與被測對象的隔離,即遠(yuǎn)距離和多點測溫。
綜上所述,整體硬件電路組成如圖1所示,由SCPE061A單片機(jī)實現(xiàn)系統(tǒng)整體控制并實現(xiàn)語音或鍵盤編程與語音播報,系統(tǒng)可通過通用異步串行接口實現(xiàn)聯(lián)網(wǎng)功能,在不需要聯(lián)網(wǎng)的場合,溫度計也可以單獨使用,實現(xiàn)了系統(tǒng)的可裁剪,DSl8B20用來實現(xiàn)溫度檢測。
圖1:系統(tǒng)組成
軟件設(shè)計
軟件設(shè)計的主要任務(wù)是將測量溫度通過語音播報出來,接收編程數(shù)據(jù)使系統(tǒng)工作于不同的狀態(tài)。
溫度檢測
通過DSl8B20測溫時,要求控制器嚴(yán)格按照其單總線協(xié)議進(jìn)行通信,對于DSl8B20的通信控制程序已有很多討論,這里不再贅述。
語音播報
實驗凌陽公司提供的API可以直接播放壓縮格式的語音,將O~9十個數(shù)字和攝氏度、設(shè)置、報警溫度等語音的數(shù)字信號(文件)壓縮后直接寫入單片機(jī),播報溫時傳遞溫度參數(shù)給放音程序就可以實現(xiàn)語音播報或者報警功能。
參數(shù)設(shè)置
參數(shù)設(shè)置可以通過語音控制和鍵盤輸入實現(xiàn),對于普通話較好的用戶,可以直接使用語音控制實現(xiàn)系統(tǒng)參數(shù)的調(diào)整,而普通話不太好( 識別率低)的用戶,則可以選擇使用鍵盤調(diào)整系統(tǒng)參數(shù)。系統(tǒng)采用非特定人語音識別技術(shù),使得使用語言控制系統(tǒng)較為簡單、方便,同時鍵盤的設(shè)計也為不方便使用語音控制的人群提供了另一種選擇,可以適應(yīng)不同類型的用戶。
可設(shè)置的參數(shù)主要有,播報方式:“連續(xù)、隔x秒、禁止”;報警溫度值;工作方式等。在需要實時關(guān)注溫度值的時候,可以設(shè)置為連續(xù)播報;溫度變化較慢的時候可以設(shè)置為隔x秒方式;夜晚設(shè)置報警模式后,可以設(shè)置為禁止播報模式。設(shè)置報警溫度值后可以,可以處理其他事情,在出現(xiàn)警情時,系統(tǒng)給出報警,提示用戶。選擇工作方式為“聯(lián)網(wǎng)工作”后,系統(tǒng)除了現(xiàn)場播報和報警外,還將相應(yīng)信息通過異步串行口發(fā)送到遠(yuǎn)端。設(shè)置過程全部采用語音菜單方式,可以大幅度較低成本,設(shè)置流程圖如圖2所示。
圖2:設(shè)置子程序流程圖
結(jié)語
本文設(shè)計的智能溫度計,電路簡單、所需元器件少、測量精度高、抗干擾能力強(qiáng),可以實現(xiàn)實時測溫、超限報警和語音播報等功能。由于各種功能是通過單片機(jī)來實現(xiàn)的,可以根據(jù)具體要求添加不同的測溫模式,實現(xiàn)了設(shè)計目標(biāo),可廣泛地應(yīng)用于溫度測量和性價比要求較高的領(lǐng)域,尤其是特殊應(yīng)用場合。