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.

[参考译文] TMS320F28379D:具有 SDFM 外设的 TI 参考设计驱动器

Guru**** 2390755 points
Other Parts Discussed in Thread: DESIGNDRIVE, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/896550/tms320f28379d-ti-design-drive-with-sdfm-peripheral

器件型号:TMS320F28379D
主题中讨论的其他器件:DESIGNDRIVEC2000WARE

我正在从事一个需要在2837xD 微控制器上使用 SDFM 外设的项目。  

我想知道是否有任何此用例的示例以及采样行为是什么。 我是否必须实现滤波器时序以在开关边沿之间居中、或者 DesignDrive 是否处理此问题? 如果不是、我如何亲自去做呢?

提前感谢
Chai

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

    Chai、

    您是否了解过 C2000Ware SDFM 示例?

    此致、

    曼诺伊

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

    您好、Manoj

    我已经了解了 C2000Ware 中的 SDFM 示例。 我的问题更与转换开始和结束的时间有关。 由于 AMC1306x 上的20MHz 时钟、SINC3滤波器和64 OSR、采样周期持续9.6us。 这意味着、如果其中一个相位的 PWM 高电平脉冲或低电平脉冲的宽度小于该宽度、则在不将大量噪声耦合到系统中的情况下、我无法使用该相位来测量电流。 在这种情况下、如何将快速电流环路库与 SDFM 外设结合使用?

    这是我对采样应该如何工作的理解-由于我的开关频率为75kHz、当高脉冲和低脉冲= 6.7us 时、我可以得到的最短周期为50%占空比。 这意味着我必须知道每个周期每个相位的占空比、计算高脉冲和低脉冲持续时间、并且仅在这些脉冲超过9.6us 时测量电流。 我还必须将采样周期置于脉冲中间、方法是在脉冲中心之前启动 ADC 4.8us、然后在脉冲中心之后读取4.8us。 我必须执行所有这些操作吗? FCL 库的文档似乎表明、我们只需将处理程序传递给 ADC 器件。 这是否意味着需要告知 FCL 库它连接到了哪种类型的 ADC、然后根据它具有不同的时序行为?

    有一点不同、ADC 的可接受延迟是多少? 我的开关频率为75kHz。 我读过一些消息来源说、为 SDFM 使用一个 SINC 滤波器、该滤波器在开关频率上具有第一个陷波、这将提供最佳结果、因为它将完全消除测量中的开关噪声。 但是、这会在 sinc3滤波器的情况下引入等于开关周期的3倍的延迟。 使用更低的 OSR 和时间进行转换的开始和结束似乎是一个更好的主意、因此它不会看到开关噪声。 这将通过缩短采样窗口并允许在调制器输入端使用频率更高的模拟低通滤波器来减少信号链的群延迟。 这不是一个更好的解决方案吗?

    谢谢
    Chai

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

    Chai、

    我会将您的问题转交给我们的系统工程师之一。 请在2个工作日内回复。

    此致、

    曼诺伊

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

    您对采样的基本理解是正确的、DesignDrive 示例根据在有效采样实例任一侧(导通或关断时间的中点)对计时进行居中来确定采样窗口的位置。 如果您有192个采样组成 syncd3滤波器、则 SDFM 将在首选采样实例之前启动96个 SDFM 时钟、并将从同一首选实例累积/结束直到96个 SDFM 时钟。

    但是、在我们的示例中、SDFM 用于测量与相位串联的分流电压、以直接测量相电流、因此由负载电感来降低 PWM 的影响。 逆变器半桥的占空比无关紧要。

    该库是通用的、不能绑定到任何特定的外设、这就是处理程序的原因。

    您询问了 ADC 的可接受延迟、嗯、ADC 采样率是由时钟频率和相关的预分频器确定的。 想知道您是不是指 SDFM。 同样、您可以选择 OSR 和 syncd3来绕一圈并进行实验。 我的方法是、"只要我在一个时间延迟内获得电流反馈、让我在 不丢失 PWM 更新的情况下完成整个 FOC 环路、我就可以了。" 不知道还有什么办法来回答这个问题。  

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

    您好 Ramesh

    我将分流电阻器与相位串联、因此我了解 PWM 边沿效应由负载电感来调节的点。

    但是、我有2个后续问题-

    您认为占空比无关紧要、这是否意味着采样窗口会在一个完整的 PWM 周期内进行采样、而不管占空比如何? 这是否意味着需要设置调制器时钟和 OSR、以便-  
    采样周期几乎是一个完整的 PWM 周期? (1/75e3 =~13us = OSR/CLK => OSR=256;CLK=20MHz)

    测量稳定时间几乎是一个完整的 PWM 周期? (13us = FiltOrder*OSR/CLK => sinc3 filtOrder = 3;OSR=72;CLK=20MHz)

    此外、我看不到 SDFM 外设在示例中的哪个位置会提前启动。 在 motorControlISR 函数中、调用 getSDFMCCurrent 函数、测量点电流。 时序如何使 ISR 在指定测量周期的中间提前64个周期触发? (64、因为在示例中 OSR 被选为128)

    我不完全理解关于选择 OSR 和 SINC3的最后一点。 多少时间延迟是可以接受的、这样我就不会丢失 PWM 更新? 对于75kHz PWM 频率和 F28379D 上1us 的处理时间、我需要将 ADC 采样时间低于13.3-1=12.3us? 在之前的 PWM 更新结束时、我将如何触发采样? 或者、我能否以低得多的频率(如25kHz)运行控制环路、并在多个 PWM 周期内进行采样、并将滤波器陷波设置为75KHz、以降低测量中的噪声? 我的电机基频仅为1.6kHz、因此我可以以相当慢的速度运行控制环路。  

    很抱歉、有这么多问题。 我只是想弄清楚如何使用该库  
    此致
    Chai

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

    您可以选择设置一个完整的 PWM 周期、但不必如此。 加宽窗口、降低本底噪声、从而进行权衡。

    我认为 SDFM 由 EPWM11 CMPC 复位。 通过这种方式设置后、ePWM 外设会提供周期性复位。 查看代码的初始化部分。  

    我建议您花一些时间深入了解代码、以了解更多详细信息。

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

    该主题帖已静默10天、因此请告知我们您的查询是否已解决、或者您是否可以关闭该主题帖。 谢谢。

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

    由于该线程处于非活动状态的时间太长、我们假设不需要进一步的支持、因此关闭该线程。