实时测试系统要求实时操作系统(RTOS)具有卓越的可靠性和确定性。关于实时的一个误解是它意味着快速。更准确地说,实时意味着及时。换句话说,实时测试系统确保测试按时执行和完成。对于通用操作系统,您不能确保测试在任何给定的时间段内发生,并且测试可能会比预期完成得更晚或更早。要使一个测试系统被认为是实时的,它的所有部分都必须是实时的。
例如,在RTOS中运行的测试如果不具有实时特性,就可能不是实时测试。测试可能依赖于某些不实时运行的硬件组件或其他应用程序,这将导致测试不实时运行。运行在Microsoft Windows上的应用程序不能保证实时运行,因为Windows不是RTOS。Windows不能确保代码总是在特定的时间限制内完成。您的应用程序在Windows中执行的时间取决于许多因素,包括在后台运行的其他程序,如屏幕保护程序或杀毒软件。Windows还必须为来自USB端口、键盘、鼠标等设备的中断提供服务,这些设备可能会延迟代码的执行。您可以配置一个RTOS来禁用或忽略中断。
实时测试的术语
- 被测单元(UUT)——你正在测试的设备。该设备也可以称为被测设备(DUT)。
- 激励——一种物理或逻辑上的输入物,它能引起UUT的反应。激励可以是系统外部的,也可以是系统内部的。也就是说,您可以自己按下按钮,或者配置测试系统来“按”按钮。
- 响应—— 被测单元(UUT)对激励的反应。当按下按钮时UUT做什么动作?
- 速率——激励/反应周期的频率。这通常是系统的循环速率。这决定了系统处理按键的频率。
- 抖动——实际循环周期时间和期望循环周期时间之间的变化。所有系统都有一些抖动,但是实时系统的抖动比通用操作系统的要低。通用操作系统具有不一致的高或无界的最大抖动。
- 确定性——确定性是对抖动的一种度量,它表示系统在给定的时间限制内响应外部事件或执行操作的可靠性。高确定性是实时系统的一个特性,它保证您的计算和操作在给定的时间内发生。确定性系统是可预测的。这对于度量输入、基于输入进行计算、然后输出这些计算结果的值的控制应用程序非常重要。实时系统可以保证计算始终按时完成。
- 延迟——响应事件所需的时间。
实时测试系统组件
实时系统的软件组件包括你开发的测试和执行测试的实时软件。实时系统的硬件组成包括上位机和实时目标机。下面的部分描述了实时系统的不同组件。
主机
主机是您开发或配置测试软件的计算机。在配置和开发实时测试应用程序之后,您可以下载并在实时目标上运行它。主机可以使用一个用户界面,与软件进行实时通信。用户界面向实时目标发送测试命令,并显示在目标上生成的数据。
实时目标机
实时目标是运行RTOS的硬件。网络化实时目标是一个具有嵌入式处理器和实时操作系统的网络化硬件平台。您可以使用单独的主机通过以太网连接与网络实时目标上的应用程序进行通信和控制。实时目标是实时测试系统的核心。它提供了大多数实时测试系统组件的确定性执行,如硬件I/O、通信、数据记录、激励生成和模型执行。实时目标是必要的,以提供任何系统组件的精确仿真,而这些组件并不是测试的一部分。
实时测试角色
实时测试系统开发和使用有四个主要角色:设备工程师、测试工程师、测试技术员和测试操作员。设备工程师开发并定制测试系统的功能,并管理整个测试系统框架。设备工程师了解测试环境,并精通一个或多个开发环境。测试工程师开发测试系统来验证被测设备,并使用设备工程师提供的设备来开发健壮的测试应用程序。测试工程师需要对被测设备有足够的了解来创建和配置测试系统。
实时激励反应测试系统
激励-响应测试系统如图所示,激励被测设备并测量其响应。
这种类型的测试系统分析和记录被测设备的响应,并确定响应是否适合激励。激励响应测试系统受益于增强的实时环境的确定性。实时环境确保测试激励被生成和发送,被测设备响应被及时接受和处理。