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