Other Parts Discussed in Thread:C2000WARE
你好,
我在使用DSP28335和主功率回路联调时候,出现了个问题。
在RAM里面,电路各项参数都调试好了,此时效果波形如下图
但是,同样的程序,烧录到FLASH里面,波形就变了
由上图可见,在RAM里面调试,控制效果很好,波形具有很好的正弦度,但是在FLASH里面,控制效果就大打折扣。
烧FLASH的时候,在主程序里面添加了相关的程序和配置文件,如下图
我感觉是程序底层的问题,请问,TI工程师有没有相关的解决方案?
Green Deng:
你好,程序中只是把DSP28x_usDelay函数复制到ram了吗?有没有把PWM中断加到ram中运行?
,
user6478480:
您好,感谢你的回复。
我调用了ADC采样程序,在InitADC();里面涉及到了DSP28X_usDelay的调用
我程序里面也调用了PWM中断,如下:
请问该怎么操作,等候您的回答
,
user6478480:
而且我把主要控制程序都写在PWM中断里面,包括了AD采样这类的调用程序。
,
user6478480:
非常希望得到您的回复,谢谢啦
,
Green Deng:
就是跟DSP28x_usDelay一样加上一句
#pragma CODE_SECTION(epwm1_timer_isr,"ramfuncs");
,
user6478480:
我采用了您的方法,添加了相关程序,如下图
但是测试后,波形如下:
控制效果还是不行,请问还有其他什么方案吗?
,
Jun Zhang4:
显然在flash运行还在ram运行并不是造成运行结果相差巨大的根本原因。
是否可能存在采样延时,中断延时等因素。正如前面回复,主要加了ramfunc标识,中断也是在RAM中运行的,没有差异。
,
user6478480:
那这种采样延时,中断延时,有没有相关的解决方案,因为我把控制函数(包括AD采样的)都写在了PWM中断里面,PWM触发一次,进入中断后,再AD采样,再对采回来的数据进行处理,输出相应的PWM控制信号。这样是不是执行不过来。接下来是不是应该优化程序?
,
user6478480:
是否我需要改进程序等,调整程序结构?
,
Green Deng:
你的程序主要涉及了哪些功能?我看你的程序中似乎也就是PWM的产生以及ADC采样功能,理论上来说,TI例程中就有这些程序,不太会出现你的问题。或者你可以参考一下例程来调整你的程序?可以在以下位置找到例程:
C:\ti\c2000\C2000Ware_3_03_00_00\device_support\f2833x\examples
,
user6248194:
您好,请问您这个问题是否解决了?我也遇到了类似的问题
,
xueru he:
请问您的问题解决了吗,我也有类似的问题现在无法解决!如果您有时间能告知一下解决方案吗