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.

[参考译文] TMS320F280025C:用于实现 XLink 功能的 DRIVERLIB 示例项目或代码片段

Guru**** 2401445 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1216817/tms320f280025c-driverlib-example-project-or-code-snippet-to-implement-xlink-feature

器件型号:TMS320F280025C

 280025技术参考手册 中包含 以下 XLink 功能的说明:

 

 

17.4.5在 ePWM 模块之间同时写入 TBPRD 和 CMPx 寄存器

对于变频应用、需要同时写入 TBPRD 和 CMPx 寄存器

模块之间的连接。 这可防止 CTR = 0或 CTR = PRD 脉冲强制影子到的情况

在所有寄存器在 ePWM 模块之间更新之前主动加载这些寄存器(导致某些

从新的影子值加载寄存器、而其他寄存器从旧的影子值加载)。 拓扑

这是针对 TBPRD:TBPRDHR、CMPA:CMPAHR、CMPB:CMPBHR、CMPC 和的 ePWM 寄存器链接方案

添加了 PWM 模块之间的 CMPD 寄存器。

对于特定的 ePWM 模块# A,用户代码将"B+1"写入 EPWMXLINK 中链接的寄存器位域。 "B"为

链接到的 ePWM 模块#(即、写入 ePWM 模块"B" TBPRD:TBPRDHR、

CMPA:CMPAHR、CMPB:CMPBHR 或 CMPC 将同时写入 ePWM 中的相应寄存器

模块"A")。 例如、配置了 ePWM3 EPWMXLINK 寄存器以便 CMPA:CMPAHR 链接到该寄存器

ePWM1、然后在 ePWM 1中写入 CMPA:CMPAHR 将同时写入相同的值

CMPA:ePWM3中的 CMPAHR。 如果 ePWM4的 CMPA:CMPAHR 寄存器也链接到 ePWM1、则对进行写入

ePWM 1将向 ePWM3和 ePWM4中的 CMPA:CMPAHR 寄存器写入相同的值。

EPWMXLINK 的寄存器描述清楚地解释了相应的寄存器位域链接值

例如 ePWM。 使用 EPWMXLINK 的一个示例是将 ePWM2 CMPA 与 ePWM1的 CMPA 链接在一起。 在本例中为 a

写入 ePWM1的 CMPA 也将更改 ePWM2的 CMPA 值。

  1. 您能否让我指向实现此 XLink 功能以同时写入到2个 ePWM 模块中的 CMPA 的 DRIVERLIB 示例项目?
  2. 如果没有这样的示例工程、则实现  XLink 功能的一些代码片段也非常有用

谢谢!

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

    您好 Quentin:

    的第2.3.1节 本文档《利用新型 ePWM 功能实现多相控制》、 参考 一个示例应用。 虽然该解决方案本身似乎已被弃用、但文档中的代码片段确实提供了 XLink 功能的示例!

    此致、
    Jason Osborn

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

    非常感谢、Jason!

    是否有办法 在 ePWM 模块之间同时复位 VCAPCTL 寄存器(例如,使用 ePWM_startValleyCapture ())? 是否有任何示例项目或代码片段?

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

    您好 Quentin:

    遗憾的是,我不认为这一功能存在。

    我相信有一个权变措施。 每个 ePWM 的 VCAPCTL 寄存器可以进行配置、以便使每个 ePWM 的谷底序列始终由相同的事件启动(例如— VCAPCTL[TRIGSEL]= 111 (由 DCBEVT2触发)、然后该事件可以配置为由用户条件触发、以便它始终可以同时触发。

    然而、该权变措施有点复杂、我没有任何可用于该实现的示例代码。

    此致、
    Jason Osborn