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