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