用于ePWM模块的移相控制方法、装置和存储介质与流程

文档序号:22435835发布日期:2020-10-02 10:27阅读:796来源:国知局
用于ePWM模块的移相控制方法、装置和存储介质与流程

本公开涉及信号驱动,特别涉及用于增强脉宽调制(enhancedpulsewitdhmoducation,epwm)模块的移相控制方法、装置和存储介质。



背景技术:

用于产生pwm信号以驱动电气器件的epwm模块能够简洁地实现诸如电桥间pwm驱动的移相控制方式,其中移相包括滞后移相和超前移相。epwm模块中每个完整的pwm通道都由两个pwm信号输出组成,被称为pwmxa和pwmxb。各个通道的pwm信号通过同步信号建立同步机制。epwm模块相对普通pwm模块的一大优势是可以通过直接配置相位寄存器来控制每个通道中的pwm信号之间的相位差,简单实现移相。

但是,epwm模块在进行移相控制时受到移相机制的制约,在pwm信号的相位从滞后相位跨越至超前相位,或者从超前相位跨越至滞后相位时,在特定情况下存在波形丢失的问题。在移相时的部分波形丢失会造成pwm信号输出的占空比改变,导致周期性变化的工作电流出现直流偏置,从而对特别是功率器件的电路元件产生不利影响。

因此需要对epwm模块的移相机制进行改进以避免在上述情况下的波形丢失。



技术实现要素:

为了解决上述问题,本公开提出一种epwm模块的移相控制方法、装置和存储介质。

根据本公开的一方面,提出一种用于增强脉宽调制(epwm)模块的移相控制方法,所述epwm模块被配置为:生成第一pwm信号和第二pwm信号,用于所述第二pwm信号的定时器的定时器值在每个pwm信号周期内从初始值计数到定时器周期值,当所述定时器值与位于所述初始值和所述定时器周期值之间的第一比较值匹配时执行所述第二pwm信号的高电平信号与低电平信号的第一切换操作,当所述定时器值与定时器周期值匹配时执行所述第二pwm信号的高电平信号与低电平信号的第二切换操作,以及基于所述定时器的相位设定值控制所述第二pwm信号与所述第一pwm信号之间的相位差,其中所述第一切换操作与所述第二切换操作相反,所述移相控制方法包括:

在所述目标相位设定值使得所述相位差发生在滞后相位和超前相位之间的转变,以及所述定时器的先前相位设定值位于被限定为所述初始值与所述第一比较值之间的第一区间并且所述目标相位设定值位于被限定为所述第一比较值和所述定时器周期值之间的第二区间时,设置所述定时器的第二比较值以使得所述epwm模块在所述定时器值与所述第二比较值匹配时执行所述第二pwm信号的高电平信号与低电平信号的第三切换操作,

其中所述第三切换操作与所述第一切换操作相同,所述第二比较值位于所述定时器的初始值与所述先前相位设定值之间。

根据一个实施例,设置所述定时器的第二比较值以使得所述epwm模块在所述定时器值与所述第二比较值匹配时执行所述第二pwm信号的高电平信号与低电平信号的第三切换操作包括:在所述第二pwm信号的当前周期内将所述定时器的相位设定值设置为所述第一pwm信号的相位设定值;在所述第二pwm信号的下一周期内将所述定时器的相位设定值设置为所述目标相位设定值,并且设置所述第二比较值;以及在所述第二pwm信号的再下一周期内将所述第二比较值设置为所述定时器的定时器周期值的1/2。

根据一个实施例,在将所述定时器的相位设定值设置为所述第一pwm信号的相位设定值之前打开所述第二pwm信号的pwm中断,以及在将所述第二比较值设置为所述定时器的定时器周期值的1/2之后关闭所述第二pwm信号的pwm中断。

根据一个实施例,所述第二比较值通过下式确定:

其中,cmpb为所述第二比较值,prd为所述定时器周期值,phs1为所述第二pwm信号的先前相位设定值,phs2为所述第二pwm信号的目标相位设定值。

根据一个实施例,在接收所述epwm模块的同步信号时设置所述目标相位设定值。

根据一个实施例,当所述定时器值被设置为所述目标相位设定值时从所述目标相位设定值继续计数。

根据一个实施例,在所述定时器的先前相位设定值位于所述第二区间并且所述目标相位设定值位于所述第一区间时,所述定时器的相位设定值被设置为所述目标相位设定值并且从所述目标相位设定值继续计数。

根据一个实施例,所述epwm模块为dsp、cpu或微控制器。

根据一个实施例,所述epwm模块具有多个pwm通道,每个通道均生成所述第一pwm信号和所述第二pwm信号。

根据本公开的另一方面,提出一种用于移相控制的装置,所述装置包括处理器和存储器,所述处理器被配置为执行如上所述的方法的步骤。

根据本公开的又一方面,提出一种计算机可读存储介质,其上存储有包括指令的计算机程序,所述指令在由处理器执行时,使所述处理器执行如上所述的方法。

通过采用本公开所述的改进的移相控制方法,使得epwm模块在针对pwm信号输入的目标相位设定值与先前相位设定值之间存在相位超前到相位滞后之间的转变时,输出的pwm信号波形中不再缺少部分波形,保证pwm信号的相位以期望方式被设定和改变,实现稳定安全的电路元件驱动。

附图说明

通过参照附图详细描述其示例性实施例,本公开的上述和其它特征及优点将变得更加明显。

图1为基于现有的移相控制方法的epwm模块的一个pwm通道中的两个pwm信号波形与定时器值变化的时序示意图;

图2为基于根据本公开的实施例的移相控制方法的epwm模块的一个pwm通道中的两个pwm信号波形与定时器值变化的时序示意图;

图3为基于根据本公开的实施例的移相控制方法来控制epwm模块的移相操作的示意性流程图;

图4为根据本公开的实施例的移相控制装置的示意性结构图;以及

图5为根据本公开的另一实施例移相控制装置的示意性结构图。

具体实施方式

现在将参考附图更全面地描述示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本公开将全面和完整,并将示例性实施例的构思全面地传达给本领域的技术人员。在图中,为了清晰,可能会夸大部分元件的尺寸或加以变形。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、元件等。在其它情况下,不详细示出或描述公知结构、方法或者操作以避免模糊本公开的各方面。

本文中以ti公司的c2000系列dsp中的epwm模块作为示例epwm模块说明根据本公开的移相控制方法、装置及其存储介质的实现。本领域技术人员应当理解,本公开的方法可以适用于c2000系列dsp之外的能够采用移相机制提供epwm控制和驱动功能的任何pwm模块。这些模块可以采用dsp,cpu,单片机,控制器,微控制器,集成电路,电路模块,硬件和/或软件的组合等多种形式实现。

下面结合图1介绍epwm模块的移相机制在某些情况下的pwm波形丢失的问题。

图1示出基于现有的移相控制方法的epwm模块的一个pwm通道中的两个pwm信号波形与定时器值变化的时序示意图,其中上半部分是c2000中的一个完整pwm通道的第一pwm信号pwm1的信号波形120和与其对应的定时器1的定时器值变化110的时序,下半部分是该pwm通道中的第二pwm信号pwm2的信号波形220和与其对应的定时器2的定时器值变化210的时序。

首先,介绍epwm模块中的两个pwm通道所生成的pwm信号的运行原理和特性。

对于pwm信号,在每个周期内,定时器的定时器值可以从初始值递增或递减计数到定时器周期值prd,并在下一周期重复该过程。根据本公开的实施例,定时器也可以采用在每个周期内先从初始值递增/递减计数到定时器周期值prd,然后再从定时器周期值prd反向递减/递增到初始值的增减计数的方式。递增递减计数的参数可以由相应寄存器手动配置。例如,如果计数步长为正整数,则在递增计数方式中,可以设定定时器的初始值小于定时器周期值prd;而在递减计数方式中,可以设定定时器的初始值大于定时器周期值prd。定时器递减计数也可以看作定时器以负值为计数单位“递增”计数。例如,可以选择定时器的初始值为0,定时器周期值prd为一个大于0的正整数,每次定时器的值递增1。定时器值的周期性变化可以表征pwm信号的相位变化,每次定时器值增加或减少,都对应于相应的相位增加。例如,定时器的初始值为0,定时器周期值为100,则在0-100的递增计数过程中,不论pwm信号在周期开始时的初始相位值是多少,pwm信号在一个周期内的相位变化为360度,则每次定时器的值递增1,与其变化的相位值为360/(定时器周期值-定时器初始值)=360/(100-0)=3.6度。

当采用相位寄存器中的目标相位设定值对定时器值进行更新时,定时器值更新在本周期内的下一次接收同步信号时生效。在此,相位寄存器也是定时器的定时器值寄存器。通过设定和/或更新与pwm期望相位对应的定时器值,就可以通过定时器控制pwm信号在该pwm期望相位处发生高电平信号和低电平信号之间的切换操作,与pwm期望相位对应的定时器值在下文中被称为目标相位设定值phs。定时器值更新为目标相位设定值phs后,定时器继续递增计数到定时器周期值prd完成本次周期定时,因此更新目标相位设定值phs的pwm周期可能存在提前结束该pwm周期的情况。

根据本公开的实施例,第二pwm信号pwm2与作为参考信号的第一pwm信号pwm1之间的相位差可以从在第一pwm信号pwm1的每个周期开始时第二pwm信号pwm2的相应波形所处位置定义。例如,当第一pwm信号pwm1在周期开始时出现电压上升沿(下降沿),而第二pwm信号pwm2的相应电压上升沿(下降沿)更晚出现,则第二pwm信号pwm2比第一pwm信号pwm1的相位滞后;如果第二pwm信号pwm2的相应电压上升沿(下降沿)比pwm1更早出现,则第二pwm信号pwm2比第一pwm信号pwm1的相位超前。

对于设置有定时器的初始相位设定值phs的情况,假设定时器的定时器值为0到prd(对于递增计数)或prd到0(对于递减计数),例如可以将作为参考pwm信号的第一pwm信号pwm1的定时器的初始相位设定值phs设定为prd/2,代表在每个周期的同步时刻,作为第一pwm信号pwm1的定时器的定时器值为prd/2。此时第二pwm信号pwm2的定时器的初始相位设定值phs也可以是prd/2,其相对于第一pwm信号pwm1的移相相位为0度。

如图1所述的epwm模块的两个pwm信号pwm1和pwm2的波形与定时器值变化的时序示意图则示出更一般的情况。其中,作为参考信号的第一pwm信号pwm1的定时器的初始相位设定值被设定为0,第二pwm信号pwm2的定时器的初始相位设定值phs1被设定为一个大于0的值(该值也小于pwm2的比较值cmpa2,关于比较值cmpa将在下文中详述)。虽然图1中的两个pwm信号的初始相位设定值并不相同(例如都不等于各自的定时器周期值的一半),但是关于第二pwm信号pwm2与第一pwm信号pwm1之间的相位滞后和超前的判定原则与上文所述类似。第二pwm信号pwm2的目标相位设定值phs1位于区间(0,phd/2),代表第二pwm信号pwm2相对于pwm1为相位滞后,然后设定第二pwm信号pwm2的目标相位设定值phs2使其位于区间(prd/2,prd),代表第二pwm信号pwm2相对于pwm1为相位超前,即相位差发生在相位滞后和相位超前之间的转变。

在epwm模块中,对定时器值进行更新通过信号同步完成。在移相和多路pwm信号同步过程中,可以在周期内的任何时刻计算所需的目标相位设定值phs(即更新的定时器值),但是该目标相位设定值phs需要在接收同步信号的瞬间被写入或装载到相位寄存器中。因此,在epwm模块的收到同步信号时,在定时器的相位寄存器中被写入新的目标相位设定值phs,定时器以更新或装载的定时器值(即目标相位设定值phs)继续向后计数。epwm模块通过这种在接收到同步信号的瞬间装载相位寄存器的更新值的方式实现各路pwm信号的时间同步。例如,在递增计数的情况下,如果最初第一和第二pwm信号pwm1和pwm2的相位寄存器的初始相位设定值phs均为50(prd为100,则prd/2=50),则在接收到第一次同步信号的瞬间,50被同时写入各自的定时器的计数器中,两路pwm信号同时从定时器值50开始计数,二者的相位差为0。如果将第二pwm信号的相位寄存器的目标相位设定值phs设置为30,则在接收到同步信号的瞬间,第二pwm信号pwm2的定时器的计数器开始以被装入的30开始计数,而第一pwm信号pwm1的定时器的计数器仍然以50开始计数,导致pwm2信号的定时器的计数器所计数的定时器值到达其比较值cmpa2的时间比pwm1信号的定时器的计数器所计数的定时器值到达其比较值cmpa1的时间晚20(50-30)次计数,即pwm2信号的相位比pwm1信号的相位滞后20个计数步长。根据上文中步长与相位的对应关系,可以容易地计算出相位滞后值。根据本公开的实施例,同步信号通常可以在参考pwm信号的每个pwm周期开始时发送。

epwm模块使用比较值cmp控制pwm信号的占空比。比较值cmp可以分为第一比较值cmpa和第二比较值cmpb。比较值cmp是位于定时器的初始值和定时器周期值之间的值,作为触发pwm信号的高电平信号和低电平信号之间切换的条件。当定时器的定时器值与比较值cmp匹配(例如二者相等)时,满足触发条件,pwm信号的高电平信号与低电平信号之间发生切换操作(即从高电平变为低电平,或者从低电平变为高电平)。在定时器值计数到定时器周期值prd时,pwm信号的高电平信号与低电平信号之间再次发生切换操作,该周期结束。周期结束时的切换操作与匹配比较值cmp时触发的切换操作相反,如果匹配比较值cmp时的切换操作为从高电平变为低电平,则周期结束时的切换操作为从低电平变为高电平,反之亦然。通过设置比较值处于定时器的取值范围中的位置,可以调节pwm信号高电平信号部分和低电平信号部分在一个周期内的比例,即占空比。

比较值cmp通过写入定时器的比较值寄存器进行更新。与目标相位设定值phs不同,如果更新后的比较值cmp位于定时器的当前定时器值和定时器周期值之间,则该更新后的比较值可以在当前周期生效。如果更新后的比较值cmp位于定时器的初始值和当前定时器值之间,则该比较值cmp的匹配触发时机已经错过,则需要在下一pwm周期中生效并在定时器计数到该更新的比较值cmp时触发匹配操作。

由此可见,pwm信号的高、低电平信号的切换仅在比较值cmp的匹配条件满足时和定时器计数达到定时器周期值prd时的两个时刻才发生。

现在回到图1所示的一般情况继续说明根据本公开的实施例的移相控制方法。第一pwm信号pwm1通常作为参考信号,在初始化epwm模块时设置定时器1的初始值101、定时器1的定时器周期值prd1102和定时器1的第一比较值cmpa1。pwm1信号在满足cmpa1的触发条件时从高电平信号切换为低电平信号,在定时器1计数到定时器周期值prd1时从低电平信号切换回高电平信号。第一pwm信号pwm1的定时器的初始相位设定值可以设定并保持为0。在图1中,以递增计数方式说明根据本公开的实施例的方法的运行原理,本领域技术人员基于本文,也可以使用递减计数方式实现移相控制方法。

第二pwm信号pwm2则在初始化epwm模块时设置定时器2的初始值201、定时器2的定时器周期值prd2202和定时器2的第一比较值cmpa2。pwm2信号在满足cmpa2的触发条件时从低电平信号切换为高电平信号,在定时器2计数到定时器周期值prd2时从高电平信号切换回低电平信号。为了在一个连续区间实现移相控制,将epwm模块的第二pwm信号pwm2的信号波形设置为与第一pwm信号pwm1的信号波形呈相反极性,即两个pwm信号在满足比较值的触发条件和计数到定时器周期值两个时刻的高低电平的切换操作分别相反。

第二pwm信号pwm2在第一pwm周期中,在第一同步时刻sync1根据相位寄存器中设置的目标相位设定值phs1更新定时器2的当前定时器值。第二pwm信号pwm2的初始相位设定值phs1(或者可以被称为先前相位设定值)例如被设定为小于第一比较值cmpa2并大于定时器2的初始值201(例如为0)的一个值,即phs1位于初始值201和第一比较值cmpa2之间,此时第二pwm信号pwm2相对于pwm1为相位滞后。而第一pwm信号pwm1作为参考信号,同步信号sync1的生成时刻的定时器1的定时器值始终为其初始相位设定值(例如0),则根据pwm2信号的经更新的定时器值(即phs1),可以计算出pwm2比pwm1信号的滞后相位为360*(phs1–定时器2的初始值)/prd2度。pwm2信号在该pwm周期的剩余部分中,定时器2继续计数,并且在计数到cmpa2时满足匹配条件,pwm2信号从低电平切换到高电平,又在周期结束时切换为低电平,实现正常的相位滞后的pwm操作。

在第二pwm周期中接收第二同步信号sync2时pwm2信号的定时器2的相位寄存器值不变,保持上一pwm周期的滞后相位,并重复pwm2信号从低电平切换到高电平,又切换回低电平信号的过程。

在第三pwm周期中接收第三同步信号sync3时,pwm2信号接收到写入定时器2的相位寄存器中的新的目标相位设定值phs2,将定时器2的当前定时器值204更新为目标相位设定值phs2,参见图1中定时器值变化曲线从204到phs2的跳变。目标相位设定值phs2大于第一比较值cmpa2,则pwm2信号波形从先前相位设定值phs1对应的低电平相位区间移位到目标相位设定值phs2对应的本应当是高电平的相位区间,即从相位滞后区间移相到相位超前区间,从而发生第二pwm信号pwm2相比参考pwm信号pwm1从前一周期的相位滞后到本周期的相位超前的移相转变。

定时器2从更新后的定时器值(即目标相位设定值phs2)继续递增计数,直到达到定时器周期值prd2。由于在前一pwm周期内pwm2信号的相位滞后于pwm1信号,在第三同步时刻sync3时pwm2信号仍处于低电平状态。而在第三同步时刻sync3到本周期结束之间的过程中,定时器2由于更新而无法再次计数到第一比较值cmpa2,错过定时器值与第一比较值cmpa2匹配的高、低电平切换的切换时间点,使得pwm2信号不再发生触发pwm2信号的低电平到高电平的切换操作。在本pwm周期的结束时,按照预先配置,pwm2信号需要再次变为低电平而使得pwm2信号继续保持低电平。pwm2信号的低电平信号状态会一直保持到下一pwm周期的定时器2的定时器值计数到cmpa2时才能将pwm2信号再次切换为高电平。

如图1的框230所示,在pwm2信号从第三同步信号sync3接收前的高电平切换为低电平开始,一直到下一周期的cmpa2条件匹配触发低电平切换为高电平时刻结束的时间段中丢失了高电平pwm波形信号部分。这种部分波形丢失不仅会导致pwm2信号输出的占空比发生不期望的改变,还会使周期性变化的工作电流出现电流偏置。例如,在双有源桥双向dc-dc变换器桥间的移相控制应用场景中,移相时部分波形的丢失造成h桥输出占空比的改变,周期变化的工作电流上的直流偏置叠加在大功率场合下峰值较大的工作电流上,容易造成电感或变压器的饱和,最终烧毁功率器件。这种波形丢失情况在连续的滞后相位到超前相位的转变过程中造成的负面影响更大。

上文中针对定时器的计数器从初始值(例如0)递增计数到定时器周期值prd2的情况,基于pwm2信号的相位设定值从小于第一比较值cmpa2的值phs1变化到大于cmpa2的值phs2,即从先前的滞后相位转变为之后的超前相位的移相操作来说明上述波形丢失的问题,其中新的目标相位设定值phs2位于cmpa2到定时器周期值prd之间,定时器的先前相位设定值phs1位于初始值到cmpa2之间。但是应当注意,在针对定时器的计数器从初始值递减计数到定时器周期值prd2(即初始值大于prd2),或者计数器从定时器周期值prd2反向递减计数到初始值(例如0)的情况,在新的目标相位设定值phs2使得pwm2信号相对于先前的相位设定值phs1发生在超前相位转变为滞后相位的移相操作时,同样存在波形丢失的问题,此时新的目标相位设定值phs2小于cmpa2,而先前的相位设定值phs1大于cmpa2,或者说,phs2在计数器的初始值到cmpa2之间,而先前的相位设定值phs1在cmpa2到定时器周期值prd2之间。可见,定时器的计数器不论从较小的初始值递增计数到较大的定时器周期值prd2,还是从较大的初始值递减计数到较小的定时器周期值prd2,只要先前的相位设定值phs1位于被限定为初始值到cmpa2之间的第一区间,而更新的目标相位设定值phs2位于被限定为cmpa2到定时器周期值prd之间的第二区间,都会存在波形丢失的问题,只是相位差的转变方向相反,其中递增计数中为从滞后相位转变为超前相位,递减计数中为从超前相位转变为滞后相位。因此,在设置定时器的新的目标相位设定值使得pwm2信号的相位出现超前相位和滞后相位之间的双向转变中的任何一种,以及先前相位设定值phs1落入上述第一区间,而更新的目标相位设定值phs2落入上述第二区间时,都需要考虑pwm信号波形丢失的问题。

图2示出根据本公开的实施例的改进的移相控制方法的epwm模块的一个pwm通道中的两个pwm信号波形与定时器值变化的时序示意图。两个pwm信号pwm1和pwm2的设置与图1中类似,下面主要说明相对于图1中的改进部分的技术细节。

图2中所示的移相控制方法在收到同步信号sync1时pwm2信号的时序与图1相同。为了避免在接收到同步信号sync3时错过将定时器2的定时器值与第一比较值cmpa2比较以在匹配条件时触发低电平到高电平切换操作的时机,可以在pwm2信号波形中生成一个过渡波形,保证在基于写入定时器2的相位寄存器中的目标相位设定值phs2更新定时器值之前先将pwm2信号从低电平切换为高电平,缩短持续低电平信号的时间。

在接收到第二同步信号sync2时,写入定时器2的相位寄存器值的目标相位设定值phs可以与接收到第一同步信号sync1时的phs1相同,该周期pwm2信号保持和第一同步信号sync1所在的pwm周期内的pwm2信号一致。在接收到该第二同步信号sync2的同时,可以通过写入第二比较器寄存器值来设置第二比较值cmpb2,并且设定在定时器2的定时器值计数到与第二比较值cmpb2匹配时执行pwm2信号的高电平和低电平之间的切换操作,其中该切换操作与第一比较值cmpa2匹配时的切换操作相同。第二比较值cmpb2可以处于定时器2的初始值201和定时器的先前的相位设定值phs1之间,则在第二同步信号sync2所在的pwm周期内,由于定时器2的定时器值已经越过第二比较值cmpb2,则不会发生由于定时器值与第二比较值cmpb2的比较而触发pwm2信号的高、低电平的切换操作。

在接收到第三同步信号sync3时,定时器2的相位寄存器被写入新的目标相位设定值phs2。从上一pwm周期结束时pwm2信号被定时器2计数到prd2时触发高电平切换到低电平的切换操作之后,到接收第三同步信号sync3之前的时间段内,定时器2从初始值开始递增计数,并在与第二比较值cmpb2匹配时触发与定时器值匹配第一比较值cmpa2时触发的电平切换操作相同的切换操作,将pwm2信号重新拉高到高电平,如图2的虚线205所示。这样,在稍后的第三同步信号sync3的接收时刻定时器2的定时器值被更新为新的目标相位设定值phs2时(参见图2中从等于phs1的定时器值206跳变到phs2的定时器值变化曲线部分),即使错过第一比较值cmpa2的匹配触发的切换操作时机,pwm2信号也已经处于高电平状态。随后在该周期的结束处,定时器2的定时器值计数至定时器周期值prd2,pwm2信号被从高电平切换为低电平,至此产生包括过渡波形的完整移相波形。调整后的移相波形具有正常的占空比和快速的响应时间,有效避免了波形缺失的问题。

图3则示出基于根据本公开的实施例的改进移相控制方法来控制epwm模块的移相操作的示意性流程图。

在步骤s310,开始epwm模块的移相控制方法。

首先在步骤s320中对模块进行pwm和控制参数的初始化,例如设置第一pwm信号pwm1的第一比较值cmpa1,定时器1的初始值和定时器周期值prd1,设置第二pwm信号pwm2的第一比较值cmpa2,定时器2的初始值和定时器周期值prd2。

在步骤s330中,可以通过相位输入控制器计算与第二pwm信号pwm2相对于参考pwm信号pwm1的期望相位相对应的目标相位设定值phs2。

在步骤s340,判断目标相位设定值phs2是否使得pwm2信号相比pwm1信号的相位差发生超前相位和滞后相位之间的转变,并且是否定时器的先前相位设定值位于初始值与cmpa之间的第一区间并且目标相位设定值位于cmpa与定时器周期值之间的第二区间。

如果步骤s340的判定结果为不存在转变(图3中的分支“否”),即定时器的目标设定值phs2不会使第二pwm信号pwm2的相位差发生超前和滞后相位之间的转变,定时器的设定值不会从第一区间越过cmpa2而进入第二区间,从而不存在pwm驱动波形丢失的情况,则方法进入步骤s380,直接在同步信号接收时将目标相位设定值phs2写入定时器寄存器,将定时器值更新为目标相位设定值phs2,并返回到步骤s330等待下一次计算与期望相位对应的pwm2信号的目标相位设定值。

如果步骤s340的判定结果为存在转变(如图3中的分支“是”),则方法进入步骤s350。epwm模块首先打开第二pwm信号pwm2的pwm中断,进行改进的移相控制操作步骤s360。

步骤s360可以分别包括如下子步骤:

s361:在接下来的第一个pwm周期中,在接收同步信号时向定时器2的相位寄存器写入0,其目的为将相位设定值设置为0以使得下一周期不存在移相,为过渡波形做准备。上述相位寄存器的0值设定用于将第二pwm信号pwm2的相位与参考信号pwm1的相位设定为相同。根据本公开的实施例,只要将pwm2信号的相位设定值设置为与参考信号pwm1的初始相位设定值相同,就可以满足两个pwm信号之间相位同步(即不存在移相)。

s362:在第二个pwm周期中将在步骤s330中计算的目标相位设定值phs2写入相位寄存器,使下一个周期输出具有期望超前相位的pwm2信号。同时计算用于在本pwm周期内生成过渡波形的第二比较值cmpb2。根据本公开的实施例,cmpb2可以采用如下公式计算:

其中,phs1为pwm2信号的先前相位设定值,phs2为pwm2信号的目标相位设定值。这样保证在第二pwm周期的结束时前存在一个完整的pwm2信号的高电平或低电平波形而不会造成占空比的波动,例如如图2中所示,虚线205之后的高电平波形与之后的电平波形具有相同的持续时间,因此保证pwm2信号在虚线205开始具有相同的占空比。上述公式可以使得占空比的损失最小。根据实施例,还可以存在其它的cmpb2的计算方式。

s363:在第三个pwm周期中,将第二比较值cmpb2恢复为prd2的一半,避免其影响正常的pwm波形输出。

完成步骤s360后,方法在步骤s370关闭pwm中断,使epwm模块进行自动操作,顺利完成滞后相位和超前相位之间的转变过渡过程。

通过上述改进的移相控制操作,使得epwm模块在针对pwm信号输入的目标相位设定值与先前相位设定值之间存在滞后相位到超前相位之间的转变时,输出的pwm信号波形中不再缺少部分波形,保证pwm信号的占空比以期望方式被设定和改变,实现稳定安全的电路元件驱动。

根据本公开的实施例,还提出用于epwm模块的移相控制的装置400,如图4所示。该装置400可以具有处理器401和存储器402。处理器401可以被配置为执行如上所述的用于epwm模块的移相控制方法的步骤。存储器402可以被配置为存储用于执行上述步骤所必须的数据和命令。

根据本公开的实施例,用于epwm模块的移相控制的装置还可以采用如图5所示的更完整的装置500的形式。图5显示的装置500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。装置500以通用计算设备的形式表现。装置500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530、显示单元540等。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书用于epwm模块的移相控制的方法中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图3中所示的步骤。

所述存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(rom)5203。

所述存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

装置500也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该装置500交互的设备通信,和/或与使得该装置500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口550进行。并且,装置500还可以通过网络适配器560与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器560可以通过总线530与装置500的其它模块通信。应当明白,尽管图中未示出,可以结合装置500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得处理器或一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的用于epwm模块的移相控制的方法的步骤。

在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序包括可执行指令,该可执行指令被例如处理器执行时可以实现上述任意一个实施例中所述用于epwm模块的移相控制的方法的步骤。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书用于epwm模块的移相控制的方法中描述的根据本公开各种示例性实施例的步骤。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

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