AUTOSAR图解==>AUTOSAR_SRS_TTCAN
AUTOSAR TTCAN 时间触发通信解析
目录
- 1. 概述
- 2. TTCAN架构设计
- 2.1 整体架构
- 2.2 组件集成
- 2.3 错误处理机制
- 3. 功能需求分析
- 3.1 TTCAN支持功能
- 3.2 CAN驱动扩展功能
- 3.3 CAN接口扩展功能
- 4. 非功能需求分析
- 4.1 与CAN栈集成要求
- 5. 总结
1. 概述
TTCAN(Time Triggered CAN)是传统CAN(Controller Area Network)协议的扩展,提供了时间触发通信功能,使CAN总线能够支持确定性的实时通信。TTCAN在ISO 11898-4标准中定义,是AUTOSAR基础软件模块中支持的通信协议之一。
TTCAN的主要特点包括:
- 确定性通信:通过时间触发机制提供确定性的消息传输
- 时间同步:支持网络时间同步,使各节点保持时间一致性
- 事件同步:支持事件同步的时间触发通信,允许外部事件触发消息传输
- 错误处理:提供严格的错误处理机制,增强网络可靠性
AUTOSAR中的TTCAN实现遵循ISO 11898-4标准,支持TTCAN Level 1和Level 2,并与现有CAN栈无缝集成。
2. TTCAN架构设计
2.1 整体架构
TTCAN在AUTOSAR架构中的位置及其与其他模块的关系如下图所示:
图2.1 AUTOSAR TTCAN架构图
TTCAN在AUTOSAR架构中的关键层次结构:
- 应用层:包含使用TTCAN通信的SWC(软件组件)
- RTE层:运行时环境,提供应用层与基础软件层的通信接口
- 基础软件层:
- 通信服务层:包含
CAN Interface
和TTCAN Interface
- ECU抽象层:包含
CAN Driver
和TTCAN Driver
- MCU抽象层:包含
MCU Driver
,与硬件直接交互
- 通信服务层:包含
- 硬件层:包含
CAN Controller
和TTCAN Controller
硬件
TTCAN接口和驱动模块的主要职责:
-
TTCAN接口职责:
- 管理作业列表(
Job List
) - 处理时间标记(
Time Marks
) - 处理严重错误(
S3
)通知
- 管理作业列表(
-
TTCAN驱动职责:
- 支持ISO 11898-4时间触发通信
- 配置时间窗口和硬件对象映射
- 提供同步和时间参数控制
- 处理严重错误(
S3
)恢复
2.2 组件集成
TTCAN组件与标准CAN栈的集成关系如下图所示:
图2.2 AUTOSAR TTCAN组件集成图
TTCAN组件集成的关键特点:
-
功能扩展方式:
- TTCAN实现为
CAN Interface
和CAN Driver
的扩展组件 - 复用现有CAN栈功能,避免代码重复
- 通过特定接口提供TTCAN增强功能
- TTCAN实现为
-
接口扩展:
- CAN接口API:标准CAN通信API
- TTCAN配置接口:提供TTCAN特定配置能力
- TTCAN操作接口:提供TTCAN运行时控制
- CAN总线硬件接口:与标准CAN硬件交互
- TTCAN控制接口:与TTCAN控制器特定功能交互
-
扩展组件职责:
- TTCAN接口扩展:
- 实现
Job List
管理 - 支持
Time Marks
配置 - 处理
S3
错误通知
- 实现
- TTCAN驱动扩展:
- 支持ISO 11898-4 TTCAN L1/L2
- 提供硬件对象到时间窗口的映射
- 支持事件同步的时间触发通信
- 提供TTCAN配置接口
- TTCAN接口扩展:
这种集成方式确保了TTCAN功能与标准CAN栈的完全兼容,同时避免了重复实现基础功能。
2.3 错误处理机制
TTCAN错误处理状态机如下图所示:
图2.3 AUTOSAR TTCAN错误状态处理图
TTCAN错误处理机制包含以下关键状态:
-
正常操作状态:
- TTCAN正常工作状态
- 处理常规通信请求
-
错误级别S1(轻微错误):
- 帧序列计数错误
- 无需特殊处理
- 可自动恢复到正常状态
-
错误级别S2(需警告处理):
- 同步错误
- 调度错误
- 系统仍可运行
- 通常可自动同步恢复
-
错误级别S3(严重错误):
- 连续性错误
- 时间传输错误
- 看门狗超时
- 需要软件干预恢复
- 不可自动恢复
-
S3错误恢复(软件处理):
- 通知
CAN Interface
- 进入受控恢复流程
- 通知
-
BusOff处理:
- 按照CAN
BusOff
逻辑处理 - 需要软件驱动恢复
- 无自动恢复机制
- 按照CAN
根据SRS_TtCan_41009
要求,严重错误(S3
)不允许自动恢复,必须由软件驱动恢复过程,并按照CAN的BusOff
事件处理逻辑进行恢复。
3. 功能需求分析
根据AUTOSAR要求规范(SRS_TTCAN),TTCAN模块需要满足以下功能需求:
3.1 TTCAN支持功能
-
ISO 11898-4支持 [
SRS_TtCan_41001
]:- CAN栈必须支持ISO 11898-4标准定义的时间触发通信
- 必须支持TTCAN Level 1和Level 2
- 支持材料:ISO 11898-4:2004标准
-
与CAN栈集成 [
SRS_TtCan_41002
]:- TTCAN组件必须集成到现有CAN栈中
- 通过API扩展和类型定义提供TTCAN功能
- 避免代码重复,优化资源使用
3.2 CAN驱动扩展功能
-
硬件对象映射 [
SRS_TtCan_41003
]:- 硬件对象须可映射到ISO 11898中定义的所有类型时间窗口
- 配置可在预编译时、链接时或后构建时进行
- 使得硬件对象可配置为在特定时间窗口发送或接收消息
-
配置接口支持 [
SRS_TtCan_41014
]:- ISO 11898-4:2004第10章定义的配置接口必须可配置
- 配置参数允许为预编译时、链接时或后构建时类型
-
Application_Watchdog配置 [
SRS_TtCan_41004
]:- ISO 11898-4:2004第10.1.2.7章节定义的
Appl_Watchdog_Limit
必须可配置 - 配置参数允许为预编译时、链接时或后构建时类型
- ISO 11898-4:2004第10.1.2.7章节定义的
-
时间参数控制 [
SRS_TtCan_41005
]:- 必须提供影响时间参数和提供同步信息的手段
- 支持计时参数、同步状态和主状态控制
- 若TTCAN控制器为时序主控,必须可在运行时调整时间参数
-
事件同步支持 [
SRS_TtCan_41006
]:- 必须支持事件同步的时间触发通信
- 满足ISO 11898-4:2004第5.2.3章节要求
- 用于将通信与外部事件同步
-
事件指示 [
SRS_TtCan_41007
]:- 必须根据ISO 11898-4:2004第10.2.2章节"中断状态向量"指示发生的事件
- 使应用程序能够对发生的事件做出反应
-
严重错误通知 [
SRS_TtCan_41008
]:- 启用TTCAN功能的CAN驱动必须在TTCAN控制器进入错误级别
S3
时提供通知 - 通过调用CAN接口中实现的静态(非可配置)回调函数进行通知
- 启用TTCAN功能的CAN驱动必须在TTCAN控制器进入错误级别
-
严重错误恢复 [
SRS_TtCan_41009
]:- 不得自动从严重错误(
S3
)恢复 - 恢复过程必须由软件驱动
- 遵循ISO 11898-4:2004第9章故障处理规范
- 不得自动从严重错误(
3.3 CAN接口扩展功能
-
作业列表配置 [
SRS_TtCan_41010
]:- 必须可配置作业列表(
Job List
) - 在预编译时配置,且按控制器配置
- 用于处理
BasicCAN
硬件对象
- 必须可配置作业列表(
-
作业列表执行 [
SRS_TtCan_41011
]:- 如果作业列表可用,必须由单独的作业列表执行函数执行
- 作业列表执行函数可在任务或中断上下文中调用
- 用于处理
BasicCAN
硬件对象
-
时间标记配置 [
SRS_TtCan_41012
]:- ISO 11898-4:2004中的"时间标记"必须可配置
- 在预编译时配置
-
严重错误处理 [
SRS_TtCan_41013
]:- 发生的严重错误(
S3
)必须按照BusOff
处理 - 处理和恢复方式与
BusOff
事件相同 - 参考CAN SRS中的
SRS_Can_01029
- 发生的严重错误(
4. 非功能需求分析
4.1 与CAN栈集成要求
TTCAN的非功能需求主要集中在与现有CAN栈的集成方面:
-
集成策略 [
SRS_TtCan_41002
]:- TTCAN组件必须集成到现有CAN栈中
- CAN栈不得重复存在(代码优化)
- 通过API、类型定义和功能扩展提供TTCAN支持
-
资源优化:
- 复用现有CAN栈功能,避免代码冗余
- 通过功能扩展方式实现,而非独立模块
- 确保内存和CPU资源高效使用
-
配置一致性:
- TTCAN配置必须与CAN配置保持一致
- 预编译时、链接时和后构建时配置支持
- 确保配置管理的统一性
-
错误处理一致性:
- TTCAN错误处理与现有CAN错误处理保持一致
- 严重错误(
S3
)与BusOff
事件处理逻辑相同 - 确保上层应用对错误处理的一致性体验
5. 总结
AUTOSAR TTCAN扩展为传统CAN通信提供了确定性时间触发能力,满足了对实时性要求较高的应用场景需求。通过分析TTCAN的架构、功能需求和非功能需求,我们可以总结出以下关键点:
-
架构特点:
- 作为CAN栈的功能扩展实现,确保资源优化
- 清晰的层次结构,与AUTOSAR整体架构保持一致
- 模块化设计,实现功能和职责明确分离
-
功能优势:
- 支持确定性通信,提高系统实时性
- 提供时间同步和事件同步机制
- 完善的错误处理和恢复机制
- 灵活的配置选项支持不同应用需求
-
应用场景:
- 需要高确定性的实时控制系统
- 要求精确时间同步的分布式系统
- 安全关键型应用,如动力总成控制、底盘控制
- 需要事件触发与时间触发结合的混合通信场景
TTCAN通过在AUTOSAR架构中的无缝集成,为汽车电子控制系统提供了强大的通信机制,能够满足现代汽车对高可靠性、高确定性实时通信的需求。