Com(Communication,通信) 是 CP 基础软件模块,位于其使用者(RTE、SwCluC)与 PDURouter 之间,提供**面向信号(Signal)**的数据接口:把信号打包成 I-PDU 发送、把收到的 I-PDU 解包成信号,并控制发送行为。
一句话定位
「信号 ↔ 报文」的翻译官:管打包 / 解包与发送模式,是通信栈里最贴近应用语义的一层。
规范信息
| 项目 | 内容 |
|---|---|
| 平台 | CP |
| 类别 | SWS — 软件模块规范(Software Specification) |
| UID | 015 |
| 版本 | R25-11 |
| 本地 PDF | AUTOSAR_CP_SWS_COM.pdf |
| 纯文本全文 | CP_SWS_COM.complete.txt |
知识体系
flowchart TD A["Com"] --> B["信号处理"] A --> C["发送控制"] A --> D["接收监控"] B --> B1["打包信号到 I-PDU"] B --> B2["解包 I-PDU 为信号"] B --> B3["字节序转换 / 符号扩展"] C --> C1["PERIODIC 周期发送"] C --> C2["DIRECT 变化即发"] C --> C3["I-PDU Group 启停"] D --> D1["接收超时监控"] D --> D2["信号过滤"] D --> D3["更新指示 / 初始值"]
核心要点
- 主功能:面向信号的收发接口;把 AUTOSAR 信号打包进待发送的 I-PDU、把收到的 I-PDU 解包;信号 / 信号组网关路由(把接收 I-PDU 的信号转入发送 I-PDU)。
- 发送控制:I-PDU Group 的启停、发送请求复制、保证发送 I-PDU 之间的最小间隔、每个 I-PDU 支持两种发送模式。
- 接收处理:接收信号超时监控、入站信号过滤、多种通知机制、初始值与更新指示、字节序转换、符号扩展。
- 大数据支持:支持大长度与动态长度数据类型。
工程实践扩展
- COM 信号编码与发送接收机制:位宽、Intel / Motorola 端序、Factor / Offset、发送与接收流程、超时和更新状态、C 数值转换示例及测试向量。
- COM 配置参数与 ARXML 信号映射实战:使用 Python 标准库盘点 ARXML 中的信号、I-PDU 与映射,输出 CSV 供工程审查。
- 通信栈工程实战与 CANoe 验证:从 RTE 到 CAN 总线的端到端跟踪与 CANoe 测试。
依赖关系
- 位于 RTE / SwCluC 与 PDURouter 之间;由 COMManager(ComM)通过 I-PDU Group 使能通信。
发送与接收的工程检查
发送方向
- 确认信号定义、DataElement 映射、I-PDU 映射和信号位布局。
- 确认 I-PDU Group 状态、发送模式、触发条件、周期和最小延迟。
- 沿 COM → PduR → CanIf → CanDrv 逐层确认请求与返回结果。
- 用 CANoe Trace 核对 CAN ID、DLC、Data、周期和总线错误。
接收方向
- 确认目标帧实际到达 ECU,检查接收过滤和 CanIf Rx PDU 配置。
- 确认 PduR 将正确 PDU 路由到 COM。
- 对照信号起始位、长度、端序、符号属性、Factor / Offset 解码。
- 独立验证超时、更新指示、无效值、过滤和替代值策略。
- 确认 RTE 数据访问和消费者 Runnable 的调度时序。
配置边界
Motorola 起始位的显示约定可能因通信矩阵格式与工具而异。不要仅凭界面上的 Start Bit 数字手工猜测;请用实际配置、已知测试向量和总线数据交叉验证。