Files
autosar_standard_spec_v4.4/Communication/AUTOSAR_SRS_Gateway.md
T

40 KiB
Raw Blame History

网关需求规范

元信息

项目 内容
文档标题(中文) 网关需求规范
文档标题(英文) Requirements on Gateway
文档所有者 AUTOSAR
文档责任方 AUTOSAR
文档标识号 006
文档状态 Final(最终)
所属 AUTOSAR 标准 Classic Platform(经典平台)
所属标准发布版本 4.4.0
对应原文 PDF AUTOSAR_SRS_Gateway.pdf
翻译状态 已完成
翻译日期 2026-06-12

文档标识

字段
Document Title(文档标题) Requirements on Gateway
Document Owner(文档所有者) AUTOSAR
Document Responsibility(文档责任方) AUTOSAR
Document Identification No(文档标识号) 006
Document Status(文档状态) Final
Part of AUTOSAR Standard(所属 AUTOSAR 标准) Classic Platform
Part of Standard Release(所属标准发布版本) 4.4.0

文档变更历史

日期 发布版本 变更人 变更说明
2018-10-31 4.4.0 AUTOSAR Release Management - 编辑性修改
2017-12-08 4.3.1 AUTOSAR Release Management - 编辑性修改
2016-11-30 4.3.0 AUTOSAR Release Management - TP Gateway 应启用 FIFO
2014-10-31 4.2.1 AUTOSAR Release Management - 添加对多帧 TP fanout 的支持
2013-10-31 4.1.2 AUTOSAR Release Management - 编辑性修改
2013-03-15 4.1.1 AUTOSAR Administration - 添加多播语义
- 单帧运行时优化
- TPS_STDT_0078 格式化
- BSWAndRTE_Features 的可追溯性
2011-12-22 4.0.3 AUTOSAR Administration - 添加透明的非 TP PDU 路由
- 添加对部分网络扩展的支持
2010-09-30 3.1.5 AUTOSAR Administration - 添加 SRS_PduR_06120, SRS_PduR_06121, SRS_PduR_06122
- 修订法律免责声明
2008-08-13 3.1.1 AUTOSAR Administration - 修订法律免责声明
2007-12-21 3.0.1 AUTOSAR Administration - 文档元信息扩展
- 进行小的布局调整
2007-01-24 2.1.15 AUTOSAR Administration - 修订"用户建议"
- 添加"修订信息"
2006-11-28 2.1 AUTOSAR Administration - 修订法律免责声明
2006-05-16 2.0 AUTOSAR Administration - 添加信号路由器
- 为 PDURRouter 添加 FIFO
2005-05-31 1.0 AUTOSAR Administration - 初始发布

目录

  1. Scope of this document(本文档的范围)
  2. How to read this document(如何阅读本文档)
  3. Acronyms and abbrevations(缩略语和缩写)
  4. Functional Overview(功能概述)
  5. Requirements Tracing(需求追踪)
  6. Requirement Specification(需求规范)
  7. References(参考资料)

1 Scope of this document

本文档的范围是定义 AUTOSAR PDU Router 模块和作为 COM 组成部分的 AUTOSAR Signal Gateway 的功能和非功能需求。

AUTOSAR 架构中与数据通信相关的其他模块(如 COM、DCM、CAN/LIN/FlexRay 的驱动和接口层)以及与数据通信无关的其他模块不在本文档的范围内。

2 How to read this document

每个需求都有其唯一的标识符,以前缀"BSW"开头("Basic Software",即基础软件)。对于任何评审注释、备注或问题,请参考此唯一 ID 而不是章节或页码!

2.1 Conventions used

  • AUTOSAR 文档中需求的表示遵循 [TPS_STDT_00078] 中指定的表格。
  • 在需求中,使用以下特定语义。

本文档中关键字 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 应按照 RFC 2119 进行解释。请注意,使用这些词的文档的需求级别会修改这些词的强制力。

  • SHALL:此词表示该定义是规范的绝对要求。
  • SHALL NOT:此短语表示该定义是规范的绝对禁止。
  • MUST:此词或术语 "REQUIRED" 或 "SHALL" 表示该定义是规范的绝对要求。
  • MUST NOT:此短语或短语 "SHALL NOT" 表示该定义是规范的绝对禁止。
  • SHOULD:此词或形容词 "RECOMMENDED" 表示在特定情况下可能存在忽略某项的有效理由,但在选择不同方案之前必须充分理解并仔细权衡其影响。
  • SHOULD NOT:此短语或短语 "NOT RECOMMENDED" 表示在特定情况下某特定行为可能是可接受甚至有用的,但在实现任何以此标签描述的行为之前,应充分理解其影响并仔细权衡该情况。
  • MAY:此词或形容词 "OPTIONAL" 表示某项是真正可选的。

所有需求表都符合模板 TPS_StdT_00077。

2.2 Requirements structure

每个模块特定章节包含基础软件模块的简要功能描述。同一类型的需求在每个章节中按以下标题分组(如果适用):

功能需求:

  • Configuration(配置)
  • Initialization(初始化)
  • Normal Operation(正常运行)
  • Shutdown Operation(关闭操作)
  • Fault Operation(故障操作)

非功能需求:

  • Timing Requirements(时序需求)
  • Resource Usage(资源使用)
  • Usability(可用性)
  • Output for other WPs(例如描述模板、工具)

3 Acronyms and abbrevations

以下词汇表定义了未由 AUTOSAR 词汇表定义的缩略语和术语。

缩略语 描述
Routing Configuration(路由配置) 控制 PDU Router 和 Signal Gateway 操作的配置数据。配置数据为 PDURouter 的每个 PDU 和信号网关的每个信号定义目的地。路由配置应以允许更新的方式封装。
Gw signal based gateway(基于信号的网关)的缩写

4 Functional Overview

AUTOSAR Gateway 功能由两部分组成:

  • 在 PDU 级别上的网关功能(基于帧的网关),由 PDU Router 模块提供
  • 在信号级别上的网关功能(基于信号的网关),由 Signal Gateway 提供,它是 COM 的组成部分

除了 PDU 级别上的网关功能外,PDU Router 还提供:

  • 在通信栈中上下路由 PDU(在 COM 和接口(CAN、LIN、FlexRay)之间,以及在 DCM 和 TP 模块(CAN、LIN、FlexRay)之间)
  • 在通信接口层之间
  • 在 TP 模块之间(用于 CAN、LIN 和 FlexRay
  • 连接到 I-PDU 复用器

图 1 显示了 AUTOSAR 通信架构的概述以及 PDU Router 和 Signal Gateway 与 AUTOSAR 架构其他组件的交互。

图 1:网关组件与 AUTOSAR 通信结构其他模块的交互。信号网关是 COM 的组成部分(仅在需要时存在)。

4.1 PDU Router

  • 在以下之间提供 PDU 传输:
    • 通信接口层、上层服务层和 IPDUM
    • TP 模块和上层服务层
    • 不同的通信接口层
    • 不同的 TP 模块
  • 由 PDU 路由触发器发起。
  • PDU 路由触发器可由 CAN、LIN 或 FlexRay 接口生成,相应的 TP 模块、服务层 COM 和 DCM 或 IPDUM。
  • 路由层的大小是 ECU 特定的,并且可静态配置(如果不需要 PDU 级网关功能,则可降低到零大小)
  • 提供即时 TP 路由。这意味着在缓冲完整 TP 数据之前开始 TP 数据传输。因此,网关为接收 TP 模块提供一个小于整体数据长度的缓冲区。当此缓冲区已满时,网关开始在目标总线上传输这些数据。同时,接收 TP 模块获得另一个缓冲区。然后在接收 TP 模块上接收数据并由发送 TP 模块并行传输。

4.2 Signal Gateway

  • 提供信号或信号组(复杂数据类型)的映射,由信号路由触发器发起。
  • 信号路由触发器由 COM 核心功能生成。
  • Signal Gateway 使用 COM 的打包/解包机制和超时处理机制。

5 Requirements Tracing

需求 描述 由以下需求满足
RS_BRF_01088 AUTOSAR 应提供允许表达高层应用通信需求的接口 SRS_PduR_06123
RS_BRF_01136 AUTOSAR 应支持在系统启动后解析的已配置 BSW 数据的变体 SRS_PduR_06120
RS_BRF_01152 AUTOSAR 应支持有限的动态重新配置 SRS_PduR_06002, SRS_PduR_06097
RS_BRF_01576 AUTOSAR 通信应支持信号网关 SRS_PduR_06001, SRS_PduR_06003, SRS_PduR_06004, SRS_PduR_06055, SRS_PduR_06056, SRS_PduR_06061, SRS_PduR_06064, SRS_PduR_06077, SRS_PduR_06089, SRS_PduR_06098, SRS_PduR_06099
RS_BRF_01584 AUTOSAR 通信应支持 IPDU 网关 SRS_PduR_06001, SRS_PduR_06003, SRS_PduR_06004, SRS_PduR_06012, SRS_PduR_06020, SRS_PduR_06026, SRS_PduR_06029, SRS_PduR_06030, SRS_PduR_06032, SRS_PduR_06049, SRS_PduR_06103, SRS_PduR_06104, SRS_PduR_06105, SRS_PduR_06106, SRS_PduR_06114, SRS_PduR_06115, SRS_PduR_06116, SRS_PduR_06117, SRS_PduR_06119, SRS_PduR_06120, SRS_PduR_06121, SRS_PduR_06122, SRS_PduR_06123, SRS_PduR_06124, SRS_PduR_06125
RS_BRF_01632 AUTOSAR 通信应支持信号组的数据一致性 SRS_PduR_06049, SRS_PduR_06056
RS_BRF_01728 AUTOSAR 通信应支持 J1939 传输协议 SRS_PduR_06121
RS_BRF_02144 AUTOSAR 诊断应为外部测试仪提供标准化的诊断服务 SRS_PduR_06115

6 Requirement Specification

6.1 Functional Requirements

6.1.1 General Gateway

6.1.1.1 [SRS_PduR_06001] 仅当要重新配置的表未被使用时,网关才能被重新配置

字段 内容
Type(类型) Valid
Description(描述) 仅当要重新配置的表未被使用时(例如在编程模式下),网关才能被重新配置。在正常运行期间(应用程序正在运行且配置表正在使用)的重新配置应不可能。
Rationale(原理) 正常运行期间的更改被视为安全风险。
Use Case(用例) --
Dependencies(依赖) SRS_PduR_06002
Supporting Material(支持材料) --

⌋(RS_BRF_01576, RS_BRF_01584)

6.1.1.2 [SRS_PduR_06002] 路由配置应在后构建时可更新

字段 内容
Type(类型) Valid
Description(描述) 路由配置应在后构建时可更新。
Rationale(原理) 目标是在最小路由更改的情况下避免重新编译和重新加载巨大的应用程序二进制文件。
Use Case(用例) PDU 必须路由到其他路径。
Dependencies(依赖) SRS_PduR_06001
Supporting Material(支持材料) --

⌋(RS_BRF_01152)

6.1.1.3 [SRS_PduR_06097] 配置应由唯一 ID 号标识

字段 内容
Type(类型) Valid
Description(描述) 配置应由唯一 ID 号标识。此号码应可访问。
Rationale(原理) 诊断设备应读取当前配置。
Use Case(用例) --
Dependencies(依赖) SRS_PduR_06002
Supporting Material(支持材料) --

⌋( RS_BRF_01152)

6.1.1.4 [SRS_PduR_06003] 应为网关定义静态路由规则

字段 内容
Type(类型) Valid
Description(描述) 网关不支持动态路由规则。所有路由路径都是静态定义的,并且不依赖于 PDU 或信号的内容。
Rationale(原理) 降低复杂性,实现确定性网关。
Use Case(用例) --
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01576,RS_BRF_01584)

6.1.1.5 [SRS_PduR_06004] 应保持不同实例的时间顺序

字段 内容
Type(类型) Valid
Description(描述) 同一 PDU 的不同实例或同一信号的不同实例的时间顺序必须保持。PDU 或信号的某些实例的丢失不会违反此规则。网关不必在同一总线上保持不同 PDU 或不同信号的顺序,也不必在不同总线上发送的相同 PDU 或相同信号的顺序。
Rationale(原理) PDU 实例和信号实例不应重新排序。
Use Case(用例) • PDU 和信号的序列可能反映用户操作的序列。
• PDU 和信号的序列反映了由 ECU 执行的命令序列。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01576, RS_BRF_01584)

6.1.2 Signal Gateway

本章包含信号网关的需求。信号网关是 COM 的组成部分,不是单独的模块。API 在 COM SWS 文档中指定。

6.1.2.1 [SRS_PduR_06055] 信号网关应提供以 1:n 方式在 I-PDU 之间路由单个信号的机制

字段 内容
Type(类型) Valid
Description(描述) 信号网关应提供以 1:n 方式在 I-PDU 之间路由单个信号的机制。
Rationale(原理) AUTOSAR 信号的路由。
Use Case(用例) • 接收到的信号可以转发到不同的总线。
• 接收到的信号可以转发到一个总线和 RTE。
• RTE 的 TX 信号可以转发到不同的总线。
• 组合 ECU 的信号(例如错误信号或显示信号)以减少 ECU(例如仪表板集群)接收的 I-PDU 数量。
• 减少网关发送的 I-PDU 数量(例如在多个源 I-PDU 与少量传输信号的情况下)。
• 调整连接总线的不同有效负载长度。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01576)

6.1.2.2 [SRS_PduR_06056] 信号组应被路由

字段 内容
Type(类型) Valid
Description(描述) 网关应提供路由信号组的机制。路由必须是原子的以保持数据一致性。
Rationale(原理) AUTOSAR 信号组的路由。
信号组的各个信号信息需要在路由信号组期间在组内保持一致。
Use Case(用例) • 允许在总线之间分配信号组。
• 组合 ECU 的信号组(例如错误信号或显示信号)以减少 ECU(例如仪表板集群)接收的 PDU 数量。
• 减少由网关发送的发送 PDU 数量(例如在多个源 PDU 与少量传输信号组的情况下)。
• 调整连接总线的不同有效负载长度。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01632, RS_BRF_01576)

6.1.2.3 [SRS_PduR_06061] 路由器应仅映射信号

字段 内容
Type(类型) Valid
Description(描述) 路由器的功能是映射信号 — 而不是更改信号的内容或类型。
Rationale(原理) 信号网关应仅是路由器。
Use Case(用例) 示例:不从 8 位信号移位到 6 位信号;不将两个信号合并为一个信号。此类更改属于应用软件。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋(RS_BRF_01576)

6.1.2.4 [SRS_PduR_06098] 信号网关错误应通过信号路由处理

字段 内容
Type(类型) Valid
Description(描述) 信号网关应提供以下错误处理:
单信号:
1) 接收信号请求返回"未知信号 ID"(配置错误)
处理:报告给 DET
2) 发送信号请求报告"未知信号 ID"(配置错误)
处理:报告给 DET
开发错误必须报告给 DET。
配置错误例如是超出范围的信号 ID。
Rationale(原理) 信号网关只能检测某些配置错误但不能检测运行时错误。
Use Case(用例) 由于配置错误,不可能转发要路由的信号。
Dependencies(依赖) --
Supporting Material(支持材料) DOC_GENERAL_SRS

⌋( RS_BRF_01576)

6.1.2.5 [SRS_PduR_06099] 信号网关错误应通过信号组路由处理

字段 内容
Type(类型) Valid
Description(描述) 信号组:
1) 接收信号请求之一返回"未知信号 ID"(配置错误)
处理:报告给 DET
2) 发送信号请求之一返回"未知信号 ID"(配置错误)
处理:报告给 DET
开发错误必须报告给 DET。
配置错误例如是超出范围的信号 ID。
Rationale(原理) 信号网关只能检测某些配置错误但不能检测运行时错误。
Use Case(用例) 由于配置错误,不可能转发要路由的信号。
Dependencies(依赖) --
Supporting Material(支持材料) DOC_GENERAL_SRS

⌋( RS_BRF_01576)

6.1.2.6 [SRS_PduR_06077] 同一 PDU 的多个信号应被路由

字段 内容
Type(类型) Valid
Description(描述) 当且仅当相关源 PDU 的所有信号都已复制时,目标 PDU 的传输必须被触发。
示例:两个信号 A 和 B 由 COM 在同一源 PDU 中接收。两个信号都应通过信号网关路由到同一目标总线。两个信号都配置为在同一 PDU 中的目标总线上发送。那么应避免每个信号触发同一目标 PDU 的一个实例的传输。应确保对于两个信号一起仅生成一个目标 PDU 实例。
Rationale(原理) 为了保持带宽使用小,有必要将不同的信号(具有相同的周期性)填充到一个 PDU 中。对于来自不同源应用的信号定义信号组是不合理的,即使这些应用位于同一 ECU 上。
Use Case(用例) 网关 ECU 必须将一个接收 PDU 的一些信号复制到一个发送 PDU 中。
Dependencies(依赖) --
Supporting Material(支持材料) 有两种方法可以满足此需求:
1) 将此需求视为 COM 的实现需求。其后果是从 RTE 到 COM 的访问将使用阻塞机制完成 — 即使不需要!
2) 将此需求视为配置工具的需求。配置工具可以为路由器定义一个"本地"信号组。网关 ECU 的 COM 然后将使用用于信号组的机制。请记住,根据实际的 COM SRS(参见 COM SRS V1.4.0 的 COM SRS 词汇表),信号组必须是连续的,不能由其他信号分隔。

⌋( RS_BRF_01576)

6.1.3 PDU Router

6.1.3.1 [SRS_PduR_06012] PDU 路由器应以透明方式在层之间路由非 TP PDU

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器应在本地通信接口层和本地上层软件层之间路由 PDU 而无需任何有效负载或速率修改。
如果通信总线能够处理大于或小于静态配置的 PDU,则 PDU 应以实际接收的长度路由。如果通信总线或路由软件不能处理更大的长度,则 PDU 应被截断。如果总线不能处理较小的长度,则 PDU 不应被路由。PDU 的本地接收方(例如 COM)应始终能够处理较小或较大长度的 PDU。
Rationale(原理) 此层允许构建基于 PDU 的网关并处理通信接口层和 COM 之间的 PDU 分发。有效负载不以任何方式修改。
Use Case(用例) • 在不修改的情况下从任何总线直接路由 PDU 到 COM,反之亦然
• 在不修改的情况下将 PDU 从一个总线直接路由到另一个总线
• 在新网络集群中使用旧 ECU(发送较小的 DLC)
• 将 2 个新 ECU(具有较大的 DLC)与旧网关一起使用
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.2 [SRS_PduR_06026] 应根据请求提供 TP 的数据缓冲区

字段 内容
Type(类型) Valid
Description(描述) 在网关情况下:PDU 路由器根据请求提供用于转发 TP 数据的数据缓冲区。
在非网关情况下:DCM 根据请求提供用于发送和接收 TP 数据的数据缓冲区。
此外,PDU 路由器管理从 TP 模块到 DCM 或 TP 模块以及从 DCM 到 TP 模块的这些数据缓冲区的即时路由。
Rationale(原理) 节省缓冲区内存并减少转发 TP 数据的延迟。
Use Case(用例) • 诊断测试仪与连接到不同总线的 ECU 通信。
• 诊断测试仪与(托管此 PDU 路由器的)ECU 本身通信。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.3 [SRS_PduR_06029] PDU 路由器应能够支持独立于源到多个目的地的 TP PDU 路由

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器应能够支持独立于源(总线接口或 DCM)到多个目的地的 TP PDU 路由,例如 CanTp、FrTp 和它自己的 DCM。
Rationale(原理) 网关 ECU 应支持多播。
Use Case(用例) TesterPresent 在所有 ECU 上维护诊断。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.4 [SRS_PduR_06030] 应支持从源独立地到多个目的地的非 TP PDU 路由

字段 内容
Type(类型) Valid
Description(描述) 应支持从源(总线接口或 COM)独立地到多个目的地(例如多个通信总线、本地 COM)的非 TP PDU 路由。
Rationale(原理) 发送或路由多播 PDU。
Use Case(用例) 广播,例如 keyPosition:向所有 ECU 发送密钥信息。
Dependencies(依赖) [SRS_PduR_06012]
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.5 [SRS_PduR_06125] PduR 中的多播实现应表现为源模块不需要知道配置了多个目标模块

字段 内容
Type(类型) Valid
Description(描述) PduR 中的多播实现应表现为源模块不需要知道配置了多个目标模块。只需在一个目标上发送成功就足以使整个操作成功。但是,取消仅在未发送任何内容时成功,这是取消在所有目标上成功的情况。
Rationale(原理) PduR 应透明且鲁棒地实现多播。如果源模块需要来自所有目标模块的单独反馈,则应使用单独的 I-PDU。
Use Case(用例) 多播传输
Dependencies(依赖) SRS_PduR_06029, SRS_PduR_06030, SRS_PduR_06119
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.6 [SRS_PduR_06126] 应支持使用 FIFO 从多个源到同一目的地的非 TP PDU 路由

字段 内容
Type(类型) Valid
Description(描述) 应支持使用 FIFO 从多个源到同一目的地的非 TP PDU 路由。来自多个源的传入数据应缓冲在 FIFO 中。PduR 应按时间顺序转发接收到的数据。如果源模块需要来自目标模块的反馈,则应使用单独的 I-PDU。
Rationale(原理) --
Use Case(用例) PduR 的 fan-in
Dependencies(依赖) SRS_PduR_06030, SRS_PduR_06119
Supporting Material(支持材料) --

⌋()

6.1.3.7 [SRS_PduR_06127] 应支持使用 FIFO 从多个源到同一目的地的 TP PDU 路由

字段 内容
Type(类型) Valid
Description(描述) 应支持使用 FIFO 从多个源到同一目的地的 TP PDU 路由。来自多个源的传入数据应缓冲在 FIFO 中。PduR 应按时间顺序转发接收到的数据。如果源模块需要来自目标模块的反馈,则应使用单独的 I-PDU。
Rationale(原理) --
Use Case(用例) PduR 的 fan-in
Dependencies(依赖) SRS_PduR_06030, SRS_PduR_06119
Supporting Material(支持材料) --

⌋()

6.1.3.8 [SRS_PduR_06032] 非 TP 发送缓冲策略应为 PDU 路由器要路由的每个 PDU 配置

字段 内容
Type(类型) Valid
Description(描述) PDU 缓冲策略元素:
- 缓冲区大小:每个 PDU 的缓冲区数量可以从 1 到 n 变化,如果 n > 1,则缓冲区是 FIFO
- 缓冲区覆盖:
  - 如果缓冲区已满,则应刷新缓冲区并将新值转发到接口。
- 空缓冲区情况下的 TriggerTransmit
  - 如果接口请求一个值但 PduRouter 缓冲区为空,则应提供最近的值,如果之前没有传输,则最近的值应为默认值
该策略应为 PDU 路由器要路由的每个 PDU 配置。仅传输最新的 PDU(缓冲区大小等于 1)或处理和路由多达 n 个接收的 PDU 而不发生任何数据泄漏。PDU 也可以配置为没有缓冲区。如果接收到的 PDU 大于配置的 PDU 长度,则 PduRouter 应截断消息,并且只有消息的一部分可以存储在缓冲区中。
Rationale(原理) 可能需要以不丢失任何实例且必须保持其顺序的方式处理同一 PDU 的实例序列。
Use Case(用例) 在正常 PDU 中使用循环计数器信息
使用其他传输协议(例如 MCNet
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.9 [SRS_PduR_06124] TP 发送缓冲策略应为 PDU 路由器要路由的每个 PDU 配置

字段 内容
Type(类型) Valid
Description(描述) TP PDU 应根据其大小进行缓冲。单帧 PDU 应存储在专用缓冲区中,而多帧 PDU 可以存储在从缓冲区池动态分配的缓冲区中。
Rationale(原理) 单帧 PDU,特别是功能诊断请求和 OBD 请求,比多帧 PDU 具有更高的优先级。虽然由动态缓冲区分配引起的延迟对于大型 PDU 是可接受的,但对于 OBD 请求则不可接受。
Use Case(用例) OBD 请求必须遵守严格的时序约束,这些约束很容易被动态缓冲区分配破坏。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.10 [SRS_PduR_06049] PDU 缓冲区内容应在读取数据所需的时间内保持一致

字段 内容
Type(类型) Valid
Description(描述) 如果 PDU 路由器将 PDU 存储在 PDU 缓冲区中,则应保证存储的数据在读取此数据所需的时间内保持一致。
Rationale(原理) 数据一致性
Use Case(用例) 避免数据不一致。保证在写入例如 16 字节变量期间,另一个任务不能读取数据。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01632,RS_BRF_01584)

6.1.3.11 [SRS_PduR_06103] 应为未知 PDU-ID 提供 PDU 路由器错误

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器应提供以下错误处理:
如果使用未知的 PDU-ID(超出范围)调用 PDU 路由器,则 PDU 路由器应忽略该错误并报告给 DET。
Rationale(原理) 处理开发和运行时错误。
Use Case(用例) 处理开发和运行时错误。
Dependencies(依赖) --
Supporting Material(支持材料) DOC_GENERAL_SRS

⌋( RS_BRF_01584)

6.1.3.12 [SRS_PduR_06104] 应为本地接收或发送提供 PDU 路由器错误

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器应提供以下错误处理:
本地接收或发送:
1) 对接口模块的传输请求返回 ERROR
处理:返回 ERROR 给上层(COM)。在多播情况下,如果所有发送请求都返回 ERROR,则将 ERROR 返回给 COM。
2) 接收 TP 模块报告 ERROR
处理:返回 ERROR 给上层(DCM)
3) 接收接口模块报告 ERROR
处理:返回 ERROR 给上层(COM)
4) 对 TP 模块的传输请求返回 ERROR
处理:返回 ERROR 给上层(DCM)。在单帧 TP 多播的情况下,如果所有发送请求都返回 ERROR,则将 ERROR 返回给 DCM。
5) 发送 TP 模块报告 ERROR
处理:转发 ERROR 指示给上层(DCM)。在多播情况下,如果从 TP 模块接收到至少一个 ERROR 指示,则将带有 ERROR 的指示转发给 DCM。
Rationale(原理) 处理开发和运行时错误。
Use Case(用例) 处理开发和运行时错误。
Dependencies(依赖) --
Supporting Material(支持材料) DOC_GENERAL_SRS

⌋( RS_BRF_01584)

6.1.3.13 [SRS_PduR_06105] 应在网关情况下提供 PDU 路由器错误

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器应提供以下错误处理:
网关情况下:
1) 对接口模块的传输请求返回 ERROR(在调用下层函数时)
处理:在非 FIFO 情况下忽略该错误,在 FIFO 情况下发送下一个元素。
2) 发送接口报告 ERROR(在通过下层"异步调用"通知的情况下)
处理:忽略该错误
3) 接收 TP 模块报告 ERROR
处理:释放 TP 缓冲区。不继续 TP 传输。
4) 对 TP 模块的传输请求返回 ERROR
处理:不继续 TP 接收。
5) 发送 TP 模块报告 ERROR
处理:释放 TP 缓冲区。不继续 TP 接收。
Rationale(原理) 处理开发和运行时错误。
Use Case(用例) 处理开发和运行时错误。
Dependencies(依赖) --
Supporting Material(支持材料) DOC_GENERAL_SRS

⌋( RS_BRF_01584)

6.1.3.14 [SRS_PduR_06106] 应为 FIFO 处理提供 PDU 路由器错误

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器应提供以下错误处理:
FIFO 处理:
当且仅当 PDU 路由器配置为在 PDU 路由器内的 FIFO(大小为 2 或更多)中存储此 PDU 实例时,PDU 路由器应向 DEM 报告 PDU 实例的丢失。
Rationale(原理) 处理开发和运行时错误。
Use Case(用例) 处理开发和运行时错误。
Dependencies(依赖) SRS_PduR_06032
Supporting Material(支持材料) DOC_GENERAL_SRS

⌋( RS_BRF_01584)

6.1.3.15 [SRS_PduR_06119] 多播情况下的确认

字段 内容
Type(类型) Valid
Description(描述) 在通信接口多播传输的情况下,PDURouter 应转发从下层接收到的第一个发送确认。可通过配置禁用转发。
Rationale(原理) PDURouter 对上层视角的透明行为。由于上层本地模块不知道是否是多播,如果它们期望发送确认,则可能成为问题。
Use Case(用例) 多播通信接口传输。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.1.3.16 [SRS_PduR_06120] 应能在需要时启用和禁用预定义的 PDU 集

字段 内容
Type(类型) Valid
Description(描述) 应可配置 PDU 网关,使得可以启用和禁用预定义 PDU 集的 PDU 路由。
Rationale(原理)
Use Case(用例) 根据 ISO 14229-1(服务 $28),应可能禁用正常通信并同时保持预定义的 PDU 集处于活动状态,包括诊断通信。在这种情况下,PDU 网关仅允许传输预定义的 PDU 集。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋(RS_BRF_01136,RS_BRF_01584)

6.2 Non-Functional Requirements

6.2.1 Signal Gateway

6.2.1.1 [SRS_PduR_06064] 当不需要信号路由时,信号网关应可扩展为零大小和零资源使用

字段 内容
Type(类型) Valid
Description(描述) 当不需要信号路由时,信号网关应可扩展为零大小和零资源使用。
Rationale(原理) 此层对于某些 ECU 结构很重要,但在其他 ECU 中,不应引入额外的开销。为了在不更改任何软件实现的情况下实现这一点,软件(信号网关)应可扩展。
Use Case(用例) 对于没有网关功能但具有相同软件的 ECU 是必需的。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01576)

6.2.1.2 [SRS_PduR_06089] SigG 应忽略死线监视信号的超时

字段 内容
Type(类型) Valid
Description(描述) 由 SigG 路由的、死线监视的信号的超时应被忽略。
仅相关的、被死线监视的、并且不是 n 次或直接类型的传输信号应配置为具有更新位。(COM 的行为:传输配备更新位的信号后,更新位将由 COM 自动清除。)
Rationale(原理) 接收方源信号的超时指示。
Use Case(用例) 在一般信号路由的情况下,网关后面的 ECU 必须能够检测到发生了超时。
Dependencies(依赖) --
Supporting Material(支持材料) 超时指示通知接收方由于缺少消息(或在网关源总线上清除的更新位)信号不是最新的。如果在超时时未处理更新位,则它将保持清除状态,并且接收节点将在死线监视的帮助下通知应用程序。

⌋( RS_BRF_01576)

6.2.2 PDU Router

如果 PDU 路由器用于在两个通信接口模块之间路由 PDU,而不包括 COM,则无法保证 CAN 目标总线上的发送的最小间隔。

6.2.2.1 [SRS_PduR_06020] PDU 路由器的资源使用在无 PDU 网关时应可扩展为零

字段 内容
Type(类型) Valid
Description(描述) 在不需要 PDU 网关、I-PDUM 和多播功能的情况下,PDU 路由器的资源使用(内存和运行时)应可扩展为零。
Rationale(原理) 此层对于某些 ECU 结构是必需的,但在没有网关功能的 ECU 中,不应引入额外的开销。
Use Case(用例) 对于没有网关功能的 ECU 是必需的。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.2.2.2 [SRS_PduR_06114] PDU 路由器提供供 COM 使用的接口(API),以使用 PDU 路由器功能

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器提供供 COM 使用的接口,以使用 PDU 路由器功能。
此 API 提供用于发送非 TP PDU 的接口。
Rationale(原理) 需要 API 来使用 PDU 路由器的功能。
Use Case(用例) COM 发送要转发到总线接口的非 TP-PDU。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.2.2.3 [SRS_PduR_06115] PDU 路由器提供供 DCM 使用的接口(API),以使用 PDU 路由器功能

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器提供供 DCM 使用的接口,以使用 PDU 路由器功能。
此 API 提供用于发送 TP PDU 的接口。
Rationale(原理) 需要 API 来使用 PDU 路由器的功能。
Use Case(用例) DCM 发送要转发到总线 TP 模块的 TP PDU。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_02144, RS_BRF_01584)

6.2.2.4 [SRS_PduR_06116] PDU 路由器提供供 IPDUM 使用的接口(API),以使用 PDU 路由器功能

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器提供供 IPDUM 使用的接口,以使用 PDU 路由器功能。
此 API 提供用于以下用途的接口:
• 非 TP PDU 的发送
• 非 TP PDU 的接收指示
• 非 TP PDU 的发送确认
• 非 TP PDU 的 TriggerTransmit 调用
Rationale(原理) 需要 API 来使用 PDU 路由器的功能。
Use Case(用例) • IPDUM 发送要转发到总线接口的非 TP PDU。
• IPDUM 通知接收到的非 TP PDU 的接收。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋(RS_BRF_01584)

6.2.2.5 [SRS_PduR_06117] PDU 路由器提供供总线接口使用的接口(API),以使用 PDU 路由器功能

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器提供供总线接口使用的接口,以使用 PDU 路由器功能。
此 API 提供用于以下用途的接口:
• 非 TP 或 TP PDU 的接收指示
• 非 TP 或 TP PDU 的发送确认
• 非 TP PDU 的 TriggerTransmit 调用
• 请求 TP 接收缓冲区或 TP 发送缓冲区
PDU 路由器提供的总线接口是:
• CAN
• FlexRay
• LIN
Rationale(原理) 需要 API 来使用 PDU 路由器的功能。
Use Case(用例) • CAN 接口通知接收到的非 TP PDU 的接收。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.2.2.6 [SRS_PduR_06121] 应支持 J1939 TP 作为 CAN TPISO 15765-2)的替代

字段 内容
Type(类型) Valid
Description(描述) 通过配置,PDU 路由器应支持 J1939 TP 或 CAN TPISO 15765-2),用于在 CAN 上处理长 IPDU。
Rationale(原理) 支持 JAE 1939
Use Case(用例) --
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01728, RS_BRF_01584)

6.2.2.7 [SRS_PduR_06122] PDU 路由器应提供使 COM 层能够请求取消 I-PDU 传输的方法

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器应提供使 COM 层能够请求取消 I-PDU 传输的方法。
Rationale(原理) 需要释放 FlexRay 接口中的缓冲区。
Use Case(用例) 取消过时的 I-PDU。
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01584)

6.2.2.8 [SRS_PduR_06123] PDU 路由器应提供供总线网络管理使用的接口(API),以使用 PDU 路由器功能用于部分网络化

字段 内容
Type(类型) Valid
Description(描述) PDU 路由器提供供总线网络管理使用的接口,以使用 PDU 路由器功能用于部分网络化。
此 API 提供用于以下用途的接口:
• NM PDU 的接收指示
• NM PDU 的发送确认
• NM PDU 的 TriggerTransmit 调用
PDU 路由器提供的总线 NM 接口是:
• CAN
• FlexRay
Rationale(原理) 需要 API 来在连接的模块中使用 PDU 路由器实现部分网络化功能。
Use Case(用例) • CAN 网络管理或 FlexRay 网络管理通知部分网络请求信息的更改
• CAN 网络管理或 FlexRay 网络管理确认 NM PDU 的成功发送
• CAN 网络管理或 FlexRay 网络管理请求 NM 用户数据
Dependencies(依赖) --
Supporting Material(支持材料) --

⌋( RS_BRF_01088, RS_BRF_01584)

7 References

7.1 Deliverables of AUTOSAR

[DOC_LAYERED_ARCH] Layered Software Architecture AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf

[DOC_COMSTACK_TYPES] Specification of Communication Stack Types AUTOSAR_SWS_CommunicationStackTypes.pdf

[DOC_COM_SRS] Requirements on Communication AUTOSAR_SRS_COM.pdf

[DOC_ GLOSSARY] Glossary AUTOSAR_TR_Glossary.pdf

[DOC_GENERAL_SRS] General Requirements on Basic Software Modules AUTOSAR_SRS_BSWGeneral.pdf

[TPS_STDT_0078] Software Standardization Template AUTOSAR_TPS_StandardizationTemplate.pdf

[DOC_ISO_TP] ISO transport protocol specification http://www.iso.org

翻译说明

本文档为 AUTOSAR Classic Platform Release 4.4.0 中关于 Gateway(网关)的软件需求规范(SRS),对应英文文档 AUTOSAR_SRS_Gateway.pdf

翻译过程中遵循以下原则:

  1. 保留了所有 API 标识符、模块缩写、协议名(如 PduR、COM、DCM、IPDUM、CAN、LIN、FlexRay、TP、OBD、J1939 等)
  2. 保留了所有需求 ID(如 SRS_PduR_06xxx
  3. 保留了 AUTOSAR 方框符 ⌈⌋
  4. 保留了所有 ISO 标准引用和文档间交叉引用
  5. 表格内容、章节描述、需求说明均已翻译为中文