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.

[参考译文] TMS320F28377S:使用 Σ-Δ 滤波器时结果不正确

Guru**** 2442090 points
Other Parts Discussed in Thread: AMC1306M25

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1063863/tms320f28377s-incorrect-results-with-sigma-delta-filter

器件型号:TMS320F28377S
主题中讨论的其他器件:AMC1306M25

各位专家、您好!
我的应用程序中有一个行为、我无法解释、我想获得一些建议。

我在具有50%固定占空比和100kHz 开关频率的半桥上运行电阻式电感负载、以生成三角电流波形。 我的目标是检查我的 SDF 是否捕获 PWM 中心的电流。 使用的电流传感器是 AMC1306M25。 我的控制器生成一个12.5MHz 的时钟信号并与 PWM 同步。  

在下图中、实验采用了原理图绘制。 此外、还使用示波器记录了电流(品红色)和电压(绿色) UX。

         

在微控制器中、我获取每个 PRD 的当前值并将其保存在 Arry[100]中。 如果我在 Excel 中以图形方式显示这些值、那么如果一切运行正常、我应该会显示一个常量值。 但是、正如您在图中看到的、有表示不现实值的峰、我不知道这是什么原因。   

在微控制器中、我获取每个 PRD 的当前值并将其保存在 Arry[100]中。 如果我在 Excel 中以图形方式显示这些值、那么如果一切运行正常、我应该会显示一个常量值。 但是、正如您在图中看到的、有表示不现实值的峰、我不知道这是什么原因。
我怀疑这可能会产生影响、因为开关 PWM 和用于 fclk 的 PWM 之间的系数不是整数。 但效果不应如此明显。 能帮我进一步吗?  

此致  

Artur  

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

    Artur、

    您的滤波器设置是什么?

    [引用 userid="470294" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1063863/tms320f28377s-incorrect-results-with sigma-delta-filter"]我在一个半桥上运行一个电阻式电感负载、具有固定占空比、频率为50kHz 的三角波形、以产生一个50kHz 的开关频率。 我的目标是检查我的 SDF 是否捕获 PWM 中心的电流。 使用的电流传感器是 AMC1306M25。 我的控制器生成一个12.5MHz 的时钟信号并与 PWM 同步。  [/报价]

    SD 调制器的差分输入是否以100KHz 进行开关? 如果是、100KHz 频率似乎很高。

    您的滤波器类型是什么? OSR 设置? SDFM 模式? 您是否检查了 AMC1306M25 ENOB 与 OSR、以了解您的变化是否在限制范围内。

    此致、

    曼诺伊

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

    您好、Manoj、  

    再次感谢您的快速回复  

    [引用 userid="16855" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1063863/tms320f28377s-incorrect-results-with sigma-delta-filter/3936658#3936658"]您的滤波器设置是什么?

    我的滤波器设置为:  

    模式0;滤波器 TYP_Sinc3; OSR_125  

    [引用 userid="16855" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063863/tms320f28377s-incorrect-results-with sigma-delta-filter/3936658#3936658]SD 调制器在100KHz 时的差分输入是不是吗? 如果是、100KHz 频率似乎很高。[/QUERP]

    我以100kHz 的频率切换半桥、因此差分输入端的信号也是100kHz。 我在数据表中找不到输入频率的任何限制。 它只说 AMC1306M25的输入具有900kHz 的带宽。  

    [引用 userid="16855" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063863/tms320f28377s-incorrect-results-with sigma-delta-filter/3936658#3936658]SDFM 模式? 您是否查看了 AMC1306M25 ENOB 与 OSR、以了解您的变化是否在限制范围内。[/QUERP]

    如果我从 AMC1306数据表中的"ENOB 与 OSR"图表中读取 ENOB、那么我得到的值大约为13。或者我是否必须以其他方式确定 ENOB??

    此致

    Artur  

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

    Artur、

    当 Sinc3和 OSR = 125时,1LSB = FSR /最大滤波器输出(FilterType,OSR)= 320 mV/125^3 = 163.8nV。 因此、在18 lsb (4-(-14))变化的情况下、它对应于大约2.9uV。 这在您的系统中是不是可以接受的?

    您可能已经在正确执行以下操作。 但是,我只是想把它升高…

    另一个问题是滤波器的稳定时间。 是否确定在读取滤波器结果之前等待滤波器稳定? 在 OSR = 125的 Sinc3滤波器中、在 SDSYNC 事件上、您需要等待至少(3 * 125 + 5)个 SDCLK 周期=(3 * 125 + 5)/ 12.5 MHz = 30.4us 才能读取滤波器结果。 我希望您在每次读取滤波器结果并将其存储在数组中时都要考虑这一点。

    此致、

    曼诺伊

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

    您好、Manoj、

    1uV 的偏差不会困扰我。 但这并不能解释尖峰。恐怕如果半桥的电压变大、尖峰的数量也会增加。 请参见下图。  

    提示。 我增大电压 UDC 以更改平均电流。  

    [引用 userid="16855" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063863/tms320f28377s-incorrect-results-with sigma-delta-filter/3937276#3937276"]

    您可能已经在正确执行以下操作。 但是,我只是想把它升高…

    另一个问题是滤波器的稳定时间。 是否确定在读取滤波器结果之前等待滤波器稳定? 在 OSR = 125的 Sinc3滤波器中、在 SDSYNC 事件上、您需要等待至少(3 * 125 + 5)个 SDCLK 周期=(3 * 125 + 5)/ 12.5 MHz = 30.4us 才能读取滤波器结果。 我希望您在每次读取滤波器结果并将其存储在数组中时都要考虑这一点。

    [/报价]

    我不使用 SDSYNC、因为我害怕延迟时间。 我已经在论坛上阅读过 SDSYNC 的问题、我认为我不需要它。  由于 PWM 是固定的并且在固定的时间进行采样、因此理论上应该始终具有相同的值。 理想情况下、它应该是平均值。

    我仍然假设这可能是一种使人产生的影响。  可以是这样吗? 目前、调制器输入之前未使用滤波器。

    我还想以一半的开关频率执行测量。

    此致  

    Artur  

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

    当不使用 SDSYNC 事件时、我们无需担心在不等待稳定时间的情况下读取滤波器结果。

    [引用 userid="470294" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063863/tms320f28377s-incorrect-results-with sigma-delta-filter/39373939393943937394a)]如果半桥的电压增加、尖峰也会增加。 请参见下图。  [/报价]

    基于此说明、因为问题与半桥的电压有关。 它不应与 sdfm 模块相关。

    MOSFET 开关的快速切换会产生接地弹跳、从而导致问题。 您是否尝试降低开关频率?

    [引用 userid="470294" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063863/tms320f28377s-incorrect-results-with sigma-delta-filter/39373939393937394"]偏离1uV 不会打扰到我[引用/引用]。

    对于1uV 偏差、您需要考虑更高的 OSR 设置。