應用MSP50C30設計電子語(yǔ)音導游機
關(guān)鍵詞:MSP50C30 MELP算法 語(yǔ)音合成 電子導游機
1 概述
隨著(zhù)我國經(jīng)濟的發(fā)展,旅游業(yè)也獲得了長(cháng)足的發(fā)展,節假日外出旅游已成為人們的首選,對大多數零散游客來(lái)說(shuō),希望有一種不受制于人的輔助導游手段,迫切需要一種攜帶方便、存儲容量大且不會(huì )機械磨損的電子語(yǔ)音導游機(簡(jiǎn)稱(chēng)導游機),但目前市場(chǎng)上已在使用的導游機,要私體積大,不便于攜帶;要么容量不夠,放音時(shí)間有限,因此制約了其應用和推廣。要實(shí)現較長(cháng)時(shí)間的數字放音有兩種方式:一是擴大存儲空間,但無(wú)限擴大存儲空間必增加系統成本,二是采用語(yǔ)音壓縮方法來(lái)降低數據量。其于上述兩種方法,筆者選用了TI公司新近推出的語(yǔ)音合成芯片MSP50C30并采和MELP語(yǔ)音壓縮算法,通過(guò)外接64M位存儲器對語(yǔ)音信號進(jìn)行了壓縮存儲和合成。經(jīng)過(guò)這樣處理合成后的語(yǔ)音音質(zhì)良好,放音時(shí)間可長(cháng)達6小時(shí)左右,且該機體積很小,較好地解決了上面所提到的問(wèn)題。
2 MSP50C30的結構特點(diǎn)
MSP50C30是TI公司1998年推出的一款功能強大的語(yǔ)音合成芯片,其內部集成了8位微處理器、雙通道語(yǔ)音合成器、RAM、ROM、I/O端口等功能模塊。其中微處理器利用其專(zhuān)用的61條指令可完成數字運算、邏輯功能和控制功能;語(yǔ)音合成器則利用其內部集成的12階格型濾波器,采用LPC壓縮算法來(lái)合成高質(zhì)量的語(yǔ)音。在進(jìn)行語(yǔ)音合成時(shí),微處理器從內部RAM或外部ROM中讀取語(yǔ)音數據進(jìn)行譯碼,然后將譯碼后的語(yǔ)音數據送到語(yǔ)音合成器,語(yǔ)音合成器對譯碼數據進(jìn)行插值計算并合成語(yǔ)音,再通過(guò)D/A變換后送到功放直接驅動(dòng)揚聲器發(fā)聲。
表1 MSP50C30引腳說(shuō)明
管 腳 名 稱(chēng) | 管 腳 說(shuō) 明 |
DAC+ | D/A輸出 |
DAC- | D/A輸出 |
ID0ID7 | 數據輸入端口 |
INIT | 初始化輸入(復位) |
OSC IN | 時(shí)鐘輸入,使用內部時(shí)鐘接地 |
OSC OUT | 時(shí)鐘返回,使用內部時(shí)鐘時(shí),作用PBI的I/O口 |
OA0OA22 | 23位外部存儲器地址線(xiàn)64M bit |
PA0PA7 | 8位雙向I/O口 |
PB0PB7 | 8位雙向I/O口 |
PC0PC7 | 8位雙向I/O口 |
PD0PD3 | 4位雙向I/O口 |
VDD | 5V電壓輸入 |
VSS | 地 |

MSP50C30引腳圖如圖1所示,管腳說(shuō)明如表1所列。MSP50C30的主要特點(diǎn)如下:
●帶有雙通道可編程LPC-12語(yǔ)音合成器,可實(shí)現立體聲效果;
●內含8位微處理器,每秒可執行1.2M條指令;
●有61條指令,并具有單周期的乘法指令;
●具有ROM接口,23根地址線(xiàn)可尋址8M字節;
●帶有28個(gè)軟件可編程雙向I/O口;
●具有內嵌和外接兩種靈活的時(shí)鐘方式;
●內嵌D/A,共有2種輸出方式;
●含7級堆棧,具有外部控制的中斷功能;
●可支持10kHz或8kHz語(yǔ)音采樣速率;
●可用軟件配置進(jìn)入低功耗睡眠狀態(tài);
●支持LPC、MELP、CELP、FM、PCM等多種壓縮算法。
MSP50C30與同步芯片相比,其最大優(yōu)點(diǎn)在于具有豐富的I/O接口和高達64M位的外部尋址能力,是長(cháng)時(shí)間放音系統的理想選擇。
3 硬件電路設計
筆者設計的語(yǔ)音導游機的硬件原理圖如圖2所示。該系統以MSP50C30為核心,外接存儲電路、鍵盤(pán)接口電路、顯示電路、功放電路和DC-DC變換電路,其中MSP50C30完成語(yǔ)音的合成與控制功能。存儲器選用INTEL公司生產(chǎn)的64M位FLASH ROM 28F640J5,其地址線(xiàn)和數據分別與MSP50C30的地址線(xiàn)(A0~A22)和數據線(xiàn)(ID0~ID7)直接相連,語(yǔ)音數據已事先經(jīng)TI公司提供的專(zhuān)用軟件進(jìn)行壓縮,并通過(guò)編程器燒錄至FLASH ROM中。為便于數據更換,電路中還設計了存儲器和編程器的接口,因此可通過(guò)編程并關(guān)的切換將28F640J5與語(yǔ)音合成電路分離,從而可方便的實(shí)現語(yǔ)音數據的更換。該導游機的鍵盤(pán)采用44矩陣式鍵盤(pán),共設16個(gè)按鍵,其中數字鍵10個(gè)(0~9),用來(lái)實(shí)現數字選??;6個(gè)功能鍵用來(lái)實(shí)現播放、暫停、快進(jìn)、快退等功能。鍵盤(pán)矩陣與MSP50C30端口PA0~PA7相接,系統通過(guò)鍵值掃描程序讀取按鍵狀態(tài)。液晶顯示采用3位LCD數碼顯示器;ED-S812并用MSP50C30的PB0~PB7作為控制數碼顯示的I/O口,其驅動(dòng)芯片采用MC14543來(lái)實(shí)現BCD譯碼,交流驅動(dòng)方波(80Hz~100Hz)通過(guò)74HC14振蕩電路產(chǎn)生。
為便于導游機的攜帶,系統采用兩節5#電池供電,由于系統需5V電源,故需設計DC-DC變換電路。設計時(shí),選用了MAXIM公司MAX756,該器件的輸入電壓可低至0.7V,通過(guò)管腳2的選擇可輸出3V和5V兩種電壓。
當系統復位后,MSP50C30啟動(dòng)鍵值掃描程序,以使其從PA口讀取所按鍵值,并通過(guò)PB口將鍵值送出,經(jīng)過(guò)MC14543譯碼,可在液晶顯示器上顯示相應的數字。然后MSP50C30通過(guò)內部程序查表,送給語(yǔ)音合成器,合成后的語(yǔ)音從DAC+和DAC-腳送出,通過(guò)外部功放電路驅動(dòng)揚聲器發(fā)聲。系統所需時(shí)鐘由內部晶振提供。
4 軟件電路設計
4.1 語(yǔ)音合成程序設計
MSP50C30采用MELP算法來(lái)合成語(yǔ)音,它是LPC的改進(jìn)算法,其優(yōu)點(diǎn)在于:MELP算法不需要專(zhuān)業(yè)的修音設備,語(yǔ)音數據由專(zhuān)用的壓縮軟件來(lái)完成,而且合成后的語(yǔ)音音質(zhì)良好。對于語(yǔ)音實(shí)時(shí)存儲系統來(lái)說(shuō),它是一種理想的壓縮算法。MELP算法的幀格式與LPC幀格式近似,只是在濁音幀中引入了基音抖動(dòng)參數和清濁強度參數來(lái)對濁音幀的基音周期進(jìn)行修正。若每幀以20ms計算,則MELP算法最大壓縮率為6250=3100bit/s(每幀被量化為62bit)。由于采用了變速率編碼方式,從而使平均壓縮率變得更低。另外,用戶(hù)還可根據自己對話(huà)音質(zhì)量的要求,按照自己的算法自行設計幀格式以產(chǎn)生更好的音質(zhì)。語(yǔ)音合成子程序的流程圖如圖3所示。
4.2 語(yǔ)音控制軟件設計
語(yǔ)音控制軟件主要用于完成以下功能:(1)檢測按鍵次數,并計算相應的鍵值;(2)在液晶顯示器上顯示鍵值;(3)根據計算所得鍵值,選取相應的語(yǔ)音段,從外部28F640J5中讀取數據傳送給MSP50C30,同時(shí)提供給語(yǔ)音成子程序合成語(yǔ)音;(4)在語(yǔ)音合成過(guò)程中,檢測功能鍵是否按下,若按下,執行相應的功能鍵控制子程序。語(yǔ)音控制軟件流程圖如圖4所示。
鍵盤(pán)掃描采用線(xiàn)反轉法,其實(shí)現方法是:首先將行線(xiàn)編程為輸出線(xiàn),列線(xiàn)編程為輸入線(xiàn),使輸出全部為零電平,則列線(xiàn)中電平由高變低的即為按鍵所在的列;然后將行線(xiàn)編程為輸入線(xiàn),列線(xiàn)編程為輸出線(xiàn),使輸出全為零電平,則行線(xiàn)中電平由高變低的即為按鍵所在的行;這樣便可確定鍵值。在鍵值掃描子程序中通過(guò)軟件延時(shí)10ms,是為了消除按鍵所帶來(lái)的抖動(dòng),以避免產(chǎn)生誤判。鍵值檢測子程序流程圖如圖5所示。
在鍵值掃描的同時(shí)對所按數字鍵進(jìn)行顯示的流程如圖6所示。
5 結束語(yǔ)
本文所介紹的整機電路設計簡(jiǎn)單、性能可靠,所有器件均采用貼片元件,體積小,攜帶方便。經(jīng)過(guò)聽(tīng)力測試表明:整機具有良好的語(yǔ)音質(zhì)量,合成語(yǔ)音保持了較高的清晰度、可懂度及自然度。
評論