英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
嵌入式系统:从设计到实施
A.Crespo, P. Albertos and J. Simacute;o
Universidad Politacute;ecnica de Valencia, Spain
{acrespo,pedro,jsimo}@ai2.upv.es
摘要 嵌入式系统在诸如工业控制系统,航空电子,医疗保健,环境,安全,力学等广泛领域中得到了越来越多的应用。 这些系统的硬件和软件的开发需要合理的设计与分析以及恰当的开发工具,此外,底层架构也起到重要的作用。 相关设计的难点来自于嵌入式系统中专用化和定制化的目标平台,其主要问题是如何维持系统的灵活性,以增加硬件和软件组件的多重利用。
嵌入式系统设计的特殊之处在于其在多学科中的使用和应用技术的差异性。开发嵌入式系统涉及到从需求开发到实施,能够确保满意的生产力水平和质量的工具和方法的使用等多个知识领域,比如说作为建模来组织和验证系统要求的区域,确定和分析关键或灵活的时间约束的实时性,生成具有适当属性的代码的编译器和估计执行时间和能量的时序分析,提供执行平台和带所需功能的操作系统以保证满足要求的执行支持,设计分布式协作的嵌入式系统的网络,以及提供在工业控制中使用嵌入式系统的技术和方法的控制。本文分析了这些展现出当前趋势的领域,并指出科学界和专家们认为比较重要的主要方面。
关键字 嵌入式系统,嵌入式控制系统,实时性,操作系统
- 引言
嵌入式系统在诸如工业控制系统,航空电子,医疗保健,环境,安全,力学等广泛领域中得到了越来越多的应用。这些系统的硬件和软件的开发需要合理的设计与分析以及恰当的开发工具。嵌入式系统包括设备,中间件,软件和用于构建能够监视和控制许多系统的子系统的工具。 他们可以广泛应用于适用的部分,并且其重要性也在不断增长。
嵌入式系统的主要优点是他们拥有较低的价格和尺寸以及更多的扩展可能性,与此同时,他们的主要问题是他们只具备有限的计算能力。所以,最重要的问题之一是如何达到计算资源的最优利用。嵌入式系统的最新趋势和设计要求是达到分布协同式的嵌入式系统。
嵌入式系统设计的特殊之处在于其在多学科中的使用和应用技术的差异性,它的发展推动了许多学科产生了新的技能需求。软件和硬件设计师必须加强合作,开发全方位的产品。此外,控制工程师也需要参与到这项工作中来。由于嵌入式系统设计在多学科中的使用和应用技术的差异性,开发嵌入式系统涉及到从需求开发到实施,能够确保满意的生产力水平和质量的工具和方法的使用等多个知识领域,比如说作为建模来组织和验证系统要求的区域,确定和分析关键或灵活的时间约束的实时性,生成具有适当属性的代码的编译器和估计执行时间和能量的时序分析,提供执行平台和带所需功能的操作系统以保证满足要求的执行支持,设计分布式协作的嵌入式系统的网络,以及提供在工业控制中使用嵌入式系统的技术和方法的控制。
在本文中,我们将集中讨论和分析展现当前发展趋势的一些领域和该领域科学工作者认为比较重要的方面。
- 嵌入式系统面临的挑战
由于嵌入式系统的变革,其多学科的特性和广泛的应用性导致其面临着许多的问题。一些实体和集团已经发布了有关嵌入式系统和其应用领域的白皮书(Bouyssounouse and Sifakis, 2005, ARTEMIS, 2005,Embedded Systems Roadmap, 2002)。我们可从这些报告中提取出一些关键点。
- 灵活性:嵌入式系统需要一定的异质性和网络性能去应对新的功能和性能。如何轻松集成新的服务、适应新的环境,改善硬件和软件的设施,能量感知的操作等都是预期的一些问题。
- 安全性和可靠性:嵌入式系统应用在高资源约束,实时性限制和不安全的环境中。这些系统不仅要被设计得鲁棒和可靠性能较高,而且在特定加密算法和安全协议方面必须保证绝对安全。它需要涵盖从嵌入式系统架构到实施的所有方面的新方法,这个问题涉及到硬件和软件设计。
- 成本效益:在平台设计中需要更多成本效益增强或平台优化的实例。解决设计时间的问题需要软件和硬件协同工作,这样才能更快的将功能普及到市场。
- 控制:执行控制功能的嵌入式系统需要一定的自主性,可重构性,安全性,容错能力和在缺少数据操作情况下的工作能力。以上问题高度限制他们在多控制环路竞争资源和一些定时器和任务调度问题出现的场合中的使用。
2.1 嵌入式系统的特性
嵌入式系统有以下特性:
- 它们是在普遍系统中能够提供更多功能给全局系统的子系统
- 它们可以向其他设备或嵌入式系统提供处理服务
- 它们能处理控制功能,即它们可以读取传感器数据以及传送动作来与外界环境相互作用
- 它们可以提供复杂的功能
- 它们通常嵌入到设备当中但是用户可以直接访问。用户不能把它们简单当做一个计算机
嵌入式系统主要是控制(响应式)系统,这样意味着它们需要持续对它们所在外界环境的激励下做出反应,而且这个反应往往需要有实时能力。这个功能实现对使用平台硬件和软件体系结构的要求比较高。这个要求不仅包括系统的实时响应能力,还需要引入比较成熟的设计技术来解决非功能性约束限制。
许多非功能约束对嵌入式系统的设计目标和架构有着很大的影响。并且,当这些系统应用在可移动或可拆卸的能源控制上时也有一些必要的约束。尺寸和重量经常严重限制了嵌入式系统的使用。
- 嵌入式系统的设计
一般来说,基于计算机的设计是一个需求开发,自行进行系统建模的过程。模型是对系统的抽象表达。举例来说,软件设计是导出可编译程序的过程;硬件设计是从环路中导出硬件描述的过程。在这两个过程中,设计步骤通常既需要自下向上,又需要自顶向下的方法:对现有组件模型的再利用和自适应和对架构模型的精化以满足给定的要求(Henzinger和Sifakis,2006)。
嵌入式系统由硬件,软件和环境共同构成。他们与大多数计算机有着共同的特点。但是,这并不代表着他们与计算机系统相同,他们与计算机系统有一个本质的差别:由于嵌入式系统涉及到物理约束的限制的计算,传统计算机计算(软件)和物理性(平台与环境)的相互隔离的核心思想并不适用于嵌入式系统。相反,嵌入式系统的设计要求硬件设计中的基本范例,软件设计和控制理论集成一致。
考虑到强大的市场需求和日益增长的系统复杂性,合适和有效的设计工具环境的使用是设计阶段的主要考虑因素。大多数嵌入式系统的应用与控制相关,控制工程中基本开发使用的传统模型因其基础数学概念,控制系统和影响设备和传感器的干扰特性的特点,似乎适用于此。控制工程模型通常被用来做通信,系统分析和集成的目的。基于开发的控制模型的成熟度一直在发展,但是大体上,相比在嵌入式系统的软件发展而言,在嵌入式系统的控制领域发展的更快。(Torngren et al.,2005) (Torngren et al. ,2006).
现有的设计工具所需具备的预期能力包括:
- 系统建模和设计
- 快速成型,能够使用通用方法或特定硬件快速设计(包括控制)
- 系统属性的分析验证
- 从包括控制和量化分析的控制系统模型中能生成代码,例如,和定点实施相关
- 测试生成的代码和最终的实现结果
- 内核支持配置
- 嵌入式系统部署
传统地将控制和实施工程师区分开来使得定义和恰当解决设计问题很重要,这些问题对这些工作都有影响。实时调度,数据采集延迟,交流滞后等方面都对每一方有影响。控制和软件设计也要同时考虑。提供控制功能领域设计和平台设计的桥梁功能的合理工具是必须的。在(Torngren et al., 2005)的言论中,给出了一些工具的广泛描述。
- 嵌入式控制系统
嵌入式控制系统可以被定义为执行控制功能的嵌入式系统。这些控制功能包括数据采集,计算和实时性限制下的动作传递。嵌入式控制系统是组成嵌入式计算系统的一个重要部分。
在控制工程中,控制算法设计时被假想为有无尽的计算能力和通信资源。在嵌入式系统中,这些资源经常在许多应用程序之间共享,环境条件也在不断变化。因此,实时控制算法的开发在控制设计步骤的一开头就要考虑到这些限制。像以上这些谈到的,这些限制影响着应用阶段的设计。(˚ Arzacute;en et al., 2005).
从控制和计算机科学的角度来看,控制系统的目前趋势是变得越来越复杂。一些嵌入式控制系统的路线图表明了这个趋势和更多相关的话题。(Roadmap on Real-Time Techniques in Control System Implementation, 2005),(Roadmap on Control of RealTime Computing Systems, 2005)。
如今,即使是看起来看起来很简单的嵌入式控制系统都常常包含着多任务实时内核并具有网络支持。软件的复杂性和功能等级正在稳定的增长,嵌入式软件主导了开发的成本和进度。
嵌入式系统执行平台的强大影响力决定了控制应用的行为能力。这个影响高度限制了他们在控制应用中的使用,并且由于执行平台在执行控制环路,时间调度和通信接口时产生的延迟也会产生许多问题。(Albertos et al., 2000), (Albertos and Crespo, 2001), (Cervin et al., 2003) (Albertos et al., 2005a)。其中一些问题如下:
- 不同任务之间需要共享资源。因为需要竞争CPU使用资源,任务的时间不能完全确定,并且时间延迟和抖动也要考虑在内;
- 选择控制算法应该能控制这个进程。在多边的环境下工作时,控制目标和条件应该能改变,该控制算法应该也能适应这种新的变化;
- 工作条件,如优先级,分配的时间和内存或者可用信号可能改变。因此,控制系统的复杂性,结构和基本属性一会改变;
- 时滞现象应该被考虑在内。因为信号的同步性无法保证;
- 应当设计有效益的算法,以节省尽可能多的计算时间;
- 混合系统应该被考虑在内。逻辑、离散以及连续时间信息应该相互关联;
- 可选任务必须考虑在内。控制算法应当被分为强制和可选部分,如果时间允许的话最后一个也要运行;
- 节省内存。由于资源有限,计算任务应依赖于少数数据,并且需要提供尽可能少的中间量来减少内存空间容量的使用和减少存取时间;
- 故障检测与隔离以及重构性,允许自主型行;
- 验证和认证。任何嵌入式控制系统都应该是安全可靠的。需要保证操作的安全性。
特别地,从控制算法的角度来说,具体的设计方法应该考虑如下问题:
- 降阶模型。控制器的复杂性和设备的复杂性直接相关。因此,应该使用模型简化技术来对设备模型和控制器设计进行简化。
- 决策与监督控制。环境的改变和资源的使用应该能被检测到,由上层控制来决定操作模式。
- 混合控制系统。离散和连续时间需要动态结合。但是这只是ECS基本属性的一个方面。
- 多模控制。如果环境条件改变的话。控制问题不能以相同的方式解决
- 采样率的变化。总所周知,一般来说,数字控制的质量随着采样周期的增加而减少。因此,如果资源可用,控制任务的周期应该减少,这意味着控制器参数以及储存信息的改变。
- 非常规抽样和更新模式。这意味着不同采样率(多速率控制)的选择和对同步性遗失的考虑。
- 丢失数据控制。数据可用性在一些操作条件下不能被保证。
- 降低和备份(安全)控制策略。根据操作条件应该考虑不同的额控制要求。在紧急情况下,应该接受降级行为来保证操作的安全。
- 容错控制。如果降级行为在过失行为下被允许的话,时不变容错控制器能被考虑在内。
- 电池监控。任何自治系统都应能适应低电率下的活动。
总的来说,控制设计和计算机控制的实施的集成是达到最佳控制性能至关重要的一点。
图 1. 系统方案
4.1 控制核心
为了处理这些问题((Albertos et al., 2005b) and (Albertos et al., 2005a)提出),控制内核的建议被提出。执行嵌入式控制系统的基本要求是控制内核。和操作系统为执行应用提供基本服务一样,控制内核为环境提供的控制活动定义了执行支持。这些基本服务由中间层提供,中间层封装他们并提供给应用控制层这些服务的接口,图1 展示了这种系统架构。
一般来说,控制内核的表示意味着系统的降阶模型以及从一个正常的、扩展的模型到内核的机制,反之亦然。因此,应该提供一个简单的算法来传递和回复所涉及的数据。
内核的概念必须考虑去应对与操作中与安全相关的基本目标以及不同的资源管理,比如说数据丢失或者时间限制。在(Crespo et al., 2006)中,有对控制系统内核机器实现的描述。
- 嵌入式平台
嵌入式系统架构结合了多核架构与互补系统增强技术,为许多应用提供了可扩展,高功效的进程处理。这些平台中执行控制应用的主要问题之一是由实时操作系统支持的可预测性。
嵌入式应用正步入一个新速度处理器与低成本片上存储器的新的领域。随着硬件领域的发展,出现了多个程序共享单处理器和内存的方式。为了实现这样的模型,每个应用的执行时间和内存空间必须由系统中的其他应用保证。
实时和嵌入式控制系统运行在计算机资源(内存和处理能力)受限的环境当中。他们经常需要在严格
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[139146],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。