一种数字脉冲宽度调制器的制作方法

文档序号:11205401阅读:397来源:国知局
一种数字脉冲宽度调制器的制造方法与工艺

本发明属于电子技术领域,特别涉及一种数字脉冲宽度调制器。



背景技术:

脉冲宽度调制器(pwm,phasewidthmodulators)被广泛用在电机控制和功率转换领域。在电机控制领域,不同占空比的波形可以控制电机的工作速度,高精度的pwm可以提高电机的工作效率。在功率转换领域,如直流到直流转换(dc-dc)领域,pwm的精度一般决定了电源的转换效率;一般来说,pwm的频率往往体现了该系统所工作的条件,而pwm的精度决定了控制输出电压或电流的精确性。pwm的精度往往能影响整个系统的性能。

目前产生pwm的方法有很多,可以使用单片机来实现不同频率的pwm波输出,某些单片机芯片还有专用的实现管脚,但由于单片机内部的工作时钟频率不高,往往不能产生高精度的pwm波。一些高端的dsp可以工作在很高频率下工作,许多厂家也提供了相应的库函数,可以快速方便的实现高频率的pwm波形输出,但产生的pwm波无法实现很高的精度。在可编程逻辑门领域,可以使用芯片内部的一些资源,如时钟管理器和逻辑门,通过设计恰当的电路结构,就可以实现高精度高频率的pwm波。

使用可编程逻辑门器件改进高精度的pwm波主要围绕在两个方向,一个是通过改变硬件电路结构实现输出dpwm的最小时间步长,如采用混合型的dpwm(hybridpwm),可以实现稳定的高精度dpwm输出;另一个是通过改变输出信号来增加有效占空比精度,目前常用的方法有数字抖动法(digitaldither)、△-δ法等。

其中,混合型的dpwm得到了很广泛的应用,利用计数器和延迟链的特点,通过粗调模块初步确定输出pwm的脉冲占空比,再通过细调模块精确地控制输出的pwm的精度。但是,现有的混合型的dpwm技术存在以下缺点:

1.实现方案复杂,精度不高。专利“一种数字脉冲宽度调制电路”(专利号为:cn102832914a)中提出了一种实现pwm的方法,就是采用混合型结构的方法,实现了pwm的输出,但是由于该方法在细调模块中使用了大量的延迟单元,使其结构复杂,芯片面积变大,增加了成本。况且,该方案实现的pwm精度也不是很高。

2.对芯片的依赖程度比较高。专利“基于dcm调制的数字脉冲宽度调制器”(专利号为:cn106209037a)使用了混合型结构的方法产生了高精度的pwm波,该方法虽然简单,对芯片的要求较高,需要芯片工作在一个很高的时钟频率下才能保证高精度pwm的输出,在低端的可编程逻辑门芯片上不一定可以实现高精度pwm的输出。专利“基于iodelay固件的数字脉冲宽度调制器”(专利号为:cn106209038a)中使用可编程逻辑门芯片的iodelay功能实现芯片引脚的相位延迟,这种方法只能在高端的可编程逻辑门芯片中实现。



技术实现要素:

为了解决现有技术存在的上述问题,本发明提供了一种数字脉冲宽度调制器,以解决现有技术中pwm精度低的技术问题。

本发明所采用的技术方案为:提供一种数字脉冲宽度调制器,包括:差分时钟选择模块、粗调模块、细调模块和pwm信号产生模块;其中,差分时钟选择模块根据输入时钟信号频率确定脉宽粗调与细调的分解位m,并根据分解位m分别为粗调模块和细调模块提供工作时钟;粗调模块根据所述差分时钟选择模块确定的分解位m,采用同步计数器生成pwm起始控制信号,并判断何时输出pwm粗调控制信号;细调模块接收所述粗调模块输出的pwm粗调控制信号,根据所述差分时钟选择模块确定的分解位m,采用纹波计数器生成pwm结束控制信号,并判断何时输出pwm结束控制信号;pwm信号产生模块接收所述粗调模块输出的pwm起始控制信号和所述细调模块输出的pwm结束控制信号采用rs触发器产生并输出最终的dpwm信号。

可选的,所述差分时钟选择模块包括差分时钟选择器和dcm数字时钟管理器;其中,差分时钟选择器,根据输入时钟信号频率确定脉宽粗调与细调的分解位m位作为差分时钟选择位;dcm数字时钟管理器,对经所述差分时钟选择器的输入时钟信号经过dcm输出两路相位相差180°的差分时钟信号,实现对输入时钟信号的精确延时,分别为所述粗调模块和细调模块提供工作时钟。

可选的,所述差分时钟选择模块还包括倍频器,对输入时钟信号倍频生成基础时钟信号;所述dcm数字时钟管理器,对所述倍频器生成的基础时钟信号经过dcm输出两路相位相差180°的差分时钟信号。

可选的,所述粗调模块包括粗调系数确定模块、同步计数器、比较器1和比较器2;其中,粗调系数确定模块根据所述差分时钟选择模块确定的分解位m,确定粗调系数coarse_val;同步计数器在所述差分时钟选择模块为粗调模块提供的工作时钟clk_p下开始计数并采用预载计数器获得一阀值cnt,计数值cnt_val分别发送给比较器1和比较器2;比较器1将cnt_val与cnt比较,若cnt_val等于0则输出一个clk_p时钟宽度的pwm起始控制信号,当cnt_val等于cnt时,输出clr信号,让同步计数器进行归零;比较器2将计数值cnt_val与粗调系数coarse_val比较,当cnt_val等于coarse_val时输出pwm粗调控制信号。

可选的,所述预载计数器为:

其中dcm输出时钟clk_p频率记为fclk,输出pwm的频率为fpwm。

可选的,所述细调模块包括细调系数确定模块、时钟选择器、纹波计数器、接收电路和多路输入单路输出器(mux);其中,细调系数确定模块接收所述粗调模块输出的pwm粗调控制信号,根据所述差分时钟选择模块确定的分解位m,确定细调系数fine_val;纹波计数器接收所述粗调模块输出的pwm粗调控制信号后开始工作,并将实时计算数值rc_val发送给时钟选择器;时钟选择器将纹波计数器的实时计算数值rc_val与细调系数fine_val比较,当两个数值相等时,时钟选择器控制接收电路输出rc_rst信号,进行复位操作;多路输入单路输出器(mux)接收多路所述接收电路产生的pwm结束控制信号,并根据纹波计数器的个数选择一路输出到pwm信号产生模块。

可选的,所述纹波计数器中触发器的数量为:

其中,tcq为寄存器的传输延迟,fclk为工作时钟频率;

所述纹波计数器间的每个寄存器的输出都将作为下一个寄存器的输入。

可选的,所述pwm信号产生模块接收所述粗调模块输出的pwm起始控制信号到rs触发器的s端,接收所述细调模块输出的pwm结束控制信号到rs触发器的r端。

本发明的有益效果为:由于本发明由差分时钟选择模块、粗调模块、细调模块和pwm信号产生模块组成;其中粗调模块根据同步计数器来决定输出pwm波的频率,差分时钟选择模块选择细调模块的输入时钟,细调模块使用纹波计数器来产生pwm波的结束位置控制信号,pwm信号产生模块根据粗调和细调模块的控制信号控制pwm信号输出。本电路结构巧妙地利用纹波计数器的相位偏移缺点,结合时钟选择模块功能,提高了pwm波形的精度,且在低端可编程逻辑门阵列芯片中也可以实现,减小了高精度pwm波对芯片的依赖性;而且使用差分时钟将纹波计数器的使用数量减少了一半,降低了整体电路的功耗。由此解决了现有技术中pwm精度低的技术问题,达到了提高pwm精度,并减少产生高精度pwm波对可编程逻辑门芯片的依赖程度、耗电低的技术效果。

附图说明

图1示出了根据本发明一个实施例的pwm信号产生模块示意图;

图2示出了根据本发明一个实施例的电路结构总体示意图;

图3示出了根据本发明一个实施例的pwm实现结构示意图;

图4示出了根据本发明一个实施例的dcm输出差分时钟示意图;

图5示出了根据本发明一个实施例的粗调模块结构示意图;

图6示出了根据本发明一个实施例的细调模块结构示意图;

图7示出了根据本发明一个实施例的纹波计数器内部连接示意图;

图8示出了根据本发明一个实施例的纹波计数器中寄存器时序关系图;

图9示出了根据本发明一个实施例的输出高精度pwm时序图。

具体实施方式

本发明提供一种数字脉冲宽度调制器,以解决现有技术中pwm精度低的技术问题。

本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:采用混合结构产生pwm信号,如图1所示,若单个pwm的数据位宽总共为n位,其中[n-1,m+1]为粗调系数,产生pwm的起始控制信号,大概确定pwm的结束控制位置,确定输出pwm频率;[m,0]为细调系数,精确地控制pwm信号结束的位置,确定输出pwm信号的精度。

为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

如图2所示,本实施例提供一种数字脉冲宽度调制器,包括:差分时钟选择模块、粗调模块、细调模块和pwm信号产生模块;其中,差分时钟选择模块根据输入时钟信号频率确定脉宽粗调与细调的分解位m,并根据分解位m分别为粗调模块和细调模块提供工作时钟;粗调模块根据所述差分时钟选择模块确定的分解位m,采用同步计数器生成pwm起始控制信号,并判断何时输出pwm粗调控制信号;细调模块接收所述粗调模块输出的pwm粗调控制信号,根据所述差分时钟选择模块确定的分解位m,采用纹波计数器生成pwm结束控制信号,并判断何时输出pwm结束控制信号;pwm信号产生模块接收所述粗调模块输出的pwm起始控制信号和所述细调模块输出的pwm结束控制信号采用rs触发器产生并输出最终的dpwm信号。

具体地,若在某一时刻同时输入一个位宽为n位的pwm波,首先需要先对实现结构进行分解,共分成4部分,分别为差分时钟选择模块、粗调模块、细调模块和pwm信号产生模块。其中粗调模块根据同步计数器来决定输出pwm波的频率,差分时钟选择模块选择细调模块的输入时钟,细调模块使用纹波计数器来产生pwm波的结束位置控制信号。pwm信号产生模块根据粗调和细调模块的控制信号控制pwm信号输出。如图3所示,为本实施例的pwm实现结构示意图。pwm位宽为n位,其中差分时钟选择模块为细调模块和粗调提供工作时钟。粗调模块主要输出pwm起始控制信号并根据输入的粗调系数[n-1:m+1]来判断何时输出粗调控制信号。粗调控制信号作为细调模块的使能时钟,细调模块收到此信号后才开始工作。细调模块对工作时钟进行均等划分,处理纹波计数器间的毛刺,稳定纹波计数器值,根据纹波计数器值来决定何时输出pwm结束控制信号。pwm信号产生模块采用sr触发器来产生pwm信号。

作为一种可选的实施例,所述差分时钟选择模块包括差分时钟选择器和dcm数字时钟管理器;其中,差分时钟选择器,根据输入时钟信号频率确定脉宽粗调与细调的分解位m位作为差分时钟选择位;dcm数字时钟管理器,对经所述差分时钟选择器的输入时钟信号经过dcm输出两路相位相差180°的差分时钟信号,实现对输入时钟信号的精确延时,分别为所述粗调模块和细调模块提供工作时钟。

作为一种可选的实施例,所述差分时钟选择模块还包括倍频器,对输入时钟信号倍频生成基础时钟信号;所述dcm数字时钟管理器,对所述倍频器生成的基础时钟信号经过dcm输出两路相位相差180°的差分时钟信号。

作为一种可选的实施例,所述粗调模块包括粗调系数确定模块、同步计数器、比较器1和比较器2;其中,粗调系数确定模块根据所述差分时钟选择模块确定的分解位m,确定粗调系数coarse_val;同步计数器在所述差分时钟选择模块为粗调模块提供的工作时钟clk_p下开始计数并采用预载计数器获得一阀值cnt,计数值cnt_val分别发送给比较器1和比较器2;比较器1将cnt_val与cnt比较,若cnt_val等于0则输出一个clk_p时钟宽度的pwm起始控制信号,当cnt_val等于cnt时,输出clr信号,让同步计数器进行归零;比较器2将计数值cnt_val与粗调系数coarse_val比较,当cnt_val等于coarse_val时输出pwm粗调控制信号。

作为一种可选的实施例,所述预载计数器为:

其中dcm输出时钟clk_p频率记为fclk,输出pwm的频率为fpwm。

作为一种可选的实施例,所述细调模块包括细调系数确定模块、时钟选择器、纹波计数器、接收电路和多路输入单路输出器(mux);其中,细调系数确定模块接收所述粗调模块输出的pwm粗调控制信号,根据所述差分时钟选择模块确定的分解位m,确定细调系数fine_val;纹波计数器接收所述粗调模块输出的pwm粗调控制信号后开始工作,并将实时计算数值rc_val发送给时钟选择器;时钟选择器将纹波计数器的实时计算数值rc_val与细调系数fine_val比较,当两个数值相等时,时钟选择器控制接收电路输出rc_rst信号,进行复位操作;多路输入单路输出器(mux)接收多路所述接收电路产生的pwm结束控制信号,并根据纹波计数器的个数选择一路输出到pwm信号产生模块。

作为一种可选的实施例,所述纹波计数器中触发器的数量为:

其中,tcq为寄存器的传输延迟,fclk为工作时钟频率;

所述纹波计数器间的每个寄存器的输出都将作为下一个寄存器的输入。

作为一种可选的实施例,所述pwm信号产生模块接收所述粗调模块输出的pwm起始控制信号到rs触发器的s端,接收所述细调模块输出的pwm结束控制信号到rs触发器的r端。

下面对各模块工作过程做一详细说明:

假设输入的pwm位宽为n位,dcm输出时钟clk_p频率记为fclk,输出pwm的频率为fpwm,则粗调模块中同步计数器要设的阈值应为下面公式1中的cnt值,从公式2可以得到粗调模块所需的位数k,若k不能被整除则需要向整数进位。如计算k为7.3,此时粗调位数也应设为8位。那么,细调模块输入参数就需要(n-k-1)位。

具体地,差分时钟选择模块如图4所示。n位的pwm波可表示为[n-1:0],则应使用细调系数的第m位作为差分时钟选择位,有m=(n-k-1)。若输入时钟clk频率比较小,需要通过dcm进行倍频,可以在软件里设置clk_p频率为150mhz~250mhz之间。dcm输出的时钟越高,则确定出的大概位置越准,使用的纹波计数器的数量则越少。clk_p频率大小需要根据具体芯片来选择。clk_p与clk_n之间相位相差180°。

粗调模块如图5所示。粗调模块使用dcm输出的clk_p时钟。首先根据上面公式1确定cnt值,这个值可以确定输出pwm的频率。同步计数器在clk_p下开始计数,计数值cnt_val分别送给比较器1和比较器2模块,在比较器1中将cnt_val与cnt比较,若cnt_val等于0则输出一个clk_p时钟宽度的pwm起始控制信号;当cnt_val等于cnt时,输出clr信号,让同步计数器进行归零。比较器2比较cnt_val与输入粗调系数值coarse_val大小,当cnt_val等于coarse_val时输出一个脉冲的粗调控制信号。

细调模块如图6所示。细调模块由时钟选择器、纹波计数器、接收电路和多路输入单路输出器(mux)组成。粗调过程结束后,纹波计数器开始工作,纹波计数器的实时计算数值为rc_val。时钟选择器的作用是监控纹波计数器的数值rc_val和输入细调系数值fine_val是否相等,当两个数值相等时,时钟选择器控制接收电路输出rc_rst信号,进行复位操作,此时rs触发器输出的pwm信号将被拉低。

其中,纹波计数器内部的连接方式如图7所示。纹波计数器间的每个寄存器的输出都将作为下一个寄存器的输入,相比于同步计数器,由于采用了异步时钟,大大的降低了电路的整体功耗。由于相位偏移的影响,纹波计数器中寄存器输出的数值在数据转换过程中会产生毛刺,此时输出的数值都是无效值。

纹波计数器的输入时钟为clk_x,表示为clk_p或clk_n,取决于图3中输出的时钟。由于每个寄存器都存在传播延迟,因此较高有效位相对于较低有效位更晚才发生变化,相位延迟展开后,相邻寄存器间刚好差tcq,这是寄存器的传输延迟时间,由于工艺不同,不同型号芯片的传输延迟也不同,一般可达到皮秒(ps)级。图8展示了寄存器间的时序图以及相位延迟的展开图,其中tcq为寄存器的传输延迟。设qn为纹波计数器中所需dq触发器的数量,则有下面公式3:

公式3的计算结果取最小值即可。

接收电路的作用主要是消除纹波计数器产生的毛刺和输出稳定的复位信号。由于纹波计数器在工作时,在时钟的上升沿处,由于寄存器间的寄存器传输延迟导致输出数值不稳定,此时的纹波计数器值不能直接使用,因此在接收电路处使用低有效使能输入信号,只在时钟clk_x为“低”时才读取(qn+1)个纹波计数器的计数值,可避免纹波计数器产生的毛刺。

如图1所示的pwm信号产生模块中,使用了由组合逻辑实现的rs触发器。粗调模块将起始控制信号接到s端,此时sr两端为数据为2’b10,q端输出高电平。起始控制信号一个时钟周期结束后,sr两端数据为2’b00,此时输出一直保持高电平。细调模块结束控制信号到来后,sr两端数据为2’b01,q端输出低电平。一个时钟周期结束后sr两端数据为2’b00,此时输出一直保持低电平。一个pwm周期结束后,s端又会收到起始控制信号。整个pwm信号产生模块按照这个过程循环执行。

若根据芯片手册或实测已知tcq的时间,若则可以大概计算出该电路输出的pwm波精度,大约为tcq。由于该精度不会随着输入时钟改变,因此对于输出不同频率的pwm波,精度总是不会改变。pwm的频率越高,使用的纹波计数器数量也就越少,精度也越高。因此对于要输出高频率(至少几十兆hz)的pwm波,此方案可以利用最少资源实现。如图9所示,为输出的pwm时序图。根据pwm的位宽n即可产生精度大约为tcq的pwm信号。

由上述实施例可见,本发明产生的有益效果是:

1、本发明采用混合型pwm结构,该结构中使用纹波计数器固有的相位延迟作为细调模块,使得pwm的精度大约为寄存器的传输延迟时间,提高了pwm的精度;

2、使用差分时钟作为细调模块的时钟源,根据pwm的位宽来选择不同的时钟源,减小了纹波计数器的使用数量,节省了寄存器资源,并降低了整体电路的功耗;

3、在细调模块中设计了时钟选择器电路来合理分配系数和置位纹波计数器,根据输入细调系数来控制输出的延迟数量,优化了纹波电路输出,实现了无毛刺的纹波计数器。

4、该电路结构可以使用低端可编程逻辑门实现,并输出高精度的pwm波。如使用xilinx公司的低端芯片spartan-3芯片中的fdce原语,可以实现输出精度100ps的pwm波。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1