您的位置:控制工程论坛网论坛 » 嵌入式系统 » 嵌入式系统的基本概念

szzunzheng

szzunzheng   |   当前状态:离线

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

注册时间: 2007-06-06

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

空间 发短消息加为好友

嵌入式系统的基本概念

szzunzheng  发表于 2007/8/7 16:05:55      1035 查看 0 回复  [上一主题]  [下一主题]

手机阅读

 嵌入式系统定义   

  按照最一般的定义,嵌入式系统(Embedded Systems)是指用于实时控制、监视、管理或辅助其他设备/设施运行的设备,可以是专用或多用途(但一般具有可编程的特性)的设备,可以是硬件或软件,嵌入式系统的“嵌入”特性意味着这些系统本身与其所控制和管理的系统是融为一体的,是其中的一个有机组成部分,是各种控制系统的基本构造单元。硬件形式的嵌入系统多为专用的或可编程控制的芯片,是最主要的嵌入式系统,而软件形式的嵌入式系统则主要是各种专门用途的控制软件系统,一种典型的嵌入式系统的结构方式参见图15.1所示,包括项目管理工具、分析工具、开发工具和第三方提供的工具。嵌入式系统在有的应用情况下是显式存在的,即用户可明显感觉到该系统的存在(如计算机系统中的控制部件),但更多的情况下用户在实际使用过程中很难察觉到其存在性,即使是有经验的技术人员也需要经过充分的比较才能确定在某一特定过程中是否有嵌入式系统的参与。


嵌入式系统的主要特点

  与一般的商用系统(如MIS系统)相比较而言,嵌入式系统具有如下一些显著的特点:

(1)系统的复杂性

  据目前的估计,大约有100-250亿个嵌入式系统正在使用,分布在十分广泛的范围之内,几乎所有的现代电子设备中都有嵌入式系统。嵌入式系统本身的复杂程度也因功能而不同,平均的嵌入式系统工程大约包含14个芯片,多的可达45个芯收到,加上不同系统在开发制造过程中的技术差异以及不同系统之间的协同工作,整个嵌入式系统的复杂性就可想而知了。而一般的商用系统无论是从应用范围还是系统的复杂度都要简单得多。

(2)系统处理的实时性

  嵌入式系统多数与生产过程的实时控制相关,将更多地涉及到对时间段的处理,而不是对日期或年份的处理,因此人们会忽视嵌入式系统中的2000年问题。同时生产过程本身的特性决定了这类系统不可能随意中断正常的生产过程进行各种测试或维修,而且对于多数造价高昂的嵌入式系统没有备份系统,因此问题诊断的难度相应增加。而一般的商用系统则更加侧重非实时的控制和管理,更多地涉及到日期的处理,而且一般可在特定的测试环境中进行系统测试而不影响系统的正常工作。

(3)与关键系统的控制相关

  嵌入式系统在一些关键系统(如与国民经济密切相关的钢铁、石油等大型生产企业的过程)的控制过程得到了广泛的应用,但这些系统的生产过程是代价高昂的,系统的任何微小的错误都可能导致整个生产过程的中断和巨额的经济损失。由于这些经济部门的重要地位,这些损失又可能对整个国家乃至全球的经济发展造成一定的影响。一般的商用系统更多地与决策过程而不是实时控制过程相关,因此对这些关键部门的生产过程的影响不是那样明显,而且影响的时间范围大于嵌入式控制系统。

(4)购买产品与技术开发相结合的实现方式

  一般商用系统多数是通过软件工程的方法,根据用户的需求进行开发的,用户拥有完整的技术资料,可根据应用的需要进行相应的维护与升级。而嵌入式系统则基本上都是同时采用购买现成的产品和自行独立开发相结合的方式来构建的。这种系统构建方式使得系统的运行和维护过程复杂化,自行开发的部分基本上能够保留较完备的开发文档和维护记录信息,而购买产品的部分则缺少基本的技术资料和相关的技术人员。对于购买产品的部分,一般只能采取整个部件进行替换的方式维护,或者需要得到原厂商的技术支持。

嵌入式系统2000年问题特征

  正如前面所述,嵌入式系统的广泛存在和本身的复杂性预示着这类系统的2000年问题将比通常任何系统的2000年问题都复杂。下面将对嵌入式系统的2000年问题的主要特点进行归纳小结:

(1)影响的深度和广度

  根据目前所做的估计,在实际使用的嵌入式系统工程中大约只有0.2-1%(即0.2-2.5亿个系统)的系统可能存在2000年问题。这个比例虽然不高,但由于嵌入式系统的涉及面太广,几乎涵盖了所有的国民经济部门,因此要从这么多的系统中发现和确定出存在2000年问题的系统本身就是一件十分复杂而费时费力的事。同时,这些嵌入式系统相互之间也或多或少地进行着各种形式的联系,以及其与工作环境之间的联系,这又使得问题复杂化,同时也将使得受2000年问题影响的嵌入式系统总数上升到约2-5%,而且问题将在全球范围内扩散,只要系统之间存在着某种形式的交互就有可能受到影响。对于一些关切部门的系统,可能产生的影响就更大了。正是因为嵌入式系统2000年问题的影响的深度和广度是如此之大,国外一些机构的一些调查结果认为,利用现有的人力资源和剩余的时间,即使对所有的嵌入式系统进行一次彻底的检测都是难以完成的。但遗憾的是,目前对这一问题的认识还很不够,所做的努力更是远远不够。

(2)问题的隐蔽性

  与一般的商用系统的2000年问题相反,嵌入式系统的2000年问题基本上很少受到重视。主要的原因是嵌入式系统的涉及面太广,而且系统过于复杂,因此很多用户,特别是企业的主要管理人员,对嵌入式系统缺乏起码的了解,尚未意识到这一问题的严重性。同时,嵌入式系统的实时处理特性也使行系统的影响时间范围缩小,2000年问题不易及时发现,一般要到2000年1月1日才会暴露出来,而不象一般的商用系统,可以在数月前甚至一年前就发现2000年问题的迹象。另外,由于制造厂商本身采用的技术原因以及用户使用过程中的原因,往往相同的嵌入式系统的产品在不同的应用中有不同的表现,使得问题进一步复杂化。很多系统本身并不涉及到任何时间或日期的处理,但由于采用了系统的时钟作为缺少的控制参数,也会出人意料地受到2000年问题的影响。

(3)技术构成复杂

  嵌入式系统的2000年问题是一个十分复杂的系统工程问题,任何一个部件的微小的差错都可能造成一连串的问题,引起极其严重的后果。嵌入式系统本身的技术构成十分复杂,包括各种购买的技术和自行开发的技术,要对这些系统的2000年问题有一个完整的认识起码需要掌握嵌入式系统的各种技术细节、整个生产控制流程以及其中任何错误可能导致的商业影响等方面的全面知识。就用户方面而言,一般很难得到嵌入式系统开发的详细技术资料,而原厂商则不了解具体用户的生产过程的流程及其影响,因此单纯依靠用户或者原开发厂商都无法具备这些基本的信息,这也就在客观上要求用户和原厂商之间进行必要的合作来解决这一问题。但合作过程也不会一帆风顺,因为很多系统的技术细节涉及到技术专利或公司的机密,对于这方面的顾虑将阻碍一些实质性问题的解决。

(4)缺乏有效的测试方法

  对于大多数嵌入式系统,由于问题的隐蔽性,所以往往在问题发生前无法进行预测。而对于嵌入式系统的不同应用方式,不可能用一种或几种简单的测试工具就可以检测出是否有2000年问题。同时,对于同一厂家的同一产品,批号不同,对2000年问题的表现也各异,所以即对在同一种嵌入式系统,也必须逐一检测。但是,对于许多嵌入式系统,由于它的重要性,不可能使之停止运转来进行彻底检测,而进行系统测试时更不可能用实际动作中的系统,否则由于系统改造的缺陷会造成不估量的损失。

(5)缺乏有效的解决方法

  一般商用系统的2000问题多数可以采用基于代码智能分析的技术对程序源代码进行移植或检查维修,能够提供能上能下对高效和可靠的解决方法。而嵌入式系统的2000年问题中,技术构成的复杂性使得对系统的测试和评估很难找到一种通用的测试方法和测试工具,而且多数硬件系统是将软件固化在芯片中的,根本无法得到其源代码,因此基于源代码修改的方法根本无法应用。根据现有的时间和技术力量,最单间和直接的方法是只能是对关键的嵌入式系统进行针对特定厂商技术特点的测试和评估,然后对可能有问题的部件进行彻底的更换,但这种做法不一定可靠,并且缺乏相应的技术人员。

(6)失误的不可避免性

  根据前面所述的几个方面的特点,我们几乎可以肯定嵌入式系统的2000年问题不可能得到完美的解决,失误是不可避免的。嵌入式系统2000年问题的复杂性使得在现有条件(特别是时间限制条件)下几乎不可能完成全部的任务,且对完成部分的质量也不能完全保证。针对这样的现状,有必要将出现失误的情况下应采取的基本措施进行事先规划,以便将这些失误的影响限制在尽可能小的范围内。

1楼 0 0 回复