AUTOSAR图解==>AUTOSAR_RS_TimingExtensions
AUTOSAR 时序扩展需求分析
目录
- 1. 概述
- 2. 时序扩展架构
- 2.1 AUTOSAR时序架构组件
- 2.2 时序约束关系
- 3. 同步约束机制
- 3.1 同步约束类型
- 3.2 事件和事件链同步
- 4. 延迟约束与事件链
- 4.1 事件链概念
- 4.2 延迟约束类型
- 5. 支持的用例分析
- 5.1 端到端时序用例
- 5.2 同步相关用例
- 5.3 早期预测用例
- 6. 总结
1. 概述
AUTOSAR (AUTomotive Open System ARchitecture) 时序扩展是AUTOSAR标准的重要组成部分,主要目标是扩展AUTOSAR模板,添加时序信息以支持系统时序行为的分析和验证。本文基于AUTOSAR经典平台规范文档"Requirements on Timing Extensions"(文档ID 410),详细分析了时序扩展的需求和架构设计。
时序扩展的主要目标是允许系统设计者定义、分析和验证系统的时序行为,确保汽车电子系统满足实时性要求,特别是在安全关键系统中。时序扩展提供了一套完整的模型和概念,用于描述事件、事件链、时序约束和时序分析等。
在AUTOSAR系统中,时序行为可以从多个角度进行分析,包括端到端延迟、同步要求、执行顺序、数据年龄等。时序扩展定义了一系列时序属性和约束,为系统开发的各个阶段提供支持,从早期设计预测到最终实现验证。
2. 时序扩展架构
2.1 AUTOSAR时序架构组件
AUTOSAR时序扩展的整体架构由时序描述、时序约束和时序分析三个主要部分组成。这些组件共同构成了一个完整的时序模型,支持系统时序行为的分析和验证。
上图展示了AUTOSAR时序扩展的架构组件和它们之间的关系。该架构包含以下主要元素:
-
TimingDescription(时序描述)包:
- TimingDescriptionEvent:定义系统中的时序事件,作为时序分析的基本单元
- TimingDescriptionEventChain:定义由多个事件段组成的事件链,用于描述端到端的时序路径
- TDEventVariableDataPrototype:将时序事件与变量数据原型关联
-
TimingConstraint(时序约束)包:
- TimingConstraint:所有时序约束的基类
- LatencyTimingConstraint:定义事件链的延迟约束
- AgeConstraint:定义数据年龄约束
- SynchronizationTimingConstraint:定义事件或事件链的同步约束
- SynchronizationPointConstraint:定义执行实体之间的同步点
- OffsetTimingConstraint:定义事件间的时间偏移约束
- ExecutionOrderConstraint:定义执行实体的执行顺序约束
-
TimingAnalysis(时序分析)包:
- TimingAnalysis:时序分析的基类
- EndToEndAnalysis:端到端时序分析
- LocalAnalysis:本地时序分析
这种分层架构设计使AUTOSAR时序扩展能够灵活应对不同层次的时序需求,从底层执行时序到高层端到端时序都能得到支持。
2.2 时序约束关系
时序扩展中定义了多种时序约束类型,它们之间存在继承和关联关系,共同构成了完整的时序约束体系。
上图详细展示了AUTOSAR时序扩展中的时序约束类和它们之间的关系:
-
TimingConstraint基类:
- 所有时序约束的公共基类,定义了约束的基本属性
- 派生出多种具体的约束类型,用于不同的时序约束场景
-
时序约束类型:
- LatencyTimingConstraint:定义了两种类型的延迟约束(反应和年龄),用于限制事件链中从刺激到响应的延迟时间
- AgeConstraint:限制数据变量的最小和最大年龄
- SynchronizationTimingConstraint:定义事件或事件链的同步约束,确保它们在指定的时间容差内发生
- OffsetTimingConstraint:定义两个事件之间的时间偏移约束
-
事件链与约束的关系:
- 事件链(TimingDescriptionEventChain)由一个或多个事件(TimingDescriptionEvent)组成
- 每个事件链有一个刺激事件和一个响应事件
- 延迟约束应用于事件链,限制从刺激到响应的延迟
- 同步约束可以应用于多个事件链或事件,确保它们同步发生
-
枚举类型:
- LatencyConstraintTypeEnum:定义延迟约束类型(age或reaction)
- EventOccurrenceKindEnum:定义事件发生类型(单次或多次)
- SynchronizationTypeEnum:定义同步类型(响应同步或刺激同步)
这种细粒度的约束分类使AUTOSAR能够描述和分析各种复杂的时序场景,满足汽车电子系统的多样化时序需求。
3. 同步约束机制
3.1 同步约束类型
AUTOSAR时序扩展中的同步约束是一种重要的时序约束类型,用于确保多个事件或事件链在指定的时间容差内同步发生。同步约束机制支持多种不同的同步类型和应用场景。
上图展示了AUTOSAR同步约束的状态图,描述了同步约束的不同类型和应用场景:
-
同步约束的主要分类:
- 事件同步:应用于两个或多个事件,确保它们在指定的时间容差内同步发生
- 事件链同步:应用于两个或多个事件链,确保它们的刺激或响应在指定的时间容差内同步发生
-
事件同步的细分:
- 响应事件同步:确保多个作为响应的事件在指定的时间容差内同步发生,这些事件隐式关联到一个共同的(可能未知的)刺激事件
- 刺激事件同步:确保多个作为刺激的事件在指定的时间容差内同步发生,这些事件隐式关联到一个共同的(可能未知的)响应事件
-
事件链同步的细分:
- 响应事件链同步:确保多个事件链的响应事件在指定的时间容差内同步发生,这些事件链共享同一个刺激事件(形成分叉结构)
- 刺激事件链同步:确保多个事件链的刺激事件在指定的时间容差内同步发生,这些事件链共享同一个响应事件(形成汇合结构)
-
事件发生类型:
- 单次发生:事件在给定的时间间隔内只发生一次
- 多次发生:事件在给定的时间间隔内可能发生多次
3.2 事件和事件链同步
在AUTOSAR时序扩展中,同步约束可以应用于事件或事件链,具有不同的应用场景和约束条件:
-
事件同步约束:
- 当完整的事件链尚未知晓或不在模型范围内时使用
- 允许指定两个或多个事件在给定时间容差内同步发生
- 可配置为响应同步(共同刺激)或刺激同步(共同响应)
-
事件链同步约束:
- 当完整的事件链已知时使用
- 在响应同步模式下,所有事件链共享相同的刺激事件(分叉结构)
- 在刺激同步模式下,所有事件链共享相同的响应事件(汇合结构)
-
实际应用示例:
- 响应同步示例:不同的指示灯同步闪烁,所有灯需要在预定义的容差时间内同步点亮
- 刺激同步示例:自适应巡航控制中,来自不同传感器的数据需要在预定义的容差时间内同步采样
-
关键参数:
- 容差(Tolerance):定义事件必须在多长的时间间隔内发生才算同步
- 事件发生类型(EventOccurrenceKind):定义事件是单次发生还是可能多次发生
- 同步约束类型(SynchronizationConstraintType):定义同步是针对响应还是刺激
这些同步机制使AUTOSAR能够处理复杂的分布式系统中的同步需求,确保系统组件能够协调一致地工作。
4. 延迟约束与事件链
4.1 事件链概念
事件链是AUTOSAR时序扩展中的核心概念,它定义了从刺激事件到响应事件的因果关系,用于描述系统中的端到端延迟路径。
上图展示了一个典型的事件链和延迟约束场景,从传感器数据采集到执行器控制的整个流程:
-
事件链组成:
- 刺激事件:事件链的起始事件,图中为"传感器数据可用"
- 中间事件:事件链中的过渡事件,如"传感器数据处理开始"、“数据传递”、“控制命令生成”
- 响应事件:事件链的结束事件,图中为"执行器控制"
-
事件链的层次:
- 硬件层:包括传感器和执行器等物理设备
- 软件层:包括传感器驱动、应用组件和执行器驱动等软件模块
-
事件流程:
- 传感器生成数据,触发刺激事件
- 数据通过软件层的各个组件进行处理和传递
- 最终控制信号发送到执行器,触发响应事件
4.2 延迟约束类型
AUTOSAR时序扩展定义了多种延迟约束类型,用于限制事件链中的时序行为:
-
延迟约束(LatencyTimingConstraint):
- 反应延迟(reaction):从刺激事件的角度,限制第一个响应的时间间隔
- 最小延迟:反应不能早于此时间发生
- 最大延迟:反应必须在此时间内发生
- 年龄延迟(age):从响应事件的角度,限制最新刺激的年龄区间
- 最小年龄:数据不能太新
- 最大年龄:数据不能太旧
- 反应延迟(reaction):从刺激事件的角度,限制第一个响应的时间间隔
-
年龄约束(AgeConstraint):
- 直接应用于变量数据原型接收事件
- 定义了接收到的数据的允许年龄范围
- 例如图中AppB接收数据时的约束:最小年龄=0ms,最大年龄=15ms
-
应用场景区别:
- 在没有过采样或欠采样的系统中,age和reaction是相同的
- 但在规范设计阶段,当实现尚未确定时,需要选择正确的延迟约束语义
- 年龄约束通常用于限制传感器数据从物理创建到接收软件组件通信缓冲区可用的时间间隔
通过这些延迟约束机制,AUTOSAR能够有效地描述和分析系统中的各种时序行为,确保系统满足实时性要求。
5. 支持的用例分析
5.1 端到端时序用例
AUTOSAR时序扩展支持多种端到端时序分析用例,帮助开发者理解和验证系统的端到端时序行为。
上图展示了AUTOSAR时序扩展支持的各种用例。与端到端时序相关的用例包括:
-
本地时序分析(调度分析):
- 分析任务调度可行性
- 评估任务执行时间
- 分析资源使用情况
- 主要由开发人员使用
-
开环控制系统的端到端时序分析:
- 分析从传感器到执行器的信号流中的延迟
- 评估信号路径中的抖动
- 确保信号在规定的时间内传递
- 主要由测试人员使用
-
闭环控制系统的端到端时序分析:
- 分析控制回路中的延迟
- 评估抖动对控制性能的影响
- 分析采样时间对控制性能的影响
- 主要由测试人员使用
-
端到端时序验证:
- 验证系统是否满足端到端时序要求
- 检测可能的时序违例
- 主要由测试人员使用
这些端到端时序用例覆盖了从本地调度到系统级端到端分析的各个方面,确保系统在不同层次上都能满足时序要求。
5.2 同步相关用例
AUTOSAR时序扩展还支持多种与同步相关的用例,这些用例主要关注系统中不同组件的同步行为:
-
多传感器系统的数据融合:
- 确保来自多个传感器的数据在时间上同步
- 提高数据融合的准确性
- 支持高级驾驶辅助系统(ADAS)中的传感器融合
- 主要由开发人员使用
-
执行器同步:
- 确保多个执行器的同步激活
- 例如确保方向盘转向与车轮转向同步
- 避免执行器之间的不协调行为
- 主要由开发人员使用
-
总线同步/网关:
- 确保不同总线系统之间的数据同步
- 处理网关中的时序和同步问题
- 确保跨网络的数据传输时序正确
- 主要由测试人员使用
这些同步相关用例对于确保分布式系统中的组件能够协调一致地工作至关重要,特别是在需要多个组件协同工作的场景中。
5.3 早期预测用例
AUTOSAR时序扩展还支持早期预测用例,这些用例主要用于系统设计的早期阶段,帮助开发者做出正确的设计决策:
-
添加组件的修改影响:
- 预测新组件添加对现有时序属性的影响
- 评估系统变更的时序后果
- 支持增量系统开发
- 主要由开发人员使用
-
硬件尺寸支持:
- 基于时序需求确定合适的硬件规格
- 避免硬件过度设计或不足
- 支持成本优化和性能保证
- 主要由开发人员使用
-
拓扑决策:
- 支持基于时序约束做出网络拓扑决策
- 指导组件分布和分配
- 优化系统架构以满足时序要求
- 主要由开发人员使用
这些早期预测用例使开发者能够在系统开发的早期阶段就考虑时序因素,减少后期变更的成本和风险。
6. 总结
AUTOSAR时序扩展为汽车电子系统的时序分析和验证提供了全面的支持,其主要优势包括:
-
完整的时序模型:
- 定义了事件、事件链、时序约束等核心概念
- 支持多种时序约束类型(延迟、同步、偏移等)
- 提供了灵活的时序描述机制
-
多层次时序分析:
- 支持从组件级到系统级的时序分析
- 覆盖本地调度到端到端延迟的各个方面
- 适应不同复杂度的时序需求
-
设计与验证支持:
- 在系统设计早期提供时序预测能力
- 支持系统实现阶段的时序验证
- 减少时序相关问题的发现和解决成本
-
行业标准化:
- 作为AUTOSAR标准的一部分,确保行业一致性
- 促进不同供应商组件的时序兼容性
- 支持分布式开发环境中的时序分析
通过这些时序扩展机制,AUTOSAR使汽车电子系统开发者能够系统地分析和验证系统的时序行为,确保系统满足实时性要求,特别是在安全关键应用中。时序扩展的应用不仅提高了系统的可靠性和性能,还支持了更复杂的分布式系统开发,为未来汽车电子系统的发展提供了坚实的基础。