[讨论] dsp28335AD采样中断程序中进行大量计算

muyanshuimuyan   2015-3-26 15:32 楼主
我采用DSP28335进行AD采样,频率是10Khz,然后在中断程序中加入一个函数,改函数进行了一系列的矩阵计算,然后好像程序运行情况跟想象的不一样(源程序可以产生正弦波)。去掉该函数后,程序运行正常,正弦波产生正常。

回复评论 (11)

我觉得可能是中断函数太复杂,计算不完了。
楼主可以这样试试,在进入中断函数后,把某一个IO拉高,计算完毕后,拉低。
使用示波器观察这个io信号,如果是持续的高电平,那就是计算不过来了。。
如果不是这个问题,继续跟帖提问。
点赞  2015-3-26 15:45
引用: nemo1991 发表于 2015-3-26 15:45
我觉得可能是中断函数太复杂,计算不完了。
楼主可以这样试试,在进入中断函数后,把某一个IO拉高,计算完毕后,拉低。
使用示波器观察这个io信号,如果是持续的高电平,那就是计算不过来了。。
如果不是这个问题,继续跟帖提问。

好,我等下试试看,谢谢
点赞  2015-3-26 16:02
引用: nemo1991 发表于 2015-3-26 15:45
我觉得可能是中断函数太复杂,计算不完了。
楼主可以这样试试,在进入中断函数后,把某一个IO拉高,计算完毕后,拉低。
使用示波器观察这个io信号,如果是持续的高电平,那就是计算不过来了。。
如果不是这个问题,继续跟帖提问。

好像确实有高电平,计算不过来的话,那怎么解决这种大量计算的
点赞  2015-3-27 13:35
引用: muyanshuimuyan 发表于 2015-3-27 13:35
好像确实有高电平,计算不过来的话,那怎么解决这种大量计算的

优化计算。。

或者,换单片机。。
点赞  2015-3-27 13:50
引用: nemo1991 发表于 2015-3-27 13:50
优化计算。。

或者,换单片机。。

额,这个。大神,我还想问一下,我可以把这些计算放在定时中断或者主程序里面处理吗
点赞  2015-3-27 14:00
引用: muyanshuimuyan 发表于 2015-3-27 14:00
额,这个。大神,我还想问一下,我可以把这些计算放在定时中断或者主程序里面处理吗

需要看你的要求了。。
点赞  2015-3-27 14:13
引用: nemo1991 发表于 2015-3-27 14:13
需要看你的要求了。。

我的AD采样10KHZ,也就是数据的获取频率为10KHZ,如果我定时器为3khz,计算在定时器中进行,这样会好一些吗
点赞  2015-3-27 14:24
引用: nemo1991 发表于 2015-3-27 14:13 需要看你的要求了。。
你好,又要打扰你了,我后来直接把这些计算放在主函数里面去了,(原来的AD采样中,主要负责PWM波的compare的修改)但是现在那个通过PWM逆变器出来的正弦波有时候有,有时候又没有,我想是不是还是大量计算的原因 本帖最后由 muyanshuimuyan 于 2015-3-31 16:42 编辑
点赞  2015-3-31 16:41
引用: muyanshuimuyan 发表于 2015-3-31 16:41
你好,又要打扰你了,我后来直接把这些计算放在主函数里面去了,(原来的AD采样中,主要负责PWM波的compare的修改)但是现在那个通过PWM逆变器出来的正弦波有时候有,有时候又没有,我想是不是还是大量计算的原因

我觉得最好把程序拿出来看看。。


点赞  2015-3-31 16:59
引用: nemo1991 发表于 2015-3-31 16:59
我觉得最好把程序拿出来看看。。

这个程序有点多,我现在有个想法,把这些大量计算放在定时中断里面处理,频率不需要太大,会不会好一些
点赞  2015-3-31 17:02
引用: muyanshuimuyan 发表于 2015-3-31 17:02
这个程序有点多,我现在有个想法,把这些大量计算放在定时中断里面处理,频率不需要太大,会不会好一些

能算的过来就行。

但是控制频率直接影响到控制参数,自己看看吧。
点赞  2015-3-31 17:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复