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.

[参考译文] TMS320F2.8379万D:由ePWM触发的具有SOC的ADC采集窗口长度和位置

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/618008/tms320f28379d-adc-acquisition-window-length-and-position-with-soc-triggered-by-epwm

部件号:TMS320F2.8379万D

大家好,

我有一个问题和一个可能的文档错误需要报告,这两个问题都与TMS320F2.8379万D中的ADC采集窗口有关。

首先出现文档错误:
通过使用5GS/s示波器进行测量,我发现参考手册第10.1 .4.3 节中给出的采集窗口长度公式和ADC寄存器描述(10.4 .2.17 ff)似乎被一个关闭: 如果将'0'写入ADCSOCxCTL.ACQPS寄存器,则窗口长度不是1SYSCLK;而是根本不启动窗口。
根据测量结果,窗口长度的正确公式为"Window = ACQPS / SYSCLK"。

我的问题:
假设ADC SOC队列为空且RR指针指向感兴趣的SOC,那么在上行下行计数ePWM的ET子模块中生成的SOCx信号与采集窗口的开始之间是否存在延迟? 正时图显示2 SYSCLK延迟,但我的测量结果表明实际上没有延迟。
提供更多背景信息:我的目标是将采集窗口的末端精确地置于PWM脉冲的中间(大约TBCTR =0),因此我使用ACQPS/2-1设置CMPC。 “/2”是因为在我的配置中设置了ClkCfgRegs.PERCLKDIVSEL.BIT.EPWMCLKDIV;“-1”是因为ETSEL.SOCASEL=0x5和“TBCTR =0”是脉冲中间之前的最后一个EPWMCLK间隔。
由于SOCx信号和采集窗口的实际打开之间的延迟,我预期窗口在PWM脉冲中间后关闭2 SYSCLK。 但我发现情况并非如此。 窗口在脉冲中间完全关闭。 我缺少什么?

此致

Sebastian Neuser

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

    您好,Sebastian:

    根据ADC包装器的数字逻辑,S+H窗口需要至少有1个ADCCLK长度才能正确生成S+H窗口。  通常,如果SYSCLK为200MHz,ADCCLK为50MHz,则表示最小有效ACQPS值为3 (结果为20ns S+H)。  我认为您不应该根据数字无效输入来得出有关常规ADC计时的任何结论。 请注意,还有一项电气要求,即您将S+H设置得足够长,以确保输入稳定; 在12位模式下使用完美的源时,最短时间为75ns,实际源所需的实际时间可能更长,具体取决于驱动器的阻抗和带宽。

    如果ADC处于空闲状态,则ePWM触发器和S+H周期开始之间应存在2个周期延迟。  

    您如何衡量S+H周期的结束?  您可以放置一个大型系列电阻器(例如 10K)与ADC输入源串联,然后查看开关打开和关闭时的瞬变。  这仍然不能准确告诉您ADC捕获的电压;这取决于采样开关另一侧的保持电容器的值,该电容器可建模为LP RC滤波器。

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

    感谢Devin的快速回复!

    我正在尝试设置320ns采样窗口,这是16位模式的最小窗口长度。 在我的设置(SYSCLK=199.68MHz,ADCCLK=SYSCLK/4)中,ACQPS=63的设置产生320.5ns采样窗口。 但我测量的结果(使用您建议的精确测量设置,除了我们使用100k电阻器)是63/SYSCLK = 315ns。 ACQPS=0完全不产生采样窗口这一事实让我怀疑这是一条一般规则。 我通过为ACQPS在[1.03万]范围内选择十个左右的随机值来测试这种假设,计算预期的窗口长度并使用示波器验证这一点。 它检查了所有测试值。

    关于延迟:
    如果有2 SYSCLK循环延迟,则正确的比较值应为ACQPS/2-1 +1 =32。 "-1",因为脉冲的中间位于过渡TBCTR:0->1;"+1"以说明延迟。
    但是,测量(以相同方式进行)显示最佳值为31。

    再次感谢您的参与!

    Sebastian

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

    我必须与设计师确认确切的时间安排。 可能是采样开关在S+H窗口结束前打开1个周期,以便在ADC转换过程开始之前,采样电容器稳定1个周期。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Sebastian:

    根据与一些设计工程师的快速讨论,他们认为这~5ns可能是由组合逻辑产生的死区,可确保ADC输入mux开关在mux切换到下一个输入之前完全打开(以便为下一个S+H做好准备)。 如果缩小SYSCLK,您是否仍观察到预期和实际S+H持续时间之间的增量为1 SYSCLK,还是保持~5ns恒定?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我按照您的建议缩放SYSCLK并进行一些更多测量(与以前相同的设置):

    SYSCLK=99.8MHz:
    ACQPS= 30 => 305.2ns (预期:310.5 ns,差异:- 5.3)
    ACQPS= 31 => 315.6ns (预期:320.5ns,差异:- 4.9)
    ACQPS= 32 => 325.4ns (预期:330.5ns,差异:- 5.1)
    ACQPS= 33 => 335.4ns (预期:340.5ns,差异:- 5.1)
    ACQPS= 50 => 505.8ns (预期:510.8ns,差异:- 5.0)
    ACQPS= 65 => 655.8ns (预期:661.1ns,差异:- 5.3)
    ACQPS= 80 => 805.4ns (预期:811.3ns,差异:- 5.9)

    SYSCLK=159.7MHz:
    ACQPS= 49 => 308.2ns (预期:313.0ns,差异:- 4.8)
    ACQPS= 50 => 314.6ns (预期:319.3ns,差异:- 4.7)
    ACQPS= 51 => 320.8ns (预期:325.5ns,差异:- 4.7)
    ACQPS= 52 => 326.8ns (预期:331.8ns,差异:- 5.0)
    ACQPS= 53 => 332.8ns (预期:338.0ns,diff:- 5.2)
    ACQPS= 80 => 503.0ns (预期:507.1ns,差异:- 4.1)
    ACQPS=100 => 627.4ns (预期:632.3ns,差异:- 4.9)

    SYSCLK=199.7MHz:
    ACQPS= 60 => 300.0ns (预期:305.5ns,差异:- 5.5)
    ACQPS= 62 => 310.2ns (预期:315.5ns,差异:- 5.3)
    ACQPS= 63 => 315.4ns (预期:320.5ns,差异:- 5.1)
    ACQPS= 64 => 319.8ns (预期:325.5ns,差异:- 5.7)
    ACQPS= 65 => 325.4ns (预期:330.5ns,差异:- 5.1)
    ACQPS= 80 => 400.4ns (预期:405.6ns,差异:- 5.2)
    ACQPS=100 => 500.6ns (预期:505.8ns,差异:- 5.2)
    ACQPS=120 => 600.2ns (预期:606.0ns,差异:- 5.8)

    SYSCLK=249.6MHz:
    ACQPS= 78 => 311.2ns (预期:316.5ns,差异:- 5.3)
    ACQPS= 79 => 315.6ns (预期:320.5ns,差异:- 4.9)
    ACQPS= 80 => 320.4ns (预期:324.5ns,差异:- 4.1)
    ACQPS= 81 => 324.0ns (预期:328.5ns,差异:- 4.5)
    ACQPS= 82 => 327.6ns (预期:332.5ns,差异:- 4.9)
    ACQPS=100 => 400.4ns (预期:404.6ns,差异:- 4.2)
    ACQPS=120 => 480.4ns (预期:484.8ns,差异:- 4.4)
    ACQPS=150 => 600.8ns (预期:605.0ns,差异:- 4.2)


    因此,无论SYSCLK如何,采样窗口似乎总是比预期短~5ns。

    这是否符合您的组合逻辑导致的死区理论?
    如果是,窗口大小和位置的公式如何受到影响?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Sebastian:

    感谢您的全面分析。 这似乎与设计工程师的期望相符。

    我想我们可以说,S+H开关在SYSCLK*(ACQPS +1)预测的时间之前大约5 ns打开,而不考虑SYSCLK。 理论上,这将减少S+H的可用时间,但输入模型相当保守,我们已使用最小设置对设备进行了特征化,因此无需增加S+H持续时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好Devin!


    好的,有一个谜题被推了,一个要去。

    结果是我忘记了说明我的系统中的HRPWM延迟。 如果我在方程式中包括这些,则一切都会检查出来。


    感谢您的帮助!
    也许会考虑将这些~5ns包含在文档中的某个位置。 我希望我没有忽视这一点。 ;-)


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

    您好,Sebastian:

    很高兴听到现在一切都在工作!  我将提交文件以供更新。