《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于CPLD和VS1011E解碼器的電梯語(yǔ)音系統(tǒng)
基于CPLD和VS1011E解碼器的電梯語(yǔ)音系統(tǒng)
EEworld
EEworld
摘要: 語(yǔ)音系統(tǒng)是電梯不可缺少的部分,用于樓層報(bào)數(shù)、方向提示、報(bào)警告示、消防對(duì)講以及廣告宣傳等。傳統(tǒng)語(yǔ)音系統(tǒng)絕大多數(shù)采用語(yǔ)音器存儲(chǔ)和播放語(yǔ)音,但存在比如外電路復(fù)雜、音質(zhì)差、成本高、容量小以及語(yǔ)音不易更改等缺陷。鑒于此,設(shè)計(jì)了一款基于CPLD和VS1011E解碼器的電梯語(yǔ)音系統(tǒng)。
Abstract:
Key words :

1 引言

    語(yǔ)音系統(tǒng)是電梯不可缺少的部分,用于樓層報(bào)數(shù)、方向提示、報(bào)警告示、消防對(duì)講以及廣告宣傳等。傳統(tǒng)語(yǔ)音系統(tǒng)絕大多數(shù)采用語(yǔ)音器存儲(chǔ)和播放語(yǔ)音,但存在比如外電路復(fù)雜、音質(zhì)差、成本高、容量小以及語(yǔ)音不易更改等缺陷。鑒于此,設(shè)計(jì)了一款基于CPLDVS1011E解碼器的電梯語(yǔ)音系統(tǒng)。

2 系統(tǒng)概述

    電梯控制系統(tǒng)的基本功能是根據(jù)用戶的樓層按鍵信息,顯示樓層數(shù)字,播報(bào)到達(dá)樓層語(yǔ)音。電梯語(yǔ)音系統(tǒng)框圖如圖1所示。

 

2.1信息輸入

    輸入信息分為兩部分,一是用戶通過(guò)按鍵向系統(tǒng)發(fā)出樓層請(qǐng)求,二是電梯控制系統(tǒng)根據(jù)樓層到達(dá)或者取消發(fā)出的通知。

2.2處理器

    根據(jù)用戶信息和控制系統(tǒng)信息控制樓層系統(tǒng),控制分為顯示樓層和語(yǔ)音報(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ū)動(dòng)顯示模塊工作,還要對(duì)擴(kuò)展的存儲(chǔ)器進(jìn)行讀寫(xiě)操作,并將存儲(chǔ)器的語(yǔ)音數(shù)據(jù)送到MP3解碼器解碼。這些都對(duì)處理器提出很大挑戰(zhàn),如果處理器性能低則可能導(dǎo)致整個(gè)系統(tǒng)工作紊亂,因此,必須對(duì)處理器進(jìn)行"減負(fù)"。

    基于上述考慮,本系統(tǒng)使用CPLD。對(duì)于MP3解碼器的控制,處理器只負(fù)責(zé)發(fā)送控制命令,而具體操作是由CPLD完成。這樣就大大提高了系統(tǒng)的速度和可靠性。

2.5存儲(chǔ)器

    用于存儲(chǔ)大量語(yǔ)音數(shù)據(jù)。市場(chǎng)上MP3播放器的存儲(chǔ)器類型有3種:磁性存儲(chǔ)器(2.5英寸硬盤(pán))、光學(xué)存儲(chǔ)器(CD-ROM和DVD)和Flash。其中Flash存儲(chǔ)器還可以分為NAND Flash、CF卡、SD卡、SMC卡MMC卡以及SONY存儲(chǔ)棒??紤]到系統(tǒng)設(shè)計(jì)和使用的便利性,系統(tǒng)采用NAND Flash。

2.6 MP3解碼器、DAC和功放

    作為MP3播放器的核心,MP3解碼器負(fù)責(zé)把由微處理器從存儲(chǔ)器中MP3格式數(shù)據(jù)編碼轉(zhuǎn)換成數(shù)字音頻信號(hào)發(fā)送給DAC;DAC則把數(shù)字音頻信號(hào)轉(zhuǎn)變成模擬信號(hào),最后模擬音頻信號(hào)通過(guò)耳機(jī)或者功放發(fā)出聲音。

3硬件設(shè)計(jì)

3.1系統(tǒng)工作原理

    根據(jù)Flash的讀寫(xiě)規(guī)則和MP3的解碼協(xié)議,預(yù)先設(shè)置CPLD的邏輯規(guī)則??刂破鞲鶕?jù)輸人信息,向CPLD發(fā)出控制命令和傳送數(shù)據(jù)。CPLD根據(jù)接收到的命令按照邏輯規(guī)則讀寫(xiě)Flash并對(duì)MP3設(shè)定內(nèi)部控制寄存器和傳送音頻數(shù)據(jù)。MP3解碼器輸出的模擬信號(hào)直接驅(qū)動(dòng)耳機(jī),若要驅(qū)動(dòng)大功率揚(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存儲(chǔ)空間。因此,STC89C58RD+C能滿足系統(tǒng)控制要求。

    D0~D7與CPLD通信,實(shí)現(xiàn)數(shù)據(jù)傳輸和命令控制,8個(gè)端口需要上拉電阻,阻值為10 kΩ,上拉電阻需要3.3 V電源供電,與CPLD電源匹配。DREQ1(P3.2)與CPLD連接,用來(lái)讀取MP3解碼器的忙狀態(tài)。READY(P2.3)與CPLD連接,判斷Flash是否準(zhǔn)備好。WR、RD和ALE連接至CPLD,實(shí)現(xiàn)對(duì)Flash的讀寫(xiě)選擇和時(shí)序控制。

3.3 CPLD電路

    CPLD是微控制器、Flash和MP3之間的中介,負(fù)責(zé)邏輯控制和數(shù)據(jù)傳遞。CPLD電路采用Xilinx公司的XC9572-VQ64。XC9572-VQ64具有72個(gè)宏單元、1 600個(gè)可用門(mén)電路、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可供用戶存儲(chǔ)代碼和數(shù)據(jù),串行SPI總線接口,雙聲道高質(zhì)量的采樣頻率可調(diào)的16位DAC。VSl011E工作在12.288 MHz~14 MHz或者24.576 MHz~28 MHz時(shí)鐘范圍,能對(duì)MPEG1&2 Laver1、2、3以及MPEG2.5 Layer3格式、WAV格式和PCM格式文件進(jìn)行解碼。

    VS1011E的工作流程如圖3所示。VS1011E的工作流程為:首先MP3或者WAV格式音頻文件通過(guò)SDI總線進(jìn)入芯片內(nèi)部,并解碼。解碼后,如果SCL_AIADDR!=0,將會(huì)執(zhí)行應(yīng)用區(qū)代碼,代碼地址由相應(yīng)的地址寄存器提供。然后,按照SCL_BASS寄存器(SB_AMPLITUDE位和ST_AMPLITUDE位)的設(shè)置,數(shù)據(jù)可能會(huì)被送到低音和高音優(yōu)化器進(jìn)行音效處理。此后,數(shù)據(jù)通過(guò)音量控制單元,同時(shí)備份到音頻FIFO中。音頻FIFO保持?jǐn)?shù)據(jù),并作為采樣率轉(zhuǎn)換器和DAC的輸入。采樣率轉(zhuǎn)換器將所有不同采樣率轉(zhuǎn)換成CLKI/512,輸送給DAC。DAC按位依次產(chǎn)生立體聲模擬信號(hào),這些信號(hào)緊接著送到耳機(jī)功率放大器中。

    由于本系統(tǒng)為電梯系統(tǒng),推動(dòng)大功率揚(yáng)聲器發(fā)聲,需要外置功放。功放采用的是CD4752CZ,該功放具有較大的電壓范圍和抗干擾能力,適合電壓波動(dòng)大、外界干擾強(qiáng)的電梯工作環(huán)境。

關(guān)鍵字:CPLD VS1011E 寄存器

 

3.5 Flash存儲(chǔ)器

    采用Samsung公司的NAND Flash K9F5608作為存儲(chǔ)器。K9F5608擁有32 MB的空間,完全滿足電梯語(yǔ)音系統(tǒng)的要求。

    NAND Flash以塊(block)和頁(yè)(page)為存儲(chǔ)單元。K9F5608包括2 048塊,每一塊又包括32頁(yè),一頁(yè)大小為528字節(jié),依次分為2個(gè)256字節(jié)的數(shù)據(jù)區(qū),最后是16字節(jié)的備用空間。

    K9F5608的讀、寫(xiě)和擦除操作均由命令完成。讀/寫(xiě)操作是以頁(yè)為單位進(jìn)行。擦除操作是以塊為單位,不能字節(jié)擦除,而且在每次改寫(xiě)操作之前需要先擦除一整塊;每一塊的擦除次數(shù)有限,為10萬(wàn)次左右,數(shù)據(jù)保存時(shí)間超過(guò)10年。典型的讀操作時(shí)間為50 ns/字,寫(xiě)操作時(shí)間為200 μs/頁(yè),擦除操作時(shí)間為2 ms/塊。

 

4軟件設(shè)計(jì)

4.1主流程圖

    電梯在運(yùn)行過(guò)程中,如果無(wú)人按鍵,電梯語(yǔ)音系統(tǒng)則自動(dòng)播報(bào)廣告、天氣預(yù)報(bào)等信息,同時(shí)伴有點(diǎn)陣或液晶顯示。當(dāng)有按鍵按下時(shí),語(yǔ)音系統(tǒng)則會(huì)根據(jù)按鍵值調(diào)用相應(yīng)的按鍵語(yǔ)音處理程序。主程序流程圖如圖4所示。

 

4.2 YS1011E的軟件設(shè)計(jì)

    軟件設(shè)計(jì)采用VS1011E音頻解碼器,其控制流程如圖5所示。

 

    控制MP3解碼器時(shí)應(yīng)注意以下幾點(diǎn):

    設(shè)置內(nèi)部控制寄存器MODE的參數(shù)。包括支持文件格式、軟啟動(dòng)設(shè)置、數(shù)據(jù)流模式設(shè)置、DCLK觸發(fā)沿設(shè)置以及SDI數(shù)據(jù)首位設(shè)置;

    如果時(shí)鐘速率不是24.576 MHz,則需要設(shè)置SCI_CLOCKF寄存器。若通過(guò)改變SCI_CLOCKF倍頻時(shí)鐘,應(yīng)將適當(dāng)?shù)牟蓸铀俾蕦?xiě)人SCI_AUDATA寄存器,等待至少11 000個(gè)時(shí)鐘后才能SPI通訊;

    設(shè)置音量寄存器SCI_VOL,0為最大音量,0xFEFE為靜音,0xFFFF觸發(fā)模擬調(diào)電模式;

    強(qiáng)化低音和高音,可設(shè)置寄存器SCI_BASS;

    使用用戶代碼,SCI_AIADDR置為零;

    采用RAM級(jí)的用戶代碼,激活SCI_WRAM、SCI_WRAMADDR、SCI_AIADDR裝載數(shù)據(jù)能夠?qū)崿F(xiàn)所需功能。

5 結(jié)束語(yǔ)

    本系統(tǒng)已經(jīng)投入市場(chǎng),音質(zhì)良好、功能穩(wěn)定。基于CPLD和VS1011E解碼器的語(yǔ)音系統(tǒng)如今被應(yīng)用到很多領(lǐng)域,如公共汽車的站名播報(bào)系統(tǒng)等。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。