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