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.

[参考译文] CCS/TMS320F28377S:实际波形和感应波形的差异。

Guru**** 2461300 points
Other Parts Discussed in Thread: TMS320F28377S

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/663617/ccs-tms320f28377s-difference-in-actual-waveformed-and-sensed-waveform

器件型号:TMS320F28377S

工具/软件:Code Composer Studio

尊敬的 TI 团队:

我正在开发 TMS320F28377S Launchpad 的 ADC。 我正在通过 ePWM 触发 ADC。 我有一些问题和困惑、我无法通过技术参考指南来清除这些问题和困惑。

我将应用由 ADC 通过更改 EPWM 频率捕获的不同频率的三个波形。

问题是、当我感应1kHz 三角频率时、寄存器缓冲区大小为256、图形属性中提供的256采集缓冲区大小、ePWM 时间周期100和 CMPA 50 、它显示的是每个周期的80个三角波形样本。

现在、通过获取其基准、如果我现在感应到100kHz、并且     希望它也完全由 ADC 进行跟踪。 我已将时间周期更改为2、CMPA 更改为1。 但现在的波形是不正确的。 但是、当我感应到20Hz 频率时、它会完美地感应波形。

在另一种情况下、我现在将 EPWM 的时间周期增加到10000、将 CMPA 值增加到5000。 现在、波形得到了完美的感应。

逻辑是、对于高频波形、我还必须增加 ePWM 频率。 实际上、我不确定这些波形是否被完全感测、或者存在一些错误或逻辑误解。   我要附加函数发生器和 CCS Desktop 窗口的快照。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我还感到困惑的是、如果我必须从数组中获取1个值、这将是每个周期的峰值。 我们如何才能做到这一点?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ashima、

    对于您的第一个代码片段、ePWM 周期为"2"、因此如果 ePWM 时钟为100MHz 并且 ePWM 模式为递增计数、则触发将在33.3MHz 时发生。 ADC 只能以~3.5MSPS 采样(假设12位模式下的最小 S+H 持续时间)。

    对于第二个片段、ePWM 周期为10000、因此采样率 migth 为100MHz/10001 = 9.999kHz。 在这里、如果输入为100kHz、则每个周期不会获得1个采样、因此您将获得一些混叠信号。

    此外、您是否使用16种差分模式(根据您的转换结果换算)? 它看起来不像您的信号源是差分的。

    Devin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Devin、您好、感谢您的回复。
    1.是的、我的源极是差分的、我将其应用在引脚 A0和 A1上。
    ePWM 时钟为10MHz、但在 SYSCLKDIVSEL 和 EPWMCLKDIV 的默认缩放情况下、PWM 时钟为2.5MHz。 因此、现在开关频率也将降低、从而降低采集窗口。
    此外、我还检查了示波器上引脚上的 EPWM、其中 TBPRD 24提供100kHz 的开关频率。
    ADC 可能不是由实际的 PWM 触发、而是使用您建议的 PWM 频率触发。
    此外、我每个周期只需获取1个样本、例如平均值。 如果我触发 PWM 频率为100kHz 的100kHz 三角波形。 那么它应该只提供一个即时值。
    提前感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ashima、

    您的信号的"偏移"似乎设置为1V。  对于差分信号、理想情况下共模应为 VREF/2、因此如果 VREF 为3.0V、则共模应为1.5V。  我们指定实际共模应与此理想值相差+/-50mV;您可能希望确保不违反此规范。

    很抱歉、我无法准确跟踪已完成的操作。 您能总结一下每项测试:

    • CPU 系统时钟和 PLL 设置
    • ePWM 时钟
    • ADC 时钟和 ACQPS 设置
    • ePWM 周期和计数模式
    • ePWM SOC 触发频率(每个周期或每个第 N 个周期)  
    • 预期
    • 结果
    • 预期和结果之间的差异

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

    您好 Devin、

    感谢您提供基准电压建议。 实际上、我也遇到了这方面的问题。 问题现已解决。 我还想知道我们可以为 Launchpad F28377S 提供的最小 ACQPS 是多少。

    实际上、我希望我的100kHz 三角信号的平均值。 我想 我可以通过两种方法来实现它-

    1、完美地跟踪由缓冲器完成的100kHz 三角波形、然后从缓冲器寄存器中取出一个样本。 但我无法确定哪个样本、因为所有样本都在变化。

    2、可以仅跟踪波形的1个点(占空比近似为25%)。 此时、我将跟踪电压。 理想情况下、它应提供恒定电压、但它仍在变化。 例如、如果我提供的电压范围为0V 至1V。跟踪电压应恒定为500mV (16位中为43690)。 但它仍在30000到54000点之间变化。 这是一张图。

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

    对于 S+H 持续时间、ADC 支持的最小值为320ns。 这假设:
    -信号在电路板上进行本地缓冲
    -缓冲器的阻抗+输出 RC 非常低(例如30欧姆+ 100pF)

    通常、如果信号由 BNC 电缆驱动、并且未在电路板上进行本地缓冲、则可能需要高于320ns 的时间(由于电缆的电感阻抗)。 如果它是本地缓冲的、那么您通常应该使用接近最小值的东西。

    如果您有一个更高阻抗的驱动器、请参阅 F280049器件 TRM 中的"选择采集窗口持续时间"以了解计算过程(www.ti.com/.../sprui33a.pdf)。 注意:F2837x 器件 ADC 输入参数与 F28004x 略有不同、因此请使用您的器件和分辨率参数。 注意:此部分也被推送到 F2837x TRM、但尚未到达 Web。

    输入完全异步。 有什么好处? 如果是、我认为您可能希望在整个周期内获取多个点并将它们平均在一起。

    如果您正在生成感测到的波形、这样您就知道何时会出现最小值/最大值(例如、由 ePWM 开关生成)、那么可能应该能够对波形中同一个点发生的一个或多个点进行采样。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devin、

    我已将 ACQPS 更改为79、即640ns。 但结果仍然不符合预期。

    我知道将在哪个点出现最小值最大值、因此从逻辑上讲、我只需根据我需要的最小值或最大点、使用具有占空比的相同频率 ePWM 来触发它。 但是、通过此过程、我无法获得准确的结果。 另外,我不希望所有点的平均值,而是在同一时刻的确切点。

    您还说过在同一个点对一个或多个点进行采样。 如何做到这一点。

    谢谢

    Ashima  

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

    从 ADC 的角度来看、您只需在与所需波形中的点相对应的时间设置 ePWM 周期中的触发点。

    这假设 ePWM 与目标波形完全同步。 如果您使用 ePWM 开关生成波形、这显然是正确的、但如果波形是从外部生成、则可能会更棘手-在本例中、我认为您需要实施某种类型的 PLL 来保持与输入波形的同步。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devin、

    感谢您的回复。 即使 PWM 波形未与外部波形同步、两者的开关频率也相同。 因此、至少它应该在某个点提供一个恒定值。 例如、如果我提供25%的占空比、并且波形具有90度的相位差、则 ADC 值应提供50%的恒定值。  

    谢谢

    Ashima

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    如果您指定一个时间让我可以与您详细讨论、那就更好了。 这对我们两个人来说都将是更少的时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ashima、

    我们通常无法支持非 e2e 技术支持。

    除非您使用相同的时基、否则任何两个信号的频率都不会完全相同、因此它们之间将形成拍频。

    您可以尝试通过相同的频率计数器测量 ePWM 输出和输入波形。 如果它们仅关闭几 ppm、那么是的、至少在短期内、您应该能够在波形中的一致点进行采样。 如果频率匹配不那么好、则您将对别名频率而非直流值进行采样。 因此、如果您没有真正的同步输入、您可能需要
    (1)每个周期对多个点进行采样
    (2)在重建波形之前对多个周期进行采样以提取直流值
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在一段时间内对许多点进行了采样、但如何确定要采用的点。 此外、我无法理解为什么我们使用缓冲区大小为256的变量、以及为什么寄存器值图不是三角波、而是 ADC 缓冲区阵列给出了确切的值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ashima、

    至于采样波形的形状、我认为您需要总结:

    • CPU 系统时钟和 PLL 设置
    • ePWM 时钟
    • ADC 时钟和 ACQPS 设置
    • ePWM 周期和计数模式
    • ePWM SOC 触发频率(每个周期或每个第 N 个周期)
    • 预期
    • 结果
    • 预期和结果之间的差异

    至于如何处理数据、您可以对波形的许多周期求平均值、通过移动平均值滤波器发送波形(持续时间>> 1个周期)、获取一个数据块的 FFT 并提取直流槽等