基于SPCE061A的交通燈倒計時語音輸入輸出的設(shè)計
近年來,隨著城市交通的智能化和人性化,語音控制技術(shù)在智能交通方面的的應(yīng)用越來越廣泛。其中,最為常見的一類應(yīng)用是公交車語音報站系統(tǒng)。此類系統(tǒng)多采用單片機和專用的語音處理芯片來進行開發(fā)設(shè)計,其缺點是語音處理芯片性價比普遍不高,成本較高,且開發(fā)周期較長。因此,對于更能體現(xiàn)城市智能交通管理的另一類應(yīng)用——紅綠燈倒計時語音播報系統(tǒng),則較為少見?;诖?,采用凌陽SPCE061A單片機設(shè)計了智能交通燈語音播報控制系統(tǒng)。凌陽 SPCE061A是凌陽科技公司研發(fā)生產(chǎn)的性價比很高的一款16位單片機,不僅具有一般單片機的強大數(shù)據(jù)處理功能,還具有高質(zhì)量的語音處理功能。
1 交通燈控制系統(tǒng)方案設(shè)計
該設(shè)計方案采用一個簡易的交通指示燈控制系統(tǒng)來模擬一個典型的十字路口車流通行狀態(tài)。分別用1,2,3,4(表示東、南、西、北四方向)表明四個流向的主車道,用L,S,R,P分別表示各主車道的左行車道、直行車道、右行車道以及人行橫道,其實際路口交通示意圖如圖1所示。
通過分析得知,除了四個右行車道外,在同一時間,最多只能有兩個車道通行,如1L、1S通行時,其他車道都會被阻斷。所以在設(shè)計紅綠燈時,可以兩兩組合,共有4組(如lL一1S,2L一2S,3L一3S,4L一4S)。
交通燈控制系統(tǒng)由一套SP(2E061A精簡開發(fā)板(簡稱61板)和一套交通燈模組構(gòu)成。交通燈模組包括1塊驅(qū)動電路板、4個2位倒計時LED數(shù)碼管模塊、紅綠燈LED模塊。
系統(tǒng)有兩個工作狀態(tài),正常工作狀態(tài)和通行時間設(shè)置狀態(tài)。SPCE061A是整個系統(tǒng)的核心控制部件,61板上有3個按鍵Key1~Key3。兩個狀態(tài)間的切換是利用Key1鍵完成的。在通行時間設(shè)置狀態(tài),按下Key1鍵開始設(shè)置南北向紅燈時間,按下Key2鍵開始設(shè)置南北向綠燈時間,按下Key3鍵則返回正常工作狀態(tài)。紅綠燈換色顯示時有語音提示,具體為:東西向綠燈一黃燈,語音提示:東西向開始紅燈;東西向黃燈一紅燈,語音提示:30,29,…,O(程序設(shè)置通行時間為30 s,可以修改);東西向紅燈結(jié)束之前,南北向綠燈一黃燈時,有語音提示:南北向開始紅燈。南北向黃燈一紅燈,語音提示:30,29,…,O。系統(tǒng)設(shè)計框圖如2所示。
2 系統(tǒng)語音設(shè)計
2.1 音頻算法概述[!--empirenews.page--]
語音處理大致可以分為A/D采樣輸入、編碼處理、存儲、解碼處理以及D/A等。SPCE061A擁有強大的語音處理功能,它對上述語音處理流程的解決方案是:將A/D、編碼算法、解碼算法、存儲及D/A作成相應(yīng)的模塊,對于每個模塊都有其應(yīng)用程序接口API,用戶只需了解每個模塊所要實現(xiàn)的功能及其參數(shù)的內(nèi)容,然后調(diào)用該API函數(shù)即可實現(xiàn)語音處理功能。凌陽將音頻壓縮算法封裝在SACM—lib庫中,API函數(shù)名稱及算法類型如表1所示。
三種放音壓縮算法的音質(zhì)排序為:A2000>S480>S240。
2.2 語音輸入設(shè)計
語音輸入的基本原理是通過A/D轉(zhuǎn)換器將語音信號轉(zhuǎn)換成數(shù)字信號,編碼后存入指定的存儲器中。SPCE061A的A/D轉(zhuǎn)換器共有8個通道,其中有一個通道是MIC—IN輸入,它專門用于對語音信號進行采樣。然后將采樣信號轉(zhuǎn)換成電信號,輸入至SPCE061A的內(nèi)部前置放大電路。語音輸入功能主要是調(diào)用SACM_DVR模塊實現(xiàn)的,因此音頻信號的采樣頻率是8 kHz,且按照SACM_A2000算法進行壓縮編碼,每秒占用的存儲空間為16 Kb/s,產(chǎn)生的語音數(shù)據(jù)存放在擴展SRAM HM628128A中,其容量為128 KB。HM628128A與61板之間通過IOA和IOB進行接口。語音輸入電路如圖3所示。
圖3.中:SPCE061A引腳MICP(33腳)為MIC(麥克風(fēng))的正向輸入腳;MICN(28腳)為MIC的負向輸入腳。
語音輸入流程圖如圖4所示。
軟件設(shè)計主要調(diào)用的API函數(shù)如下: [!--empirenews.page--]
2.3 語音輸出設(shè)計
語音輸出的基本原理是將外擴SRAMHM628128A中存儲的語音數(shù)據(jù)順序取出,調(diào)用 SACM—lib庫中的SACM A2000模塊,經(jīng)SACM A2000壓縮算法解碼后,以8 kHz的速率進行D/A轉(zhuǎn)換,然后通過內(nèi)部濾波電路濾去噪聲,恢復(fù)原始波形,由8050晶體管驅(qū)動揚聲器放音。語音輸出電路如圖5所示。
圖5中:SPCE061A引腳DAC1(21腳)為音頻輸出通道1。
語音輸出流程圖如圖6所示。
軟件設(shè)計主要調(diào)用的API函數(shù)如下:
3 結(jié) 語
由于語音播報內(nèi)容需人為錄入,且播報時間需和倒計時時間保持一致,因此在語音輸入過程中需精確掌握播報時間,以便順利完成系統(tǒng)調(diào)試和運行。經(jīng)過多次軟、硬件調(diào)試、修正,交通燈倒計時語音播報系統(tǒng)能夠完成既定功能,且在實驗室環(huán)境下放音效果良好。
在此充分挖掘并利用了凌陽SPCE061A在語音處理方面的優(yōu)勢,完成了上述倒計時語音播報系統(tǒng)的設(shè)計。考慮到實際交通環(huán)境下聲音嘈雜,可能會影響放音效果,因此,若需實際使用,需修改語音輸出電路,加大語音輸出功率。