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.

[参考译文] TMS320F280049:DMA 转 DAC 和 CPU 定时器

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/766702/tms320f280049-dma-to-dac-and-cpu-timer

器件型号:TMS320F280049
主题中讨论的其他器件:C2000WARE

大家好、感谢您对 CPU 计时器限制的分析

实际上、第一个帖子是为了了解示例上的一种行为

C:\ti\c2000Ware_1_00_06_00\device_support\f2807x\examples\cpu1\buffdac_sine_dma\cpu01

我已根据 TMS320F280049对其进行了修改(我将发布以向您解释所执行的修改和修复的错误)。

目的是获得100kHz 的正弦信号(请参阅 e2e.ti.com/support/microcontrollers/c2000/f/171/t/763056)。 首先、我尝试过 PWM、但如果在 CPU INT 期间更新占空比、它被限制在大约33kHz 的范围内。 因此、在您的同事作出响应后、我将开发一个 DMA 和 DAC 解决方案。


CPU 定时器超过1MHz 的限制(e2e.ti.com/support/microcontrollers/c2000/f/171/t/765888)

解释了在 DMA 传输开始时生成的脉冲的延迟(请参阅以104kHz 和8MHz 采样频率以及每周期80个样本的正弦信号进行捕获后)

为什么应由计时器触发 DMA? 
因此,由于计时器限制,ePWM 是否可以以4MHz (或更高)的频率触发 DMA?

这些问题涉及代码行:"DmaClaSrcSelRegs.DMACHSRCSEL1.bit.CH1 = DMA_TINT0;  // Timer0是 DMA 触发器"

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

    生成的正弦信号的频率不仅是触发频率的一个因素。 它是 sinetable_step_size、length_of the _sine_table 和 trigger_frequency 的组合。 请记住、触发的 DMA 正在更新 DAC、因此对该事件的发生速度有上限。 该上限受2us DAC 稳定时间的限制。 理论上、这将为您提供500kHz 的最大更新速率。 1MHz 的更新速率可能适合较小的 sine_table 步长、但我不会比这更高。

    示例代码的公式为-> outputFreq_Hz =(samplingFreq_Hz/sine_TBL_SIZE)*tableStep。 因此、增加输出频率的其他方法是增加 STEP_SIZE、减小 Table_SIZE 或2的组合。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Frank、

    我是与 Yann 合作的 FAE。 假设我们生成100kHz、3V pk-pk 正弦波、则该正弦波的最大压摆率为2 π f Vpk = 1.9V/us。 F28004x 缓冲 DAC 是否具有2.8V/us 的最小额定输出压摆率、我们应该在高于500kHz 甚至1MHz 的频率下进行精细采样、您认为吗?

    在合理可能的最高频率下采样的点是最大限度地降低外部模拟滤波器的成本、并且仍然使信号尽可能远离谐波(EMC 注意事项)。

    请告诉我们您的想法。


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

    您不应超过 DAC 的最大更新速率。 对于 DAC 输出电压、它是压摆率和稳定时间的组合、而不仅仅是压摆率。 在经过 DAC 稳定时间之前、DAC 输出电压仍在变化。 您需要决定转换是否足以满足您的项目要求、但我建议您坚持稳定时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Frank、

    我仍在为稳定时间的这一限制而挣扎、当我将输出的每个阶跃都是一个很好的限制、这个限制应该只受压摆率的限制、而不是受与一个诸如满量程或1/4满量程等较大阶跃相关联的稳定时间的限制。

    我已经了解了我们的 DAC 专家对于 了解您的 DAC 速度限制的见解。 他们的结论是、"在大多数高精度应用中、稳定时间是 DAC 的有效更新速率。" 这是否适用于每一步进的斜率远低于最小指定压摆率的情况?


    谢谢、
    François μ A。

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

    是的、稳定时间是 DAC 的有效最大更新速率。 如果您以非常高的更新速率运行 DAC、您将看到一个问题、即峰间正弦输出远低于预期。 这是因为在下一个目标进入之前、DAC 的输出没有足够的时间达到其目标。

    另一个需要注意的问题是、如果您向 DAC 写入一个值、输出不会立即开始变化。 由于内部状态机、开始更改需要几个100ns。 该延迟在压摆率中未考虑、而是在稳定时间中考虑。

    最后一点、数据表中的 DAC 交流性能是通过输出一个为每个阶跃之间稳定提供足够时间的正弦值来获得的。 如果超出稳定时间规格、输出正弦信号的交流性能可能会更差。