当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 嵌入式系统的应用随着各种智能控制系统、智能玩具、工业控制、掌上设备(Portable)等的需求而不断扩大和流行。特别是近几年来,随着手机、PDA、MP3等掌上系统的流行,使得系统功耗成为产品的设计瓶

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

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


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计
关闭
关闭