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.

[参考译文] CCS/TMDSDOCK28379D:DCAEVT1.SYNC 可以清除其他 ePWM 模块#39;s 计数器寄存器

Guru**** 2511415 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/808923/ccs-tmdsdock28379d-dcaevt1-sync-can-clear-other-epwm-module-s-counter-register

器件型号:TMDSDOCK28379D

工具/软件:Code Composer Studio

我使用两个 ePWM 模块 ePWM2和 ePWM3、每个模块都有自己的 TZ 信号来生成 数字比较的 DCAEVT1.SYNC 来清除计数器寄存器。 即 TZ1表示 ePWM2、TZ2表示 ePWM3。

但我发现 TZ2可以清零 ePWM2和 ePWM3的计数器寄存器、那么为什么呢? 相关代码如下:

EPwm2Regs.DCTRIPSEL.bit.DCALCOMPSEL = DC_TZ1;  

EPwm2Regs.TZDCSEL.bit.DCAEVT1 = TZ_DCAH_HI;

EPwm2Regs.DCACTL.bit.EVT1SRCSEL = DC_EVT1;  
EPwm2Regs.DCACTL.bit.EVT1FRCSYNCSEL = DC_EVT_异 步;

EPwm2Regs.TZCTL.bit.TZA = TZ_NO_CHANGE;
EPwm2Regs.TZCTL.bit.TSB = TZ_NO_CHANGE;

EPwm2Regs.TZCTL.bit.DCAEVT1 = TZ_NO_CHANGE;

EPwm2Regs.DCACTL.bit.EVT1SYNCE = 1;

EPwm3Regs.DCTRIPSEL.bit.DCALCOMPSEL = DC_TZ2;  


EPwm3Regs.TZDCSEL.bit.DCAEVT1 = TZ_DCAH_HI;

EPwm3Regs.DCACTL.bit.EVT1SRCSEL = DC_EVT1;  
EPwm3Regs.DCACTL.bit.EVT1FRCSYNCSEL = DC_EVT_异 步;

EPwm3Regs.TZSEL.bit.DCAEVT1 = 1;

EPwm3Regs.TZCTL.bit.TZA = TZ_NO_CHANGE;
EPwm3Regs.TZCTL.bit.TSB = TZ_NO_CHANGE;

EPwm3Regs.TZCTL.bit.DCAEVT1 = TZ_NO_CHANGE;

EPwm3Regs.DCACTL.bit.EVT1SYNCE = 1;

GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0;//启用 GPIO12上的上拉电阻(TZ1)
GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 3;//异步输入 GPIO12 (TZ1)
EALLOW;
InputXbarRegs.INPUT1SELECT = 12;
EDIS;

GpioCtrlRegs.GPAPUD.bit.GPIO11 = 0;//启用 GPIO11上的上拉电阻(TZ2)
GpioCtrlRegs.GPAQSEL1.bit.GPIO11 = 3;//异步输入 GPIO11 (TZ2)
EALLOW;
InputXbarRegs.INPUT2SELECT = 11;
EDIS;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的帖子已分配给专家。 在另一个注释中,如果您在帖子中插入代码片段,请始终使用“Syntax Highlighter”选项进行粘贴。 这使得代码更易于阅读。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    另一个线程。 这很可能是您的解决方案。

    //将 XBAR 输入从使用 GPIO0更改为使用 GPIO0
    //如果启用了 ePWM SYNCIN,EXTSYNCIN1和 EXTSYNCIN2将使用
    // GPIO0 (即 EPWM1的输出)。
    //选择和未使用的 GPIO
    Xbar_setInputPin (XBAR_INPUT5、50);
    Xbar_setInputPin (XBAR_INPUT6、50);