EPWM自学小笔记

TB模块大概要做的事情:

指定ePWM时基计数器(TBCTR)频率或周期,以控制事件发生的频率。

•管理与其他ePWM模块的时基同步。

•与其他ePWM模块保持相位关系。

•将时基计数器设置为向上计数、向下计数或向上计数和向下计数模式。

•生成以下事件:–CTR=PRD:等于指定周期的时基计数器(TBCTR=TBPRD)。

–CTR=零:等于零的时基计数器(TBCTR=0x00)。

•配置时基时钟的速率;ePWM时钟的预定标度版本(EPWMCLK)。这允许时基计数器以较慢的速率递增/递减

配置TB模块需要注意的点:

如果应用程序代码要求在TBCTR计数时通过软件更新TBCTR值,请注意,时基模块至少需要1个TBCLK周期才能实现时基相关事件。因此,对于要实现的事件,可以用TBCTR=PRD-1而不是TBCTR=PRD来写入TBCTR(在计数器向上计数的情况下),并且可以用TBCTR=1而不是TBCTR=0来写入TBCTR(在计数器向下计数的情况下)

//经典老图,很多书上都有这个配置图

EPWMxSYNCI

时基同步输入。

用于使时基计数器与同步链中较早的ePWM模块的计数器同步的输入脉冲。ePWM外围设备可以被配置为使用或忽略该信号。对于每个同步链中的第一个ePWM模块,该信号可以来自使用输入X-BAR的INPUT5或INPUT6的设备引脚,也可以来自以前的ePWM模块。对于每个链中的后续ePWM模块,该信号从另一个ePWM外围设备传递。例如,EPWM2SYNCI由ePWM1外围设备生成,EPWM3SYNCI由ePWM2生成等等。有关特定设备同步顺序的信息,请参阅第18.4.3.3节

EPWMxSYNCO

时基同步输出。

该输出脉冲用于稍后在同步链中同步ePWM模块的计数器。ePWM模块从三个事件源之一生成此信号:

1。EPWMxSYNCI(同步输入脉冲)

2。CTR=零:时基计数器等于零(TBCTR=0x00)。

3.CTR=CMPB:等于计数器比较B(TBCTR=CMPB)寄存器的时基计数器。

EPWMxSYNCPER 

时基外设同步输出。

该输出信号用于将GPDAC和CMPSS同步到EPWM。可以使用HRPCTL寄存器来配置输出信号。注意,该信号与HRPWM没有关系。

CTR = PRD

等于指定周期的时基计数器。

每当计数器值等于有效周期寄存器值时,就会产生该信号。此时TBCTR=TBPRD

CTR = Zero时基计数器等于零每当计数器值为零时,就会产生此信号。也就是说,TBCTR等于0x00。
CTR = CMPB

时基计数器等于有效计数器比较B寄存器(TBCTR=CMPB)。

此事件由计数器比较子模块生成,并由同步输出逻辑使用

CTR_dir

时基反向。

指示ePWM时基计数器的当前方向。当计数器增加时信号为高,而当计数器减少时信号为低。

CTR_max 时基计数器等于最大值。(TBCTR=0xFFFF)当TBCTR值达到最大值时生成的事件。此信号仅用作状态位
TBCLK 

时基时钟。

这是ePWM时钟(EPWMCLK)的预缩放版本,由ePWM内的所有子模块使用。该时钟决定时基计数器递增或递减的速率。

//三种计数方式,注意周期的计算公式不同,上面也提到过关于“1”的问题,CTR_dir指示计数方向

看一个同步输入的图

每个ePWM模块具有同步输入(SYNCI)、同步输出(SYNCO)和外围同步输出(SYNCPER)。在图18-7中,EXTSYNCIN1来源于INPUTXBAR5,EXTSYNCIN2来源于INPUTXBAR6,可以配置为选择任何GPIO作为同步输入。使用SYNCSEL寄存器配置同步链传播路径时,请确保最长路径不超过四个ePWM/eCAP模块。

时基计数器以四种模式之一工作:

•不对称的递增计数模式

•不对称的递减计数模式

•对称的递增递减计数

•时基计数器保持恒定在当前值时冻结

为了说明前三种模式的操作,以下时序图显示了事件何时生成以及时基如何响应EPWMxSYNCI信号。

此功能允许用户使影子寄存器到活动寄存器的传输发生一次。当GLDCTL2[OSHTLD]=1时,对于配置为使用全局加载机制的寄存器,在GLDCTL[GLDMODE]选择的事件上发生影子到活动寄存器的传输。

//这个Global Load和下面的一次性加载这里没看懂  感觉以后用多相用得到,现在这翻译一下放这

note:SYNCEVT信号仅在PHSEN设置时传播通过

启用此功能时,对于启用了此模式的所有寄存器,将内容从影子寄存器传输到活动寄存器的过程与全局影子到活动负载控制寄存器(GLDCTL[GLDMODE])中的配置位定义的事件相同。当GLDCTL[GLD]=1时,忽略单个阴影寄存器的阴影到活动加载事件选择位,全局加载模式对由GLDCFG[REGx]启用的相应寄存器生效。

当GLDCTL[GLD]=1且GLDCFG[REGx]=0时,全局加载模式不会影响相应的寄存器(REGx)。各个影子寄存器的影子到活动加载事件选择位决定了内容从影子寄存器到活动寄存器的传输方式。

18.4.7.1 Global Load Pulse Pre-Scalar  全局负载脉冲预标量

此功能提供了选择影子到活动传输的功能,该传输在所选全局负载脉冲(GLDCTL[GLDMODE])的“N”次出现中发生一次。此预缩放功能不适用于不能或未配置为使用全局加载机制的寄存器(即GLDCTL[GLD]=0或GLDCFG[REGx]=0)

18.4.7.2 One-Shot Load Mode 一次性加载模式

此功能允许用户使影子寄存器到活动寄存器的传输发生一次。当GLDCTL2[OSHTLD]=1时,对于配置为使用全局加载机制的寄存器,在GLDCTL[GLDMODE]选择的事件上发生影子到活动寄存器的传输。

通过使用GLDCTL2[GFRCLD],软件可以将内容从影子寄存器强制加载到活动寄存器。GLDCTL2寄存器也可以通过使用EPWMXLINK[GLDCTL2LINK]跨多个PWM模块进行链接。这与上面讨论的单触发负载模式特征一起,提供了一种在特定PWM事件下或者如果需要的话在同一时钟周期内正确更新一个或多个PWM模块中的多个PWM寄存器的方法。这在可变频率应用和/或多相交织应用中非常有用。

note:启用高分辨率模式时,不得使用一次性加载模式。

18.4.7.3 One-Shot Sync Mode 一次性同步模式

要启用单次同步模式以生成SYNCOUT脉冲,请配置TBCTL2[OSHTSYNCMODE]位并设置TBCTL2/OSHTSYNC]位,如图18-13所示。

计数器比较子模块将时基计数器值作为输入。该值连续地与计数器比较A(CMPA)、计数器比较B(CMPB)、计数器比较器C(CMPC)和计数器比较D(CMPD)寄存器进行比较。当时基计数器等于比较寄存器之一时,计数器比较单元生成适当的事件。

计数器比较:•使用CMPA、CMPB、CMPC和CMPD寄存器基于可编程时间戳生成事件:–CTR=CMPA:时基计数器等于计数器比较A寄存器(TBCTR=CMPA)–CTR=CMPEB:时基计数器相等计数器比较B寄存器–CTR=CMPD:时基计数器等于计数器比较D寄存器(TBCTR=CMPD)•如果使用计数器比较A(CMPA)和计数器比较B(CMPB)适当配置了动作限定符子模块,则控制PWM占空比•遮蔽新的比较值以防止c

计数器比较子模块负责生成可在动作限定符和事件触发器子模块中使用的事件。有四个独立的比较事件:1。CTR=CMPA:等于计数器比较A寄存器的时基计数器(TBCTR=CMA)。

2.CTR=CMPB:等于计数器比较B寄存器的时基计数器(TBCTR=CMPB)。

3.CTR=CMPC:等于计数器比较C寄存器的时基计数器(TBCTR=CMPC)。此事件只能用于在事件触发器子模块中生成事件。

4.CTR=CMPD:等于计数器比较D寄存器的时基计数器(TBCTR=CMP D)。此事件只能用于在事件触发器子模块中生成事件

//功能确实强大,ABCD四个比较值 28335我记得才俩

对于递增计数或递减计数模式,每个事件在每个周期只发生一次。对于上下计数模式,如果比较值在0x00 TBPRD之间,则每个事件每个周期发生两次;如果比较值等于0x00或等于TBPRD,则每个周期一次。这些事件应用于动作限定符子模块,在该子模块中,事件由反方向限定,并在启用时转换为动作。

//动作限定AQ模块不多做赘述,这就是达到条件就出现波形,现在说一些注意的点:

ePWM动作限定符可以同时接收多个事件。在这种情况下,硬件会为事件分配优先级。一般规则是,时间较晚发生的事件具有较高的优先级,而软件强制事件始终具有最高优先级。上下计数模式的事件优先级如表18-4所示。优先级级别1是最高优先级,级别10是最低优先级。优先级根据TBCTR的方向略有变化。

配置死区模块的意义:

ePWM(增强型脉冲宽度调制)模块中的死区是一种延迟控制机制,用于避免功率开关在切换过程中出现短路故障。当功率开关从一个状态切换到另一个状态时,需要一定的时间来确保两个开关不会同时导通,以避免直流电源短路。这段时间就称为死区。

在 ePWM 模块中,可以通过配置死区参数来控制死区的大小和延迟。通过设置适当的死区,可以确保在切换过程中不会出现短路故障,从而提高系统的可靠性和稳定性。

据说是死区模块的操作亮点?

 死区的经典配置模式:

模式1:绕过下降沿延迟(FED)和上升沿延迟(RED):允许用户从PWM信号路径完全禁用死区子模块。

模式2-5:经典死区极性设置:这些代表典型的极性配置,可以解决可用工业电源开关栅极驱动器所需的所有有源高和有源低模式。这些典型情况的波形如图18-35所示。请注意,要生成图18-35中的等效波形,请配置动作限定符子模块以生成EPWMxA所示的信号

模式6:旁路上升沿延迟和模式7:旁路下降沿延迟:最后,表18-8中的最后两个条目显示了下降沿延迟(FED)或上升沿延迟(RED)块被旁路的组合。

计算下降沿延迟和上升沿延迟的公式为:

FED=DBFED×TTBCLK

RED=DBRED×TTBCLK

其中TTBCLK是TBCLK的周期,即EPWMCLK的预缩放版本。 

一些常用的值:

斩波模块暂时没用到,后期用到再来补充吧

下面记录一下事件触发器(ET)子模块 ,产生中断和产生soc信号还是挺常用的

事件触发子模块管理时基子模块、计数器比较子模块和数字比较子模块生成的事件,以在所选事件发生时生成到CPU的中断和到ADC的转换脉冲的开始。

图18-46显示了事件触发器的中断生成逻辑。中断周期(ETPS[INTPRD])位指定了产生中断脉冲所需的事件数。可用的选项有:•不生成中断。

•在每个事件上生成一个中断。

•每隔一个事件产生一个中断。

•每三个事件产生一个中断

可以导致中断的事件由中断选择(ETSEL[INTSEL])和(ETSEL[INTSELCMP])位配置。事件可以是以下情况之一:•时基计数器等于零(TBCTR = 0x00)。

•等于周期的时基计数器(TBCTR = TBPRD)。

•时基计数器等于零或周期(TBCTR = 0x00 || TBCTR = TBPRD)。

•计时器增加时,基准计数器等于比较A寄存器(CMPA)。

•定时器递减时,时基计数器等于比较A寄存器(CMPA)。

•当计时器递增时,计时计数器等于比较B寄存器(CMPB)。

•定时器递减时,时基计数器等于比较B寄存器(CMPB)。

•当计时器递增时,计时计数器等于比较C寄存器(CMPC)。

•定时器递减时,计时计数器等于比较C寄存器(CMPC)。

•当计时器递增时,计时计数器等于比较D寄存器(CMPD)。

•当计时器递减时,计时计数器等于比较D寄存器(CMPD)。图18-47显示了事件触发器的起始转换a (SOCA)脉冲发生器的工作原理。增强的功能包括在ETSEL寄存器中定义的SOCASELCMP和SOCBSELCMP位字段,分别使CMPC和CMPD事件能够引起转换的开始。ETPS[SOCPSSEL]位字段决定SOCACNT2和SOCAPRD2是否控制。ETPS[SOCACNT]计数器和ETPS[socacrd]周期值的行为与中断发生器相似,只是脉冲是连续产生的。也就是说,当脉冲产生时,脉冲标志ETFLG[SOCA]被锁存,但是中断发生器不停止进一步的脉冲产生。启用和禁用位ETSEL[SOCAEN]停止脉冲产生,但是输入事件仍然可以被计数,直到达到与中断产生逻辑一样的周期值。触发SOCA和SOCB脉冲的事件可以在ETSEL[SOCASEL]和ETSEL[SOCBSEL]位中分别配置。可能的事件是可以通过添加DCAEVT1为中断生成逻辑指定的相同事件。soc和DCBEVT1。soc事件信号来自数字比较(DC)子模块。SOCACNT2初始化方案非常类似于中断生成器,具有各自的enable、value initialize和SYNC或软件强制选项。

DC模块还没学,先看看他的作用:

ePWM 的 Digital Compare (DC) Submodule 是用于比较 ePWM 计数器值和一个给定的比较值,并根据比较结果产生数字输出信号的模块。其主要作用包括:

  1. 生成数字输出信号: DC 子模块可以根据 ePWM 计数器的值和预设的比较值来产生数字输出信号。这个输出信号可以用来控制外部器件,如电机驱动器、逻辑电路等。

  2. 实现逻辑控制: DC 子模块可以根据比较结果产生逻辑高或逻辑低的输出信号,从而实现对外部器件的逻辑控制。

  3. 灵活性和精确性: DC 子模块通常提供灵活的配置选项,可以设置比较值、比较方式(大于、小于、等于等)和输出极性等参数,从而实现对输出信号的精确控制。

总的来说,ePWM 的 DC 子模块提供了一个灵活、精确的数字比较和控制功能,可以在各种应用场景中使用,如电机控制、功率转换、信号调制等。

  • 39
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值