基于CPLD和VS1011E解碼器的電梯語音系統(tǒng)
3.5 Flash存儲(chǔ)器
采用Samsung公司的NAND Flash K9F5608作為存儲(chǔ)器。K9F5608擁有32 MB的空間,完全滿足電梯語音系統(tǒng)的要求。
NAND Flash以塊(block)和頁(page)為存儲(chǔ)單元。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)則自動(dòng)播報(bào)廣告、天氣預(yù)報(bào)等信息,同時(shí)伴有點(diǎn)陣或液晶顯示。當(dāng)有按鍵按下時(shí),語音系統(tǒng)則會(huì)根據(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ù)。包括支持文件格式、軟啟動(dòng)設(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級(jí)的用戶代碼,激活SCI_WRAM、SCI_WRAMADDR、SCI_AIADDR裝載數(shù)據(jù)能夠?qū)崿F(xiàn)所需功能。
5 結(jié)束語
本系統(tǒng)已經(jīng)投入市場,音質(zhì)良好、功能穩(wěn)定。基于CPLD和VS1011E解碼器的語音系統(tǒng)如今被應(yīng)用到很多領(lǐng)域,如公共汽車的站名播報(bào)系統(tǒng)等。
評(píng)論