随着后PC时代以及网络、通信技术时代的到来,大量的计算机专业人员进入了嵌入式应用领域;然而,有大量的嵌入式系统应用是以单片机的形式,应用在传统的电子技术领域中。因此,以计算机领域人员为主体的,远离对象系统的嵌入式系统的计算机工程应用模式,和以电子技术领域人员为主体,与对象系统紧耦合的电子技术应用模式产生了概念上的碰撞。许多电子技术应用模式熟视无睹、习以为常的概念,在计算机工程应用领域中作为一个新概念提出时,常常使电子技术应用领域中的人员感到莫明其妙。以前的“嵌入式系统”概念是其一,而今“嵌入式系统的实时性”又是一例。
1 什么是电子系统的实时性
任何一个电子系统都可看成是一个激励-响应系统。每个特定的电子系统都有一个从激励输入到响应输出的时间,即激励-响应周期T,它表现为系统的响应能力。如果系统的响应能力T能满足嵌入对象所规定的响应时间ta要求,即T≤ta,这个系统便是实时的电子系统。
那末,什么是嵌入对象所要求的响应时间ta呢?通常,不论哪一种电子系统,实现对象体系的控制管理要求,这些控制管理通常都会有一定的时间限制。例如,一个振动监测系统,对振动波形的检测周期必须满足采样定理要求;饮料生产线上的计量、馐控制系统,必须在一个工位的移动周期里完成秤量、封口的控制输出;对于超市中使用的电子秤,在秤量时,希望能立即显示出重量和计价金额;我们日常使用的计算机,在敲击键盘时,也要求在显示屏上快速地出现键盘输入结果。因此,几乎所有的电子系统都有一个客观的响应时间ta要求。这就电子系统普遍存在的实时性问题,即要求T≤ta。
2 三类电子应用系统的实时性
ta是电子系统具体应用时,客观应用环境提出的具体响应时间要求;不同类型电子系统的激励-响应时间T的不同,形成不同的实时性问题。我们可以按不同的激励-响应时间T的特点,将电子系统分为经典电子系统、通用计算机系统与嵌入式系统,来讨论不同类型的电子应用系统不同的实时性特点。
①经典电子系统:不含计算机的纯电子电路系统,例如,测量放大器、电子计数器、温度指示器(由ADC、译码器、LED显示器构成)等,电路的动态特性决定了系统响应能力T的大小。经典电子系统是一个激励-响应系统,从激励到响应的时间完全取决于电子在电路中的运动过程,因而,它具有极短的、相对固定不变的,从激励到响应的时间周期T。在大多数经典电子应用系统中,由电路的动态特性决定了T值的大小。一般情况下,应用系统的T远小于嵌入对象系统的响应(ta)要求,因此,在经典电子应用领域中,应用工程师的头脑中没有“实时性”名词的概念,而对一些极快速响应要求的应用系统,如振动测量系统,它的实时性要求常常反映为电路系统的“频率响应”要求。
②通用计算机系统:是一个人机交互的激励-运行-响应系统。它的激励-响应时间T表现为电路系统的激励-响应时间tc与软件运行时间ts,而电路系统的激励-响应时间与软件运行时间相比为高阶小量,因而软件运行时间形成了T的主要成份,T=tc+ts≈ts。由于通用计算机系统只使用在人机交互环境中,对象(人)提出的响应时间ta要求,只是一个期望值(尽量快),而这种欲望一方面表现为永无止尽,另一方面又表现出现实的可容忍性。因此,通用计算机系统是一个非实时的电子系统,而快速性成为通用计算机系统发展的永恒主题。
③嵌入式系统:由于计算机的嵌入,嵌入式系统也是一个激励-运行-响应的电子系统。但是,它与嵌入对象体系交互时,要满足事件交互过程的响应要求。一方面,由于计算机的嵌入,嵌入式应用系统有十分可观的激励-响应时间ts,导致系统实时能力的降低;另一方面,由于嵌入对象体系的多样性、复杂性,不同的对象体系会提出不同的响应时间ta要求。因此,在嵌入式应用系统的具体设计中,必须考虑系统中每一个任务运行时,能否满足ts≤ta的要求,这就是嵌入式系统的实时性问题。
综上所述,经典电子系统应用中,没有显出实时性的概念,是因为电子系统的激励-响应时间T极短,绝大多数电子系统都能满足T≤ts要求;通用计算机系统应用中,没有实时性概念,是因为ta只有期望要求;而嵌入式系统应用中,必须考虑实时性问题,是因为软件运行的时间耗费ts,会使系统的激励-响应时间T巨额增加,而不能满足嵌入对象系统提出的响应时间ta要求,现了嵌入式系统的实时性问题。
3 嵌入式系统的实时性分析
3.1 嵌入式系统实时性的出发点
嵌入式系统由于是嵌入到对象体系中的一个电子系统,与对象系统密切相关。而形形色色的对象系统会有不同的响应时间ta要求,如动态信号的采集系统、生产线的控制单元等,有严格的响应时间要求;超市的秤重、计量、收银机只要求有尽快的响应时间;在同样的动态信号采集系统中系统的响应时间与信号的动态特性有关。这些不同的嵌入式应用系统的不同响应要求,表现了嵌入对象响应要求(ta)的多样性。
嵌入式应用系统的激励-运行-响应特性,形成了以软件运行时间ts为主要内容的系统响应能力T。而软件运行时间ts与指令速度、编程技巧、程序优化等有关,是一个在应用系统设计中可以改变的参数,它表现了嵌入式应用系统实时能力的可变更性。
因此,ta的多样性要求与响应时间ts的可调整性,是嵌入式系统的实时性分析的基本出发点。根据嵌入对象ta的不同要求,调整、变更ts大小,以实现ts的最佳化,是嵌入式系统实时性设计的一项重要内容。
3.2 嵌入式系统的实时性分析
(1)实时性与快速性
嵌入式系统的实时性不是一个快速性概念,而是一个等式概念,即能否满足ts≤ta的要求。因而,快速系统不一定能满足系统的实时性要求,而某些情况下满足实时性要求时,系统的运行速度并不高。例如,满足温度采集实时性要求的嵌入式系统,运行速度并不高;而许多高速运行的系统,未必能满足冲击振动的信号采集的实时性要求。快速性只反映了系统的实时能力而已。
(2)系统的最佳实时
快速性是系统实时能力的表现。当系统不能满足实时性要求时,必须提高系统的运行速度,然而,运行速度的提高必然带来系统的一些负面效应,如导致系统功耗加大、电磁兼容性下降。因此,在设计一个具体的嵌入式系统时,在保证能满足实时性要求的条件下,应使系统的运行速度降到最低,以满足系统在功耗、可靠性、电磁兼容性方面获得最佳的综合品质。
(3)系统的实时性分配
在一个嵌入式应用系统中,有许多过程环节。例如,一个典型的智能仪表就有信号采集、数据处理、结果显示、键盘输入等过程。这些过程往往是在不同的时间与空间上进行,而且不同过程的实时性要求是不同的。键盘输入、结果显示是与人交互的,要满足人机交互的实时性要求;信号采集与对象系统领带的动态性密切相在,必须满足由动态信号采集的实时性要求;而数据处理则会形成从动态信号采集到结果显示的时间延迟,影响到结果显示的实时性要求。因此一个优秀的实时系统设计,必须研究系统中的每一个过程环节,满足每一个过程环节和整个系统的最佳实时要求。
3.3 实时系统的动态误差
当我们研究嵌入式应用系统的实时性时,与对象系统相关的过程,必然是一个动态过程,否则便不存在实时性问题。对于任何动态过程,由于时间的滞后,都不可能完成重现原过程,这之间的差异便是动态过程的动态误差。例如,对于一个动态信号的数据进行采集时,在时间点t上启动采集命令,由于要执行一系列控制指令,产生Δtm滞后;另外,A/D转换器有一个转换过程,产生Δtc滞后。由于这些时间滞后,致使在时间点t上采集的数据,实际上是时间点t+Δtm+Δtc上的信号数据,两者之差便是系统中数据采集的动态误差。在A/D转换中,常常会加入一个采样/保持电路,就是为了在Δtc窗口上,使动态信号值保持在Δtc的初始时间点上不变,便利信号值的变化只滞后t+Δtm,以减少动态误差。
由于系统在动态过程中控制的滞后,形成了某个任务环节上的动态误差,这个动态误差在对象系统的具体动态过程确定后,与动态过程的变化速率有关。在对象系统一个具体的动态过程确定之后,应根据对象动态过程的变化率和允许的动态误差值,估算出系统的允许滞后时间,这一时间就是应用系统中实现该动态过程实时性要求的响应时间ta。例如,在某一个动态电压信号数据采集中,信号的最大变化速率为0.1V/ms,只考虑采集控制滞后的误差因素时,如该信号电压给定的误差应为1mV,就可以最粗略地估算出满足实练数据采集任务的响应时间ta要求,ta=1mV/(100mV/1ms)=0.01ms。如果系统的数据采集时间耗费ts能满足ts≤ta这一要求,系统就能实现数据的实时采集。
4 嵌入式应用系统的实时性设计
4.1 系统的实时性问题分析
由于嵌入式系统是嵌入到对象体系中的专用计算机应用系统,实现对象体系的智能化控制,因此,都存在着对象体系对控制过程的时间要求,与嵌入式系统能否满足这一要求的实时性问题。在很多情况下,应用系统设计中没有涉及实时性设计,这是因为目前计算机已有可观的运行速度,在大多数应用系统中,都能满足T≈ts≤ta,因此,在一般应用系统设计中,实时性设计并不突出。
通常,由于嵌入式系统实现的是对象系统的全面智能化控制,系统中会有许多相关的任务与过程。例如,一个数据采集系统不只是要实现对对象系统环境参数的采集,还要对采得的信号数据进行处理,对处理结果进行存储、显示,或实现对外部环境的控制输出,在这些进程中,还可能有人工的外界干预等。因此,一个实时的嵌入式应用系统,应该在所有的过程中都能满足T≈ts≤ta要求。由于系统中每个过程所要求的响应时间ta不同,