您的位置:控制工程论坛网论坛 » 嵌入式系统 » 如何设计低功耗嵌入式系统

szzunzheng

szzunzheng   |   当前状态:离线

总积分:180  2025年可用积分:0

注册时间: 2007-06-06

最后登录时间: 2009-10-12

空间 发短消息加为好友

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

szzunzheng  发表于 2007/9/18 16:33:04      1518 查看 1 回复  [上一主题]  [下一主题]

手机阅读

引言:嵌入式系统的应用随着各种智能控制系统、智能玩具、工业控制、掌上设备(Portable)等的需求而不断扩大和流行。特别是近几年来,随着手机、PDA、MP3等掌上系统的流行,使得系统功耗成为产品的设计瓶颈,也成为产…
查看更多

高手列表


方海林 职务: R&D Manager
高手简介: 方海林先生毕业于华中理工大学(现为华中科技大学)电力工程系电机专业,毕业后一直从事单片机产品的开发设计和技术管理工作,现从事消费类汽车电子产品的开发和管理。对4位,8位及16位单片机开发有丰富的经验,特别是对基于电池供电的低功耗带LCD显示产品方面,有着多年的实际开发和应用的案例。

高手观点: 软硬件的配合和优化是设计的关键



高手答疑


Q:ARM和dsp双核设计系统如何完成连接与通信 对此问题深入讨论


我现想设计的系统是用arm和dsp双核的,但他们间通信实时的传输数据,让dsp处理的数据在arm中能实时显示并能实时管理其他串口等外设。网上的用hip通信听说效果也不好。请指教怎样才能更好的通信呢?



我用的DSP5000   arm7(LPC2210) 操作系统暂定LINUX





提问时间:2005-11-14 作者: hjian  


A: Re:ARM和dsp双核设计系统如何完成连接与通信
ARM和DSP我都没有真正做过项目,但我想,你可以从以下几个方面来考虑:
1。数据量和数据的速率:首先必须搞清出到底有多少数据需要进行传输,其对时间的要求如何(体现在速率上);
2。根据系统的资源和特点,选择合适的接口,如SPI、UART、I2C、USB或者是普通的并口,实现的方式是采用ARM的中断来进行数据的收发,并建立数据的收发缓冲,缓冲的大小根据数据处理的速度和传输的速度来决定;
3。数据的完整性,在数据的通讯过程中,如何保证数据的正确性和完整性是主要的问题。一般可以采用数据包加校验数据的做法,数据包的大小可根据数据传输的基本单位(所谓基本单位是指一独立的数据结构,比如时间数据结构,日期数据结构等,其目的是希望此类结构能够在一个包中传输完毕,避免数据的不必要的分散)来决定,而校验的方式则可以更具实际的情况的选择,可以采用普通的CheckSUm的校验,也可一采用CRC校验等,若无须纠错,则建议尽可能简单为好(当然,出错的数据包需要重发)。
4。数据的处理安排在主程序中来进行,这样可以让CPU可以随时响应各种中断,避免了由于在中断处理程序中占用了太长的时间而耽误了其他中断的响应;

对于外设的管理,一般是采用中断的形式来进行的,中断只用来完成数据的收发,并创建消息以通知主循环程序对消息进行处理。此类情况在没有OS的系统中是一件非常容易的事情,但对于采用了OS的系统来说,则可能会复杂一些,因为对于大多数OS来讲,底层的资源一般是被封装的,而对于应用程序来讲,只能通过API来进行访问,使用起来可可能有些被束缚的感觉!,当然,也可以自己谢一些Driver来实现。

对于非标准系统,数据的通讯原则上是随意的,并不需要采用标准的通讯协议或方式,只要保证速率和数据的正确性,采用任何的方式都是可行的!
回复时间:2005-11-14 高手: alanfang  






Q:ARM和dsp双核设计系统如何完成连接与通信 对此问题深入讨论


我现想设计的系统是用arm和dsp双核的,但他们间通信实时的传输数据,让dsp处理的数据在arm中能实时显示并能实时管理其他串口等外设。网上的用hip通信听说效果也不好。请指教怎样才能更好的通信呢?



我用的DSP5000   arm7(LPC2210) 操作系统暂定LINUX





提问时间:2005-11-14 作者: hjian  


A: Re:ARM和dsp双核设计系统如何完成连接与通信
说明一下,我没有用过ARM和DSP。无法了解其详细的资料!
通讯的选择是没有固定模式的,特别是对于内部的通讯方式,更是由系统的设计来决定的,所列举的接口只是一种提示而已,实际的选用则完全可以根据系统的资源的配置来决定,也可借用所列举的接口的一些特点和优点来设计自己的通讯接口-这才是关键。比如用IO口的中断和并行数据传输或串行数据传输来实现两个芯片的通讯等。因此你可能需要详细的理解两款芯片的资料,然后根据自己的项目的要求来机进行设计!希望能对你有所启发!
回复时间:2005-11-14 高手: alanfang  






Q:ARM和dsp双核设计系统如何完成连接与通信 对此问题深入讨论


我现想设计的系统是用arm和dsp双核的,但他们间通信实时的传输数据,让dsp处理的数据在arm中能实时显示并能实时管理其他串口等外设。网上的用hip通信听说效果也不好。请指教怎样才能更好的通信呢?



我用的DSP5000   arm7(LPC2210) 操作系统暂定LINUX





提问时间:2005-11-14 作者: hjian  


A: Re:ARM和dsp双核设计系统如何完成连接与通信
不妨把你用的芯片和项目的要求大致介绍一下!
回复时间:2005-11-14 高手: alanfang  






Q:时钟的自同步 对此问题深入讨论

请问clk1,clk2通过mux2选择后怎么自同步?
提问时间:2005-11-3 作者: liuzhengyu  


A: 回复
Sorry!这个问题我还真没有研究过,有知道的网友不妨可以解答一下!谢了!
回复时间:2005-11-3 高手: AlanFang  






Q:起点低,如何成为优秀的硬件工程师 对此问题深入讨论

方工您好:我是在一家开发公司工作,是一个硬件LAYOUT工程师。我是中专毕业,我不懂英文,我很相学单片机编程,请问我能学会吗?该怎样起步?
提问时间:2005-11-2 作者: caixiaohuan  


A: 回复
英文并不是最主要的(虽然MCU的资料以英文为主,但目前已有许多公司开始提供中文版本),因为,大部分都是通用的,看过几次,自然就习惯了!
要学单片机开发,最重要的是思维的方式,一种解决问题的能力,单片机只是提供一个载体来表达你的思维和逻辑而已。当然,要想真正学好,还是需要对软件的知识,基本的数字电路模拟电路有一定的理解和认识。
记住,学校只是教你一种思维的方式与学习的能力,社会才是最好的大学,只要努力,没有学不好的,当然自己的兴趣和思维的偏向也很重要!
回复时间:2005-11-2 高手: AlanFang  






Q:如何在高性能与功耗之间找到平衡? 对此问题深入讨论


在处理器性能充分发挥时,往往也带来很高的POWER 消耗,怎样进行有效的设计,能够让处理器工作时既保证高性能又保证低功耗呢?在OS、中间件、应用软件搭建时,怎样尽量减少对系统能量的消耗?


提问时间:2005-10-28 作者: harry  


A: 回复
这个问题是一个比较复杂的问题,也是项目开发中经常需要面对的一个问题。功耗和性能在一定的程度上是一个相互矛盾关系,高性能,一般要求高速的时钟,而高速的时钟必然会带来系统功耗的增加。要处好其之间的关系,我想可以从以下几个方面来探讨:
1。最坏工作量的确定,一个特定的系统,其所面对的可能的最大工作量原则上是可预知的,因此可以通过分析系统在各种可能的情况下的任务分布,来计算其在最大任务下的所需要的处理量,根据此处理量来决定其最高的时钟要求;
2。双时钟的使用,对于大多数的系统,其并不是都处于全饱和的工作条件下,因此,可以通过在系统处于较低的任务的情况下,切换其时钟到低速的模式,如32768Hz,400KHz等;
3。尽可能利用芯片的硬件资源来实现用软件也可以实现的功能,或只需少量的软件协助即可完成的功能,避免用纯软件的方法来处理。如PWM编码,曼切斯特编码及其他的一些编码解码等,其优点是,CPU可以处于一种暂停的模式(Idle),从而可以减小一定量的功耗的消耗;
4。OS的使用原则上会消耗大部分的系统资源和功耗,由于OS是面对各种通用的情况和应用,而对于一个已知的和特定的系统,其要求和任务是透明的,可预知的,因此在实际使用中可以根据情况来决定是否需要使用OS,有时没有OS的系统反而是最高效和最稳定的系统;
5。软件设计:如在程序设计时避免采用无谓的空操作作为延时的方法,尽量利用中断和CPU的IDLE模式来实现。
当然,要想达到一个理想的平衡点,必须时刻将功耗放在一个非常重要的位置上来对待,无论是软件还是在硬件设计过程中,都需要考虑功耗的问题。
回复时间:2005-10-28 高手: AlanFang  






Q:针对高速并口设计问题 对此问题深入讨论

(1)EPP增强并行口;
(2)IEEE 1284高速并行口通讯,且它与PACSZ1284之间的关系;

您能否就以上情况对于MCU高速并口与外设(如打印机)之间数据通讯实际设计谈谈个人看法,谢谢!!!
提问时间:2005-10-21 作者: plane  


A: 回复
首先必须明白他们之间的关系:EPP是一种数据通讯接口(硬件),是属于物理层上的;而IEEE1284 是针对并口(主要是连打印机,因没找到具体的标准,只是根据关联的结果进行判断)传输而设计的一种数据传输的协议(软件),属于协议层面上的;PACSZ1284则是用于解决并口EMI/ESD问题的一款保护芯片,与EPP和IEEE1284本身没有直接的关系。

同样是EPP,如数据的通讯采用IEEE1284,则可以进行互连,当然也可以不跑IEEE1284,此时其只能作为一种特殊的接口来用,如一些Emulator接口,Programmer接口等;

并口通讯原则上最简单的一种通讯方式,也算是比较古老的一种通讯方式,要实现MCU与打印机之间的互连(具体实现,我还真没试过!),首先需要了解的就是通讯的协议(IEEE1284),只要按照协议的要求来进行软件的设计即可,还有一般的Printer均支持最古老的DOS方式下的打印,因此,若MCU与Printer之间的互动性很小,则按照DOS下的工作方式来实现即可。高速的问题,则需要考虑到MCU本身的速度还有数据缓冲的大小,要想获得最佳的实时性,采用中断来实现Handshake则是最佳的选择。
回复时间:2005-10-21 高手: AlanFang  






Q:关于单芯片音频处理器的设计 对此问题深入讨论

方先生,你好!
我是现在有个项目是做音频处理器的设计,但是我从来没有做过实际的项目,所以拿到我手里,我有点无所适从,不知道从哪开始做起!
所以我想请教你如下几个问题吗?
1.在进行这个设计之前,我需要补充哪些必要的基础知识?
2.我应该从什么地方开始着手分析呢?
3.完成这个设计需要经过哪些基本流程呢?
谢谢!
提问时间:2005-10-19 作者: estiona  


A: 回复
呵呵!问题好像不对题!
说实在的,我没有设计过芯片(希望以后可以有机会接触一下 :)),因此只能谈一下自己的看法:
首先,我想你应该理解项目的内容和要求,即明白做什么,达到什么样的目的,需要完成哪些内容等,对于音频数据;
其二,必须知道目前有哪些音频的格式(最基本的),你的处理器需要支持哪些音频格式,是软支持(用户软件为主),还是硬支持(硬件解码),作为音频处理器,这应该是重点了!
第三,该处理器还有哪些功能,其针对的市场和客户是哪一类,这决定你需要配置哪些辅助的资源和接口;
确定了这些功能和要求后,你就需要面对如何来实现这些要求,用什么样的方案,采用什么结构,总线的设计如何?(这应该是处理器最基本的原理了),最后,我想,才是做具体的工作来实现和验证你的方案和设计(如,电路设计,微代码的设计等).
回复时间:2005-10-19 高手: AlanFang  






Q:高速并口、串口如何实现 对此问题深入讨论

华科大师兄,我是学弟,2001级的。
请问:
1.高速并口、串口如何实现? 推荐有哪些芯片可以搞定
2.在电机驱动方面,有没有 单块IC驱动二个电机的芯片资料?

谢了!
提问时间:2005-10-19 作者: plane  


A: 回复
首先,看你如何定义“高速”二字,1M?10M?, 对于普通的并口,有的已经可以做到1MB以上,若是芯片接口,则其主要的限制是芯片的工作频率,DMA也算是一种高速的并口。 在串口方面,一般高速的都是采用差分驱动的方式来实现,常见的有USB,S-ATA等,至于芯片,则必须根据你的项目的要求来选择了!这方面,我接触的也不是很多,实在抱歉!
电机的驱动我使用的不是很多,了解不深,但我想,你首先的搞清楚电机的类型,是Stepping Motor还是Serve Motor,两者的驱动应该不同,应该可以找到此类芯片!
回复时间:2005-10-19 高手: AlanFang  






Q:关于便携低功耗产品的充电问题 对此问题深入讨论

我想请问一下,在设计类似手机这样的便携式低功耗产品时,必须要考虑到电池和充电的问题,如何在产品的设计环节提高电池的使用效率、缩短充电时间?
提问时间:2005-10-17 作者: cong  


A: 回复
电池的使用寿命事便携式产品的一个主要的问题,从用户的角度出发,当然希望获得最长的使用时间以降低使用的成本和减少更换电池的次数和麻烦;从电池的角度来看,则希望能够将体积做小,而小的体积从一定的程度上又使电池的容量会受到一定的影响,特别是同等体积的充电电池比不可充电电池容量上会减小了一大半,因此如何减少系统的功耗则成为设计的主要问题。
为了降低系统功耗,可以从两个方面来考虑,一个是硬件,另一个就是软件。硬件方面,一是尽可能选择低功耗的主芯片和器件,二是减少和改进不必要的高耗能的外围电路,比如一些外围开关电路的设计,必须考虑系统在大多数时间所处的状态,而该电路在此状态下不会产生功率的消耗或是处于最低的消耗。此外,系统的时钟也是需要认真考虑的一个问题,同一种器件,工作的时钟频率的不同,其功耗也不同,时钟越高,功耗越大,基本上是成比例的关系。
在软件方面,一是必须使系统尽可能进入Sleep模式或是低功耗模式(有些器件会提供多达3种或3种以上的工作模式,使设计人员可以根据实际的处理量来切换不同的工作模式,达到最佳的功耗消耗),二是必须结合系统的使用情况来改变外围模块的工作状态,如在手机的非使用情况下关闭TFT-LCD的显示或关闭背光,根据接收信号的强度来开启和关闭LNA(Low Noise Amplifier)等等。对于一些RF接收模块,则可以采用定时Wakeup一个时间片(如每秒种唤醒RF电路50ms)来检测是否有有效的信号来到等。
回复时间:2005-10-17 高手: AlanFang  






Q:关于便携低功耗产品的充电问题 对此问题深入讨论

我想请问一下,在设计类似手机这样的便携式低功耗产品时,必须要考虑到电池和充电的问题,如何在产品的设计环节提高电池的使用效率、缩短充电时间?
提问时间:2005-10-17 作者: cong  


A: 回复
如果,电流为0,其功率消耗就为0,但在实际的电路中可能很难做到绝对的0电流,就算开关电路处于关断状态,也还是存在一定的微电流,只是其对功耗的影响很小而已!不知您如何理解?
回复时间:2005-10-17 高手: AlanFang  






Q:单片机怎样入门 对此问题深入讨论

单片机怎样入门?
因为工作中没有仪器(单片机编程),
怎么学都入不了门,
总是三天打鱼两天凉网。
请指教一下,
有没有方法突破这一关?
谢谢!
提问时间:2005-10-12 作者: passyhm  


A: 回复
现在的好多MCU都提供Flash版本和ISP或JTAG调试接口,而且大多数的DevelopKit都提供Simulator的功能,若想以最低的成本来实践MCU的开发,采用TI的MSP430F1xx是最好的选择,Emulator可以自己Layout(TI提供了所有的资料和PCB图,外面买也只需要100RMB左右),汇编和调试的Tools是免费的(TI网站下载)。
单片机学习,最重要的是试实践,看书只能是浪费时间!而且看不到结果也没办法提高兴趣和获得那种劳动收获的喜悦!
回复时间:2005-10-12 高手: AlanFang  






Q:请帮忙推荐芯片 对此问题深入讨论

方先生,您好。我现在的项目需要一片控制核心,要求是低功耗,结构简单,口线不用太多,成本比较低,最好能够集成CAN总线控制器,技术比较成熟的产品。请方先生提出您宝贵的建议,谢谢。
提问时间:2005-10-11 作者: aceice  


A: 回复
芯片选型的问题是一个非常令人头痛的问题,没有什么好的方法,只能是通过Search来获取相关的资料,至于Price,则只有向供应商咨询。目前低成本的芯片只有从台湾的厂家中寻找,当整体的Performance可能会有一些欠缺!
回复时间:2005-10-11 高手: AlanFang  






Q:嵌入式系统设计规范的内容 对此问题深入讨论

方先生您好,我是一个不懂硬件设计的学生,但我要研究SoC的系统级设计(现在的热点)问题,那就得首先明确设计SOC(也算嵌入式系统吧)要设计什么内容。
如果让您向开发团体提供一份系统开发设计规范书,里面应该包括哪些规范(除了功能、性能、面积、功耗之外)?
谢谢!
提问时间:2005-10-10 作者: chyfeng_2002  


A: 回复
首先必须明确,SOC就是Systen On Chip,也就是现在经常说得单芯片系统。任何产品的设计都必须以市场为主导,离开了市场,产品的设计就没有了其存在的意义(纯学术的除外)。同样,要想设计一款SOC系统,也必须首先明确产品的要求,需要完成哪些功能,需要什么样的资源,然后才根据相关的要求来选择合适的SOC芯片或在此款SOC芯片中增加哪些资源:ADC?UART?I2C?SPI?IDE?USB?等等。因此在做设计之前,必须明白产品的市场定位,不可能有千篇一律的标准!
另外,您的问题似乎有点模糊:是想用SOC来设计一款产品呢还是想设计一款SOC芯片?
回复时间:2005-10-10 高手: AlanFang  






Q:嵌入式系统设计规范的内容 对此问题深入讨论

方先生您好,我是一个不懂硬件设计的学生,但我要研究SoC的系统级设计(现在的热点)问题,那就得首先明确设计SOC(也算嵌入式系统吧)要设计什么内容。
如果让您向开发团体提供一份系统开发设计规范书,里面应该包括哪些规范(除了功能、性能、面积、功耗之外)?
谢谢!
提问时间:2005-10-10 作者: chyfeng_2002  


A: 回复
Sorry!能否将问题说明的具体一些?是指产品设计还是芯片设计?
回复时间:2005-10-10 高手: AlanFang  




--- 共 15 个主题 ---
 
网友见解
 


hjian : ARM和dsp双核设计系统如何完成连接与通信


我现想设计的系统是用arm和dsp双核的,但他们间通信实时的传输数据,让dsp处理的数据在arm中能实时显示并能实时管理其他串口等外设。网上的用hip通信听说效果也不好。请指教怎样才能更好的通信呢?



我用的DSP5000   arm7(LPC2210) 操作系统暂定LINUX




liuzhengyu : 时钟的自同步

请问clk1,clk2通过mux2选择后怎么自同步?
提交时间 : 2005-11-3  





caixiaohuan : 起点低,如何成为优秀的硬件工程师

方工您好:我是在一家开发公司工作,是一个硬件LAYOUT工程师。我是中专毕业,我不懂英文,我很相学单片机编程,请问我能学会吗?该怎样起步?
提交时间 : 2005-11-2  





harry : 如何在高性能与功耗之间找到平衡?


在处理器性能充分发挥时,往往也带来很高的POWER 消耗,怎样进行有效的设计,能够让处理器工作时既保证高性能又保证低功耗呢?在OS、中间件、应用软件搭建时,怎样尽量减少对系统能量的消耗?


提交时间 : 2005-10-28  





plane : 针对高速并口设计问题

(1)EPP增强并行口;
(2)IEEE 1284高速并行口通讯,且它与PACSZ1284之间的关系;

您能否就以上情况对于MCU高速并口与外设(如打印机)之间数据通讯实际设计谈谈个人看法,谢谢!!!
提交时间 : 2005-10-21  





estiona : 关于单芯片音频处理器的设计

方先生,你好!
我是现在有个项目是做音频处理器的设计,但是我从来没有做过实际的项目,所以拿到我手里,我有点无所适从,不知道从哪开始做起!
所以我想请教你如下几个问题吗?
1.在进行这个设计之前,我需要补充哪些必要的基础知识?
2.我应该从什么地方开始着手分析呢?
3.完成这个设计需要经过哪些基本流程呢?
谢谢!
提交时间 : 2005-10-19  




plane : 高速并口、串口如何实现

华科大师兄,我是学弟,2001级的。
请问:
1.高速并口、串口如何实现? 推荐有哪些芯片可以搞定
2.在电机驱动方面,有没有 单块IC驱动二个电机的芯片资料?

谢了!
提交时间 : 2005-10-19  





cong : 关于便携低功耗产品的充电问题

我想请问一下,在设计类似手机这样的便携式低功耗产品时,必须要考虑到电池和充电的问题,如何在产品的设计环节提高电池的使用效率、缩短充电时间?
提交时间 : 2005-10-17  




passyhm : 单片机怎样入门

单片机怎样入门?
因为工作中没有仪器(单片机编程),
怎么学都入不了门,
总是三天打鱼两天凉网。
请指教一下,
有没有方法突破这一关?
谢谢!
提交时间 : 2005-10-12  





aceice : 请帮忙推荐芯片

方先生,您好。我现在的项目需要一片控制核心,要求是低功耗,结构简单,口线不用太多,成本比较低,最好能够集成CAN总线控制器,技术比较成熟的产品。请方先生提出您宝贵的建议,谢谢。
提交时间 : 2005-10-11  




chyfeng_2002 : 嵌入式系统设计规范的内容

方先生您好,我是一个不懂硬件设计的学生,但我要研究SoC的系统级设计(现在的热点)问题,那就得首先明确设计SOC(也算嵌入式系统吧)要设计什么内容。
如果让您向开发团体提供一份系统开发设计规范书,里面应该包括哪些规范(除了功能、性能、面积、功耗之外)?
谢谢!
1楼 0 0 回复
总共 , 当前 /