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.

[参考译文] TMS320F28379D:将 ePWM1与在 GPIO18上连接的外部信号同步

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1487849/tms320f28379d-synchronize-epwm1-with-external-signal-connected-at-gpio18

器件型号:TMS320F28379D

工具与软件:

您好!  

我想在我向 GPIO18提供的外部信号上同步 EPWM1A。 但我看不到外部信号和 ePWM 之间的同步。

我将 GPIO18映射到 Inputtxbar5、如下所示:

EALLOW;
InputXbarRegs.INPUT56SELECT = 0x12;//将 GPIO18映射至 INPUT5
GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0;//将 GPIO18设置为 GPIO
GpioCtrlRegs.GPADIR.bit.GPIO18 = 0;//配置为输入
GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0;// Disable pull-up (禁用上拉)
GpioCtrlRegs.GPAINV.bit.GPIO18 = 1;// Invert input (反向输入)
EDIS;

并将 EPWM1配置为从模式

EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;//时钟与 SYSCLKOUT 的比率
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.CTRMODE = tb_count_updown;//向上/向下计数和向下计数
EPwm1Regs.TBPRD = PQAB_TBPRD;//设置计时器周期

EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE;// SLAVE、Enable phase sync (启用相位同步)
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;//同步到外部信号(GPIO18、即映射到 INPUT5的 SPICLK)
EPwm1Regs.TBPHS.bit.TBPHS = 0;// Phase 为0
EPwm1Regs.TBCTL.bit.PHSDIR = TB_UP;
EPwm1Regs.TBCTR = 0x0000;//清除计数器