基于單晶片CMOS語音合成的ASIC設計
3.語音合成芯片設計本文引用地址:http://butianyuan.cn/article/166745.htm
3.1 時序產(chǎn)生電路
這部分電路給整個語音合成芯片提供時鐘信號,該語音合成芯片只包括個時鐘,就播放速度。芯片以LOGPCM編碼方式所存儲語音信息8位,采PWM進行調制,就需至少28倍PWM數(shù)據(jù)讀頻率進行調制,使得PWM信號輸出占空比能實現(xiàn)256級。語音信號以8KHz采樣頻率,因此以8K×256=2M時鐘頻率進行調制,從而實現(xiàn)芯片常播放。ASIC設計,達2MHz時鐘頻率,采環(huán)行振蕩器,該電路3個CMOS反向器,1個電容個片電阻,調節(jié)片電阻以產(chǎn)生不同頻率振蕩信號,因此以通過改變部電阻值實現(xiàn)不同播放速度。同時芯片部二分頻電路串聯(lián)實現(xiàn)28分頻。
3.2 輸入信號控制模塊電路
輸入信號控制模塊輸入信號IO1IO2ROM地址進行端控制,確定播放語音段,該芯片設計ROM有16根地址,8根數(shù)據(jù)線,語音分割成四段,每段語音占據(jù)4000H個地址單元,第段語音存儲地址范圍從0~3FFFH,第二段語音存儲地址范圍從4000H~7FFFH,第三段語音存儲地址范圍從8000H~BFFFH,第四段語音存儲地址范圍從C000H~FFFFH。該電路設計,避免些狀態(tài)誤動作,故輸入信號IO2、IO1進行兩級寄存,首先檢測IO2升沿,當IO2升沿,signal輸出端口先輸出“00”信號(signal輸出端就級模塊:地址輸出模塊信號控制輸入端);使得每檢測次IO2升沿,就讓個2位計數(shù)器加1,IO2經(jīng)過寄存器,再次檢測升沿,signal輸出“01”信號。然啟動地址輸出模塊,當IO1升沿,首先判斷IO2否電平,只有IO2電平狀態(tài),IO1才能動作,工作方式IO2樣;否則IO1無效。電路原理圖如圖2所示。
基于單晶片CMOS語音合成ASIC設計" src="http://img.kanwenzhang.com/images/t2/200907/20090705030558750.jpg" width="555" />
3.3 ROM地址輸出模塊
ROM地址輸出模塊接收級輸入信號控制模塊控制信號,根據(jù)不同控制信號,輸出不同地址信號讀ROM數(shù)據(jù),ROM有16根地址線,因此ROM地址輸出模塊設計16位加法計數(shù)器,首先設計個2位加法計數(shù)器,再由兩個2位加法計數(shù)器構成個四位加法計數(shù)器,然由3個四位加法計數(shù)器構成個12位加法計數(shù)器,最由12位加法計數(shù)器個2位加法計數(shù)器構成14位加法計數(shù)器,14位加法計數(shù)器剛好能從0計數(shù)3FFFH,就第段語音存儲地址范圍,其各段語音存儲開始地址相當于3FFFH相應倍數(shù)加1,因此采倍乘,其計算:DOUT=C+MUL×(D+1),其DOUT表示輸出ROM地址;C表示14位加法計數(shù)器;MUL表示播放該語音段號減1;D常數(shù)3FFFH。電路原理圖如圖3所示。
3.4 脈沖寬度調制(PWM)模塊
該模塊存儲ROM數(shù)據(jù)進行解碼,解碼音頻信號直接由喇叭進行輸出,其就:連續(xù)調制信號各瞬時值脈沖載波持續(xù)時間進行調制。實際就數(shù)字信號轉化成模擬信號,從而使聲音還原[2]。已調脈沖信號寬度隨調制信號瞬時值而,當脈沖幅度不變時,調制信號完全由脈沖寬度表示,信號傳輸,使信號幅度失真干擾得解決,以限幅加以消除。由于語音信號采樣頻率8KHz,使得輸出信號占空比256級,則8位計數(shù)器實現(xiàn)0256計數(shù),讓輸出信號“1”時間維持相應數(shù)據(jù)長度。而數(shù)據(jù)讀入系統(tǒng)調制時鐘(2MHz)降沿臨時開始動作,且當8位計數(shù)器“0”時開始讀入數(shù)據(jù)。因此時個PWM調制完成,而個調制周期還沒開始時隙,只有這個時隙開始讀入數(shù)據(jù)才能不影響PWM調制[3]。最讀入數(shù)據(jù)當8位計數(shù)器計數(shù)值進行比較,假如計數(shù)值于當讀入數(shù)據(jù)值,則端口1(PWM1)輸出電平“1”,否則輸出電平“0”,這樣讓輸出信號占空比根據(jù)輸入LOGPCM數(shù)據(jù)而發(fā)生,從而實現(xiàn)語音輸出功能。電路原理圖如圖4所示。
評論