PWM每个子模块:
ePWM模块通过时钟同步方案连接在一起,允许它们在需要时作为单个系统运行。此外,该同步方案可以扩展到捕获外围设备子模块(eCAP)。子模块的数量依赖于设备并基于目标应用程序的需求。子模块也可以独立运行。
每个PWM包括以下性质:


每个ePWM外设包括八个子模块。每个子模块执行特定的任务,这些任务可以由软件配置。


每个ePWM模块都有自己的基于时间的子模块,该子模块决定ePWM模块的所有事件计时。内置的同步逻辑允许多个ePWM模块的时间基础作为一个单一系统一起工作。图20-4说明了基于时间的模块在ePWM中的位置。

图20-42显示了trip-zone (TZ)子模块在ePWM模块中的位置。
每个ePWM模块连接6个TZn信号(TZ1 ~ TZ6)。TZ1到TZ3来自GPIO mux。
TZ4来自那些带有EQEP模块的设备上的反向EQEPxERR信号。TZ5连接到系统时钟故障逻辑,TZ6来自CPU的EMUSTOP输出。这些信号指示外部故障或跳闸情况,当故障发生时,ePWM输出可编程进行相应响应。

TZ信号TZ1到TZ6(也统称为TZn)是主动低输入信号。当其中一个信号变低时,或者根据TZDCSEL寄存器事件选择发生DCAEVT1/2或DCBEVT1/2强制时,表示发生了跳闸事件。每个ePWM模块可以单独配置,以忽略或使用每个跳闸区信号或DC事件。特定的ePWM模块使用哪个跳闸区信号或DC事件由该特定ePWM模块的TZSEL寄存器决定。Trip信号可能同步到ePWMclock (EPWMCLK),也可能不同步,并在GPIO MUX块内进行数字滤波。TZn输入上至少3*TBCLK低脉冲宽度足以触发ePWM模块的故障条件。如果脉冲宽度小于此值,则CBC或OST锁存器可能无法锁存脱扣条件。异步行程确保如果时钟因任何原因丢失,输出仍然可以由TZn输入上的有效事件触发。必须对gpio或外设进行适当的配置。
图20-50说明了数字比较(DC)子模块信号与ePWM系统中其他子模块的接口位置。
eCAP输入信号来源于输入X-BAR信号,如图20-51所示。
在该设备上,任何GPIO引脚都可以灵活地映射为trip区域输入和/或trip输入到trip区域子模块和数字比较子模块。输入X-BAR输入选择(INPUTxSELECT)寄存器定义了哪些GPIO引脚被分配为trip区输入/ trip输入。
数字比较(DC)子模块比较ePWM模块外部的信号(例如,来自模拟比较器的CMPSSx信号),直接生成PWM事件/动作,然后馈送给事件触发器、跳闸区和时基子模块。此外,还支持消隐窗口功能,以过滤来自直流事件信号的噪声或不需要的脉冲。


模拟比较器(COMP)模块输出通过外部输入X-BAR逻辑,使用GPIO外设,内部PIE, ECC错误信号,TZ1, TZ2和TZ3输入产生数字比较A高/低(DCAH, DCAL)和数字比较B高/低(DCBH, DCBL)信号。
DCAH/L和DCBH/L信号触发事件,然后可以过滤或直接提供给TZ、事件触发和基于时间的子模块,以:生成跳闸区中断、生成ADC转换开始、强制事件、生成同步事件以同步ePWM模块TBCTR。
事件滤波(空窗逻辑)可以选择空输入信号以去除噪声。
当使用CMPSS在一个周期一个周期的基础上跳闸ePWM时,应该采取措施防止一个PWM周期中断言的比较器跳闸状态延伸到下一个周期。CMPSS可用于向下游ePWM模块发送脱扣状态信号。对于峰值电流模式控制等应用,每个PWM周期只需要一个跳闸事件。在某些情况下,如果不采取预防措施,持续或延迟跳闸事件(接近PWM周期的结束)可能会延续到下一个PWM周期。如果CMPSS数字滤波器或ePWM数字比较(DC)子模块被配置为限定比较器跳闸信号,在ePWM跳闸逻辑能够响应跳闸信号的逻辑变化之前,将引入“N”个限定时钟周期。一旦ePWM跳闸条件合格,跳闸条件将在比较器跳闸信号去断言后保持活动N个时钟周期。如果一个合格的比较器跳闸信号在一个PWM周期结束之前的N个时钟周期内保持断言,跳闸条件将不会被清除,直到下一个PWM周期已经开始。因此,新的PWM周期将检测跳闸条件一旦开始。
为了避免这种不希望发生的跳闸情况,用户应用程序应该采取措施,确保ePWM跳闸逻辑看到的合格跳闸信号在每个PWM周期结束之前被解除断言。
…