基于SPCE061A單片機(jī)的汽車保養(yǎng)提示系統(tǒng)設(shè)計(jì)
2.1 脈沖和時間累積的實(shí)現(xiàn)
在時間累積的程序中使用了SPCE061A單片機(jī)的實(shí)時時鐘,以達(dá)到良好的計(jì)時效果。SPCE061A單片機(jī)擁有一個32 768 Hz的實(shí)時時鐘源,通過頻率選擇組合可產(chǎn)生時間基準(zhǔn)信號。時基計(jì)數(shù)器還可以通過分頻產(chǎn)生2 Hz,4 Hz,1 024 Hz,2 048 Hz以及4 096 Hz的實(shí)時時鐘信號,為中斷系統(tǒng)提供各種實(shí)時中斷源(IRQ4和IRQ5)信號。通過對時基信號的選擇和設(shè)定,可以進(jìn)行非常精確的計(jì)時。另外,時基信號為定時/計(jì)數(shù)器A的時鐘源B提供各種頻率選擇信號。
由于在語音播放函數(shù)中使用了定時/計(jì)數(shù)器A作為時間溢出的快速中斷源,在函數(shù)執(zhí)行中對其進(jìn)行了初始化和占用,為了達(dá)到較高的計(jì)時精度這里選用2 Hz的時基信號作為計(jì)時頻率,采用IQR5作為計(jì)時中斷源引發(fā)的中斷。
SPCE061A單片機(jī)的B端口做為特殊功能引腳時,使用SPCE061A單片機(jī)的定時/計(jì)數(shù)器可以實(shí)現(xiàn)對外部輸入脈沖的計(jì)數(shù)。該設(shè)計(jì)將編碼器產(chǎn)生的脈沖輸入到SPCE061A單片機(jī)的B端口的第四引腳,通過對B端口第二和第四引腳的設(shè)置,即:B端口第二引腳為反相輸出,第四引腳為懸浮式輸入,來實(shí)現(xiàn)對脈沖的計(jì)數(shù)。由于PCE061A單片機(jī)的2個定時/計(jì)數(shù)器中,定時/計(jì)數(shù)器A已用于語音播放,所以這里采用定時/計(jì)數(shù)器B作為脈沖輸入計(jì)數(shù)器。采用IQR2做為脈沖計(jì)數(shù)溢出的中斷源引發(fā)的中斷。
2.2 語音播放功能的實(shí)現(xiàn)
凌陽的完整語音處理步驟可以分為:A/D轉(zhuǎn)換、語音編碼,語音存儲,解碼處理,D/A轉(zhuǎn)換等,凌陽公司提供了SACM.LIB語音庫,該庫將上述步驟中的語音處理功能制作成相應(yīng)的模塊,每個模塊都有其應(yīng)用程序接口,因此只需要掌握這些模塊的功能和使用方法,通過對該API函數(shù)的調(diào)用,就可以實(shí)現(xiàn)其功能。
凌陽的音頻資源通常有兩種獲取方法:采用錄音的方法和采用語音合成軟件合成語音。然后用凌陽公司提供的壓縮工具壓縮成能夠播放的語音格式。該設(shè)計(jì)使用第二種方法,采用從文字到語音的合成(Text-to-Speech),這樣就不需要對語音信號進(jìn)行A/D轉(zhuǎn)換,使用方便。
使用第二種方法要解決語音壓縮的問題,語音壓縮是為了在保證一定聲音質(zhì)量的條件以較小的存儲空間實(shí)現(xiàn)對語音的表達(dá)和傳遞。語音壓縮的方法很好地解決了單片機(jī)存儲空間較小的問題。音頻壓縮根據(jù)壓縮比的不同可分為三種:
(1)SACM-A2000:壓縮比為8:1,8:1.25,8:1.5。
(2)SACM-S480:壓縮比為80:3,80:4.5。
(3)SACM-S240:壓縮比為80:1.5。
按音質(zhì)排序:A2000>S480>S240。
凌陽常用的音頻形式和壓縮算法也可分為3種:
(1)波形編碼。sub-band即SACM-A2000特點(diǎn):高質(zhì)量、高碼率,適于高保真語音/音樂。
(2)參數(shù)編碼。聲碼器(vocoder)模型表達(dá),抽取參數(shù)與激勵信號進(jìn)行編碼,如:SACM-S240。特點(diǎn)是壓縮比大,計(jì)算量大,音質(zhì)不高,廉價。
(3)混合編碼。CELP即SACM-S480特點(diǎn)是綜合參數(shù)和波形編碼之優(yōu)點(diǎn)。除此之外,還具有FM音樂合成方式即SACM-MS01。
語音壓縮的過程是,首先使用語音合成軟件將需要播放的信息傳化成*.WAV格式的音頻文件,在轉(zhuǎn)換時將語音資源屬性中的音頻格式轉(zhuǎn)換成8 kHz,16位,單聲道。然后我使用凌陽公司提供的凌陽語音壓縮工具Compress Tool軟件,對語音合成的音頻進(jìn)行壓縮。Compress Tool軟件只能按照SACM-A2000,SACM-S480兩種語音算法進(jìn)行壓縮,為了節(jié)省單片機(jī)的存儲空間,在這里使用SACM-S480算法進(jìn)行行壓縮。
完成語音資源的壓縮之后,還需要將壓縮后的語音資源添加到的程序中去,并在程序中確定語音播放順序,定義語音資源表。然后調(diào)用語音庫的API函數(shù),播放需要的語音資源。
3 結(jié)語
該設(shè)計(jì)在實(shí)驗(yàn)室已經(jīng)獲得成功,取得了不錯的語音播放效果和LCD顯示,很好地解決了汽車保養(yǎng)提示的問題,相信該系統(tǒng)的廣泛應(yīng)用將會有助于提高汽車的利用率,降低能耗,給社會和使用者帶來巨大的效益。
由于汽車型號、品牌及使用環(huán)境等的不同都會對汽車的保養(yǎng)提出不同的要求,因此對于實(shí)踐中的應(yīng)用,還應(yīng)根據(jù)具體情況,以該系統(tǒng)為基礎(chǔ)對提示的內(nèi)容進(jìn)行修改,以達(dá)到很好的兼容性。另外,如果需要提示的語音資源過多,還需要進(jìn)行存儲器的擴(kuò)展。這對單片機(jī)和存儲器的通信提出了要求,播放函數(shù)也需要做相應(yīng)的變更。同樣,該系統(tǒng)還可以應(yīng)用到許多以時間或脈沖累積為條件的提示系統(tǒng)中去,具有廣闊的開發(fā)前景。本文引用地址:http://butianyuan.cn/article/171924.htm
評論