21ic电子技术开发论坛
标题:
降低软件功耗
[打印本页]
作者:
dengdc
时间:
2020-4-4 11:48
标题:
降低软件功耗
都有哪些方法降低软件功耗啊
作者:
wuhany
时间:
2020-4-4 11:54
用查表的方法代替实时的计算,尽量减少CPU的运算量。特别是在没有硬件浮点处理单元的MCU进行浮点处理时,直接用MCU进行浮点处理将会消耗大量的时间。将一些运算的结果预先算好,放在Flash中,用查表的方法替代实时的计算,减少CPU的运算工作量,可以有效地降低CPU的功耗。很多微处理器都有快速有效的查表指令和寻址方式,用于优化查表算法,这种处理方法在离散余弦变换和AD数据采集中能够了带来可观的效率提升。
作者:
jiajs
时间:
2020-4-4 11:56
对于不可避免的实时计算,应注意计算的精度,算到精度够了就应立即结束,避免“过度”的计算。在精度允许的情况下,使用简单函数代替复杂函作近似运算,也是减少功耗的有效方法
作者:
zhenykun
时间:
2020-4-4 11:59
尽量使用短的数据类型,如尽量使用字符型的8位数据代替16位的整型数据。
作者:
zhenykun
时间:
2020-4-4 12:01
还有就是尽量使用分数运算而避免浮点运算
作者:
jiajs
时间:
2020-4-4 12:05
用移位运算代替乘除运算。采用MCU计算乘除也是非常耗时的,如果采用左移和右移的办法来实现乘除法运算,将会减少运算时间,注意,除法的移位计算只能针对除数比较特殊的情况。
作者:
wyjie
时间:
2020-4-4 12:08
采用快速算法。在搜索算法中,使用二分搜索法和分段查找算法的效率是不同的,从理论上可以估算,在1024个测量值的查找中,二分搜索最坏情况下10将可以查找到结果,顺序搜索最坏可能需要1024次。这在测量数值更多的情况下更为突出,一个高效率的查找算法有助于减少程序的运行功耗。
作者:
jlyuan
时间:
2020-4-4 12:10
数字信号处理中的运算,采用FFT和快速卷积等,可以节省大量运算时间
作者:
jlyuan
时间:
2020-4-4 12:12
一个程序使用中断方式还是查询方式,对于很多应用来说并不是那么重要,但在软件低功耗设计特性上却相差甚远。能用中断就用中断,不要用采询方式
作者:
jiajs
时间:
2020-4-4 12:15
采用定时器,在程序中可以采用软件延时,但是,如果系统的定时器资源充裕,在需要定时的场合,最好采用硬件定时器,当定时器到定时后,向MCU发出中断请求信号。
作者:
yszong
时间:
2020-4-4 12:17
用宏代替子程序。在程序执行过程中,读RAM需要比读Flash更大的功耗,宏是在编译器预处里阶段进行替代,而在子程序的调用中MCU需要进行现场保护。在一次子程序调用中,因为CPU进入子程序时会首先将当前的CPU寄存器压栈,返回时出栈,这样最少有两次的RAM操作。对于程序设计来说,调用一个子程序还是一个宏,在程序写法上并没有什么不同,但宏会在编译时展开,CPU只是顺序执行指令,避免了调用子程序,唯一的问题是增加了代码的长度(代码量)。但现在的单片机的Flash一般都够用。
作者:
yszong
时间:
2020-4-4 12:21
总的指导思想就是让cpu少工作,多休眠。
作者:
heweibig
时间:
2020-4-4 12:24
精简代码,减少执行代码指令,让cpu完成相同的工作执行更少的代码,降低功耗
作者:
heweibig
时间:
2020-4-4 12:27
你是说执行的次数吗?
作者:
wuhany
时间:
2020-4-4 12:29
使用汇编语言还可以的。
作者:
llljh
时间:
2020-4-4 12:32
将运算的结果预先算好,放在Flash中,尽量减少CPU的运算工作量
作者:
lizye
时间:
2020-4-4 12:34
软件功耗,软件有什么功耗呢?
作者:
xxmmi
时间:
2020-4-4 12:39
选择低功耗的MCU
作者:
zyf部长
时间:
2020-4-4 12:41
尽量降低器件的工作频率
作者:
kangzj
时间:
2020-4-4 12:45
使用中断让处理器进入更深的睡眠
作者:
llia
时间:
2020-4-4 12:48
关闭MCU内部不用的资源
作者:
huwr
时间:
2020-4-4 12:50
显降低器件的用电电压
作者:
happy_10
时间:
2020-4-4 12:55
加上休眠模式
作者:
songqian17
时间:
2020-4-4 12:58
MSP430系列单片机是低功耗单片机
作者:
zhanglli
时间:
2020-4-4 13:01
可以选用不同的时钟源
作者:
zhanghqi
时间:
2020-4-4 13:03
低功耗设计的CPU
作者:
ousj
时间:
2020-4-4 13:06
降低MCU的工作频率自然耗电也就下来了
作者:
zyf部长
时间:
2020-4-4 13:12
睡眠模式和掉电模式能够大大的降低MCU的工作电流
作者:
guoyt
时间:
2020-4-4 13:15
比如内部的模拟比较器
作者:
wangzsa
时间:
2020-4-4 13:18
触发外部中断使得单片机唤醒
作者:
chenho
时间:
2020-4-4 13:21
特定软件操作下所消耗的能量
作者:
tian111
时间:
2020-4-4 13:23
频率越低,相对来说功耗就越低
作者:
juventus9554
时间:
2020-4-4 13:26
明显的降低器件的耗电
作者:
renyaq
时间:
2020-4-4 13:30
软件方法降功耗的,主要是MCU的低功耗模式的
作者:
houcs
时间:
2020-4-4 13:33
优化软件吗
作者:
tian111
时间:
2020-4-4 13:36
最常用的是空闲模式
作者:
zyf部长
时间:
2020-4-4 13:41
可以考虑的技术是减少事件。
作者:
yufe
时间:
2020-4-4 13:43
降低时钟速度
作者:
yufe
时间:
2020-4-4 13:48
关掉其他的所有处理器的外设。
作者:
gongche
时间:
2020-4-4 13:51
空闲模式比处理器执行指令时的功耗要小得多。
作者:
zhaoxqi
时间:
2020-4-4 13:55
智能等待是使处理器尽可能高频率地进入空闲模式
作者:
juventus9554
时间:
2020-4-4 13:58
降低一半时钟速度,功耗将成比例下降。
作者:
pengf
时间:
2020-4-4 14:00
用移位运算代替乘除运算
作者:
dengdc
时间:
2020-4-4 14:11
IO为高电平是上拉电阻不费电
作者:
xxrs
时间:
2020-4-4 14:15
降低功耗从MCU选型开始
作者:
yufe
时间:
2020-4-4 14:18
主频高了就意味着高的功耗
作者:
houcs
时间:
2020-4-4 14:22
尽量使用VMOS做为外部功率扩展器件
作者:
ousj
时间:
2020-4-4 14:25
睡眠模式和掉电模式能够大大的降低MCU的工作电流
作者:
xxmmi
时间:
2020-4-4 14:27
开始选型的时候就应该考虑选择低功耗的MCU
作者:
zwll
时间:
2020-4-4 16:17
降低mcu的频率。
作者:
chuxh
时间:
2020-4-4 16:30
利用MCU的中断功能让MCU周期性的工作和睡眠
作者:
pengf
时间:
2020-4-4 16:33
下拉电流的时候却也有不小的功耗产生。
作者:
dengdc
时间:
2020-4-4 16:36
明白了,多谢大家讨论这么多哈
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)
Powered by Discuz! X3.5