SRPWM比较模式在各场景下不同表现的应用指南

1 功能说明

在ET600X系列的SRPWM中,可以对比较事件产生的模式进行设置。 在实际应用中,该模式在不同场景下的表现,呈现出不同的效果。 本文主要讨论主比较器在实时更新的过程中,不同比较模式以及不同更新时机下,比较事件的产生情况。

2 比较模式定义

2.1 模式一 时基计数器等于比较值时产生比较事件

即当时基计数器的计数值等于设置的比较值时,产生相应的比较事件。该事件可以用于动作矩阵的生成,也可以用于信号同步,具体可以参考对应芯片型号的用户手册。

注意

由于该模式为默认值,用户在开发时,常常将其忽略,从而导致产生的波形不符合期望。

2.2 模式二 时基计数器大于等于比较值或者小于等于比较值时产生比较事件

计数方向向上时:时基计数器大于等于比较值时产生比较事件

计数方向向下时:时基计数器小于等于比较值时产生比较事件

可以看到,模式二与模式一的区别在于,不再局限为等于时(时基计数器和比较值的关系),才产生事件。

重要

比较模式仅针对主比较器有效,从比较器不受这个模式约束,仅支持等于产生比较事件。

3 典型场景应用

上述章节讲述了比较模式的定义。为了更好地展现两者的区别,接下来,将以典型的场景为例进行原理性说明。

3.1 前置说明

该芯片支持多个主比较器和多个从比较器。若未提前说明,本文默认使用主比较器A。

本文默认使用支持产生多次比较事件的模式,以更好地展示不同场景下的表现。

比较事件次数模式:

一次比较事件:针对的是独立的A/B/C/D。即每个比较器都可以产生一次事件,但单个比较器单计数方向各仅能产生一次事件;

多次比较事件:即单计数方向各比较器可产生多次比较事件;

名词解释

new:

主比较器A的新配置值

old:

主比较器A的旧配置值

update:

新配置值的更新时刻

new_up:

向上计数方向时,主比较器A的新配置值

new_down:

向下计数方向时,主比较器A的新配置值

实线红色箭头:

比较脉冲出现时刻

虚线红色箭头:

比较事件可多次产生模式下的比较脉冲出现时刻

CNT:

时基计数器值

ZERO:

零点时刻

PRD:

周期时刻

TB_PHASE:

移相时刻,改变当前CNT位置

CMPA:

主比较器A的比较值

CMPB:

主比较器B的比较值

CMPx:

主比较器x的比较值,x为A~D

3.2 模式一 等于产生比较事件

主比较器和从比较器均支持该模式。不同计数模式下,模式一的表现如下:

计数方向:向上计数

../_images/AN0018_001.png

向上计数: 等于产生比较事件的场景

计数方向:上下计数

../_images/AN0018_002.png

上下计数: 等于产生比较事件的场景

值得说明

向上计数时:对于场景b在当前PWM周期内无法产生向上比较脉冲,因为新配置更新时刻,时基计数器已大于比较配置值,不符合等于产生比较事件的条件;

上下计数时:对于场景b在当前PWM周期内无法产生向上比较脉冲,但可以产生向下比较脉冲;

3.3 模式二 大于等于或小于等于产生比较事件

仅主比较器支持该模式,从比较器不受该模式约束,仅支持等于产生比较事件。不同计数模式下,模式二的表现如下:

计数方向:向上计数

../_images/AN0018_003.png

向上计数: 大于等于产生比较事件的场景

计数方向:上下计数

../_images/AN0018_004.png

上下计数: 大于等于或小于等于产生比较事件的场景

值得说明

向上计数时:对于场景b,在更新时刻可以产生向上比较脉冲,因为新配置更新时刻,符合大于等于产生比较事件的条件。

上下计数时:对于场景b,在更新时刻可以产生向上比较脉冲,在new_down时刻也可以产生向下比较脉冲。因为向下计数时,符合小于等于产生比较事件的条件。

4 场景汇总

上述章节对单个主比较器的场景进行了说明。在实际应用中,常常是多个比较器同时工作。 为了更好地展现不同场景的情况,本章节将以表格的形式,汇总多个比较器场景的情况。 由于模式一的使用和理解相对简单,本章节主要针对模式二的使用进行说明。

4.1 触发条件

  1. 满足模式二的触发条件。

    ①. 向上计数时:时基计数器大于等于比较值;

    ②. 向下计数时:时基计数器小于等于比较值;

  2. CMPx事件产生一次后,需要以下任意条件,才能再次产生CMPx事件:

    ①. 满足一次CNT计数方向的切换;

    ②. 满足一次CNT区别于当前比较事件值的切换。如:

    当前产生了一次向上计数的CNT大于等于CMPx事件,则需要满足一次CNT小于CMPx时刻,才能再次产生该方向的CMPx事件;

    当前产生了一次向下计数的CNT小于等于CMPx事件,则需要满足一次CNT大于CMPx时刻,才能再次产生该方向的CMPx事件;

4.2 实现方式

本章节采用:仅修改CNT(TB_PHASE),不修改CMPx的方式。前述章节采用的方式为:修改CMPx,不改变CNT的方式。

小技巧

无论采用哪种方式,都需要关注其触发条件

4.2.1 计数方向:向上计数

../_images/AN0018_005.png

向上计数:锯齿波模式

象限定义

:

ZERO到CMPA的区间

:

CMPA到CMPB的区间

:

CMPB到PRD的区间

跳变情况

跳变点

象限变化

动作

电平变化

说明

ZERO

①→③

CMPB CLR

L → L

ZERO

③→①

None

L → L

CMPA

②→①

None

H → H

CMPA

①→②

CMPA SET

L → H

CMPB

③→②

None

L → L

CMPB

②→③

CMPB CLR

H → L

4.2.2 计数方向:上下计数

../_images/AN0018_006.png

上下计数:三角波模式

象限定义

:

ZERO到CMPA向上时刻的区间

:

CMPA向上时刻到PRD的区间

:

PRD到CMPB向下时刻的区间

:

CMPB向下时刻到ZERO的区间

跳变情况

跳变点

象限变化

动作

电平变化

说明

ZERO

①→④

CMPB CLR

L → L

ZERO

④→①

None

L → L

CMPA

②→①

None

H → H

CMPA

①→②

CMPA SET

L → H

PRD

③→②

CMPA SET

H → H

PRD

②→③

None

H → H

CMPB

④→③

None

L → L

CMPB

③→④

CMPB CLR

H → L

5 实际应用场景参考

相关实际应用场景请参阅 SRPWM的比较模式设置对波形生成影响的应用指南