
1.1.3 嵌入式系统的分类
由于嵌入式系统用途广泛、种类繁多,人们对嵌入式系统的理解也各不相同,因此其分类方法也存在多种方式。以下列举几种常用的分类方式。
1. 根据嵌入方式,可分为整机式嵌入、部件式嵌入、芯片式嵌入
1)整机式嵌入:将一个带有专用接口的计算机系统嵌入一个系统中,使其成为该系统的核心部分。这种计算机的具有较高的功能完整性,可用来完成系统中的关键工作,并且有完善的人机界面和外部设备。
2)部件式嵌入:将计算机系统以部件的方式嵌入设备中,用于实现某一功能。这种方式使计算机与其他硬件耦合得更加紧密,功能专一。
3)芯片式嵌入:将一个具有完整计算功能的芯片嵌入设备中。这种芯片具有存储器和完整的输入/输出接口,能实现专门的功能。显示控制器和微波炉就采用了这种方式。
2. 根据确定性,可分为实时系统与非实时系统
1)实时系统(Real-Time):系统对响应时间有严格的要求,如果系统响应时间不能被满足,会导致无法接受的低质量服务。
实时系统的正确性依赖于运行结果的逻辑正确性和运行结果产生的时间正确性,即实时系统必须在规定的时间范围内正确地响应外部物理过程的变化,从输入到输出的滞后时间必须在一个可以接受的时限(timeout)内。这里的时限又称为任务截止时间(deadline),指系统执行时间的限制;而系统功能的实现需要通过软硬件的相互配合,于是这些组成系统的软硬件的执行时间也就有了相应的时间限制。因此,要有时序的概念。
由于时限对系统性能的影响程度不同,因此实时系统可分为软实时系统(soft real-time-system)和硬实时系统(hard real-time-system)。如果一个任务时限到来之前该任务尚未完成,对于软实时系统来说是可以容忍的,只会降低系统性能;对于硬实时系统则是不允许的,因为带来的后果是无法预测的,甚至是灾难性的。在一个大型实时系统中,实时与非实时可以同时存在,实时任务也可以同时存在软实时和硬实时。一些事件没有时限,一些事件的时限可能只是软实时的,而另一些事件的时限则是硬实时的,会对系统产生关键影响。
衡量实时系统有以下三个指标:
·响应时间(Response Time):计算机识别一个外部事件到做出响应的时间。
·生存时间(Survival Time):数据的有效等待时间,在这段时间里数据是有效的。
·吞吐量(Throughput):在给定时间内系统可以处理的事件总数。
实时系统的响应要“足够快”,“足够快”指应满足要求。实时系统不一定是运行速度最快的,其对系统运行时间及响应时间的可预测性比速度本身更重要。
实时系统对时限和可靠性的要求比分时系统高得多。实时系统有以下特点:
·多路性。实时系统的多路性表现在能对多个不同的现场信息进行采集以及对多个对象和多个执行机构实行控制。
·独立性。每个用户向实时系统提出的服务请求相互间是独立的。在实时系统中,对信息的采集和对象的控制也是相互独立的。
·及时性。实时系统产生的结果在时间上有着严格的要求,只有符合时间约束的结果才是正确的。在实时系统中,每个任务都有一个截止期,任务必须在这个截止期之内完成,以保证系统所产生的结果在时间上的正确性。对于硬实时系统来说,如果产生的结果不符合时间约束,那么,由此带来的错误将是严重的、不可恢复的。对于软实时系统来说,虽然产生的结果不符合时间约束,但由此带来的错误是可以接受、可以恢复的。
·同时性。一般来说,一个实时系统常常有多个输入源,这就要求系统具有并行处理的能力,以便能同时处理来自不同输入源的输入。
·可预测性。实时系统的实际行为必须在一定的限度内,而这个限度是可以从系统的定义获得的。这意味着系统对来自外部输入的反应必须全部是可预测的,在最坏的情况下,系统也要严格遵守时间约束。因此,在出现过载时,系统必须能以一种可预测的方式来保证它的实时性。
·可靠性。可靠性一方面指系统的正确性,即系统所产生的结果不仅在数值上是正确的,在时间上也是正确的;另一方面指系统的健壮性,也就是说,虽然系统出现了错误或外部环境与定义的不符合,但系统仍然处于可预测状态,那么它仍可以运行而不会出现致命错误。
2)非实时系统(Non Real-Time):系统对系统响应时间没有实时要求。
3. 根据嵌入式系统的复杂程度,可分为单微处理器嵌入式系统、组件嵌入式系统和分布式嵌入式系统
单微处理器系统指基于微处理器的嵌入式单机系统,单微处理器系统是一个独立的、完整的嵌入式系统,比如人脸门禁考勤机。组件嵌入式系统通常是嵌入在一个比较复杂的系统中,无法独立工作的嵌入式系统,比如汽车电子中的自动驾驶组件,需要动力控制系统等的配合共同完成自动驾驶功能。分布式嵌入式系统通常是由多个独立的嵌入式系统基于某种网络组成的分布式系统,这些独立的嵌入式系统可能是完全一样的系统,也可能是完全不同的系统,比如由多台人脸门禁考勤机组成的分布式人脸门禁考勤系统。