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:ePWM 同步问题

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/597655/tms320f28379d-epwm-synchronization-questions

器件型号:TMS320F28379D

大家好、我正在学习28379D 一日技术讲座、并已阅读以下代码:  

空 InitEPwm1 (空)

//设置 TBCLK
EPwm1Regs.TBCTL.bit.CTRMODE = 0;//递增计数
EPwm1Regs.TBPRD =周期1;//设置定时器周期
EPwm1Regs.TBCTL.bit.PHSEN = 0;//禁用相位加载
EPwm1Regs.TBPHS.bit.TBPHS = 0x0000;//相位为0
EPwm1Regs.TBCTR = 0x0000;//清除计数器
EPwm1Regs.TBCTL.bit.HSPCLKDIV = 1;//时钟与 SYSCLKOUT 之比
EPwm1Regs.TBCTL.bit.CLKDIV = 0;
EPwm1Regs.TBCTL.bit.SYNCOSEL = 1;// CTR 上的 SYNC 输出= 0

//将影子寄存器加载设置为零
EPwm1Regs.CMPCTL.bit.SHDWAMODE = 0;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = 0;
EPwm1Regs.CMPCTL.bit.LOADAMODE = 0;
EPwm1Regs.CMPCTL.bit.LOADBMODE = 0;

//设置比较值
EPwm1Regs.CMPA.bit.CMPA = dutyCycle1;//设置比较值

//设置操作
EPwm1Regs.AQCTLA.bit.ZRO = 2;//将 PWM1A 设置为零
EPwm1Regs.AQCTLA.bit.CAU = 1;//在事件 A 上清除 PWM1A、递增计数

空 InitEPwm5 (空)

//设置 TBCLK
EPwm5Regs.TBCTL.bit.CTRMODE = 0;//向上计数
EPwm5Regs.TBPRD = PWM1_PERIOD;//与 PWM1相同的周期
EPwm5Regs.TBCTL.bit.PHSEN = 1;//启用相位加载
EPwm5Regs.TBPHS.bit.TBPHS =相位偏移5;//相位
EPwm5Regs.TBCTR = 0x0000;//清除计数器
EPwm5Regs.TBCTL.bit.HSPCLKDIV=1;//时钟与 SYSCLKOUT 的比率
EPwm5Regs.TBCTL.bit.CLKDIV = 0;

//将影子寄存器加载设置为零
EPwm5Regs.CMPCTL.bit.SHDWAMODE = 0;
EPwm5Regs.CMPCTL.bit.SHDWBMODE = 0;
EPwm5Regs.CMPCTL.bit.LOADAMODE = 0;
EPwm5Regs.CMPCTL.bit.LOADBMODE = 0;

//设置比较值
EPwm5Regs.CMPA.bit.CMPA = dutyCycle5;//设置比较值

//设置操作
EPwm5Regs.AQCTLA.bit.ZRO = 2;//将 PWM1A 设置为零
EPwm5Regs.AQCTLA.bit.CAU = 1;//在事件 A 上清除 PWM1A、递增计数

据说 EPWM5同步输入来自 EPWM1 SYNCOUT、但我不理解。 从下图中可以看到、EPWM5同步输入只能来自 EPWM4 SYNCOUT、而 EPWM4同步输入由 SYNCSELEPWM4SYNCIN 在 EPWM1SYNCOUT、EXTMSYNCIN1和 EXTMSYNCIN2中选择。

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

    您好 Howard、

    您能告诉我们您参考的是车间的哪一部分吗? 一种可能是 EPWM1的 SYNCO 将进入 EPWM4、而该 EPWM4将传递到 EPWM5。 但是、我需要回顾具体背景、以确定这里是否是这样。

    谢谢、

    Kris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kris、
    这是基于28379D、Lab3的1天技术讲座。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Howard、

    EPWM4位字段 SYNCOSEL [5-4]的默认值是 SyncIn 被传递到 SyncOut。  请参阅 TRM 第1656页。  您还可以参考多日技术讲座手册 模块7以了解更多详细信息(请参阅第7-8页和第7-9页的图)。  可在以下位置找到多日技术讲座材料:

    http://processors.wiki.ti.com/index.php/C2000_Multi-Day_Workshop

    但愿这对您有所帮助。

    - Ken