因此,系统的实时性设计首先体现在应用系统总体设计中,要在总体设计中列出有实时性要求的任务,以及这些任务所要求的响应时间ta(如果所有任务的响应时间要求都是期望要求,则该应用系统不是一个实时的应用系统),然后考虑应用系统在实现这些任务时,必须耗费的时间ts。如果应用系统中所有的任务过程都能满足ts≤ta,则该应用系统是一个本质性实时系统。由于在考虑每个任务所必须耗费的时间ts时,与使用的程序设计语言(是汇编还是高级语言)、程序应用环境(是否使用操作系统)、硬件环境(时钟系统、指令系统、CPU时序等)有关,因此本质性实时系统的实时性与所系统使用的软硬件平台有关。
如果系统中有一些任务无法满足ts≤ta要求,则必须进行系统的实时性设计。
4.2 嵌入式系统的实时性设计
根据系统的T≈ts≤ta要求,在一个具体的有实时性要求的应用系统中,当系统的任务确定以后,就可以估算出每个任务的时间响应要求ta,在不考虑电路系统中的动态过程时,嵌入式系统的实时性设计的中心任务是通过软、硬件设计来加快任务的运行过程,以达到ts≤ta要求。然而,加快系统的运行速度会带来其它问题,应在实时性设计中一并考虑。
嵌入式系统的应用领域十分广泛,并不是所有的应用系统都要求是实时系统,只有当系统中对任务有严格时间限定时,才有系统的实时性问题。例如,对打印机这样一个嵌入式应用系统,人们并没有严格的时间限定,只有一个“尽可能快的”期望要求,因此,这样的系统不是实时系统。
嵌入式系统的实时性设计通常会有以下几种情况。
① 本质性实时系统。在这一类应用系统中,系统总体及任务的时限要求ta都不高,常规的软硬件技术都能满足ts≤ta要求。因此,这种应用系统往往不必要考虑系统的实时性设计。例如,一个温度测量系统,由于温度的大惯量特性,满足一定动态误差条件下的温度采集、数据处理、实时显示与打印的响应时间要求ta值很大,不必采取任何特殊的实时设计方法,就能满足ts≤ta要求,因此,它是一个本质性实时系统,
② 通过实时性设计实现的实时系统。这种嵌入式系统在常规设计下,无法满足实时性要求,但通过实时性设计,可以满足实时性要求的系统。例如,一个仓储监测系统,要巡回监测100点的入侵事件。从应用要求的可靠性出发,要求系统对于任何一点入侵事件的响应速度(ta)不得大于1s;而系统对单个入侵事件的采集、处理、输出控制的实际激励-响应时间为0.2s。但在常规的巡回监测方式下,对某一点监测的时间间隔为ts=0.2×100=20s。ts远大于ta,是一个非实时系统。但这个系统的实时性是可以改变的,如果将每个监测点入侵事件的输入激励的查询方式变为中断输入方式,使某一监测点的激励-响应的操作处理时间(ts)降到0.25s以内,满足ts≤ta要求,系统能实时地处理任何一个监测点上入侵事件,而成为一个实时监测系统。
③ 通过实时性设计实现的系统的任务实时。在系统有实时性要求的情况下,系统能满足实时性要求时,系统设计是成功的;但系统不能满足实时性要求时,我们常常会放弃它。例如,卫星发射时,控制大厅墙面上,显示卫星轨迹的卫星运行监测系统,实时地采集卫星运行参数,经处理后,在大屏幕上实时地显示出来,这是一个实时系统。但是,无法实现卫星发射过程中意外事件的实时显示。只能当卫星发射出现意外事故(如运载火箭爆炸)时,出现卫星轨迹的中断。但是,作为弥补,我们可以实现一个意外事故的数据采集系统,高速、实时地采集与存储火箭运行状态参数,并在火箭失事瞬间,将数据发回控制中心,实现意外事故监测系统中,事故数据采集任务的实时性。对于一个冲击振动的谱分析系统,要求有振动波形的采集、时域信号的频谱分析、频谱的图形显示等。由于冲击振动的信号过程时间极短,谱分析处理耗时过多,不可能实现整个系统的实时性(振动频谱的实时显示)要求,这时可以考虑将整个系统的操作过程分成一些独立的部分。例如,将冲击振动谱分析系统的全部操作分成冲击振动信号的波形采集、数据存储与波形信号的谱分析及其后续操作的两个独立部分,实现振动信号采集、存储关键任务的实时性要求。