301 lines
6.6 KiB
Markdown
301 lines
6.6 KiB
Markdown
# 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. 介绍](#1-介绍)
|
|
- [2. 缩略语](#2-缩略语)
|
|
- [3. 相关文档](#3-相关文档)
|
|
- [4. 约束与假设](#4-约束与假设)
|
|
- [5. 与其他模块的依赖](#5-与其他模块的依赖)
|
|
- [6. 需求可追溯性](#6-需求可追溯性)
|
|
- [7. 功能规范](#7-功能规范)
|
|
- [8. API 规范](#8-api-规范)
|
|
- [9. 时序图](#9-时序图)
|
|
- [10. 配置规范](#10-配置规范)
|
|
|
|
---
|
|
|
|
## 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
|
|
```c
|
|
typedef struct CanIfTT_ConfigType CanIfTT_ConfigType;
|
|
```
|
|
|
|
### 8.3 函数定义
|
|
|
|
#### 8.3.1 CanIf_Init
|
|
```c
|
|
void CanIf_Init(const CanIf_ConfigType* ConfigPtr)
|
|
```
|
|
|
|
#### 8.3.2 CanIf_Transmit
|
|
```c
|
|
Std_ReturnType CanIf_Transmit(
|
|
PduIdType TxPduId,
|
|
const PduInfoType* PduInfoPtr
|
|
)
|
|
```
|
|
|
|
#### 8.3.3 CanIf_TTGetSyncState
|
|
```c
|
|
Std_ReturnType CanIf_TTGetSyncState(
|
|
uint8 Controller,
|
|
TTCAN_SyncStateType* SyncStatePtr
|
|
)
|
|
```
|
|
获取当前同步状态。
|
|
|
|
#### 8.3.4 CanIf_TTGetTimeValue
|
|
```c
|
|
Std_ReturnType CanIf_TTGetTimeValue(
|
|
uint8 Controller,
|
|
TTCAN_TimeType* TimeValuePtr
|
|
)
|
|
```
|
|
获取当前 TT 时间。
|
|
|
|
#### 8.3.5 CanIf_TTSetTimeBaseRef
|
|
```c
|
|
Std_ReturnType CanIf_TTSetTimeBaseRef(
|
|
uint8 Controller,
|
|
TTCAN_TimeType TimeBaseRef
|
|
)
|
|
```
|
|
|
|
#### 8.3.6 CanIf_TTSetMatrixCycleStart
|
|
```c
|
|
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 章配置
|