4 嵌入式应用系统的实时性设计.
4.1 系统的实时性问题分析.
由于嵌入式系统是嵌入到对象体系中的专用计算机应用系统,实现对象体系的智能化控制,因此,都存在着对象体系对控制过程的时间要求,与嵌入式系统能否满足这一要求的实时性问题。在很多情况下,应用系统设计中没有涉及实时性设计,这是因为目前计算机已有可观的运行速度,在大多数应用系统中,都能满足T≈ts≤ta,因此,在一般应用系统设计中,实时性设计并不突出.
通常,由于嵌入式系统实现的是对象系统的全面智能化控制,系统中会有许多相关的任务与过程。例如,一个数据采集系统不只是要实现对对象系统环境参数的采集,还要对采得的信号数据进行处理,对处理结果进行存储、显示,或实现对外部环境的控制输出,在这些进程中,还可能有人工的外界干预等。因此,一个实时的嵌入式应用系统,应该在所有的过程中都能满足T≈ts≤ta要求。由于系统中每个过程所要求的响应时间ta不同,例如,对对象系统环境参数采集时,时间响应要求决定于被采集参数的动态特性;控制输出时则取决了被控对象的控制品质要求;信号数据处理、存储,虽然表现为快速响应的期望要求,但占用了从激励输入到响应输出的中间环节。对这些环节的响应时间要求,必须纳入相关的任务中考虑.
因此,系统的实时性设计首先体现在应用系统总体设计中,要在总体设计中列出有实时性要求的任务,以及这些任务所要求的响应时间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要求,系统能实时地处理任何一个监测点上入侵事件,而成为一个实时监测系统.
③通过实时性设计实现的系统的任务实时。在系统有实时要求的情况下,系统能满足实时性要求时,系统设计是成功的;但系统不能满足实时性要求时,我们常常会放弃它。例如,卫星发射时,控制大厅墙面上,显示卫星轨迹的卫星运行监测系统,实时地采集卫星运行参数,经处理后,在大屏幕上实时地显示出来,这是一个实时系统。但是,无法实现卫星发射过程中意外事件的实时显示。只能当卫星发射出现意外事故(如运载火箭爆炸)时,出现卫星轨迹的中断。但是,作为弥补,我们可以实现一个意外事故的数据采集系统,高速、实时地采集与存储火箭运行状态参数,并在火箭失事瞬间,将数据发回控制中心,实现意外事故监测系统中,事故数据采集任务的实时性。对于一个冲击振动的谱分析系统,要求有振动波形的采集、时域信号的频谱分析、频谱的图形显示等。由于冲击振动的信号过程时间极短,谱分析处理耗时过多,不可能实现整个系统的实时性(振动频谱的实时显示)要求,这时可以考虑将整个系统的操作过程分成一些独立的部分。例如,将冲击振动谱分析系统的全部操作分成冲击振动信号的波形采集、数据存储与波形信号的谱分析及其后续操作的两个独立的部分,实现振动信号采集、存储关键任务的实时性要求.
4.3 关于嵌入式操作系统.
在系统的实时性设计中,核心的问题是降低软件运行时间。除了普遍的提高CPU指令运行速度、采用高速I/O口、计数器的捕获/比较、多机并行操作等软、硬件措施外,就是程序设计技巧。而在系统程序中使用操作系统支持时,由于操作系统介入操作管理带来的额外开销,以及对任务的灵活调度管理,成为系统实时性设计的重要问题.
嵌入式操作系统使用在嵌入式应用系统中。与通用操作系统相比,嵌入式操作系统有许多特点,如可靠性、可裁剪性、“实时性”等。前两者是嵌入式应用环境所要求的。,而“实时性”则是为了满足系统实时性要求的内容。在一些文章中提到某些嵌入式操作系统时,常常冠以“实时操作系统”,但它只是表现为该操作系统具有较好的实时能力。在没有置身在一个具体嵌入式应用系统中时,不存在实时性结论。不同的嵌入式操作系统比较时,可以有实时能力上的不同。任何一个嵌入式操作系统都应有满足系统实时性设计的内容(表现为任务的快速调度、快速运行等),实时能力强的嵌入式操作系统能更容易地实现应用系统的实时性.
4 嵌入式应用系统的实时性设计.
4.1 系统的实时性问题分析.
由于嵌入式系统是嵌入到对象体系中的专用计算机应用系统,实现对象体系的智能化控制,因此,都存在着对象体系对控制过程的时间要求,与嵌入式系统能否满足这一要求的实时性问题。在很多情况下,应用系统设计中没有涉及实时性设计,这是因为目前计算机已有可观的运行速度,在大多数应用系统中,都能满足T≈ts≤ta,因此,在一般应用系统设计中,实时性设计并不突出.
通常,由于嵌入式系统实现的是对象系统的全面智能化控制,系统中会有许多相关的任务与过程。例如,一个数据采集系统不只是要实现对对象系统环境参数的采集,还要对采得的信号数据进行处理,对处理结果进行存储、显示,或实现对外部环境的控制输出,在这些进程中,还可能有人工的外界干预等。因此,一个实时的嵌入式应用系统,应该在所有的过程中都能满足T≈ts≤ta要求。由于系统中每个过程所要求的响应时间ta不同,例如,对对象系统环境参数采集时,时间响应要求决定于被采集参数的动态特性;控制输出时则取决了被控对象的控制品质要求;信号数据处理、存储,虽然表现为快速响应的期望要求,但占用了从激励输入到响应输出的中间环节。对这些环节的响应时间要求,必须纳入相关的任务中考虑.
因此,系统的实时性设计首先体现在应用系统总体设计中,要在总体设计中列出有实时性要求的任务,以及这些任务所要求的响应时间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要求,系统能实时地处理任何一个监测点上入侵事件,而成为一个实时监测系统.
③通过实时性设计实现的系统的任务实时。在系统有实时要求的情况下,系统能满足实时性要求时,系统设计是成功的;但系统不能满足实时性要求时,我们常常会放弃它。例如,卫星发射时,控制大厅墙面上,显示卫星轨迹的卫星运行监测系统,实时地采集卫星运行参数,经处理后,在大屏幕上实时地显示出来,这是一个实时系统。但是,无法实现卫星发射过程中意外事件的实时显示。只能当卫星发射出现意外事故(如运载火箭爆炸)时,出现卫星轨迹的中断。但是,作为弥补,我们可以实现一个意外事故的数据采集系统,高速、实时地采集与存储火箭运行状态参数,并在火箭失事瞬间,将数据发回控制中心,实现意外事故监测系统中,事故数据采集任务的实时性。对于一个冲击振动的谱分析系统,要求有振动波形的采集、时域信号的频谱分析、频谱的图形显示等。由于冲击振动的信号过程时间极短,谱分析处理耗时过多,不可能实现整个系统的实时性(振动频谱的实时显示)要求,这时可以考虑将整个系统的操作过程分成一些独立的部分。例如,将冲击振动谱分析系统的全部操作分成冲击振动信号的波形采集、数据存储与波形信号的谱分析及其后续操作的两个独立的部分,实现振动信号采集、存储关键任务的实时性要求.
4.3 关于嵌入式操作系统.
在系统的实时性设计中,核心的问题是降低软件运行时间。除了普遍的提高CPU指令运行速度、采用高速I/O口、计数器的捕获/比较、多机并行操作等软、硬件措施外,就是程序设计技巧。而在系统程序中使用操作系统支持时,由于操作系统介入操作管理带来的额外开销,以及对任务的灵活调度管理,成为系统实时性设计的重要问题.
嵌入式操作系统使用在嵌入式应用系统中。与通用操作系统相比,嵌入式操作系统有许多特点,如可靠性、可裁剪性、“实时性”等。前两者是嵌入式应用环境所要求的。,而“实时性”则是为了满足系统实时性要求的内容。在一些文章中提到某些嵌入式操作系统时,常常冠以“实时操作系统”,但它只是表现为该操作系统具有较好的实时能力。在没有置身在一个具体嵌入式应用系统中时,不存在实时性结论。不同的嵌入式操作系统比较时,可以有实时能力上的不同。任何一个嵌入式操作系统都应有满足系统实时性设计的内容(表现为任务的快速调度、快速运行等),实时能力强的嵌入式操作系统能更容易地实现应用系统的实时性.
举报