1 引言
語音" title="語音">語音系統(tǒng)是電梯" title="電梯">電梯不可缺少的部分,用于樓層報(bào)數(shù)、方向提示、報(bào)警告示、消防對講以及廣告宣傳等。傳統(tǒng)語音系統(tǒng)絕大多數(shù)采用語音器存儲和播放語音,但存在比如外電路復(fù)雜、音質(zhì)差、成本高、容量小以及語音不易更改等缺陷。鑒于此,設(shè)計(jì)了一款基于CPLD" title="CPLD">CPLD和VS1011E" title="VS1011E">VS1011E解碼器" title="解碼器">解碼器的電梯語音系統(tǒng)。
2 系統(tǒng)概述
電梯控制系統(tǒng)的基本功能是根據(jù)用戶的樓層按鍵信息,顯示樓層數(shù)字,播報(bào)到達(dá)樓層語音。電梯語音系統(tǒng)框圖如圖1所示。
2.1信息輸入
輸入信息分為兩部分,一是用戶通過按鍵向系統(tǒng)發(fā)出樓層請求,二是電梯控制系統(tǒng)根據(jù)樓層到達(dá)或者取消發(fā)出的通知。
2.2處理器
根據(jù)用戶信息和控制系統(tǒng)信息控制樓層系統(tǒng),控制分為顯示樓層和語音報(bào)送兩部分。系統(tǒng)要求處理器處理速度快、內(nèi)存緩沖空間大。
2.3顯示模塊
用于顯示樓層數(shù)以及提示超載、消防和緊急狀況,甚至還提供日期廣告等信息的發(fā)布。中低檔樓宇電梯系統(tǒng)一般使用LED顯示,即點(diǎn)陣塊顯示。隨著液晶顯示控制技術(shù)的發(fā)展與成熟,高檔樓宇電梯系統(tǒng)則采用LCD顯示。
2.4邏輯器件
主要是能進(jìn)行強(qiáng)大數(shù)據(jù)快速處理的CPLD。從整個(gè)系統(tǒng)可以看出,處理器需要響應(yīng)輸入信息并能夠驅(qū)動顯示模塊工作,還要對擴(kuò)展的存儲器進(jìn)行讀寫操作,并將存儲器的語音數(shù)據(jù)送到MP3解碼器解碼。這些都對處理器提出很大挑戰(zhàn),如果處理器性能低則可能導(dǎo)致整個(gè)系統(tǒng)工作紊亂,因此,必須對處理器進(jìn)行"減負(fù)"。
基于上述考慮,本系統(tǒng)使用CPLD。對于MP3解碼器的控制,處理器只負(fù)責(zé)發(fā)送控制命令,而具體操作是由CPLD完成。這樣就大大提高了系統(tǒng)的速度和可靠性。
2.5存儲器
用于存儲大量語音數(shù)據(jù)。市場上MP3播放器的存儲器類型有3種:磁性存儲器(2.5英寸硬盤)、光學(xué)存儲器(CD-ROM和DVD)和Flash。其中Flash存儲器還可以分為NAND Flash、CF卡、SD卡、SMC卡MMC卡以及SONY存儲棒??紤]到系統(tǒng)設(shè)計(jì)和使用的便利性,系統(tǒng)采用NAND Flash。
2.6 MP3解碼器、DAC和功放
作為MP3播放器的核心,MP3解碼器負(fù)責(zé)把由微處理器從存儲器中MP3格式數(shù)據(jù)編碼轉(zhuǎn)換成數(shù)字音頻信號發(fā)送給DAC;DAC則把數(shù)字音頻信號轉(zhuǎn)變成模擬信號,最后模擬音頻信號通過耳機(jī)或者功放發(fā)出聲音。
3硬件設(shè)計(jì)
3.1系統(tǒng)工作原理
根據(jù)Flash的讀寫規(guī)則和MP3的解碼協(xié)議,預(yù)先設(shè)置CPLD的邏輯規(guī)則。控制器根據(jù)輸人信息,向CPLD發(fā)出控制命令和傳送數(shù)據(jù)。CPLD根據(jù)接收到的命令按照邏輯規(guī)則讀寫Flash并對MP3設(shè)定內(nèi)部控制寄存器和傳送音頻數(shù)據(jù)。MP3解碼器輸出的模擬信號直接驅(qū)動耳機(jī),若要驅(qū)動大功率揚(yáng)聲器,還需外接功放。其系統(tǒng)硬件電路如圖2所示。
3.2微控制器STC89C58RD+C
STC89C58RD+C是新一代51增強(qiáng)型高性能單片機(jī),具有加密性強(qiáng)、超強(qiáng)抗干擾、超低功耗、在系統(tǒng)可編程、可供應(yīng)內(nèi)部集成MAX810專用復(fù)位電路等特點(diǎn)。
STC89C58RD+C采用MCS51內(nèi)核,與AT89S52引腳兼容。需要注意的是,D型內(nèi)部集成復(fù)位電路,復(fù)位引腳直接接地。擁有32 KB的Flash和16 KB的EEPROM,內(nèi)含1 280字節(jié)SRAM存儲空間。因此,STC89C58RD+C能滿足系統(tǒng)控制要求。
D0~D7與CPLD通信,實(shí)現(xiàn)數(shù)據(jù)傳輸和命令控制,8個(gè)端口需要上拉電阻,阻值為10 kΩ,上拉電阻需要3.3 V電源供電,與CPLD電源匹配。DREQ1(P3.2)與CPLD連接,用來讀取MP3解碼器的忙狀態(tài)。READY(P2.3)與CPLD連接,判斷Flash是否準(zhǔn)備好。WR、RD和ALE連接至CPLD,實(shí)現(xiàn)對Flash的讀寫選擇和時(shí)序控制。
3.3 CPLD電路
CPLD是微控制器、Flash和MP3之間的中介,負(fù)責(zé)邏輯控制和數(shù)據(jù)傳遞。CPLD電路采用Xilinx公司的XC9572-VQ64。XC9572-VQ64具有72個(gè)宏單元、1 600個(gè)可用門電路、52個(gè)I/O端口,具有低至2.5 V供電電源,可在線編程等特性。J1用于ISP下載。晶體振蕩器采用40 MHz。
3.4 MP3解碼器VS1011E及電路設(shè)計(jì)
VS1011E音頻解碼器為VS10xx系列的第三代產(chǎn)品,是單片MP3/WMA/MIDI解碼和ADPCM編碼器。它內(nèi)部集成有高性能、低功耗的DSP處理核(VSDSP),5.5 KB片內(nèi)RAM可供用戶存儲代碼和數(shù)據(jù),串行SPI總線接口,雙聲道高質(zhì)量的采樣頻率可調(diào)的16位DAC。VSl011E工作在12.288 MHz~14 MHz或者24.576 MHz~28 MHz時(shí)鐘范圍,能對MPEG1&2 Laver1、2、3以及MPEG2.5 Layer3格式、WAV格式和PCM格式文件進(jìn)行解碼。
VS1011E的工作流程如圖3所示。VS1011E的工作流程為:首先MP3或者WAV格式音頻文件通過SDI總線進(jìn)入芯片內(nèi)部,并解碼。解碼后,如果SCL_AIADDR!=0,將會執(zhí)行應(yīng)用區(qū)代碼,代碼地址由相應(yīng)的地址寄存器提供。然后,按照SCL_BASS寄存器(SB_AMPLITUDE位和ST_AMPLITUDE位)的設(shè)置,數(shù)據(jù)可能會被送到低音和高音優(yōu)化器進(jìn)行音效處理。此后,數(shù)據(jù)通過音量控制單元,同時(shí)備份到音頻FIFO中。音頻FIFO保持?jǐn)?shù)據(jù),并作為采樣率轉(zhuǎn)換器和DAC的輸入。采樣率轉(zhuǎn)換器將所有不同采樣率轉(zhuǎn)換成CLKI/512,輸送給DAC。DAC按位依次產(chǎn)生立體聲模擬信號,這些信號緊接著送到耳機(jī)功率放大器中。
由于本系統(tǒng)為電梯系統(tǒng),推動大功率揚(yáng)聲器發(fā)聲,需要外置功放。功放采用的是CD4752CZ,該功放具有較大的電壓范圍和抗干擾能力,適合電壓波動大、外界干擾強(qiáng)的電梯工作環(huán)境。
3.5 Flash存儲器
采用Samsung公司的NAND Flash K9F5608作為存儲器。K9F5608擁有32 MB的空間,完全滿足電梯語音系統(tǒng)的要求。
NAND Flash以塊(block)和頁(page)為存儲單元。K9F5608包括2 048塊,每一塊又包括32頁,一頁大小為528字節(jié),依次分為2個(gè)256字節(jié)的數(shù)據(jù)區(qū),最后是16字節(jié)的備用空間。
K9F5608的讀、寫和擦除操作均由命令完成。讀/寫操作是以頁為單位進(jìn)行。擦除操作是以塊為單位,不能字節(jié)擦除,而且在每次改寫操作之前需要先擦除一整塊;每一塊的擦除次數(shù)有限,為10萬次左右,數(shù)據(jù)保存時(shí)間超過10年。典型的讀操作時(shí)間為50 ns/字,寫操作時(shí)間為200 μs/頁,擦除操作時(shí)間為2 ms/塊。
4軟件設(shè)計(jì)
4.1主流程圖
電梯在運(yùn)行過程中,如果無人按鍵,電梯語音系統(tǒng)則自動播報(bào)廣告、天氣預(yù)報(bào)等信息,同時(shí)伴有點(diǎn)陣或液晶顯示。當(dāng)有按鍵按下時(shí),語音系統(tǒng)則會根據(jù)按鍵值調(diào)用相應(yīng)的按鍵語音處理程序。主程序流程圖如圖4所示。
4.2 YS1011E的軟件設(shè)計(jì)
軟件設(shè)計(jì)采用VS1011E音頻解碼器,其控制流程如圖5所示。
控制MP3解碼器時(shí)應(yīng)注意以下幾點(diǎn):
設(shè)置內(nèi)部控制寄存器MODE的參數(shù)。包括支持文件格式、軟啟動設(shè)置、數(shù)據(jù)流模式設(shè)置、DCLK觸發(fā)沿設(shè)置以及SDI數(shù)據(jù)首位設(shè)置;
如果時(shí)鐘速率不是24.576 MHz,則需要設(shè)置SCI_CLOCKF寄存器。若通過改變SCI_CLOCKF倍頻時(shí)鐘,應(yīng)將適當(dāng)?shù)牟蓸铀俾蕦懭薙CI_AUDATA寄存器,等待至少11 000個(gè)時(shí)鐘后才能SPI通訊;
設(shè)置音量寄存器SCI_VOL,0為最大音量,0xFEFE為靜音,0xFFFF觸發(fā)模擬調(diào)電模式;
強(qiáng)化低音和高音,可設(shè)置寄存器SCI_BASS;
使用用戶代碼,SCI_AIADDR置為零;
采用RAM級的用戶代碼,激活SCI_WRAM、SCI_WRAMADDR、SCI_AIADDR裝載數(shù)據(jù)能夠?qū)崿F(xiàn)所需功能。
5 結(jié)束語
本系統(tǒng)已經(jīng)投入市場,音質(zhì)良好、功能穩(wěn)定?;贑PLD和VS1011E解碼器的語音系統(tǒng)如今被應(yīng)用到很多領(lǐng)域,如公共汽車的站名播報(bào)系統(tǒng)等。