This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
对于 ePWM 模块中给出的 SYNCOSEL 选项、我们如何在选择 CMPB 选项时指定计数方向。 我在 ePWM 配置中使用了加减计数器模式。 我想在向下计数时以特定的 CTR 值从 EPWM1创建一个 SyncOut。
5-4 SYNCOSEL -同步输出选择
00:EPWMxSYNCI / SWFSYNC
01:CTR =零:时基计数器等于零(TBCTR = 0x00)
10:CTR = CMPB:时基计数器等于计数器比较 B
(TBCTR = CMPB)
11:EPWMXSYNCO 由 TBCTL2[SYNCOSELX]定义
复位类型:SYSRSn
在上述选项中,如何在选择选项-10时定义计数方向( CTR = CMPB )。
如有任何帮助,将不胜感激。
谢谢
迪普蒂
Deepthi、您好!
您可以使用 TBCTL 寄存器的 PHSDIR 位来选择 ePWM 接收到同步输入脉冲后的计数器方向:
请记住、SYNCOSEL 选择 EPWM1模块作为同步输出脉冲发出的事件 、其他 ePWM 模块可用作同步输入源-如 TRM 图15-7所示。 时基计数器同步方案。 EPWM1接收到同步输入脉冲后、只能使用 PHSDIR 位(如上所述)来改变方向-对于 EPWM1、该脉冲来自外部同步源、或者您可以使用软件强制的同步脉冲(TBCTL 寄存器的 SWFSYNC 位)来发出同步脉冲。 在同一图中也显示了这一点。
此致、
艾里森
尊敬的 Allison:
感谢您回答我的问题。
目的是不改变计数方向。
也许我应该重新构建我的问题。
我想知道如何仅在计时器递减时(在递增计数器模式下)生成同步脉冲。
例如、在为 ePWM 中断选择一个事件时、我们有如下一些选项:
INTSEL ePWM 中断(ePWMx_INT)
选择选项
000:保留
001:启用事件时基计数器等于零。 (TBCTR = 0x00)
010:启用事件时基计数器等于周期(TBCTR =TBPRD)
011:启用等于零或周期的事件时基计数器(TBCTR = 0x00或 TBCTR = TBPRD)。 该模式在向上向下 双向计数模式下很有用。
100:在计时器 递增时使能事件时基计数器等于 CMPA、或在计时器递增时使能 CMPC
101:当计时器 递减时使事件时基计数器等于 CMPA、当计时器递减时使 CMPC 使能事件时基计数器
110:使能事件:当计时器 递增时、时基计数器等于 CMPB;当计时器递增时、时基计数器等于 CMPD
111:启用事件:当计时器 递减时、时基计数器等于 CMPB;当计时器递减时、时基计数器等于 CMPD。
在" 时基计数器等于 CMPB 且计时器递减时"、有生成事件的选项。
我需要一个类似的选项来生成从 EPWM1到 EPWM2的同步输出脉冲。
请注意、我的问题与 同步输出 而不是任何中断生成的任务。 尤其是在配置 SYNCOSEL 寄存器时。
Deepthi、您好!
感谢您的澄清!
遗憾的是、没有硬件实现选择 CMPB-DOWN 作为同步输出脉冲的事件源、正如您突出显示的、这里有中断的事件源。 使用同步输出脉冲 仅限 当 CTR = CMPB 时- 下 使用时、必须在软件中实现向上向下计数。 请告诉我是否可以帮助解决其他问题!
此致、
艾里森
尊敬的 Allison:
感谢您确认这一方面。 我将在这方面尝试其他一些备选办法。
谢谢。此
致、 迪普蒂没有问题, Deepthi. 我将继续并暂时关闭此主题、但如果您有任何其他问题、可以随时打开另一个主题或向我发送消息!
此致、
艾里森
当然、Allison。 感谢您的支持。
谢谢。此
致、 迪普蒂