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:SFRA 低频限制、在温度控制中应用 SFRA

Guru**** 2484615 points
Other Parts Discussed in Thread: SFRA, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/650418/tms320f28377s-sfra-low-frequency-limit-sfra-application-in-temperature-control

器件型号:TMS320F28377S
Thread 中讨论的其他器件:SFRAcontrolSUITE

您好!

我喜欢 SFRA 库、因为它可以很好地帮助 优化 500kHz 电流控制环路。 但是、我还想将 SFRA 用于慢速16Hz 温度风扇环路或~100-200Hz 温度-TEC 环路。 SFRA 中是否存在任何低频/高频限制? 我在 SFRA pdf 中看不到此信息。 SFRA 是否可以用于温度控制、因为外部因素、反馈始终向上/向下漂移?

这是一个问题:

我想从0.1Hz 开始、因为风扇速度不快、风扇 PWM 限制为16Hz。 SFRA 库似乎能够很好地生成0.1Hz 频率波形、我还可以清楚地看到温度 ADC 中的注入响应、已检查的差动 反馈变量和注入/收集调用。  但 SFRA 会 永久冻结、不会进入下一 个频率。 由于 SFRA 文档中没有频率限制、我认为0.1Hz 可能是一个问题吗? 但我使用的是浮点变体、   0.1Hz 的 SFRA 注入也起作用!  我尝试将起始频率更改为10、100Hz、几乎总是需要很长时间才能提高、在最好的情况   下、需要几分钟才能达到下一个频率。

我尝试 了500kHz 注入。 它更好、 但有时从0.1Hz 开始需要~10s 的时间、有时步进需要一分钟。 我想知道什么会导致如此长的随机延迟? SFRA 是否需要 N 个完整的射血期来收集数据? 那么、N 为何是随机的? 所有这些都是因为温度背景始终缓慢地向上/向下漂移、这可能会使 SFRA 测量值增加、SFRA 重新启动以获得当前频率?  任何 SFRA 状态变量是否可以揭示出什么问题? 我在 SFRA pdf 中看不到状态和状态的说明。  

从16到140Hz 的循环没有帮助、仍然需要随机数分钟的时间。

谢谢、

Edward

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

    爱德华  

    没有低频限制、但 SFRA 专为更快的控制环路而设计、因此我们仅在0.5Hz 及更高频率下进行了测试。  

    2.检查具有10Hz 带宽的系统、否则这不是问题、我们必须对 PFC 中的电压环路执行此操作

      

    图40.

    3.您可以执行一些操作来加快 SFRA 的执行速度。 执行更少的频率点、即仅执行10 -20点左右  

    4、低频扫描需要更长的时间、如果一个频率比另一个频率花费的时间长得多、有时稍微使用频率值会使 SFRA 不会出现数字精度问题。  

    5、Edward、是的、如果调用 SFRA 的 ISR 速率为16-140Hz、则会花费很长的时间、很遗憾、目前我们没有机制让用户调整 SFRA 的速度、从而影响精度。 我已将其添加到 未来版本的要求中。 目前、我没有解决方案。  

    我唯一可以建议的是、如果您可以稍微 加快运行速度? 我知道带宽非常低、不需要快速运行、但这将有助于提高执行速度。  

    此外、SFRA GUI 冻结可能只是 SCI 通信在一段时间后冻结。 您可以查看 sfra 对象 freqindex 并查看它是否在递增。 ?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您也可以尝试使用此处的*。lib 文件

    C:\ti\controlSUITE\development_kits\TIDM_1000\v1_01_00_00\f2837x\pfc3phvienna

    SFRA_FTMU_Lib.lib

    我们对 TMU 库进行了一些更改、可以缩短执行时间。

    此版本的库尚未成为 C:\ti\controlSUITE\libs\app_libs\SFRA 下 SFRA 库版本的一部分

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

    非常感谢您的介绍。 我尝试用您的尖头 SFRA_FTMU_Lib 替换 SFRA 库。 尚未使用低频率环路进行过尝试、我注意到在替换后、它停止了在闭环模式下注入。 这很奇怪。 我的程序中有两个 SFRA_F_Inject 调用、一个在开环模式下调用、另一个在闭环模式下调用。 打开模式工作,关闭模式注塑停止工作。 我更改了链接器设置、以再次与原始 SFRA 库链接。 相同! 链接顺序可能已更改。 在查看映射文件时、我发现 SFRA 库在 ebss 段中包含一些数据。 在链接用于 RAM 的程序中、ebss 分配在高于0x10000地址的 GS RAM 中。 将 ebss 分配更改为<0x10000、使 SFRA 注入在开环和闭环模式下再次工作。 有这样的限制吗? 我无法在 SFRA pdf 中找到它。

    关于3. 当然、点数越少、测试时间就越长、但如果限制未知、测试点数仍然需要很长时间、 然后 SFRA 不实用、Ziegler - Nichols 阶跃响应看起来更好、尽管我没有合适的软件、员工也不会执行它...

    关于4和5。 感谢新 SFRA 库版本的新要求。 是的、我可以提高 ISR 速率、但不能提高风扇 PWM 频率和 ADC 速率(尽管 Σ-Δ ADC 的测试时间非常慢、但它可以切换其他通道并将其上升至~400Hz)。 我看到、即使在500kHz ISR 下、SFRA 和 SFRA_FTMU 都无法预测、一些点速度很快、一些点需要很长时间。 对于具有几 kHz 带宽的系统而言没有问题。

    我将比较 SFRA_FTMU_Lib 与 SFRA、然后回来。


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

    您好!

    •  在查看映射文件时、我发现SFRA 库在 ebss 段中包含一些数据


    它不是.ebss 中的 SFRA 数据、而是我的 SFRA.obj 文件。

    有趣  的是、我将每个与 SFRA 相关的数据(幅度、频率矢量等)移动到 RAM 地址< 0x10000、但 SFRA 仍然不满意。 将整个.ebss 移动到< 0x10000可修复 SFRA 注入、但再次放置.ebss > 0x10000可中断 SFRA 注入。 我在 LCR SFRA_F_INPUT 调用下方的反汇编窗口中放置了断点。 注入调用返回时的 DP 为0x634、即>= 18D00或 RAMGS12、该值为空、根本不使用。 再次将.ebss 移到0x10000以下并在同一位置停止、DP 现在为0x234、它指向诸如_SFRA_F_PRECount 等内部 SFRA_lib 变量

    是否有任何想法、为了避免 SFRA 库出现问题、还必须提供其他什么? SFRA pdf 仅指示将 SFRA 注入和收集例程置于 RAM 中以获得最佳性能、并将 SFRA_F_Data 置于 dataRAM1中(未对此进行解释)、 必须将 dataRAM1放置在0x10000或不放置。 在我的 SFRA_F_Data 被分配< 0x10000的情况下,我还尝试将 SFRA_F_INIT、Collect 和 CINTalso 注入到 RAM < 0x10000,这是没有帮助的。 出于某种奇怪的原因、整个.ebss 必须位于< 0x10000。 有什么想法为什么?

    编辑:

    SFRA_FTMU_Lib 单点时间似乎与测试频率一致。 每个下一步所需的时间更少。 这比 SFRA_F_Lib 更好。 但是、500kHz 时的100Hz ISR 大约需要5-6秒。 从100Hz 到200kHz 的100点需要大约2.5分钟、这大约是 SFRA_F_Lib 的5倍、它在  不到30秒的时间内完成相同的100Hz - 200kHz 100点。 嗯、如果使用 SFRA_FTMU_Lib 的单个100Hz 点需要5秒、那么0.1Hz 将需要一个多小时。 不适合这么慢的循环 我将使用更快的 PWM-TEC 环路来尝试它、我希望它能正常工作。 我稍后会尝试、目前没有硬件。

    谢谢

    Edward

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

    感谢您的参与、

    SFRA 库使用全局变量、因此确实使用了 ebss 中的项目、

    在 F2837x 及更高版本的器件上、我们的器件上可用存储器比之前的地址22位限制大得多。 SFRA Lib 使用较旧版本进行编译、并且还使用汇编代码、如果存储器的范围高于22位可寻址的范围、则会受到此影响、

    如果地址空间大于0x10000、则可能会违反此规则、这可能会导致 SFRA 中断。

    我已提交两个错误

    a.使用较新的编译器版本重新编译 SFRA
    b.记录 ebss 需要位于小于22位的空间内

    给您带来的不便、我深表歉意。

    2.

    SFRA_FTMU_Lib 单点时间似乎与测试频率一致。 每个下一步所需的时间更少。 这比 SFRA_F_Lib 更好。 但是、500kHz 时的100Hz ISR 大约需要5-6秒。 从100Hz 到200kHz 的100点需要大约2.5分钟、这大约是 SFRA_F_Lib 的5倍、它在不到30秒的时间内完成相同的100Hz - 200kHz 100点。 嗯、如果使用 SFRA_FTMU_Lib 的单个100Hz 点需要5秒、那么0.1Hz 将需要一个多小时。 不适合这么慢的循环 我将使用更快的 PWM-TEC 环路来尝试它、我希望它能正常工作。 我稍后会尝试、目前没有硬件。

    SFRA TMU 的模式仍在进行中、我们的最终目标是为用户提供灵活性、以选择他们希望 SFRA 运行的时间。 不幸的是、我现在没有现成的修复程序、您可以使它更顺畅。 我们确实有一个针对它的错误、并且我们的雷达上有一个缺陷以进行改进。

    除非有任何其他信息可以帮助我,否则我将把此帖子移至“TI 认为已解决”,您始终可以重新打开该主题或启动新主题。