基于CPLD和VS1011E解碼器的電梯語音系統
3.5 Flash存儲器
采用Samsung公司的NAND Flash K9F5608作為存儲器。K9F5608擁有32 MB的空間,完全滿足電梯語音系統的要求。
NAND Flash以塊(block)和頁(page)為存儲單元。K9F5608包括2 048塊,每一塊又包括32頁,一頁大小為528字節,依次分為2個256字節的數據區,最后是16字節的備用空間。
K9F5608的讀、寫和擦除操作均由命令完成。讀/寫操作是以頁為單位進行。擦除操作是以塊為單位,不能字節擦除,而且在每次改寫操作之前需要先擦除一整塊;每一塊的擦除次數有限,為10萬次左右,數據保存時間超過10年。典型的讀操作時間為50 ns/字,寫操作時間為200 μs/頁,擦除操作時間為2 ms/塊。
4軟件設計
4.1主流程圖
電梯在運行過程中,如果無人按鍵,電梯語音系統則自動播報廣告、天氣預報等信息,同時伴有點陣或液晶顯示。當有按鍵按下時,語音系統則會根據按鍵值調用相應的按鍵語音處理程序。主程序流程圖如圖4所示。
4.2 YS1011E的軟件設計
軟件設計采用VS1011E音頻解碼器,其控制流程如圖5所示。
控制MP3解碼器時應注意以下幾點:
設置內部控制寄存器MODE的參數。包括支持文件格式、軟啟動設置、數據流模式設置、DCLK觸發沿設置以及SDI數據首位設置;
如果時鐘速率不是24.576 MHz,則需要設置SCI_CLOCKF寄存器。若通過改變SCI_CLOCKF倍頻時鐘,應將適當的采樣速率寫人SCI_AUDATA寄存器,等待至少11 000個時鐘后才能SPI通訊;
設置音量寄存器SCI_VOL,0為最大音量,0xFEFE為靜音,0xFFFF觸發模擬調電模式;
強化低音和高音,可設置寄存器SCI_BASS;
使用用戶代碼,SCI_AIADDR置為零;
采用RAM級的用戶代碼,激活SCI_WRAM、SCI_WRAMADDR、SCI_AIADDR裝載數據能夠實現所需功能。
5 結束語
本系統已經投入市場,音質良好、功能穩定。基于CPLD和VS1011E解碼器的語音系統如今被應用到很多領域,如公共汽車的站名播報系統等。
評論