楊 嵐 涂小敏 王玉芬
摘 要:常見的語音控制系統多采用單片機和專用的語音處理芯片來完成,其缺點是語音處理芯片的性價比普遍不高,導致開發成本高,且開發周期較長。在深入研究凌陽SPCE061A單片機在語音處理方面的優越性能后,設計了一套智能交通燈語音播報控制系統。給出了控制系統方案設計,并重點講述系統語音設計方案,包括語音輸入電路、語音輸出電路以及語音輸入和語音輸出的流程圖等。
關鍵詞:SPCE061A;交通燈;語音輸入;語音輸出
中圖分類號:TP368.1 文獻標識碼:B
文章編號:1004-373X(2009)01-192-03
Design of Traffic Light Countdown Voice Input and Output Based on SPCE061A
YANG Lan,TU Xiaomin,WANG Yufen
(College of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan,430081,China)
Abstract:The designing of voice control system often uses single chip computer and voice processing chip.The shortcoming is the lower cost-effective of voice processing chip and longer development cycle.After an in-depth study on the advan-tages of voice processing of Sunplus SPCE061A,a smart traffic light voice broadcast control system is designed.The system′s design is given and the voice system′s design is focused on.Including the circuit of voice input,voice output and the flow chart of voice input,voice output.
Keywords:SPCE061A;traffic light;voice input;voice output
近年來,隨著城市交通的智能化和人性化,語音控制技術在智能交通方面的的應用越來越廣泛。其中,最為常見的一類應用是公交車語音報站系統。此類系統多采用單片機和專用的語音處理芯片來進行開發設計,其缺點是語音處理芯片性價比普遍不高,成本較高,且開發周期較長。因此,對于更能體現城市智能交通管理的另一類應用——紅綠燈倒計時語音播報系統,則較為少見。基于此,采用凌陽SPCE061A單片機設計了智能交通燈語音播報控制系統。凌陽SPCE061A是凌陽科技公司研發生產的性價比很高的一款16位單片機,不僅具有一般單片機的強大數據處理功能,還具有高質量的語音處理功能[1]。
1 交通燈控制系統方案設計
該設計方案采用一個簡易的交通指示燈控制系統來模擬一個典型的十字路口車流通行狀態。分別用1,2,3,4(表示東、南、西、北四方向)表明四個流向的主車道,用L,S,R,P分別表示各主車道的左行車道、直行車道、右行車道以及人行橫道,其實際路口交通示意圖如圖1所示。
通過分析得知,除了四個右行車道外,在同一時間,最多只能有兩個車道通行,如1L、1S通行時,其他車道都會被阻斷。所以在設計紅綠燈時,可以兩兩組合,共有4組(如lL-1S,2L-2S,3L-3S,4L-4S)。

交通燈控制系統由一套SPCE061A精簡開發板(簡稱61板)和一套交通燈模組構成[1]。交通燈模組包括1塊驅動電路板、4個2位倒計時LED數碼管模塊、紅綠燈LED模塊。
系統有兩個工作狀態,正常工作狀態和通行時間設置狀態。SPCE061A是整個系統的核心控制部件,61板上有3個按鍵Key1~Key3。兩個狀態間的切換是利用Key1鍵完成的。在通行時間設置狀態,按下Key1鍵開始設置南北向紅燈時間,按下Key2鍵開始設置南北向綠燈時間,按下Key3鍵則返回正常工作狀態。紅綠燈換色顯示時有語音提示,具體為:東西向綠燈→黃燈,語音提示:東西向開始紅燈;東西向黃燈→紅燈,語音提示:30,29,…,0(程序設置通行時間為30 s,可以修改);東西向紅燈結束之前,南北向綠燈→黃燈時,有語音提示:南北向開始紅燈。南北向黃燈→紅燈,語音提示:30,29,…,0。
系統設計框圖如2所示。

2 系統語音設計
2.1 音頻算法概述
語音處理大致可以分為 A/D采樣輸入、編碼處理、存儲、解碼處理以及 D/A等。SPCE061A擁有強大的語音處理功能,它對上述語音處理流程的解決方案是:將 A/D、編碼算法、解碼算法、存儲及 D/A作成相應的模塊,對于每個模塊都有其應用程序接口 API,用戶只需了解每個模塊所要實現的功能及其參數的內容,然后調用該 API 函數即可實現語音處理功能[2]。
凌陽將音頻壓縮算法封裝在SACM-lib庫中,API函數名稱及算法類型如表1所示 。

三種放音壓縮算法的音質排序為:A2000>S480>S240。
2.2 語音輸入設計
語音輸入的基本原理是通過A/D轉換器將語音信號轉換成數字信號,編碼后存入指定的存儲器中。SPCE061A的A/D轉換器共有8個通道,其中有一個通道是MIC-IN輸入,它專門用于對語音信號進行采樣。然后將采樣信號轉換成電信號,輸入至SPCE061A的內部前置放大電路。語音輸入功能主要是調用SACM_DVR模塊實現的,因此音頻信號的采樣頻率是8 kHz,且按照SACM_A2000算法進行壓縮編碼,每秒占用的存儲空間為16 Kb/s,產生的語音數據存放在擴展SRAM HM 圖3中:SPCE061A引腳MICP(33腳)為MIC(麥克風)的正向輸入腳;MICN(28腳)為MIC的負向輸入腳。 語音輸入流程圖如圖4所示。 軟件設計主要調用的API函數如下: int SACM_DVR_Initial(0);//初始化為手動方式 SACM_DVR_InitEncoder(RceMonitorOff);//初始化解碼器 void SACM_DVR_Encode();//獲取數據并編碼 void SACM_DVR_TestQueue();//獲取語音隊列狀態 int SACM_DVR_FetchQueue();//獲取編碼數據 void SACM_DVR_Stop();//停止錄音 2.3 語音輸出設計 語音輸出的基本原理是將外擴SRAM HM 圖5中:SPCE061A引腳DAC1(21腳)為音頻輸出通道1。 語音輸出流程圖如圖6所示。 軟件設計主要調用的API函數如下: void SACM_DVR_InitDecoder(DAC1);//從DAC1通道開始解碼 void SACM_DVR_TestQueue();//獲取語音隊列狀態 void SACM_DVR_FillQueue(int );//填充資料到語音隊列,等待放音 SACM_DVR_StopDecoder();//停止解碼 void SACM_DVR_Decode();//獲取語音數據并譯碼,中斷播放 3 結 語 由于語音播報內容需人為錄入,且播報時間需和倒計時時間保持一致,因此在語音輸入過程中需精確掌握播報時間,以便順利完成系統調試和運行。經過多次軟、硬件調試、修正,交通燈倒計時語音播報系統能夠完成既定功能,且在實驗室環境下放音效果良好。 在此充分挖掘并利用了凌陽SPCE061A在語音處理方面的優勢,完成了上述倒計時語音播報系統的設計。考慮到實際交通環境下聲音嘈雜,可能會影響放音效果,因此,若需實際使用,需修改語音輸出電路,加大語音輸出功率。 參考文獻 [1]羅亞飛.凌陽16位單片機應用基礎[M].北京:北京航空航天大學出版社,2003. [2]杜剛.16位單片機原理及應用(凌陽系列)[M].北京:中國電力出版社,2007. [3]陳開,楊嵐.基于SPCE061的語音提示交通燈控制系統的設計[J].現代電子技術,2008,31(2):4-6. [4]黃濤,胡賓.基于SPCE061A單片機的非特定人語音識別設計[J].微計算機信息,2006,22(32):19-20. [5]文環明,張艷.基于SPCE061A的電子語音播報稱重系統[J].電腦開發與應用,2007(12):37-39. [6]陳娟.SPCE061A單片機的髖作用力測試儀設計[J].國外電子元器件,2006(8):41-43. 作者簡介楊 嵐 女,1975年出生,武漢科技大學信息科學與工程學院,講師。研究方向為計算機應用。


