1.本发明涉及工业控制技术领域,尤其涉及一种高精度脉宽调制方法和装置。
背景技术:2.现有的高精度pwm实现方案中,以传统的计数比较方法产生高精度脉冲信号,需要极高的时钟频率以获得更低的单位时间分辨率,但使用高频时钟将导致功耗成倍的增加,且对制造工艺也提出更苛刻的要求。比较新颖的做法是采用延迟线技术来获得较好的时间分辨率,借由单个延迟单元的时延,可以达到 ps级别的时间分辨率,但这种延迟线技术非常依赖于延迟单元的稳定性,电路依然面积较大,且会带来不同温度、电压条件下延迟单元会有比较大的偏移,导致芯片间的个体差异较大的问题。
3.为了克服延迟线技术面积、功耗较大和容易受外部环境影响等问题。考虑产生一个任意时长和占空比的精确脉冲信号,其本质在于精确控制其上升和下降沿的发生时间,若在数字电路中能够控制一个d触发器在精确的时间翻转,就可以得到一个理想的pwm输出信号,基于这种思想,本发明提出了一种基于数字-时间转换电路(dtc)的高精度脉冲产生方法。
技术实现要素:4.本发明的目的在于提供一种高精度脉宽调制方法和装置,具有结构简单,面积和功耗相对较低,对外部环境变化不敏感等优点。
5.为实现上述目的,本发明提供了一种高精度脉宽调制方法,具体包括以下步骤:
6.步骤一:设置输出波形产生电路的初始输出电平;
7.步骤二:计算当前周期内pwm脉冲的上升沿时间和下降沿时间,并折算成系统时钟计数器控制字和dtc电路控制字;
8.步骤三:更新系统时钟上升沿计数器控制字、系统时钟下降沿计数器控制字、dtc电路上升沿控制字和dtc电路下降沿控制字;
9.步骤四:计算下一周期pwm信号的系统时钟上升沿计数器控制字、dtc 电路上升沿控制字、系统时钟下降沿计数器控制字、dtc电路下降沿控制字的配置信息;
10.步骤五:系统时钟计数器到达预设上升沿控制字的数值,产生一个脉冲信号,输入到dtc电路中,经过dtc电路的精确延迟,驱动输出脉冲产生电路产生翻转,得到输出pwm的上升沿波形;
11.步骤六:系统时钟计数器到达预设下降沿控制字的数值,产生一个脉冲信号,输入到dtc电路中,经过dtc电路的精确延迟,驱动输出脉冲产生电路产生翻转,得到输出pwm的下降沿波形;
12.步骤七:在pwm波形下降沿输出之前的两个系统时钟周期,转至步骤三继续执行。
13.其中,在步骤一中:pwm上升沿时间公式为:
14.t
raise
=tn*(1-x);
15.pwm下降沿时间公式为:
16.t
fall
=tn。
17.其中,在步骤一中:系统时钟上升沿计数器控制字公式为:
18.cwr0=floor(t
raise
*f);
19.dtc电路上升沿控制字公式为:
20.cwr1=floor(256*(t
raise-cwr0/f));
21.系统时钟下降沿计数器控制字公式为:
22.cwf0=floor(tn*f);
23.dtc电路下降沿控制字公式为:
24.cwf1=floor(256*(t
n-cwf0/f))。
25.本发明还提供一种高精度脉宽调制装置,适用于上述所述的高精度脉宽调制方法。
26.本发明的一种高精度脉宽调制方法和装置,先设置输出波形产生电路的初始输出电平,再计算当前周期内pwm脉冲的上升、下降沿时间、折算成系统时钟计数器控制字、dtc电路控制字,然后更新系统时钟上升、下降沿计数器控制字以及dtc电路的上升、下降沿控制字,再计算下一周期pwm信号的系统时钟上升沿计数器控制字、dtc电路上升沿控制字、系统时钟下降沿计数器控制字、dtc电路下降沿控制字的配置信息,得到输出pwm的上升沿波形和下降沿波形,最后在pwm波形下降沿输出之前的两个系统时钟周期并转至步骤三继续执行,本方法具有结构简单,面积和功耗较小且对温度电压等环境变化不敏感,具有较高的工作稳定性的优点。
附图说明
27.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
28.图1是本发明的一种高精度脉宽调制方法的数字-时间转换电路。
29.图2是本发明的一种高精度脉宽调制方法的输出脉冲产生电路。
30.图3是本发明的一种高精度脉宽调制方法的pwm输出波形产生器框图。
31.图4是本发明的一种高精度脉宽调制方法的pwm输出脉冲产生时序图。
32.图5是本发明的一种高精度脉宽调制方法的步骤流程图。
具体实施方式
33.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
34.请参阅图1至5,图1是本发明的一种高精度脉宽调制方法的数字-时间转换电路,图2是本发明的一种高精度脉宽调制方法的输出脉冲产生电路,图3 是本发明的一种高精度脉宽调制方法的pwm输出波形产生器框图,图4是本发明的一种高精度脉宽调制方法的pwm输出脉冲产生时序图,图5是本发明的一种高精度脉宽调制方法的步骤流程图。本发明提供一种高精度脉宽调制方法和装置,装置适用于上述所述的高精度脉宽调制方法,图1中,clk_in为输入时钟,输入到多相位发生器模块,将系统时钟周期进行m+1等分,可得到同
频率不同相位的若干输出时钟,分别计为选择其中任意一个输出时钟,根据以上假设计算得到两者之间的相位差,进而转换为时间差,输入时钟周期为t,则该多相位发生器所能提供的时间分辨率为由于实现电路的复杂性,m的值通常都不可能取太大的值,通过phase selector模块选择需要的粗调相位脉冲输出到下一级电路进行处理,输入选择字n,选择为输出脉冲。
35.current dac为数控电流源,其控制字cwx决定了输出电流的大小,rampgenerator可以看做一个恒流源充电单元,输入脉冲是该充电单元的使能信号。于是,输入脉冲的到达时间便是充电开始的时间,电流大小决定了充电速率,或者说达电压比较器comparator模块的门限值所需要的时间,通过合理选择充电曲线的线性区间,得到精确度达到ps级别的准确充电时间,将输入脉冲进行了ps级别的延迟。
36.通过以上分析可知,phase selector的输入选择字和恒流源控制字cwx均为直接数字输入,输出脉冲相对于输入脉冲的时延直接受控于该输入数字。换言之,通过操控输入数字,获得输出脉冲相对于输入脉冲的精确到ps的时间延迟。
37.理想情况下,该时延最大长度为1个主时钟周期,最小时间分辨率cwx的 bit数量确定,例如,cwx为8bit,主时钟频率为100mhz,则该dtc电路的最高分辨率为可知该dtc的最高分辨率时间约为39ps。
38.图2核心电路是一个d触发器,在dtc产生电路生成了两个具有精确时延信息的短脉冲,计为a脉冲和b脉冲,a、b脉冲之间的时间差精确到ps,均输入到d触发器的flip_en端口,设初始状态q为低电平,当a脉冲到达,d 触发器将发生第一翻转,q端输出高电平并一直保持,一段时间后b脉冲到达, d触发器发生第二次翻转,q端再次变为低电平,如此循环,便得到了连续输出的高低电平信号。是q信号的互补信号,两者高低电平极性相反,通过 outsel信号,可以选择或q中的任意一路作为输出信号。
39.对于期望的pwm输出信号,其实质在于控制其两个跳变沿的精确发生时间,即图2所示电路的flip_en端口,连续两次短脉冲的到达时间(上升沿短脉冲、下降沿短脉冲)。以上一个pwmout脉冲的下降沿为计时起点,当前pwmout 周期内上升沿的发生时间以输入时钟计,经过计算,需要计数cwr0个时钟周期,此外还会剩余不足一个周期的余量,根据dtc电路的时间-数字对应关系,可以通过控制dtc电路的输入数字量来达成这个计时余量,从而精确控制上升沿短脉冲到达d触发器的时间;同理,下降沿短脉冲的精确发生时间也由系统时钟整周期计数cwf0和dtc输入数字cwf1两个配置字来确定。
40.pwm输出波形的tn周期如图4所示,t
n-1
周期下降沿开始,tn周期pwmout 上升沿的产生时间由cwr0和dtc控制字cwr1共同决定,pwmout下降沿产生时间由cwf0和dtc控制字cwf1共同决定,如此循环不断地改变配置字信息,则pwmout的输出便可连续不断地产生高精确度占空比和高精确度周期的输出脉冲。
41.在dc-dc电路中,为了获得更高的电源转换效率,需要精确控制每一个 cmos管的打开关断时间,工业上通常是采用高精度pwm信号来实现这类控制,典型的三相逆变电路更是需要多达6路的高精度pwm信号。在无刷直流电机控制的应用中,实现foc等电调算法也需
要精确控制每一相电流的通断,产生交替变换的磁场以驱动电机转动,也需要用到高精度pwm信号。
42.使用本发明提出的高精度pwm信号产生方法,需要mcu首先计算出期望输出信号的上升、下降沿时间,转换为dtc电路的控制字,在适当的时间配置到对应的寄存器中即可产生高精度pwm波形输出。具体步骤如下:
43.步骤一:设置输出波形产生电路的初始输出电平;
44.步骤二:计算当前周期内pwm脉冲的上升沿时间和下降沿时间,并折算成系统时钟计数器控制字和dtc电路控制字;
45.假设pwmout输出波形的当前周期需求为tn,占空比为x,系统时钟频率为f,dtc控制字为8bit。设当前周期的计时起点为上一周期的下降沿发生时间,则可确定pwmout的上升沿发生时间为:
46.t
raise
=tn*(1-x)
47.下降沿发生时间为:
48.t
fall
=tn;
49.t
raise
和t
fall
均为精确到ps的准确时间。
50.依据图3和图4所表达的原理,t
raise
可以表达为cwr0和cwr1两个控制字:
51.cwr0=floor(t
raise
*f);
52.cwr1=floor(256*(t
raise-cwr0/f));
53.式中floor为向下取整运算。
54.同理可计算出下降沿时间的两个控制字为:
55.cwf0=floor(tn*f);
56.cwf1=floor(256*(t
n-cwf0/f));
57.步骤三:更新系统时钟上升沿计数器控制字(cwr0)、系统时钟下降沿计数器控制字(cwf0)、dtc电路上升沿控制字(cwr1)和dtc电路下降沿控制字(cwf1);
58.将上一周期的下降沿作为当前周期的计时起点,故上一周期下降沿即将完成输出之前,需要提前计算、准备好下一个周期将要使用的配置字,提前2个系统时钟周期完成配置即可;因为cpu或计算单元需要若干主时钟周期完成计算,计算结果配置到控制寄存器也需要大约2个时钟周期,因此也决定了 pwmout脉冲输出波形的最小周期,小于该周期的pwmout波形将因为无法获得正确的配置字而产生不确定的波形输出。
59.步骤四:计算下一周期pwm信号的系统时钟上升沿计数器控制字、dtc 电路上升沿控制字、系统时钟下降沿计数器控制字、dtc电路下降沿控制字的配置信息;
60.步骤五:系统时钟计数器到达预设上升沿控制字的数值,产生一个脉冲信号,输入到dtc电路中,经过dtc电路的精确延迟,驱动输出脉冲产生电路产生翻转,得到输出pwm的上升沿波形;
61.步骤六:系统时钟计数器到达预设下降沿控制字的数值,产生一个脉冲信号,输入到dtc电路中,经过dtc电路的精确延迟,驱动输出脉冲产生电路产生翻转,得到输出pwm的下降沿波形。
62.步骤五为当前周期pwmout上升沿的产生过程,步骤六为当前周期pwmout 下降沿的产生过程,两者共同作用于d触发器的flip_en端口,从而生成pwmout 的输出波形。
63.步骤七:在pwm波形下降沿输出之前的两个系统时钟周期,转至步骤三继续执行。
64.以上所揭露的仅为本技术一种或多种较佳实施例而已,不能以此来限定本技术之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本技术权利要求所作的等同变化,仍属于本技术所涵盖的范围。
技术特征:1.一种高精度脉宽调制方法,其特征在于,具体包括以下步骤:步骤一:设置输出波形产生电路的初始输出电平;步骤二:计算当前周期内pwm脉冲的上升沿时间和下降沿时间,并折算成系统时钟计数器控制字和dtc电路控制字;步骤三:更新系统时钟上升沿计数器控制字、系统时钟下降沿计数器控制字、dtc电路上升沿控制字和dtc电路下降沿控制字;步骤四:计算下一周期pwm信号的系统时钟上升沿计数器控制字、dtc电路上升沿控制字、系统时钟下降沿计数器控制字、dtc电路下降沿控制字的配置信息;步骤五:系统时钟计数器到达预设上升沿控制字的数值,产生一个脉冲信号,输入到dtc电路中,经过dtc电路的精确延迟,驱动输出脉冲产生电路产生翻转,得到输出pwm的上升沿波形;步骤六:系统时钟计数器到达预设下降沿控制字的数值,产生一个脉冲信号,输入到dtc电路中,经过dtc电路的精确延迟,驱动输出脉冲产生电路产生翻转,得到输出pwm的下降沿波形;步骤七:在pwm波形下降沿输出之前的两个系统时钟周期,转至步骤三继续执行。2.如权利要求1所述的高精度脉宽调制方法,其特征在于,在步骤一中:设定pwm周期需求为tn,占空比为x,系统时钟频率为f,dtc控制字为8bit,pwm上升沿时间公式为:t
raise
=t
n
*(1-x);pwm下降沿时间公式为:t
fall
=t
n
。3.如权利要求2所述的高精度脉宽调制方法,其特征在于,在步骤一中:系统时钟上升沿计数器控制字公式为:cwr0=floor(t
raise
*f);dtc电路上升沿控制字公式为:cwr1=floor(256*(t
raise-cwr0/f));系统时钟下降沿计数器控制字公式为:cwf0=floor(t
n
*f);dtc电路下降沿控制字公式为:cwf1=floor(256*(t
n-cwf0/f))。4.一种高精度脉宽调制装置,适用于如权利要求3所述的高精度脉宽调制方法。
技术总结本发明涉及工业控制技术领域,具体涉及一种高精度脉宽调制方法和装置,设置输出波形产生电路的初始输出电平,再计算当前周期内PWM脉冲的上升、下降沿时间、折算成系统时钟计数器控制字、DTC电路控制字,然后更新系统时钟上升、下降沿计数器控制字以及DTC电路的上升、下降沿控制字,再计算下一周期PWM信号的系统时钟上升沿计数器控制字、DTC电路上升沿控制字、系统时钟下降沿计数器控制字、DTC电路下降沿控制字的配置信息,得到输出PWM的上升沿波形和下降沿波形,如此循环,从而持续不断地产生PWM输出波形,本方法具有结构简单,面积和功耗较小且对温度电压等环境变化不敏感,具有较高的工作稳定性的优点。的工作稳定性的优点。的工作稳定性的优点。
技术研发人员:段文亮 陈文宣 吴至榛 祝顺宇 黎光洁
受保护的技术使用者:重庆御芯微信息技术有限公司
技术研发日:2022.07.07
技术公布日:2022/11/1