打印

dsp语句执行时间问题

[复制链接]
1016|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Erichk|  楼主 | 2017-9-26 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ACtemp=AC_current/4096*3.3;
result1 = result1+ACtemp*ACtemp;(这是用来采样交流电流,来计算有效值)像这样的计算语句执行要多长时间。(ACtemp和result1均为float)
我把这语句放到timer1定时器中断里边就会影响到以timer0为触发源的ADC采样。
我把timer1的周期设为30000(为500US),timer0的周期为60*1000000(为1S),时钟脉冲为60MHZ。
有考虑到用IQ来做写,但是都不执行不知道是什么原因。
ACtemp=_iq29(AC_current/4096*3.3);
result1 = _IQ29(result1+ACtemp*ACtemp);

相关帖子

沙发
迪卡| | 2017-9-26 10:41 | 只看该作者
不要用除法,除法耗资源太多

使用特权

评论回复
板凳
冰河w| | 2017-9-26 10:55 | 只看该作者
AC—current是AD口寄存器的16位整数,ACtemp = (float)(AC_current >>12) * 3.3

使用特权

评论回复
地板
Thorald| | 2017-9-26 11:14 | 只看该作者
定点dsp

使用特权

评论回复
5
Bjorn| | 2017-9-26 11:25 | 只看该作者
定点dsp做浮点除法狠耗cpu的,这个是常识问题,想办法转换成定点乘法最好

使用特权

评论回复
6
Rollo| | 2017-9-26 11:32 | 只看该作者
浮点数右移?

使用特权

评论回复
7
Rangar| | 2017-9-26 18:14 | 只看该作者
浮点数移位操作的意义是啥?

使用特权

评论回复
8
Stannis| | 2017-9-26 18:23 | 只看该作者
可以用长的数据类型,把运算数据放大变成定点乘法,最终的计算结果再除以被放大倍数

使用特权

评论回复
9
Brand2| | 2017-9-26 18:37 | 只看该作者
代码处理可能会多做一点工作,但是编译之后的步骤相对定点机器处理浮点除法的运算过程,会下降几个数量级

使用特权

评论回复
10
Brand2| | 2017-9-26 18:42 | 只看该作者
C28 CPU只有乘法指令,且是整数乘法,使用浮点数(乘法或除法),都要调用内部过程,这样占用时间较多。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

500

帖子

0

粉丝