基于单晶片CMOS语音合成的ASIC设计
扫描二维码
随时随地手机看文章
引言
近年语音集成电路获得迅速发展,其应范围越越广,自动售货机、ATM柜员机,部直通电话机以及玩具等方面应量语音合成芯片。该芯片部采脉宽调制,数字信号确还原成模拟信号,从而使得电路输出端不需接D/A转换;同时使芯片能够以纯数字电路形式实现,因此以方便地语音合成电路做成专集成电路(ASIC),这样以提电路抗干扰能力,增加该系统工作稳定性,同时降生产成本简化板级电路复杂度。
1、语音合成芯片结构
该语音合成芯片首先语音资料以LOGPCM编码方式存入ROM,语音总长35秒,其分割成4个语音段,2个触发键,以根据不同需求确定该芯片触发方式,每个语音段指定不同播放速度,设定“语音组跳跃功能”现语音段(S1)播放完,接着播放指定语音段,并以进步设定这个指定语音组否需无限循环播放。同样两个触发键选择输入或输出端,音频输出PWM1PWM2 两个输出端,直接驱动喇叭;频率振荡器有两种选择:部调电阻式频率振荡器部频率振荡器。该芯片总体设计框图如图1所示。
2、语音合成芯片工作原理
本语音合成芯片有两个控制信号端:IO1IO2,共有四段语音容,根据设计求IO2优先级别于IO1,通过不同输入播放不同语音段语音信号,而且两个控制信号IO1IO2触发方式都采边缘触发,语音无重触发(段盖段)功能,而且每触发次输出段语音容,循环有序输出各段语音。芯片工作,IO2开始触发则播放第段语音(S1),如果IO2电平时,此时IO1触发无效;当IO2电平时,IO1触发则播放最段语音(S4),假如IO2继续触发,依次循环输出各段语音。
3.语音合成芯片设计
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所示。
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所示。
3.5 存储语音ROM
ROM(只读存储器)由地址译码器、存储矩阵输出缓冲3部分组成;地址译码器ROM输入16位地址码A0、A1……A15译码输出 个输出信号W0、W1……W65535,称字线。每条字线输出分别应个存储单元地址,如W0应0单元地址,W1应1单元地址。利此地址从存储矩阵选出指定单元,并其数据送至输出端。存储矩阵由许基本存储单元排列而成,包含量存储单元,存储单元ASIC设计由MOS管构成,作输入 条字线作输出8条位线(D0~D7)组成阵列。每条字线位线交叉点都个存储单元,存放位二进制值0或1。每个或组存储单元应个地址[4]。
4功能仿真及分析
从实际应成本角度考虑,拟订0.5um硅栅工艺进行流片,按照nMOS管宽长比14:1,pMOS管宽长比14:1比例设置(有些地方需作适当调整),以各个模块进行连接,QuartusII进行功能仿真,仿真出波形如图5所示:其clk_div256分频电路输出信号,最终输出结果2路音频信号PWM1、PWM2,flag0语音播放完标志信号,flag1当有语音信号播放时电平,播放断送出“0”信号,D[7..0]则ROM所存语音资料, IO1“1”时则立即播放最段语音信号,当IO2“1”时,则依次播放第至第三段语音;sig[1..0]语音段,“1”时则说明播放第至第三段某段,当“2”时,则播放最段语音,实现IO2依次播放第至第三段语音,采倍乘,当有第次IO2“1”时,倍乘mul[1..0]输出“0”,以此类推,当有第四次IO2“1”时,mul[1..0]重新清零。
5结束语
本文作创新点: 本文所研究语音合成芯片利种优化方式,设计语音合成芯片部电路更加简化,而且性能更加稳定。同时脉冲宽度调制(PWM)语音信号调制解调行性进行论证,并且FPGA硬验证方式证明利PWM技术实现全数字语音合成输出行,从而使该语音合成芯片以全数字形式实现。