TI中文支持网
TI专业的中文技术问题搜集分享网站

28035中PWM中断执行时间问题

背景:本人要采用DSP28035产生20KHZ的PWM驱动信号,即每个三角载波周期为50us,由于在每个PWM中断中要进行AD采样、Compare值计算,这样便造成中断有一定的执行时间。

问题是:我目前中断内部的C代码不是很多,但是用IO口实测的PWM中断执行时间很长,有40us左右,若继续增加中断内部的相关代码会造成中断执行时间进一步增大,甚至大于50us,这便会PWM中断等待执行,最终导致控制输出量频率下降。我用的CCS为V3.3.83.2,请问是否是我用的CCS版本过低,造成代码编译执行效率较低,除了改用汇编直接编程外,是否有其他解决办法?(相关程序见附件123)

急!!恳求各位大侠专家指导!!

Haopeng Wang:

回复 Victor Zheng:

你好:

      程序是烧到Flash中运行的,且没有进行InitFlash()初始化,这可能正是问题所在,暂时还没来得及验证;

     我想请教,为什么没有Flash初始化,会造成中断执行时间过长呢?还有如果进行初始化,是调用初始化函数么?

     求指教!!

背景:本人要采用DSP28035产生20KHZ的PWM驱动信号,即每个三角载波周期为50us,由于在每个PWM中断中要进行AD采样、Compare值计算,这样便造成中断有一定的执行时间。

问题是:我目前中断内部的C代码不是很多,但是用IO口实测的PWM中断执行时间很长,有40us左右,若继续增加中断内部的相关代码会造成中断执行时间进一步增大,甚至大于50us,这便会PWM中断等待执行,最终导致控制输出量频率下降。我用的CCS为V3.3.83.2,请问是否是我用的CCS版本过低,造成代码编译执行效率较低,除了改用汇编直接编程外,是否有其他解决办法?(相关程序见附件123)

急!!恳求各位大侠专家指导!!

Young Hu:

回复 Haopeng Wang:

Flash有预取指的功能,如果InitFlash()的话,就会把这个功能打开

背景:本人要采用DSP28035产生20KHZ的PWM驱动信号,即每个三角载波周期为50us,由于在每个PWM中断中要进行AD采样、Compare值计算,这样便造成中断有一定的执行时间。

问题是:我目前中断内部的C代码不是很多,但是用IO口实测的PWM中断执行时间很长,有40us左右,若继续增加中断内部的相关代码会造成中断执行时间进一步增大,甚至大于50us,这便会PWM中断等待执行,最终导致控制输出量频率下降。我用的CCS为V3.3.83.2,请问是否是我用的CCS版本过低,造成代码编译执行效率较低,除了改用汇编直接编程外,是否有其他解决办法?(相关程序见附件123)

急!!恳求各位大侠专家指导!!

Haopeng Wang:

回复 Young Hu:

没太明白,能说得详细点么?

赞(0)
未经允许不得转载:TI中文支持网 » 28035中PWM中断执行时间问题
分享到: 更多 (0)