《匠人手记》推荐网上购书渠道:
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
卓越亚马逊网 购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

 匠人观点: 好记性不如烂笔头  
 黑色幽默:三鹿门——后世畅想

如何设计低功耗嵌入式系统
程序匠人 发表于 2005-11-26 23:23:00  阅读全文 | 回复(0) | 引用通告 | 编辑

       
如何设计低功耗嵌入式系统

嵌入式系统的应用随着各种智能控制系统、智能玩具、工业控制、掌上设备(Portable)等的需求而不断扩大和流行。特别是近几年来,随着手机、PDA、MP3等掌上系统的流行,使得系统功耗成为产品的设计瓶颈,也成为产品设计的关键技术之一。当然,功耗的问题本身是一个系统的问题,要想有效地降低整体功耗,不但需要在硬件上要充分考虑,而且在软件的设计上更需要认真对待。一个真正高效的低功耗系统,软硬件的相互配合和优化才是极为关键的。


 


一般来讲,低功耗嵌入式系统的设计包括如下的几个关键的步骤:

1.         方案的确定:方案是设计的关键,是项目成功的基本条件。方案选择错了就等于一个人走错了路,要么达不到要求,要么事倍功半,有时虽然满足了设计的要求,但却在时间、预算和成本等方面增加了更多的投入。例如在玩具行业,一般均选择4位系列的MCU来进行产品的设计,若采用8位甚至16位MCU,则无论是在成本,功耗等方面都将是得不偿失的选择;

2.         器件的选型:不同的芯片,不同的厂家其所提供的产品的特性均存在差异,特别是在功耗方面,有时差别很大,比如在4位MCU领域,EPSON、OKI等的公司的Microcontroller的功耗就比Samsung以及台湾厂家的相同系列MCU要低几倍甚至是一个数量级。因此确定了方案之后,如何选择合理的器件和MCU,也是保证产品功耗能够达到要求的关键;

3.         硬件设计:我们知道外围电路有时是整个系统的功耗“大户”,比如ADC、背光、蜂鸣器、外部Memory、各种传感器等。因此如何合理设计外围电路模块,合理使用和控制相关的外围电路模块将是系统设计的重点。当然硬件的设计必须与软件的设计相结合。

4.         软件的设计:软件的设计是整个系统设计的重中之重,系统整体功耗的控制、外围电路模块的使用、调度和切换等,均需要通过软件的编程来实现。一般来讲,低功耗软件设计包括如下的几个方面:

a)         初始化:初始化是嵌入式系统设计的基本步骤,也是控制整个系统功耗的重要的步骤,何以如此呢?我们知道,一般来讲在初始化部分,我们需要对整个系统进行配置,比如IO口的设置、外围功能的配置等,而其中最容易被设计者所忽略的一步就是对在项目设计中未被使用MCU的功能的配置,有时正是这些资源的配置不合理,从而导致系统整体功耗出现意想不到的结果。

b)        系统时钟的控制:合理使用系统时钟,会在功耗方面带来意想不到的效果。我们知道,CPU的系统时钟与CPU的功耗成正比,时钟越快,其功耗也越大。因此,对于一些具有多个系统时钟的Microcontroller,软件的设计时必须根据系统需求来选择合理的CPU时钟,例如某些带有外部Memory的运动手表,在正常的运行下可以采用32768Hz作为其CPU时钟,以获得最低的整体功耗;而在访问外部Memory时,由于外部Memory的访问电流在几个毫安甚至更高,而长时间的访问势必导致功耗的增加,因此为了有效地降低由于Memory访问而导致的电流的损耗,则可以切换到1Mhz或更高的CPU时钟下,以求在最短的时间里完成对Memory的访问。当然,在进行时钟切换的时候必须进行全面的考虑,因为选择较高的CPU时钟,其MCU本身的功耗也会增加,因此我们必须要在各种因素下找到其平滑点。对于一个给定的系统,由于电压是固定的,而且电池的容量也是固定的(设位WBatt),因此系统的功耗可以用下式来进行表示:

WBatt = ∑Ik*Tk       (k = 0......n)

其中,Ik为系统在不同的状态或条件下的电流,而Tk则为系统在此状态或条件下所维持的时间。

从上式可以看出,若要获得最低的功耗,要求Ik*Tk必须最小,对于一些模式来讲,时间有时是不可控制的,比如待机模式,此时只有更小的电流才能获得最地的功耗,而反应在芯片上就是一款芯片的Power Down Current;相反,对于电流是固定的情况,则必须让系统尽可能短地停留在该状态下。


c)        IO口的控制:IO口的控制主要集中在上拉、下拉电阻的选择,待机状态下的电平输入输出设置等。对于IO口的控制,必须记住一个原则:任何情况下,都必须尽可能保证在IO口上不存在电流的流动。电流即意味着能量的损耗,因此在软件设计是必须根据实际的情况来合理配置IO口的状态和其输入输出电平;

d)        MCU工作模式的使用:对于大多数低功耗MCU,均存在多种工作模式,一般包括如下几个运行模式:

                                       i.              正常运行模式:CPU和Clock均在工作,此时MCU处于最大功耗状态;

                                     ii.              停机模式:CPU停止工作,但系统时钟仍在工作,此时MCU处于较低的功耗状态;

                                    iii.              掉电模式:CPU和系统时钟均停止工作,此时MCU处于最低功耗状态;

e)         外围功能模块或电路模块的管理:大多数系统的外围功能模块都是处于一种低频度使用状态,而且有时其功能的开启是有条件的,因而合理的使用和调度外围模块也是降低功耗的重要方法。例如在含有传感器的系统中,可以根据传感器数据增量的变化来提高或降低其开启的频率,就以环境温度的检测为例,由于环境的温度变化是非常缓慢的一个过程,应此对其的检测可以以一种相对较长的时间间隔来进行,入一分钟或若干分钟,若在某一次检测出现有别于常规的温度变化时,为了保证数据的可靠性,则可以在短时间内对其进行若干次的重复测量,以确认其温度的变化是否时正常的还是由于其他的干扰所导致。


 


总之,低功耗的设计并非是一蹴而就的事情,需要综合考虑各种可能的因素、条件和状态,需要对各种细节进行认真的斟凿和分析,对各种可能的方案和方法进行计算和分析,才可能取得较为满意的效果。
 
 

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    往日酷贴

     
     
     

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!