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.

[参考译文] TMS570LS1114:针对循环缓冲的 ADC 存储器配置

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1242284/tms570ls1114-adc-memory-configuration-for-circular-buffering

器件型号:TMS570LS1114

尊敬的支持论坛:

我想在100µs μ s 的时间间隔内、使用 MCU 的内部 ADC 测量6个电流。  
我希望测量由硬件触发。 此外、我最好将多个测量值存储在存储器中、以便我可以计算最后100µs μ s 期间的平均测量值。

因此具体思路如下:

我需要为不同的信号保留 ADC 存储器的6个字。 然后、我要在100µs 的窗口期间最多测量5次上述6个信号。  

因此、我需要30个 字、这些字将全部用于存储6个信号的 ADC 事件组。

20µs 将总转换时间设置为接近100µs μ s、我可以确保我有5个测量值在5 μ s 时间内平均分布。 HW 触发器应为 ETPWM2、其周期为19900ns、以确保所有转换都可以正确完成。  

然后、我是否可以假设 AD 事件组的存储器填充在循环缓冲器中? 那么、如果字30被填充、例如信号6的转换结果、而下一个转换结果、信号1的转换结果、被再次放置在字1的存储器地址上?

然后、我可以直接在存储器中读取结果并计算平均值、以借助5次测量获得最后100µs μ s 期间的平均信号振幅。  

转换配置为在由 ETPWM 触发的单次转换中运行、基本上成为连续转换。 A

感谢您发送编修。

塞巴斯蒂安  

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

    尊敬的 Sebastian:

    [quote userid="441238" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1242284/tms570ls1114-adc-memory-configuration-for-circular-buffering 可否假设 AD 事件组的内存填充在循环缓冲区中? 因此、如果字30被填充、例如信号6的转换结果、而下一个转换结果、信号1的转换结果、又被放置在字1的存储器地址?

    是的、如果需要、您可以使用相应组工作模式控制寄存器中的"OVR_RAM_IGN"位将其配置为循环缓冲器。

    如果设置上述位、则在存储器中填充转换后、新的转换结果将再次环绕到起始地址。

    如果未设置该位、则在程序读取结果之前不会发生换行。

    此位的默认值为0 (未设置)、因此将该位值设 为1可将缓冲区用作循环缓冲区。

    --

    谢谢。此致、
    Jagadish。