首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[原创]dsp2407的SVPWM重要问题请教高手

[原创]dsp2407的SVPWM重要问题请教高手

高手出来帮个忙:
我用SVPWM产生波形。我想知道算法的效率。定时周期为100us。我想知道在中断中计算部分程序的执行时间,采用下面两中方法做:
1、在进中断的计算程序部分开始前把一个管脚输出高电平,在 计算结束 后输出底电平。然后用示波器观察。发现高电平有75us,底电平有25us左右,即占了cpu的75%以上。不知是什么地方问题?计算语句只有290条。最坏应该在40us内才对。
2、在进中断有读定时器计数器T1CNT,保存,等计算完后再读T1CNT,并件去前一次的值。但计算结果在变化。并且读出T1CNT中的值用LACC    T1CNT,与在memory中观察的地址为7401h中的值不同,不知为什么?

韶华潇潇 MM,回来了啊.辛苦了.

我就是传说中的"阿刚".很多地方注册我都用"bbtr".

我提的上面问题基本解决了.在中断中放的计算,时间是有点长,我现在把晶震设为40M.计算的时间大约有36us(用第一种方法,示波器观察).用上面提到的的第二中方法,即在计算前后读出定时器计数器T1CNT的值,然后相减,所得到的结果相差在1~5.并计算出时间在36us左右.

以前100us中断一次,就有70us的计算在中断中,现在100us中断一次,有36us计算.所以可以正确检测出时间,两种方法都可以.

补充:我的中断是用连续增减方式.

返回列表