当前位置: 首页 > news >正文

AUTOSAR图解==>AUTOSAR_SRS_TTCAN

AUTOSAR TTCAN 时间触发通信解析

深入解析AUTOSAR时间触发CAN通信协议的特性、架构与实现

目录

  • 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架构中的关键层次结构:

  1. 应用层:包含使用TTCAN通信的SWC(软件组件)
  2. RTE层:运行时环境,提供应用层与基础软件层的通信接口
  3. 基础软件层
    • 通信服务层:包含CAN InterfaceTTCAN Interface
    • ECU抽象层:包含CAN DriverTTCAN Driver
    • MCU抽象层:包含MCU Driver,与硬件直接交互
  4. 硬件层:包含CAN ControllerTTCAN Controller硬件

TTCAN接口和驱动模块的主要职责:

  • TTCAN接口职责

    • 管理作业列表(Job List
    • 处理时间标记(Time Marks
    • 处理严重错误(S3)通知
  • TTCAN驱动职责

    • 支持ISO 11898-4时间触发通信
    • 配置时间窗口和硬件对象映射
    • 提供同步和时间参数控制
    • 处理严重错误(S3)恢复

2.2 组件集成

TTCAN组件与标准CAN栈的集成关系如下图所示:

在这里插入图片描述

图2.2 AUTOSAR TTCAN组件集成图

TTCAN组件集成的关键特点:

  1. 功能扩展方式

    • TTCAN实现为CAN InterfaceCAN Driver的扩展组件
    • 复用现有CAN栈功能,避免代码重复
    • 通过特定接口提供TTCAN增强功能
  2. 接口扩展

    • CAN接口API:标准CAN通信API
    • TTCAN配置接口:提供TTCAN特定配置能力
    • TTCAN操作接口:提供TTCAN运行时控制
    • CAN总线硬件接口:与标准CAN硬件交互
    • TTCAN控制接口:与TTCAN控制器特定功能交互
  3. 扩展组件职责

    • TTCAN接口扩展
      • 实现Job List管理
      • 支持Time Marks配置
      • 处理S3错误通知
    • TTCAN驱动扩展
      • 支持ISO 11898-4 TTCAN L1/L2
      • 提供硬件对象到时间窗口的映射
      • 支持事件同步的时间触发通信
      • 提供TTCAN配置接口

这种集成方式确保了TTCAN功能与标准CAN栈的完全兼容,同时避免了重复实现基础功能。

2.3 错误处理机制

TTCAN错误处理状态机如下图所示:

在这里插入图片描述

图2.3 AUTOSAR TTCAN错误状态处理图

TTCAN错误处理机制包含以下关键状态:

  1. 正常操作状态

    • TTCAN正常工作状态
    • 处理常规通信请求
  2. 错误级别S1(轻微错误)

    • 帧序列计数错误
    • 无需特殊处理
    • 可自动恢复到正常状态
  3. 错误级别S2(需警告处理)

    • 同步错误
    • 调度错误
    • 系统仍可运行
    • 通常可自动同步恢复
  4. 错误级别S3(严重错误)

    • 连续性错误
    • 时间传输错误
    • 看门狗超时
    • 需要软件干预恢复
    • 不可自动恢复
  5. S3错误恢复(软件处理)

    • 通知CAN Interface
    • 进入受控恢复流程
  6. BusOff处理

    • 按照CAN BusOff逻辑处理
    • 需要软件驱动恢复
    • 无自动恢复机制

根据SRS_TtCan_41009要求,严重错误(S3)不允许自动恢复,必须由软件驱动恢复过程,并按照CAN的BusOff事件处理逻辑进行恢复。


3. 功能需求分析

根据AUTOSAR要求规范(SRS_TTCAN),TTCAN模块需要满足以下功能需求:

3.1 TTCAN支持功能

  1. ISO 11898-4支持 [SRS_TtCan_41001]:

    • CAN栈必须支持ISO 11898-4标准定义的时间触发通信
    • 必须支持TTCAN Level 1和Level 2
    • 支持材料:ISO 11898-4:2004标准
  2. 与CAN栈集成 [SRS_TtCan_41002]:

    • TTCAN组件必须集成到现有CAN栈中
    • 通过API扩展和类型定义提供TTCAN功能
    • 避免代码重复,优化资源使用

3.2 CAN驱动扩展功能

  1. 硬件对象映射 [SRS_TtCan_41003]:

    • 硬件对象须可映射到ISO 11898中定义的所有类型时间窗口
    • 配置可在预编译时、链接时或后构建时进行
    • 使得硬件对象可配置为在特定时间窗口发送或接收消息
  2. 配置接口支持 [SRS_TtCan_41014]:

    • ISO 11898-4:2004第10章定义的配置接口必须可配置
    • 配置参数允许为预编译时、链接时或后构建时类型
  3. Application_Watchdog配置 [SRS_TtCan_41004]:

    • ISO 11898-4:2004第10.1.2.7章节定义的Appl_Watchdog_Limit必须可配置
    • 配置参数允许为预编译时、链接时或后构建时类型
  4. 时间参数控制 [SRS_TtCan_41005]:

    • 必须提供影响时间参数和提供同步信息的手段
    • 支持计时参数、同步状态和主状态控制
    • 若TTCAN控制器为时序主控,必须可在运行时调整时间参数
  5. 事件同步支持 [SRS_TtCan_41006]:

    • 必须支持事件同步的时间触发通信
    • 满足ISO 11898-4:2004第5.2.3章节要求
    • 用于将通信与外部事件同步
  6. 事件指示 [SRS_TtCan_41007]:

    • 必须根据ISO 11898-4:2004第10.2.2章节"中断状态向量"指示发生的事件
    • 使应用程序能够对发生的事件做出反应
  7. 严重错误通知 [SRS_TtCan_41008]:

    • 启用TTCAN功能的CAN驱动必须在TTCAN控制器进入错误级别S3时提供通知
    • 通过调用CAN接口中实现的静态(非可配置)回调函数进行通知
  8. 严重错误恢复 [SRS_TtCan_41009]:

    • 不得自动从严重错误(S3)恢复
    • 恢复过程必须由软件驱动
    • 遵循ISO 11898-4:2004第9章故障处理规范

3.3 CAN接口扩展功能

  1. 作业列表配置 [SRS_TtCan_41010]:

    • 必须可配置作业列表(Job List
    • 在预编译时配置,且按控制器配置
    • 用于处理BasicCAN硬件对象
  2. 作业列表执行 [SRS_TtCan_41011]:

    • 如果作业列表可用,必须由单独的作业列表执行函数执行
    • 作业列表执行函数可在任务或中断上下文中调用
    • 用于处理BasicCAN硬件对象
  3. 时间标记配置 [SRS_TtCan_41012]:

    • ISO 11898-4:2004中的"时间标记"必须可配置
    • 在预编译时配置
  4. 严重错误处理 [SRS_TtCan_41013]:

    • 发生的严重错误(S3)必须按照BusOff处理
    • 处理和恢复方式与BusOff事件相同
    • 参考CAN SRS中的SRS_Can_01029

4. 非功能需求分析

4.1 与CAN栈集成要求

TTCAN的非功能需求主要集中在与现有CAN栈的集成方面:

  1. 集成策略 [SRS_TtCan_41002]:

    • TTCAN组件必须集成到现有CAN栈中
    • CAN栈不得重复存在(代码优化)
    • 通过API、类型定义和功能扩展提供TTCAN支持
  2. 资源优化

    • 复用现有CAN栈功能,避免代码冗余
    • 通过功能扩展方式实现,而非独立模块
    • 确保内存和CPU资源高效使用
  3. 配置一致性

    • TTCAN配置必须与CAN配置保持一致
    • 预编译时、链接时和后构建时配置支持
    • 确保配置管理的统一性
  4. 错误处理一致性

    • TTCAN错误处理与现有CAN错误处理保持一致
    • 严重错误(S3)与BusOff事件处理逻辑相同
    • 确保上层应用对错误处理的一致性体验

5. 总结

AUTOSAR TTCAN扩展为传统CAN通信提供了确定性时间触发能力,满足了对实时性要求较高的应用场景需求。通过分析TTCAN的架构、功能需求和非功能需求,我们可以总结出以下关键点:

  1. 架构特点

    • 作为CAN栈的功能扩展实现,确保资源优化
    • 清晰的层次结构,与AUTOSAR整体架构保持一致
    • 模块化设计,实现功能和职责明确分离
  2. 功能优势

    • 支持确定性通信,提高系统实时性
    • 提供时间同步和事件同步机制
    • 完善的错误处理和恢复机制
    • 灵活的配置选项支持不同应用需求
  3. 应用场景

    • 需要高确定性的实时控制系统
    • 要求精确时间同步的分布式系统
    • 安全关键型应用,如动力总成控制、底盘控制
    • 需要事件触发与时间触发结合的混合通信场景

TTCAN通过在AUTOSAR架构中的无缝集成,为汽车电子控制系统提供了强大的通信机制,能够满足现代汽车对高可靠性、高确定性实时通信的需求。

http://www.xdnf.cn/news/516727.html

相关文章:

  • CPU、核心、进程、线程、协程的定义及关系
  • 基于DeepSeek API构建带记忆的对话系统:技术实现详解
  • 网络的知识的一些概念
  • 代码案例分析
  • 文件IO之标准IO
  • AGI大模型(23):LangChain框架快速入门之LangChain介绍
  • Linux基础指令
  • 目标检测评估指标mAP详解:原理与代码
  • Python文件IO、pip管理及内置模块实战解析
  • 编译原理--期末复习
  • 论文学习:《引入TEC - LncMir,通过对RNA序列的深度学习来预测lncRNA - miRNA的相互作用》
  • 王者荣耀游戏测试场景题
  • RISC-V 开发板 MUSE Pi Pro V2D图像加速器测试,踩坑介绍
  • 20250518 强化命题
  • Vue3学习(Vue3.3新特性——defineOptions宏)
  • 基于 AT89C51 的多路智力竞赛抢答器设计与实现
  • 【ComfyUI】关于ComfyUI的一些基础知识和入门设置以及快捷键小技巧【简单易懂】
  • 【Vue篇】数据秘语:从watch源码看响应式宇宙的蝴蝶效应
  • etcd基础
  • 2026武汉门窗门业移门木门铝艺门智能锁展会3月国博举办
  • OpenCV-图像分割
  • 基于 STM32 的全自动洗车监控系统设计与实现
  • AI Agent开发第70课-彻底消除RAG知识库幻觉(4)-解决知识库问答时语料“总重复”问题
  • 【Linux网络编程】Socket编程-Socket理论入门
  • 【深度学习】#12 计算机视觉
  • 31、魔法生物图鉴——React 19 Web Workers
  • 系分论文《论信息系统缓存的分析和应用》
  • 从代码学习深度学习 - 近似训练 PyTorch版
  • 什么是着色器 Shader
  • fme条件属性值