P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)
This commit is contained in:
@@ -0,0 +1,307 @@
|
||||
# TTCAN 驱动规范 (Specification of TTCAN Driver)
|
||||
|
||||
> **AUTOSAR CP Release 4.4.0**
|
||||
> **文档 ID 445: AUTOSAR_SWS_TTCANDriver**
|
||||
|
||||
## 元信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
| --- | --- |
|
||||
| 文档标题 | TTCAN 驱动规范 |
|
||||
| 文档所有者 | AUTOSAR |
|
||||
| 文档责任方 | AUTOSAR |
|
||||
| 文档标识号 | 445 |
|
||||
| 文档状态 | 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 驱动** (TTCAN) 的功能、API 和配置。
|
||||
|
||||
TTCAN 驱动是 CAN 驱动的扩展,增加了时间触发能力。它支持 ISO 11898-4 Level 1 和 Level 2。
|
||||
|
||||
---
|
||||
|
||||
## 2. 缩略语
|
||||
|
||||
| 缩略语 | 描述 |
|
||||
| --- | --- |
|
||||
| API | Application Programming Interface |
|
||||
| BSW | Basic Software |
|
||||
| CAN | Controller Area Network |
|
||||
| CanDrv | CAN Driver |
|
||||
| DET | Default Error Tracer |
|
||||
| ISR | Interrupt Service Routine |
|
||||
| L1 | TTCAN Level 1 |
|
||||
| L2 | TTCAN Level 2 |
|
||||
| MCAL | Microcontroller Abstraction Layer |
|
||||
| NTU | Network Time Unit |
|
||||
| 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 CAN Driver
|
||||
- [5] Specification of TTCAN Interface
|
||||
- [6] Specification of Default Error Tracer
|
||||
- [7] Specification of ECU Configuration
|
||||
- [8] Basic Software Module Description Template
|
||||
- [9] General Specification of Basic Software Modules
|
||||
|
||||
### 3.2 相关标准
|
||||
|
||||
- [10] ISO 11898-4:2004
|
||||
|
||||
### 3.3 相关规范
|
||||
SWS BSW General [9] 适用。
|
||||
|
||||
---
|
||||
|
||||
## 4. 约束与假设
|
||||
|
||||
### 4.1 限制
|
||||
|
||||
TTCAN 驱动支持的硬件应符合 ISO 11898-4 标准。
|
||||
|
||||
### 4.2 适用车域
|
||||
|
||||
适用于使用 TTCAN 的车域。
|
||||
|
||||
---
|
||||
|
||||
## 5. 与其他模块的依赖
|
||||
|
||||
| 模块 | 依赖关系 |
|
||||
| --- | --- |
|
||||
| CanIfTTCAN | 上层模块 |
|
||||
| MCAL | 硬件抽象 |
|
||||
| EcuM | ECU 状态管理 |
|
||||
| Os | 调度 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 需求可追溯性
|
||||
|
||||
| 需求 ID | 描述 | 满足者 |
|
||||
| --- | --- | --- |
|
||||
| SRS_BSW_00101 | 初始化 | SWS_TTCAN_00010 |
|
||||
| SRS_BSW_00407 | 版本信息 | SWS_TTCAN_00020 |
|
||||
| SRS_TTCAN_00001 | 时间触发支持 | SWS_TTCAN_00030 |
|
||||
| SRS_TTCAN_00010 | 矩阵处理 | SWS_TTCAN_00040 |
|
||||
|
||||
> **[摘要]** 完整需求追溯表见原文 PDF 第 15-22 页。
|
||||
|
||||
---
|
||||
|
||||
## 7. 功能规范
|
||||
|
||||
### 7.1 TTCAN 概述
|
||||
|
||||
TTCAN 通过 Master Message 和 Reference Message 提供时间触发通信。
|
||||
|
||||
### 7.2 状态机
|
||||
|
||||
| 状态 | 描述 |
|
||||
| --- | --- |
|
||||
| TTCAN_UNINIT | 模块未初始化 |
|
||||
| TTCAN_READY | 模块已初始化,等待启动 |
|
||||
| TTCAN_RUNNING | 正在 TT 通信 |
|
||||
| TTCAN_INIT_DONE | 初始化完成 |
|
||||
|
||||
### 7.3 矩阵处理
|
||||
|
||||
- Master Message 启动矩阵周期
|
||||
- Reference Message 同步时间
|
||||
- 每个 Basic Cycle 包含多个 Time Window
|
||||
|
||||
### 7.4 时间同步
|
||||
|
||||
#### 7.4.1 L1 同步
|
||||
基于 Reference Message 时刻。
|
||||
|
||||
#### 7.4.2 L2 同步
|
||||
增加 TUR 调整,精确同步。
|
||||
|
||||
### 7.5 错误分类
|
||||
|
||||
#### 7.5.1 开发错误
|
||||
|
||||
| 错误名 | 错误码 | 含义 |
|
||||
| --- | --- | --- |
|
||||
| TTCAN_E_UNINIT | 0x01 | 未初始化 |
|
||||
| TTCAN_E_PARAM_POINTER | 0x02 | NULL 指针 |
|
||||
| TTCAN_E_PARAM_CONTROLLER | 0x03 | 无效控制器 |
|
||||
|
||||
---
|
||||
|
||||
## 8. API 规范
|
||||
|
||||
### 8.1 导入类型
|
||||
|
||||
| 模块 | 头文件 | 导入类型 |
|
||||
| --- | --- | --- |
|
||||
| Can | Can.h | Can_PduType, Can_ReturnType |
|
||||
| ComStack_Types | ComStack_Types.h | NetworkHandleType |
|
||||
| Std_Types | Std_Types.h | Std_ReturnType, Std_VersionInfoType |
|
||||
|
||||
### 8.2 类型定义
|
||||
|
||||
#### 8.2.1 TTCAN_ConfigType
|
||||
```c
|
||||
typedef struct TTCAN_ConfigType TTCAN_ConfigType;
|
||||
```
|
||||
|
||||
#### 8.2.2 TTCAN_TimeType
|
||||
```c
|
||||
typedef uint32 TTCAN_TimeType;
|
||||
```
|
||||
|
||||
#### 8.2.3 TTCAN_SyncStateType
|
||||
```c
|
||||
typedef enum {
|
||||
TTCAN_SYNC_OFF,
|
||||
TTCAN_PRE_SYNC,
|
||||
TTCAN_IN_SYNC,
|
||||
TTCAN_LOST_SYNC
|
||||
} TTCAN_SyncStateType;
|
||||
```
|
||||
|
||||
### 8.3 函数定义
|
||||
|
||||
#### 8.3.1 TTCAN_Init
|
||||
```c
|
||||
void TTCAN_Init(const TTCAN_ConfigType* Config)
|
||||
```
|
||||
|
||||
#### 8.3.2 TTCAN_GetVersionInfo
|
||||
```c
|
||||
void TTCAN_GetVersionInfo(Std_VersionInfoType* versioninfo)
|
||||
```
|
||||
|
||||
#### 8.3.3 TTCAN_Transmit
|
||||
```c
|
||||
Std_ReturnType TTCAN_Transmit(
|
||||
Can_HwHandleType Hth,
|
||||
const Can_PduType* PduInfo
|
||||
)
|
||||
```
|
||||
|
||||
#### 8.3.4 TTCAN_GetSyncState
|
||||
```c
|
||||
Std_ReturnType TTCAN_GetSyncState(
|
||||
uint8 Controller,
|
||||
TTCAN_SyncStateType* StatePtr
|
||||
)
|
||||
```
|
||||
|
||||
#### 8.3.5 TTCAN_GetTimeValue
|
||||
```c
|
||||
Std_ReturnType TTCAN_GetTimeValue(
|
||||
uint8 Controller,
|
||||
TTCAN_TimeType* TimeValue
|
||||
)
|
||||
```
|
||||
|
||||
#### 8.3.6 TTCAN_SetMatrixCycleStart
|
||||
```c
|
||||
Std_ReturnType TTCAN_SetMatrixCycleStart(
|
||||
uint8 Controller,
|
||||
TTCAN_TimeType MatrixCycleStart
|
||||
)
|
||||
```
|
||||
|
||||
#### 8.3.7 TTCAN_StartCommunication / TTCAN_StopCommunication
|
||||
启动/停止 TT 通信。
|
||||
|
||||
### 8.4 回调通知
|
||||
|
||||
#### 8.4.1 TTCAN_TT_RxIndication
|
||||
TT 时间触发 RX 指示。
|
||||
|
||||
#### 8.4.2 TTCAN_TT_TxConfirmation
|
||||
TT 发送确认。
|
||||
|
||||
#### 8.4.3 TTCAN_GlobalTimeSyncEvent
|
||||
全局时间同步事件。
|
||||
|
||||
### 8.5 期望接口
|
||||
|
||||
#### 8.5.1 强制接口
|
||||
- CanIf_TTRxIndication
|
||||
- CanIf_TTTxConfirmation
|
||||
- CanIf_TTGlobalTimeSyncEvent
|
||||
- Det_ReportError
|
||||
|
||||
---
|
||||
|
||||
## 9. 时序图
|
||||
|
||||
> **[摘要]** 详细时序图见原文 PDF 第 38-44 页。
|
||||
|
||||
---
|
||||
|
||||
## 10. 配置规范
|
||||
|
||||
### 10.1 容器与配置参数
|
||||
|
||||
#### 10.1.1 TTCAN
|
||||
根容器。
|
||||
|
||||
#### 10.1.2 TTCANGeneral
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| TTCANDevErrorDetect | bool | DET 启用 |
|
||||
| TTCANVersionInfoApi | bool | 版本信息 API |
|
||||
| TTCANLevel | enum | TTCAN_L1 / TTCAN_L2 |
|
||||
| TTCANNTU | float | NTU 长度(秒) |
|
||||
|
||||
#### 10.1.3 TTCANController
|
||||
TTCAN 控制器配置(MasterCycle、ReferenceMessage 等)。
|
||||
|
||||
#### 10.1.4 TTCANTriggerMessage
|
||||
触发消息配置。
|
||||
|
||||
> **[摘要]** 完整配置详见原文 PDF 第 45-54 页。
|
||||
|
||||
---
|
||||
|
||||
## 翻译说明
|
||||
|
||||
- 本译本基于 AUTOSAR CP 4.4.0 的 TTCAN 驱动规范 (Document ID 445,共 54 页)
|
||||
- 摘要标记位置:第 6 章需求追溯、第 9 章时序图、第 10 章配置
|
||||
Reference in New Issue
Block a user