专利名称:一种语音pwm输出的系统的制作方法
技术领域:
本发明涉及SOC集成电路设计领域及语音合成的输出技术领域,主要是一种语音PWM输出的系统。
背景技术:
语音合成技术已经广泛应用于各个领域,合成语音的输出方式常用的方法是权电流D/A方式。由于权电流D/A方式在集成电路制造中电阻离散型很大,其精度很难控制,且功耗高,于是不少学者提出了采用纯数字的脉冲宽度调制(PWM)方式来实现合成语音输出,该方法在MCU和嵌入式SOC中广泛采用。在现有的MCU和嵌入式SOC中,通常采用通用PWM输出,外接扬声器(低通滤波器) 来实现语音输出。该PWM内嵌在芯片中,外部软件配置PWM的周期和占空比,实现下一周期PWM波形的输出。在实际语音输出中,该PWM的周期和占空比会很频繁的发生变化,因此,整个语音输出的过程,软件要不断的配置PWM的周期和占空比寄存器,CPU会被长时占用或切换,给应用程序的开发也带来麻烦。
发明内容
本发明的目的是克服上述技术的不足,而提供一种语音PWM输出的系统,本发明采用DMA的方式来自动更新占空比寄存器,不需要软件干预,只要配置启动语音PWM,在语音PWM输出过程中,CPU都可以被其它事件占用,系统效率大大提高。本发明采用的技术方案这种语音PWM输出的系统,该系统是SOC集成电路的一个子模块,通过总线与SOC系统连接。该语音PWM输出语音PWM的同时还可以输出普通PWM信号。主要包括寄存器配置模块、采样控制模块、PWM计数输出模块、存储器、FIFO、占空比符号规范化模块、占空比宽度规范化模块;所述的寄存器配置模块为语音PWM的全局控制模块,CPU通过总线配置寄存器,产生占空比采样周期FSPeriocU PWM输出周期Period、普通PWM占空比PWMDuty、语音PWM占空比选择VPWMSel,同时对占空比符号规范化模块和占空比宽度规范化模块进行控制;所述的米样控制模块该模块内嵌一个Timer,每隔FSPeriod该模块产生一个读FIFO信号FIF0_rd,对FIFO进行读操作,将读出来的占空比数据送给占空比宽度规范化模块进行宽度规范化处理;所述的PWM计数输出模块该模块内嵌一个Timer,利用PWM的周期值Period和占空比值Duty产生高低电平,输出PWM波形;所述的存储器存放语音PWM的占空比,占空比数据由CPU通过总线写入存储器,该存储器与FIFO有DMA的通路;所述的FIFO:为占空比的存放单元,该FIFO的位宽为16位;将占空比写入FIFO有两种方式 (I )、CPU发出写命令,通过总线将占空比写入FIF0,每写一次都需要CPU发一次写命令;(2)、CPU启动存储器和FIFO之间的DMA后,占空比自动地从存储器搬移到FIFO,整个搬移过程不需要CPU干预;从FIFO里读出占空比的操作由采用控制模块实现,采用控制模块每隔一定时间FSPeriod都会对FIFO执行一次读操作,读取占空比。所述的占空比符号规范化模块统一占空比的为无符号。所述的占空比宽度规范化模块用于实现对占空比的左右位移。所述的语音PWM的系统除了能够输出语音PWM外,还能够配置作为通用PWM输出;此时,占空比值Duty值有两种方式产生(I )、直接由寄存器配置模块配置,DutySel位来选择是寄存器配置还是读FIFO ;
(2)、由采样控制模块对FIFO执行读操作产生,此时写入FIFO的占空比数据不执行占空比符号规范化,从FIFO读出的占空比不执行占空比宽度规范化。本发明有益的效果I.提出了一种语音PWM的系统和方法,该方法输出语音PWM不用CPU干预,应用开发简单;2.提出了针对语音PWM的占空比符号规范化和占空比宽度规范化的方法;3.该语音PWM系统和方法对通用PWM全兼容。
图I是语音PWM输出系统的结构框图。
具体实施例方式下面结合附图和实施例作进一步的说明。图I是本发明所述的语音PWM输出系统的结构框图,主要包括寄存器配置模块、采样控制模块、PWM计数输出模块、存储器、FIFO、占空比符号规范化模块、占空比宽度规范化模块。寄存器配置模块为语音PWM的全局控制模块,CPU通过总线配置寄存器,产生占空比采样周期FSPeriocU PWM输出周期Period、普通PWM占空比PWMDuty、语音PWM占空比选择VPWMSel,同时对占空比符号规范化模块和占空比宽度规范化模块进行控制。采样控制模块该模块内嵌一个Timer,每隔FSPeriod该模块产生一个读FIFO信号(FIF0_rd),对FIFO进行读操作,将读出来的占空比数据送给占空比宽度规范化模块进行宽度规范化处理。PWM计数输出模块该模块内嵌一个Timer,利用PWM的周期值(Period)和占空比值(Duty)产生高低电平,输出PWM波形。存储器存放语音PWM的占空比,占空比数据由CPU通过总线写入存储器,该存储器与FIFO有DMA的通路。FIFO :为占空比的存放单元,该FIFO的位宽为16位,将占空比写入FIFO有两种方式I. CPU发出写命令,通过总线将占空比写入FIF0,每写一次都需要CPU发一次写命令;
2. CPU启动存储器和FIFO之间的DMA后,占空比自动地从存储器搬移到FIFO,整个搬移过程不需要CPU干预。从FIFO里读出占空比的操作由采用控制模块实现,采用控制模块每隔一定时间(FSPeriod)都会对FIFO执行一次读操作,读取占空比。占空比符号规范化模块统一占空比的为无符号,其实现方式如下表所示
权利要求
1.一种语音PWM输出的系统,其特征在于主要包括寄存器配置模块、米样控制模块、PWM计数输出模块、存储器、FIFO、占空比符号规范化模块、占空比宽度规范化模块; 所述的寄存器配置模块为语音PWM的全局控制模块,CPU通过总线配置寄存器,产生占空比采样周期FSPeriocU PWM输出周期Period、普通PWM占空比PWMDuty、语音PWM占空比选择VPWMSel,同时对占空比符号规范化模块和占空比宽度规范化模块进行控制; 所述的采样控制模块该模块内嵌一个Timer,每隔FSPeriod该模块产生一个读FIFO信号FIF0_rd,对FIFO进行读操作,将读出来的占空比数据送给占空比宽度规范化模块进行宽度规范化处理; 所述的PWM计数输出模块该模块内嵌一个Timer,利用PWM的周期值Period和占空比值Duty产生高低电平,输出PWM波形; 所述的存储器存放语音PWM的占空比,占空比数据由CPU通过总线写入存储器,该存储器与FIFO有DMA的通路; 所述的FIFO :为占空比的存放单元,该FIFO的位宽为16位; 所述的占空比符号规范化模块统一占空比的为无符号。
所述的占空比宽度规范化模块用于实现对占空比的左右位移。
2.根据权利要求I所述的语音PWM输出的系统,其特征在于将占空比写入FIFO有两种方式 (1)、CPU发出写命令,通过总线将占空比写入FIFO,每写一次都需要CPU发一次写命令; (2)、CPU启动存储器和FIFO之间的DMA后,占空比自动地从存储器搬移到FIFO,整个搬移过程不需要CPU干预;从FIFO里读出占空比的操作由采用控制模块实现,采用控制模块每隔一定时间FSPeriod都会对FIFO执行一次读操作,读取占空比。
3.根据权利要求I所述的语音PWM输出的系统,其特征在于所述的语音PWM的系统除了能够输出语音PWM外,还能够配置作为通用PWM输出;此时,占空比值Duty值有两种方式产生 (1)、直接由寄存器配置模块配置,DutySel位来选择是寄存器配置还是读FIFO; (2)、由采样控制模块对FIFO执行读操作产生,此时写入FIFO的占空比数据不执行占空比符号规范化,从FIFO读出的占空比不执行占空比宽度规范化。
全文摘要
本发明涉及一种语音PWM输出的系统,该系统是SOC集成电路的一个子模块,通过总线与SOC系统连接。该语音PWM输出语音PWM的同时还可以输出普通PWM信号。主要包括寄存器配置模块、采样控制模块、PWM计数输出模块、存储器、FIFO、占空比符号规范化模块、占空比宽度规范化模块。本发明采用DMA的方式来自动更新占空比寄存器,不需要软件干预,只要配置启动语音PWM,在语音PWM输出过程中,CPU都可以被其它事件占用,系统效率大大提高。本发明有益的效果1.提出了一种语音PWM的系统和方法,该方法输出语音PWM不用CPU干预,应用开发简单;2.提出了针对语音PWM的占空比符号规范化和占空比宽度规范化的方法;3.该语音PWM系统和方法对通用PWM全兼容。
文档编号G10L13/02GK102831889SQ201210315008
公开日2012年12月19日 申请日期2012年8月30日 优先权日2012年8月30日
发明者徐功益, 杨波 申请人:杭州晟元芯片技术有限公司