基于單晶片CMOS語音合成的ASIC設(shè)計(jì)
引言
近年語音集成電路獲得迅速發(fā)展,其應(yīng)范圍越越廣,自動(dòng)售貨機(jī)、ATM柜員機(jī),部直通電話機(jī)以及玩具等方面應(yīng)量語音合成芯片。該芯片部采脈寬調(diào)制,數(shù)字信號確還原成模擬信號,從而使得電路輸出端不需接D/A轉(zhuǎn)換;同時(shí)使芯片能夠以純數(shù)字電路形式實(shí)現(xiàn),因此以方便地語音合成電路做成專集成電路(ASIC),這樣以提電路抗干擾能力,增加該系統(tǒng)工作穩(wěn)定性,同時(shí)降生產(chǎn)成本簡化板級電路復(fù)雜度。
1、語音合成芯片結(jié)構(gòu)
該語音合成芯片首先語音資料以LOGPCM編碼方式存入ROM,語音總長35秒,其分割成4個(gè)語音段,2個(gè)觸發(fā)鍵,以根據(jù)不同需求確定該芯片觸發(fā)方式,每個(gè)語音段指定不同播放速度,設(shè)定“語音組跳躍功能”現(xiàn)語音段(S1)播放完,接著播放指定語音段,并以進(jìn)步設(shè)定這個(gè)指定語音組否需無限循環(huán)播放。同樣兩個(gè)觸發(fā)鍵選擇輸入或輸出端,音頻輸出PWM1PWM2 兩個(gè)輸出端,直接驅(qū)動(dòng)喇叭;頻率振蕩器有兩種選擇:部調(diào)電阻式頻率振蕩器部頻率振蕩器。該芯片總體設(shè)計(jì)框圖如圖1所示。
2、語音合成芯片工作原理
本語音合成芯片有兩個(gè)控制信號端:IO1IO2,共有四段語音容,根據(jù)設(shè)計(jì)求IO2優(yōu)先級別于IO1,通過不同輸入播放不同語音段語音信號,而且兩個(gè)控制信號IO1IO2觸發(fā)方式都采邊緣觸發(fā),語音無重觸發(fā)(段蓋段)功能,而且每觸發(fā)次輸出段語音容,循環(huán)有序輸出各段語音。芯片工作,IO2開始觸發(fā)則播放第段語音(S1),如果IO2電平時(shí),此時(shí)IO1觸發(fā)無效;當(dāng)IO2電平時(shí),IO1觸發(fā)則播放最段語音(S4),假如IO2繼續(xù)觸發(fā),依次循環(huán)輸出各段語音。
3.語音合成芯片設(shè)計(jì)
3.1 時(shí)序產(chǎn)生電路
這部分電路給整個(gè)語音合成芯片提供時(shí)鐘信號,該語音合成芯片只包括個(gè)時(shí)鐘,就播放速度。芯片以LOGPCM編碼方式所存儲語音信息8位,采PWM進(jìn)行調(diào)制,就需至少28倍PWM數(shù)據(jù)讀頻率進(jìn)行調(diào)制,使得PWM信號輸出占空比能實(shí)現(xiàn)256級。語音信號以8KHz采樣頻率,因此以8K×256=2M時(shí)鐘頻率進(jìn)行調(diào)制,從而實(shí)現(xiàn)芯片常播放。ASIC設(shè)計(jì),達(dá)2MHz時(shí)鐘頻率,采環(huán)行振蕩器,該電路3個(gè)CMOS反向器,1個(gè)電容個(gè)片電阻,調(diào)節(jié)片電阻以產(chǎn)生不同頻率振蕩信號,因此以通過改變部電阻值實(shí)現(xiàn)不同播放速度。同時(shí)芯片部二分頻電路串聯(lián)實(shí)現(xiàn)28分頻。
3.2 輸入信號控制模塊電路
輸入信號控制模塊輸入信號IO1IO2ROM地址進(jìn)行端控制,確定播放語音段,該芯片設(shè)計(jì)ROM有16根地址,8根數(shù)據(jù)線,語音分割成四段,每段語音占據(jù)4000H個(gè)地址單元,第段語音存儲地址范圍從0~3FFFH,第二段語音存儲地址范圍從4000H~7FFFH,第三段語音存儲地址范圍從8000H~BFFFH,第四段語音存儲地址范圍從C000H~FFFFH。該電路設(shè)計(jì),避免些狀態(tài)誤動(dòng)作,故輸入信號IO2、IO1進(jìn)行兩級寄存,首先檢測IO2升沿,當(dāng)IO2升沿,signal輸出端口先輸出“00”信號(signal輸出端就級模塊:地址輸出模塊信號控制輸入端);使得每檢測次IO2升沿,就讓個(gè)2位計(jì)數(shù)器加1,IO2經(jīng)過寄存器,再次檢測升沿,signal輸出“01”信號。然啟動(dòng)地址輸出模塊,當(dāng)IO1升沿,首先判斷IO2否電平,只有IO2電平狀態(tài),IO1才能動(dòng)作,工作方式IO2樣;否則IO1無效。電路原理圖如圖2所示。
3.3 ROM地址輸出模塊
ROM地址輸出模塊接收級輸入信號控制模塊控制信號,根據(jù)不同控制信號,輸出不同地址信號讀ROM數(shù)據(jù),ROM有16根地址線,因此ROM地址輸出模塊設(shè)計(jì)16位加法計(jì)數(shù)器,首先設(shè)計(jì)個(gè)2位加法計(jì)數(shù)器,再由兩個(gè)2位加法計(jì)數(shù)器構(gòu)成個(gè)四位加法計(jì)數(shù)器,然由3個(gè)四位加法計(jì)數(shù)器構(gòu)成個(gè)12位加法計(jì)數(shù)器,最由12位加法計(jì)數(shù)器個(gè)2位加法計(jì)數(shù)器構(gòu)成14位加法計(jì)數(shù)器,14位加法計(jì)數(shù)器剛好能從0計(jì)數(shù)3FFFH,就第段語音存儲地址范圍,其各段語音存儲開始地址相當(dāng)于3FFFH相應(yīng)倍數(shù)加1,因此采倍乘,其計(jì)算:DOUT=C+MUL×(D+1),其DOUT表示輸出ROM地址;C表示14位加法計(jì)數(shù)器;MUL表示播放該語音段號減1;D常數(shù)3FFFH。電路原理圖如圖3所示。
3.4 脈沖寬度調(diào)制(PWM)模塊
該模塊存儲ROM數(shù)據(jù)進(jìn)行解碼,解碼音頻信號直接由喇叭進(jìn)行輸出,其就:連續(xù)調(diào)制信號各瞬時(shí)值脈沖載波持續(xù)時(shí)間進(jìn)行調(diào)制。實(shí)際就數(shù)字信號轉(zhuǎn)化成模擬信號,從而使聲音還原[2]。已調(diào)脈沖信號寬度隨調(diào)制信號瞬時(shí)值而,當(dāng)脈沖幅度不變時(shí),調(diào)制信號完全由脈沖寬度表示,信號傳輸,使信號幅度失真干擾得解決,以限幅加以消除。由于語音信號采樣頻率8KHz,使得輸出信號占空比256級,則8位計(jì)數(shù)器實(shí)現(xiàn)0256計(jì)數(shù),讓輸出信號“1”時(shí)間維持相應(yīng)數(shù)據(jù)長度。而數(shù)據(jù)讀入系統(tǒng)調(diào)制時(shí)鐘(2MHz)降沿臨時(shí)開始動(dòng)作,且當(dāng)8位計(jì)數(shù)器“0”時(shí)開始讀入數(shù)據(jù)。因此時(shí)個(gè)PWM調(diào)制完成,而個(gè)調(diào)制周期還沒開始時(shí)隙,只有這個(gè)時(shí)隙開始讀入數(shù)據(jù)才能不影響PWM調(diào)制[3]。最讀入數(shù)據(jù)當(dāng)8位計(jì)數(shù)器計(jì)數(shù)值進(jìn)行比較,假如計(jì)數(shù)值于當(dāng)讀入數(shù)據(jù)值,則端口1(PWM1)輸出電平“1”,否則輸出電平“0”,這樣讓輸出信號占空比根據(jù)輸入LOGPCM數(shù)據(jù)而發(fā)生,從而實(shí)現(xiàn)語音輸出功能。電路原理圖如圖4所示。
3.5 存儲語音ROM
ROM(只讀存儲器)由地址譯碼器、存儲矩陣輸出緩沖3部分組成;地址譯碼器ROM輸入16位地址碼A0、A1……A15譯碼輸出 個(gè)輸出信號W0、W1……W65535,稱字線。每條字線輸出分別應(yīng)個(gè)存儲單元地址,如W0應(yīng)0單元地址,W1應(yīng)1單元地址。利此地址從存儲矩陣選出指定單元,并其數(shù)據(jù)送至輸出端。存儲矩陣由許基本存儲單元排列而成,包含量存儲單元,存儲單元ASIC設(shè)計(jì)由MOS管構(gòu)成,作輸入 條字線作輸出8條位線(D0~D7)組成陣列。每條字線位線交叉點(diǎn)都個(gè)存儲單元,存放位二進(jìn)制值0或1。每個(gè)或組存儲單元應(yīng)個(gè)地址[4]。
4功能仿真及分析
從實(shí)際應(yīng)成本角度考慮,擬訂0.5um硅柵工藝進(jìn)行流片,按照nMOS管寬長比14:1,pMOS管寬長比14:1比例設(shè)置(有些地方需作適當(dāng)調(diào)整),以各個(gè)模塊進(jìn)行連接,QuartusII進(jìn)行功能仿真,仿真出波形如圖5所示:其clk_div256分頻電路輸出信號,最終輸出結(jié)果2路音頻信號PWM1、PWM2,flag0語音播放完標(biāo)志信號,flag1當(dāng)有語音信號播放時(shí)電平,播放斷送出“0”信號,D[7..0]則ROM所存語音資料, IO1“1”時(shí)則立即播放最段語音信號,當(dāng)IO2“1”時(shí),則依次播放第至第三段語音;sig[1..0]語音段,“1”時(shí)則說明播放第至第三段某段,當(dāng)“2”時(shí),則播放最段語音,實(shí)現(xiàn)IO2依次播放第至第三段語音,采倍乘,當(dāng)有第次IO2“1”時(shí),倍乘mul[1..0]輸出“0”,以此類推,當(dāng)有第四次IO2“1”時(shí),mul[1..0]重新清零。
5結(jié)束語
本文作創(chuàng)新點(diǎn): 本文所研究語音合成芯片利種優(yōu)化方式,設(shè)計(jì)語音合成芯片部電路更加簡化,而且性能更加穩(wěn)定。同時(shí)脈沖寬度調(diào)制(PWM)語音信號調(diào)制解調(diào)行性進(jìn)行論證,并且FPGA硬驗(yàn)證方式證明利PWM技術(shù)實(shí)現(xiàn)全數(shù)字語音合成輸出行,從而使該語音合成芯片以全數(shù)字形式實(shí)現(xiàn)。