TriVector验证战神I火箭的时间延迟

挑战

分析美国宇航局战神一号火箭上健康和状态信息的时间延迟

解决方案

使用Si万博1manbetxmulink和SimEvents对包级通信进行建模,运行离散事件模拟,并评估端到端延迟

结果

  • 需求验证提前了一年
  • 发现时间规范问题
  • 延迟分析结果在视觉上沟通

“我们的SIMEvents模型对于ARES I跟踪多个总线每秒每秒大约20,000个数据包的交货时间,使我们能够在硬件设计之前验证要求并识别时序要求的问题。”

克里·亚历山大,TriVector服务公司
美国宇航局的战神一号火箭。

战神一号火箭是美国国家航空航天局(NASA)的星座计划(Constellation Program)的核心任务,包括国际空间站、月球、火星和太阳系。“战神一号”有两个阶段:在第一级,一个可重复使用的固体火箭助推器在从“战神一号”分离之前,在发射期间将“猎户座”载人飞船提升到近地轨道。在上一级,一个J-2X发动机推动“猎户座”飞船进入轨道。两级航空电子系统(猎户座)和地面系统之间的通信对每次发射的成功至关重要。

为了支万博1manbetx持美国宇航局,TriVector服务团队分析了十多个战神一号通信总线的时间。利用Simulink对战神I数据包级通信进行离散事件仿真万博1manbetx®, Stateflow®, SimEvents®在任何硬件或软件开发之前,工程师们评估了网络延迟,并验证了总线的需求。

“ARES I巴士从航空公司传感器到飞行电脑,猎户座和地面系统的运行健康和地位信息,”Trivector的高级工程师Kerry Alexander解释道。“通过SimEvents,我们将从其源跟踪每个数据包的模拟,并验证了它在NASA所需的时间范围内交付。”

挑战

战神一号的两个部件——第一级和上部级配备J-2X引擎——都有冗余总线将飞行计算机与收集航空电子传感器数据的远程终端(RTs)连接起来。NASA的顶级要求规定,一旦RT获得数据,数据必须在规定的时间内交付给猎户座或地面系统;较低层次的需求指定了元素到元素数据交付的时间。

要分析时序和验证要求,需要模拟ARES I通信系统体系结构的Trivector工程师并模拟组件之间的事务。该模型必须包括每个RT,总线及其互连。该团队必须在微秒级别运行模拟,然后后处理结果以测量延迟。最后,他们需要以图形方式表示分析结果,以证明可以满足时间要求。

因为硬件还没有开发出来,工程师们只能根据需求建立系统模型。

解决方案

Trivector工程师使用Simulink和Si万博1manbetxmEvents来模拟整个ARES I的数据包级通信,并分析健康和状态信息的端到端延迟。

它们基于来自NASA的数据I / O配置文件构建了上级总线和RTS的模型,其中包括数据调度定义当飞行计算机将从伯群时间片中的RTS中请求数据时。

他们使用了初始SimEvents模型,其中包括一个RT,飞行计算机,总线和系统时钟,以在指定的时间片处模拟数据的传送。然后,它们添加了RTS和其他组件,直到它们建模了上阶段的低速数据总线。

使用SimEvents,工程师通过比较从RT的时间与数据包到达目的地的时间来计算所传递的每个数据包的延迟。

利用statflow,工程师建模了上层级飞行终止系统的信号逻辑,该系统用于在紧急情况下摧毁火箭。

Trivector与MathWorks咨询服务合作,以实现大规模建模的最佳实践。它们基于SimEvents块构建了一个参数化,可重用组件的库,使模型更容易修改和缩短了模拟时间。

该团队通过使用Simulink编码器进一步加速了模拟万博1manbetx创建一个独立的可执行文件。

团队使用matlab®对模拟结果进行后处理,并绘制数据包延迟图。

Trivector Services团队已经完成了ARES I的初始时序分析,包括第一阶段和上阶段总线。该团队现在正在使用Simulink要求™来跟万博1manbetx踪Microsoft捕获的要求®®到模型中。

结果

  • 需求验证提前了一年.“通过用SimEvents建模离散事件,我们能够在硬件可用之前模拟包级事务,”Alexander说。“如果NASA必须先建造硬件,那么时间要求的验证可能会推迟一年。”

  • 发现时间规范问题.Alexander说:“我们的SimEvents模型提供了整个系统的图片,以及使用电子表格无法获得的详细计时结果。”“这种方法使我们能够向NASA报告缺失的需求以进行改进。”

  • 延迟分析结果在视觉上沟通.“我们创建了MATLAB绘图,使其更容易可视化和交流我们的结果,”Alexander说。“例如,我们将特定总线上每个包的时间延迟需求在5秒模拟中绘制为红线;在同一图表上,我们绘制了这些数据包的实际延迟。当所有数据包都低于红线时,我们就知道系统满足了特定的要求。”