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.

[参考译文] TMS320F280039:SDFM OSR 设置混淆

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1312805/tms320f280039-confusion-on-sdfm-osr-settings

器件型号:TMS320F280039

大家好!

我询问我的客户、他们对 OSR 设置有一些困惑。

其中使用的是 OSR = 64和 sinc、TRM 说移位控制位应为4、但他们在测试中发现、要获取正确的数据范围、其值应为3。

 (转换:262114是32768的8倍、因为8=2^3、位移应为3)

此外、以下示例中的数据范围(Sinc3、OSR=128 SDDPARMx、 DR= 0 -> RANGE=pm1,677,216)也与表9-13中的值不匹配(范围= pm2,097,152)

您能帮助解释一下他们的困惑吗?

谢谢。

挂起。

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

    尊敬的 Hang:

    感谢您的耐心等待。

    只要我有足够的信息、我就会及时回复您。

    此致、

    哈迪

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

    尊敬的 Hang:

    感谢您的耐心等待。

    正如客户提到的,示例中的数据范围应在 –2,097,152至2,097,152之间。  

    此外、我还向设计团队询问了表19.4中报告的值。 我将在了解更多信息时向您介绍最新情况。

    此致、

    哈迪  

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

    Hadi、您好!

    该主题有任何更新吗?

    谢谢。

    挂起。

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

    尊敬的 Hang:

    我还没有从设计团队那里听到反馈、但我认为客户调查结果是正确的、表19.4需要编辑。

    此致、

    哈迪

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

    尊敬的 Hang:

    根据设计团队的反馈  、表19.4中报告的值是正确的。  

    以下是为 SYNC3滤波器计算移位值的方法:

    Fullscreen
    1
    2
    3
    4
    5
    6
    Assume Sinc3[OSR] = OSR *OSR *OSR
    shift_sinc3 [OSR]=ceil(((3 log⁡(OSR))/log2)-15)
    filter_16bit_Output = Sinc3[OSR] >> shift_sinc3 [OSR]
    If shift_sinc3≥32768
    Then, shift_sinc3[OSR]=(shift_sinc3[OSR])+1
    filter_16bit_Output = filter_16bit_Output >> 1
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    如果您有任何问题、敬请告知。

    此致、

    哈迪

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

    Hadi、您好!

    从上面的公式可以看出、当 OSR 为64时、我们    在 if 语句前得到 SHIFT_SINC3[OSR]= 3且 SHIFT_SINC3 = 32768

    由于 shift_sinc3≥32768、 sinc3[OSR] 变为4、  filter_16bit_Output = 16384。

    所以数据范围变为 16384、这是正确的吗?

    客户使用 sinc3[OSR]= 3并取数据范围为 [-32,767,32767]、 但其计算出的电流值与使用示波器测量的电流值相匹配。 对此有何解释?   

    谢谢。

    挂起。

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

    尊敬的 Hang:

    请多多包  

    涵 因为我将手动计算该值、并使用表中给出的值验证该值。 此致、 哈迪
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hadi、您好!

    有任何更新吗?

    此致、

    挂起。

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

    尊敬的 Hang:

    我在这里验证了情况、范围是正确的(16384)。

    此致、

    哈迪