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.

[参考译文] TMS320F280049C-Q1:F280049C 上的 SFRA

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/994318/tms320f280049c-q1-sfra-on-f280049c

器件型号:TMS320F280049C-Q1
主题中讨论的其他器件:SFRA

您好!

 我正在尝试使用 SFRA 库来识别我的受控体系统(开环)并使用 F280049C Launchpad 设计补偿器。 我已经介绍了用户指南 SPRUIK4A。 我使用外部 ADC 以200KHz 的频率采集数据、在控制器中进行一些处理(1KHz 的控制环路)、并将控制信号发送到外部 DAC (200KHz 的控制信号)。 我是第一次使用 SFRA、按照以下步骤操作并有一些疑问。

1) 1)"example_stb_f28004x_f32_tmu_coff "被导入到我的工作区并进行编译、但它在错误之后发生了变化。 原因可能是什么? 我未能包括的任何库?

2) 2)在 SDK 中的示例项目中、有2个 TMU 项目存在 viz **_F32_TMU_coff 和**_F32_TMU_eabi。 它们之间有什么区别,我应该选择哪一个?

3) 3)我的 CPU 几乎完全用于其他处理。 那么,我是否可以单独在 TMU 上运行相同的操作? 如果是,它是否仍然需要任何 CPU 周期? 如下面所述。 因此,如果我使用 FloatTMU,那么 SFRA_INPUT 和 SFRA_COLLECUP 函数是否需要37和67个 CPU 周期?

4) 4)在上图中、SFRA_Background 任务在做什么? 它应该在什么频率被调用?

 谢谢、此致

   Karthik R

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

    您好!

      是否有更新?

    谢谢、此致

       Karthik R

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

    1. Karthik、这是由于 driverlib 中的某些更新而导致的错误、请进行以下更改以解决此问题  

    网址为 sfra_examples_settings.h

    #define PWM_H_GPIO_PIN_CONFIG   GPIO_0_EPWM1_A

    #define PWM_L_GPIO_PIN_CONFIG   GPIO_1_EPWM1_B

    (笑声)

    #define SFRA_GUI_SCIRX_GPIO_PIN_CONFIG GPIO_28_SCIA_RX
    #define SFRA_GUI_SCITX_GPIO_PIN_CONFIG GPIO_29_SCIA_TX

    (笑声)

    COFF 和 EABI 是两种类型的目标格式、EABI 是较新的方法。 如果您没有旧版使用、请使用 EABI。  

    3.它需要在 CPU 上运行,并且如您所指出的那样,在 UG 中显示周期数。  

    后台任务正在运行状态机的缓慢更新、您可以以~1ms 的时间调用它、SFRA GUI 也会以该速率调用。 如果运行速度较慢、GUI 可能无法正常工作或出现错误。   

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

    Manish、您好!

     非常感谢您的回复。 由于这个问题、我即将离开 SFRA 选项并开始使用定制代码实现。

      现在、项目正在构建中、没有任何错误。 其他 答案也很明确,除以下几点外,还澄清了疑问。

    1)  SFRA_Background:-我是否应该执行一个计时器来在代码中生成1ms 中断,以便在 ISR 中执行此任务? 正如我之前提到的、 我的 CPU 会加载其他任务(10us 任务和5ms 任务)。 根据以10us 运行的计数器调用5ms 任务),以及我将如何调整此后台任务的执行时间?

      我有一个以200Hz 的频率执行的缓慢任务。 但是、如果 我使用 FloatTMU、则需要大约400个周期(相当于4us)、这是在高侧的 ryt 上。 我最多可以为这个200Hz 任务提供2us 的备份。 根据 UG、它通常需要50个周期、最多需要407个周期的条件是什么?

      谢谢、此致

        Karthik R