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.

[参考译文] TMS320F28.0025万:频率测量偏移错误

Guru**** 2463330 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1093904/tms320f280025-frequency-measurement-offset-error

部件号:TMS320F28.0025万
线程中讨论的其他部件: TMS320F2.8379万D

我们需要使用TMS320F28.0025万的eCAP模块对频率测量进行非常精确的测量。 我已经讨论了最初的线程中一些偏移误差的初步发现,我注意到频率测量值似乎与50 Hz信号发生器偏移约2 usec。 建议我从DSP本身生成50 Hz PWM并测量其频率。 我这样做了,发现测量非常准确,即200万计数器值或20.0万 毫秒。 从这一观察中,我了解到ECAP已正确设置,可用于测量。 假设函数发生器可以有一些偏移(围绕2.2 usec),我又做了一个实验:我为50 Hz PWM编程了一个Delfino (TMS320F2.8379万D)启动板。 当我使用 TMS320F28.0025万进行测量时,我们再次看到关于2.4 usec的错误(与使用函数发生器的2.2 usec相比)。 我已经使用数字逻辑分析器捕获了从TMS320F28.0025万C (通道1)和TMS320F2.8379万D (通道2)生成的50 Hz PWM,下面是屏幕截图。

因此,我在函数发生器和Delfino的频率测量中得到了超过2个usec测量误差。 其规模也是相当的。 似乎有一个常见的错误源。 请对此提供指导,如果有提高频率测量精度的方法,请提供建议。 请注意,我们正在将设计转移到Delfino,因此如果此控制器中有更好的选择,请告诉我。

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

    Asad,

    我已将您的帖子分配给主题专家,但由于美国假期,请期待我们在星期一结束前回复您。

    最佳,

    Matthew

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

    您好,Asad,

    I执行1093.9904万执行了28.0025万了此操作,发现测量非常准确,即200万计数器值或20.0万 msec。 从这一观察中,我了解ECAP已正确设置用于测量

    这似乎表明您的信号源和测量F2.8002万x设备之间存在某种时钟精度不匹配。

    该2000该数值1093.9904万数值也28.0025万也具有可比性。

    您的示波器中的量级小于3V有什么原因吗?

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

    我会检查数值低于3伏的原因并回复您。 Delfino和Piccolo均由同一台笔记本电脑的USB端口供电。 可能正在加载...

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

    我已在TMS320F2.8379万D Launchpad中配置了ECAP1模块。 我已经从我们的信号发生器生成了相同的50Hz信号,以馈入TMS320F2.8379万D Launchpad的ECAP1输入,与为TMS320F28.0025万 Launchpad生成的相同。 Delfino正在测量计数值为399.9956万。 因此,这将变为399.9956万 * 5 NS = 1999.978万 nsec。 假设函数发生器准确,则此情况下的错误为220 nsec。 如果出现piccolo,则大约为2200 nsec,即10倍大。 我认为piccolo发射台的晶体不准确。 它们是不同的,确保一个是表面安装,另一个是通孔。 请给出建议,以便我们可以结束此线程。

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

    您好,Asad,

    F28.0025万 LP上的晶体的ppm是-/+25,这意味着其频率可以从1999.95万 Hz到2000.05万 Hz不等。

    如果将其乘以以获得运行频率为100MHz的频率,则会产生9999.75万 Hz到1亿 Hz的结果。 您将其除以您尝试测量的50 Hz,这将使您的199.995万 达到200.005万 计数。

    这可解决50*10ns =500ns的可能错误。 实际上,您看到的是通常基于晶体ppm的4倍。 它比我预期的要高一些,但我认为这是在可能的范围内。 通过优化负载电容器,将可能发生的任何频率拉拔的影响降至最低,可能会使晶体更精确。

    但是,F2.8002万x器件上的任何东西都不需要这种紧密的时钟准确度,因此我们不设计Launchpad PCB,也不选择一个晶体来挤压ppm的每一个最后一位。

    我不知道为什么你需要测量50Hz信号的精确度,但根据快速计算,我认为你在典型的晶体频率ppm范围内。

    如果您对此有更多疑问,请告知我们。

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

    有一种反岛系算法要求测量分辨率为400 nsec。 但是,由于我们正在转向Delfino,而且其测量精度显然高于400 nsec,因此我们希望通过测试。  如果TI具有高精度栅频测量电路的良好参考设计,以便与ECAP输入接口,请告知我们。 我们遇到了一些问题,零交叉点的运动上升边缘触发器导致不必要的ECAP事件触发器。 我们正在考虑添加滞后选项。 否则我们可以关闭此线程。

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

    您好,Asad,

    有2000有一1093.9904万一种28.0025万种反405.4825万反斜405.4825万斜纹算法,它要求测量分辨率为400 nsec。 但是,由于我们正在转向Delfino,而且其测量精度显然高于400 nsec,因此我们希望通过测试。

    我认为您可能会混淆精度/分辨率和准确性。 F2837xD (5ns分辨率)比F2.8002万x (10ns分辨率)更精确,但它不是更精确。 我们在这里讨论的精度是晶体ppm (输入时钟精度)的函数,而不是设备时钟速度的函数。 我并不是说要疯狂,但这是一个微妙而重要的区别,适合您的案例。  

    如果2000如果TI109.3904万TI具有28.0025万具有高405.4825万高精度405.4825万精度栅频测量电路的良好参考设计,可以与ECus输入接口

    我为您提供了几个选项:

    1. 对于您的主板设计,您可以与晶体制造商合作,优化您所需的精确负载电容,例如,在所有条件下都能获得<10ppm的电容。 为了获得您所需的准确度,PCB寄生性对晶体负载电容开始变得非常重要。 遗憾的是,您不能使用任何负载电容,因为我们要求我们的设备在允许的范围内,因此您最终可能会受到限制。
    2. 使用精确的单端时钟,而不是晶体。 实际上,您需要找到一个在其工作条件下准确度可能低于10ppm的CAN振荡器。 我认为这对您来说可能是一个更好的选择。
    我们2000我们遇到109.3904万遇到了28.0025万了一些405.4825万一些在405.4825万在零交叉点产生不必要的ECAP事件触发的运动上升边缘触发器的问题。 我们正在考虑添加滞后选项。[/QUOT]

    这听起来与准确性讨论是分开的,因此如果您仍然遇到该问题,请继续并为其创建新的线程。