6.6 KiB
6.6 KiB
TTCAN 接口规范 (Specification of TTCAN Interface)
AUTOSAR CP Release 4.4.0 文档 ID 444: AUTOSAR_SWS_TTCANInterface
元信息
| 项目 | 内容 |
|---|---|
| 文档标题 | TTCAN 接口规范 |
| 文档所有者 | AUTOSAR |
| 文档责任方 | AUTOSAR |
| 文档标识号 | 444 |
| 文档状态 | Final |
| 所属 AUTOSAR 标准 | Classic Platform |
| 所属标准版本 | 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 | 增加时间触发支持 |
| 2015-07-31 | 4.2.2 | AUTOSAR Release Management | 编辑修正 |
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | 初版正式 |
目录
1. 介绍
本规范规定了 AUTOSAR 基础软件模块 TTCAN 接口 (CanIfTTCAN) 的功能、API 和配置。
TTCAN(Time Triggered CAN)是基于 ISO 11898-4 的时间触发 CAN 协议,提供确定性消息调度。
TTCAN 接口模块作为传统 CAN 接口的扩展,提供:
- 时间触发消息发送/接收
- 全局时间同步
- TTCAN 矩阵处理(主消息、TUR、参考消息)
2. 缩略语
| 缩略语 | 描述 |
|---|---|
| API | Application Programming Interface |
| BSW | Basic Software |
| CAN | Controller Area Network |
| CanIf | CAN Interface |
| DET | Default Error Tracer |
| ECU | Electronic Control Unit |
| L1 | TTCAN Level 1 |
| L2 | TTCAN Level 2 |
| MCAL | Microcontroller Abstraction Layer |
| TT | Time Triggered |
| TTCAN | Time Triggered CAN |
| TUR | Time Unit Ratio |
3. 相关文档
3.1 输入文档
- [1] Layered Software Architecture
- [2] General Requirements on Basic Software Modules
- [3] Specification of Standard Types
- [4] Specification of TTCAN Driver
- [5] Specification of CAN Interface
- [6] Specification of PDU Router
- [7] Specification of Default Error Tracer
- [8] Specification of Communication Stack Types
- [9] Basic Software Module Description Template
- [10] Specification of ECU Configuration
- [11] General Specification of Basic Software Modules
3.2 相关标准
- [12] ISO 11898-4:2004, Road vehicles -- Controller area network (CAN) -- Part 4: Time-triggered communication
3.3 相关规范
SWS BSW General [11] 适用。
4. 约束与假设
4.1 限制
TTCAN 接口扩展 CanIf;原 CanIf 所有限制适用。
4.2 适用车域
适用于使用 TTCAN 的车域。
5. 与其他模块的依赖
| 模块 | 依赖关系 |
|---|---|
| CanIf | TTCAN 接口扩展 CanIf 功能 |
| CanDrv | 实际硬件访问 |
| PduR | 上层路由 |
| Os | 时间同步 |
| Det | 错误上报 |
6. 需求可追溯性
| 需求 ID | 描述 | 满足者 |
|---|---|---|
| SRS_BSW_00101 | 初始化 | SWS_CanIf_00010 |
| SRS_BSW_00407 | 版本信息 | SWS_CanIf_00159 |
| SRS_TTCAN_00010 | 时间触发发送 | SWS_CanIf_TTCAN_00010 |
[摘要] 完整需求追溯表见原文 PDF 第 15-21 页。
7. 功能规范
7.1 TTCAN 概述
TTCAN 是 CAN 总线的扩展,提供 Time-Triggered 通信。两级:
- L1 (Level 1):基本时间触发,无全局时间同步
- L2 (Level 2):具有全局时间同步,可处理时间漂移
7.2 系统矩阵
TTCAN 通信基于 系统矩阵:
- 由 Master Message 启动
- 含 Reference Message 同步时间
- 多个 Time Window 提供发送/接收槽
7.3 全局时间同步
- 参考消息(Reference Message)提供全局时间
- TUR(Time Unit Ratio)调整本地时间
7.4 触发消息处理
7.4.1 发送
- [SWS_CanIf_TTCAN_00010] ⌈基于发送触发,接口启动 PDU 发送。⌋
7.4.2 接收
触发的接收时间窗口启动接收。
7.5 错误分类
7.5.1 开发错误
| 错误名 | 错误码 | 含义 |
|---|---|---|
| CANIF_E_PARAM_CANID | 0x10 | 无效 CAN ID |
| CANIF_E_PARAM_HOH | 0x12 | 无效 HOH |
| CANIF_E_PARAM_LPDU | 0x13 | 无效 L-PDU |
| CANIF_E_UNINIT | 0x30 | 未初始化 |
8. API 规范
8.1 导入类型
继承 CanIf 的导入类型,以及:
| 模块 | 头文件 | 导入类型 |
|---|---|---|
| TTCAN | TTCAN.h | TTCAN_TimeType |
8.2 类型定义
8.2.1 CanIfTT_ConfigType
typedef struct CanIfTT_ConfigType CanIfTT_ConfigType;
8.3 函数定义
8.3.1 CanIf_Init
void CanIf_Init(const CanIf_ConfigType* ConfigPtr)
8.3.2 CanIf_Transmit
Std_ReturnType CanIf_Transmit(
PduIdType TxPduId,
const PduInfoType* PduInfoPtr
)
8.3.3 CanIf_TTGetSyncState
Std_ReturnType CanIf_TTGetSyncState(
uint8 Controller,
TTCAN_SyncStateType* SyncStatePtr
)
获取当前同步状态。
8.3.4 CanIf_TTGetTimeValue
Std_ReturnType CanIf_TTGetTimeValue(
uint8 Controller,
TTCAN_TimeType* TimeValuePtr
)
获取当前 TT 时间。
8.3.5 CanIf_TTSetTimeBaseRef
Std_ReturnType CanIf_TTSetTimeBaseRef(
uint8 Controller,
TTCAN_TimeType TimeBaseRef
)
8.3.6 CanIf_TTSetMatrixCycleStart
Std_ReturnType CanIf_TTSetMatrixCycleStart(
uint8 Controller,
TTCAN_TimeType MatrixCycleStart
)
8.3.7 CanIf_TTReadTimeBaseRef
读取时间基准。
8.4 回调通知
8.4.1 CanIf_TTRxIndication
TTCAN 时间触发接收指示。
8.4.2 CanIf_TTTxConfirmation
TT 触发发送确认。
8.4.3 CanIf_TTGlobalTimeSyncEvent
全局时间同步事件。
8.5 期望接口
8.5.1 强制接口
- TTCAN_Transmit
- TTCAN_GetTime
- PduR_CanIfRxIndication
- Det_ReportError
9. 时序图
[摘要] 详细时序图见原文 PDF 第 40-50 页。
10. 配置规范
10.1 容器与配置参数
10.1.1 CanIfTT
TTCAN 接口扩展容器。
10.1.2 CanIfTTGeneral
| 参数 | 类型 | 说明 |
|---|---|---|
| CanIfTTSupport | bool | 启用 TTCAN |
| CanIfTTGlobalTimeBase | float | 全局时基 |
10.1.3 CanIfTTController
TTCAN 控制器配置。
10.1.4 CanIfTTMessage
TTCAN 触发消息配置。
[摘要] 完整配置详见原文 PDF 第 50-60 页。
翻译说明
- 本译本基于 AUTOSAR CP 4.4.0 的 TTCAN 接口规范 (Document ID 444,共 60 页)
- 摘要标记位置:第 6 章需求追溯、第 9 章时序图、第 10 章配置