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.

[参考译文] TMS320F28075:ADC 的组合触发源?

Guru**** 2535750 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/612665/tms320f28075-combined-trigger-source-for-adc

器件型号:TMS320F28075

您好!

我想知道我们是否可以为任何 ADC 提供组合触发源。

我知道其中一个 CPU 计时器或 ePWM SOC 可用作触发源。 但是、在其中一个应用中、我想使用周期为250ns 的 CPU 1时钟来测量大约20个样本。 但是这个过程必须在 ePWM1开始时启动、ePWM1的周期为11.7us (85KHz)。 因此、一旦在 ePWM 开始时开始捕获、我将继续使用 CPU1时钟进行测量。 下一组值应遵循相同的过程、即在 ePWM1开始时启动该过程、并在 CPU1时钟处继续测量。

是否有任何方法来组合触发源?

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

    您好 Sagar、

    您使用 CPU 计时器作为250ns 周期计时器而不是 ePWM 有什么原因吗?  如果您使用 ePWM、则可以将该计时器的开始同步到另一个 ePWM 计时器。  然后、您可以使用较快的计时器作为 ADC 触发器。  为了收集样本、我可能建议使用 ADC 的"突发模式"将 ADC 结果寄存器用作临时缓冲器。

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

    1. ePWM 定时器是固定的,所有其它 ePWM 都是用的。 这就是我打算使用免费 CPU 定时器的原因。
    2.如果我使用突发模式、将在循环模式下转换 SOC。 不会吗? 我打算使用一个或两个 SOC、而不是使用整组 SOC、因为它们用于测量其他信号。
    根据您的建议、如果我以更快的速率使用 ePWM2、并且在开始时与 ePWM1同步、这是否保证 ePWM2将在 ePWM1开始时或在 ePWM1的每个上升沿与 ePWM1同步? 我怀疑、因为这两种频率都不同。 如果我错了、请纠正我的问题。

    接下来、我提到的 ePWM1的频率(85KHz)将不会是恒定的。 它将在80KHz 到90KHz 之间变化。

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

    没有任何好的同步方式。 CPU 定时器到 ePWM 启动。 我认为最好的方法是在 ePWM 周期开始时生成一个 ISR、并让它启动 CPU 计时器。
    2.我建议采用突发模式、因为这将减少生成如此快速的样本所需的 CPU 开销。 如果您有其他样本、我同意您可能需要坚持常规循环模式。 样本将每30个 CPU 周期左右进行一次、因此您需要使用 DMA 或 CLA 来处理转换。
    3A。 您可以让 ePWM2在同步输入事件上同时加载几乎所有的控制值。 因此、您可以让 ePWM1在周期开始或比较事件时生成同步事件。 在此同步中、您可以将 ePWM2的定时器计数重新加载到0 (定时器同时启动)、并且您可以根据 ePWM1的周期(定时器同步)加载新的 ePWM 周期值。

    3b. 总的来说、我认为您可能需要以下内容:
    * ADC 的 ePWM2被触发
    *同步事件时,ePWM2加载:新周期,计数器计数到0,并启用 SOC 触发器
    *每个 ePWM2 ADC 结果触发 DMA
    *在20个 DMA 移动后,会发生 DMA 中断。 在 DMA 中断中、处理20个样本、并禁用 ePWM2 SOC 触发器
    *改变 ePWM1频率的控制逻辑也应该为 ePWM2影子寄存器计算一个新的周期值
    *ePWM1在?上生成同步输出 事件(可能 count = 0或比较事件)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Devin、

    第1点也是我的想法。 我现在已经得到了保证。
    第3点很有趣。 让我来稍微探究一下。

    感谢你的帮助。 我对此表示赞赏。