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.

[参考译文] TMS320F280049:代码执行时钟周期

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1323740/tms320f280049-code-execution-clock-cycles

器件型号:TMS320F280049

您好、TI 专家!

我有一个基于  TIDM-DC-DC-BUCK-DC-DC 同步降压转换器的项目。 此程序的流程显示在图表中:

1. EPWM 由   EPWM_setTimeBaseCounterMode (BUCK_DRV_EPWM_BASE、EPWM_COUNTER_MODE_UP)设置为向上计数;

2. 在 PWM 周期的第二个时钟触发 ADC 转换,即 EPWM_setCounterCompareValue (BUCK_DRV_EPWM_BASE、EPWM_COUNTER_COMPARE_B、EPWM_ADC_TRIGGER_TBCTR);

3.采样保持需要10 sysclc(也是 PWM 时钟);转换10.5x2 PWM CLC,因为 ADC 的预分频为2 ;

 ADC_setupSOC (VOUT_ADC_MODULE、VOUT_ADC_SOC_NO、VOUT_ADC_TRIG_SOURCE、VOUT_ADC_PIN、VOUT_ADC_ACQPS_SYS_TICK);

4.在 EOC 处、InterruptServiceRouting 被触发。 在 isr ()函数中,首先检查 PWM 计数器编号   isrEnter_ticks = EPWM_getTimeBaseCounterValue (BUCK_DRV_EPWM_BASE);

根据上面的4个步骤、我对 isrEnter_tices 的估算值应为2+10+21=33、但是得到的结果为370 (开关频率设置为200kHz 时、表示 PWM 周期计数器设置为500)、而我得到的结果为270 (开关频率设置为250kHz 时、 这意味着 PWM 周期计数器设置为400)。  

我没有更改演示 项目 TIDM-DC-DC-BUCK-DC-DC 中的值、大家可以检查分配给函数的参数值。

可以帮助我吗?

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

    尊敬的 Shengnan:

    您对该项目使用发布版还是调试版? 如果您使用调试、则会向函数调用添加一些附加加速器、这会增加一些 CPU 开销、但对检查您的配置会有所帮助。 您可以尝试启用版本构建(并删除调试预定义变量)、然后尝试比较测量的周期。  

    此外、您正在运行的是 RAM 构建还是闪存构建? 执行时间可能存在差异、具体取决于

    此致、

    彼得

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

    您好、Peter、  

    我使用的是调试和闪存。 我理解他们可能会增加开销、但我假设差异是几个或几十个周期。 然而、让我感到困惑的是、如果我将周期计数器更改为10,000 (10kHz 开关频率、采用100MHz 系统时钟)、则   isrEnter_tics 值大于9800。 无论如何、ISR 会在开关周期结束时发生、而不是在周期开始时发生、无论设置的周期有多大。 我也在观察  ISR 末尾的节拍数 isrExit_tick、它始终为一个小数字、如45、表示新的切换周期开始。  

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

    尊敬的 Shengnan:

    感谢您的耐心等待、对于延迟回复深表歉意。

    是的、我不认为调试会有很大的变化、但是、当尝试尽可能准确的计算时钟周期时、最好运行 RLESE 构建。

    您是否能够利用性能分析 GPIO 来帮助直观地显示 ISR 在切换 ePWM 时所用的时间长度? 我们在较新的参考设计上采用了类似的方法、例如 TIDA-10062、这样我们在进入 ISR 时将 GPIO 切换为高电平、在退出时切换为低电平、这有助于在示波器上可视化。  

    此致、

    彼得