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.

[参考译文] TMS320F28375S:ADC 跳闸计数

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1137792/tms320f28375s-adc-tripping-count

器件型号:TMS320F28375S

您好!

我正在使用典型的 EPWM->ADC->DMA 链来读取 ADC 信号、我需要评估信号的音量。 一个重要的解决方案是简单地查看 DMA 收集的数据、并将每个值与我在软件中的限制进行比较。 但我注意到 、ADC 的 PPB 中有三皮和三普利寄存器、它们的功能非常相似。 是否可以配置 X-BAR 和 ePWM 以在1024值的范围内对这些跳闸事件进行计数?  

谢谢你

Jiri

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

    您好、Jiri、

    只是为了澄清、您是否要求将所有1024个值与单个三次触发和三次触发器进行比较? 如果是这种情况、似乎可以与 PPB 进行比较、因为它们可以使用结果寄存器与上限或下限进行比较。 我不确定配置 X-BAR 和 ePWM 来计算跳闸事件是什么意思、因为这将由 ADC 的 PPB 来完成。

    此致、

    Omer Amir

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

    您好 Omer、

    我认为 PPB 只会生成一个事件、并且计数在某些 ePWM 子模块中完成。  我知道 PPB 中已经完成了计数、是否有某种类型的计数器寄存器、我可以在1024个值后读取并归零?

    谢谢你

    Jiri

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

    您好、Jiri、

    [引用 userid="46958" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1137792/tms320f28375s-adc-tripping-count/4354549 #4354549"]我认为 PPB 只生成一个事件,并且在某些 ePWM 子模块中完成计数

    没错。 如果 ePWM 计数值为1024、则 需要在 ePWM 模块中处理计数器、而不是 ADC 的 PPB。 PPB 可以生成中断和事件、但不能直接影响不同外设中的其他寄存器。 如果您想更改 ePWM 的计数器或执行类似操作、我可以将此帖子分配给 ePWM 专家、他们将为您提供帮助。

    此致、

    Omer Amir

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

    您好 Omer、

    好极了。

    谢谢你

    Jiri

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

    您好、Jiri、

    您将什么 EPWM 事件用作 ADC 的触发源?  

    仅出于我的理解、您希望在 ADC 对输入电压进行1024次采样或采样输入超过您定义的阈值1024次时停止 ePWM 输出?  

    您能否提供更多有关您希望如何使用 ePWM 模块的详细信息?

    此致、

    Marlyn

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

    您好、Marlyn、

    对于触发转换启动 、我使用的是 ePWM_SOC_A

    一般情况下:

    我不确定是否可以这样做、我想让 ePWM 计算 ADC 结果寄存器中跳闸超过定义阈值的次数、然后将该计数器存储并在用于 DMA 的 ISR 中归零(在1024个值后触发)。

    详细信息:

    在《技术参考手册》中、我发现可以在 ADC PPB 中配置 TRIPHI 和 TRIPLO 阈值。 然后我发现、还可以配置 PPB 以生成 DCAEVT、进而触发 ePWM (如果 XBAR 已相应配置)。 这里是我的问题: 在接收到这个事件时、是否可以配置 ePWM 使它的某些计数器递增? (这样我就可以实现上述目标)

    背景:

    这只是为了进行优化、通过迭代通值并计算超过阈值的数量、可以在 SW 中轻松完成。 我正在使用全部四个 ADC、并且我也在对它们进行多路复用、因此这会增加大量的 CPU 开销。 因此、我想我可以通过让硬件进行计数来减轻这种开销。 此计数的目的是确定信号的音量。

    谢谢你

    Jiri

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

    您好、Jiri、

    感谢您的额外背景。

    [引用 userid="46958" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1137792/tms320f28375s-adc-tripping-count/4355721 #4355721"]然后我发现、还可以配置 PPB 以生成 DCAEVT、进而触发 ePWM (如果 XBAR 配置 相应)。

    您能否指出、在 TRM 中、您发现 PPB 可以生成 DCAEVT? 请注意、DCAEVT 与 ADCAEVT 不同。  

    数字比较 A 事件(DCAEVT)从触发信号到 ePWM 模块内的数字比较块:

    此致、

    Marlyn

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

    您好、Marlyn、

    啊、是的、我的错误、我是说 ADCEVT。 很抱歉造成混淆。 不确定我是如何混淆的。

    但是、您添加的图像是我的想法。 您是否认为可以将 ADCEVT 用作 ePWM 的触发器来递增计数器?

    谢谢你

    Jiri

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

    您好、Jiri、

    不、很遗憾、这需要通过软件来完成。 ePWM 模块无法根据 ADCEVT 执行此类任务。  

    此致、

    Marlyn

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

    您好、Marlyn、

    我明白了、哦、好的。  非常感谢您的观看:)

    Jiri