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:TMS320F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1313801/tms320f28379d-tms320f28379d

器件型号:TMS320F28379D

大家好、我的 ePWM 有问题、我同时启动它们、但 PWM1与 PWM2和 PWM3有异步、我没有发现 我的错误您知道我的错误在哪里吗?

图 Ehe PWM 应该是50/50的、黄色是 PWM1和绿色 PWM2。 PWM3与 PWM2相同;

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
GpioCtrlRegs.GPACSEL1.all = 0x00222222;
GpioCtrlRegs.GPACSEL2.all = 0x00000000;
CpuSysRegs.PCLKCR0.bit.GTBCLKSYNC = 0; // Stop all the TB clocks
EDIS;
ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV = 0;
// // EPWM Module 4 config
PWM1.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Up count mode
PWM1.TBPHS.bit.TBPHS = 0; // Set Phase register to zero
PWM1.TBCTL.bit.PHSEN = TB_DISABLE; // Master module
PWM1.TBCTL.bit.PRDLD = TB_SHADOW;
PWM1.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO; // Sync down-stream module
PWM1.TBCTL.bit.HSPCLKDIV = TB_DIV1; //(int) PWM_CLK_PRESCALER/4;// High Speed Time-base Clock Prescale Bits 1
PWM1.TBCTL.bit.FREE_SOFT = 2; // Emulation Mode Bits = Free run
PWM1.AQCTLA.all = AQ_NO_ACTION; // clear AQ events
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    您好、Raphael、

    我看到您在配置 ePWM 之前将 GTBCLKSYNC 位设置为0。 配置 ePWM 后、您是否也将此位设置为1? 这应该会同时启动 ePWM 时钟。

    您也可以按照 F2837xD TRM 时基时钟同步部分中所述、执行相同的使用 TBCLKSYNC 位(如果这用于一个 CPU 子系统):

    以下是 TRM 中针对这些位的寄存器说明、以供参考:

    此致、

    艾里森