没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
用于便携式设备的低功耗用于便携式设备的低功耗MCU系统设计方法及应用系统设计方法及应用
本文对如何设计一个低功耗的单片机系统与方法和MCU在低功耗方面的优势进行分析,并小尺寸系列单片机的
应用为例作出介绍。
1、便携式设备对处理器提出的挑战
随着电子便携式设备在全球的风行,人们对电子便携式设备的要求也越来越高,希望产品有更多的功能,如手机摄像机自动对
焦与手机闪信与计步器;希望产品功耗更低,如无线设备、手持POS机和家庭医疗产品;希望产品体积更小,如运动手表;
希望产品的保密性好;处理能力强,如便携式仪器和高精度运动控制;希望价格更低和开发周期短。
然而困惑的是,很多的便携式设备往往会同时要有上面的多个要求,然而现实中很难做到:同时满足高速处理、低功耗和价
格?ARM高速,但是功耗而价格高;同时满足高速处理和小封装?希望封装面积小到3×3mm,又要不牺牲速度;同时满足小
封装和SOC?需要ADC、SPI和12个I/O,而尺寸,最好小于5×5mm;开发周期,ARM性能完全合适,但ARM往往需要操作
系统支持,开发周期长,而市场机遇稍纵即逝。
为此,本文将从为电子便携式设备开发解决上述这些难题出发,对如何设计一个低功耗的单片机系统与方法和MCU在低功耗
方面的优势进行分析,并小尺寸系列单片机的应用为例作出介绍。
2、如何设计一个低功耗的单片机系统
问题提出:单片机系统的功耗是否只是由单片机的功耗决定?回答是,以单片机为核心构成的系统,其系统的总能耗是由单片
机能耗及其外围电路能耗共同构成。为了降低整个系统的功耗,除了要降低单片机自身的运行功耗外,还要降低外围电路的功
耗。
2.1 如何设计低功耗单片机系统?
要设计一个低功耗的单片机系统,需要从硬件和软件两方面入手。
2.11 硬件设计
*选用尽量简单的CPU内核。在选择CPU内核时切忌一味追求性能。选择的原则应 该是“够用就好”。8位机够用,就没有必要
选用16位机。一般来说,单片机的运行速度越快,功耗也越大。一个复杂的CPU集成度高、功能强,但片内晶体管多,总漏
电流大,即使进入STOP状态,漏电流也变得不可忽视;而简单的CPU内核不仅功耗低,成本也低。
*选用低电压供电的系统。低电压供电可以大大降低系统的工作电流。目前单片机从与TTL兼容的5V供电降低到3.3V、3V、2V
乃至1.8V供电,降低单片机的供电电压可以有效降低其功耗。供电电压降低也是未来单片机发展的一个重要趋势。
*选择带有低功耗模式的系统。低功耗模式指的是系统的Idel(闲置)、Stop(停止)和Suspen(暂停)模式。处于这类模式下的单片
机功耗将大大小于运行模式下的功耗。
*选择合适的时钟方案。时钟的选择对于系统功耗相当敏感,有两方面的问题要注意:
其一、系统总线频率应当尽量低。单片机内部的总电流消耗分为:运行电流和漏电流。单片机集成度越高,环境温度越高,漏
电流也越大。单片机的运行电流几乎和其时钟频率成正比。降低时钟频率,就可以有效降低单片机的功耗。
其二、关于时钟方案。是否使用锁相环,使用内部振荡器还是外部振荡器。现代单片机普遍使用锁相环技术,使单片机的时钟
频率可以由程序控制。单片机使用外部较低的振荡器,通过软件控制,系统时钟可以在一个很宽的范围内调整,得到比较高的
总线时钟。使用锁相环会带来额外的功耗。单就时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种。有的单
片机带有内部时钟,也可使用外部时钟。这可以根据实际系统的需要使用双时钟:一个高速时钟和一个低速时钟。处理事件时
使用高速时钟,空闲时使用低速时钟。这钟双时钟系统可以有效地降低功耗。
2.12 应用软件设计
应用软件设计对于一个低功耗系统的重要性常常被人们忽略。一个重要的原因是,软件上的缺陷并不像硬件那样容易发现,同
时也没有一个严格的标准来判断一个软件的低功耗特性。尽管如此,设计者如果能尽量将应用的低功耗特性反映在软件中,就
可以避免那些“看不见”的功耗损失。
*用“中断”代替“查询”。在没有要求低功耗的场合,程序使用中断方式还是查询方式并不重要。但在要求低功耗场合,这两种方
式相差甚远。使用中断方式,CPU可以什么都不做,甚至可以进入等待模式或停止模式;而查询方式下,CPU必须不停地访
问I/0寄存器,这会带来很多额外的功耗。
*用“宏”代替“子程序”。子程序调用的入栈出栈操作,要对RAM进行两次操作,会带来更大的功耗。宏在编译时展开,CPU按
顺序执行指令。使用宏,会增加程序的代码量,但对不在乎程序代码量大的应用,使用宏无疑会降低系统的功耗。
*尽量减少CPU的运算量。减少CPU的运算工作量,可以有效地降低CPU的功耗。减少CPU运算的工作可以从很多方面入手:
其一,用查表的方法替代实时的计算。其二,不可避免的实时计算,算到精度够了就结束,避免“过度”的计算。其三,尽量使
用短的数据类型,例如,尽量使用字符型的8位数据替代16位的整型数据,尽量使用分数运算而避免浮点数运算等。其四,让I
/O模块间歇运行,即不用的I/O模块或间歇使用的UO模块要及时关掉,以节省电能;不用的I/O引脚要设置成输出或设置成
输入,用上拉电阻拉高。
资源评论
weixin_38717450
- 粉丝: 7
- 资源: 953
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM8S103F3P6+STM8S207C8T6+STM32F103 单片机三合一最小系统开发板硬件(原理图+PCB)工程
- 基于C语言实现的打印杨辉三角
- 基于ASIO的插件式服务器,支持TCP,UDP,串口,Http,Websocket统一化的数据接口,隔离开发人员和IO之间的操作
- stm32 usb接口通信
- Chessmate是一款完全免费的国际象棋学习软件,支持引擎分析,学开局、残局、棋书解读、大数据分析等功能
- 总结整理的Android面试Java基础知识点面试资料精编汇总文档资料合集.zip
- .android_lq
- FDN5632N-VB一款SOT23封装N-Channel场效应MOS管
- 毛老板-2404250902.amr
- Java类加载流程(双亲委派)流程图.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功