CAN网络应用软件设计CANoeCANFD

article/2025/9/28 7:28:52
  • CAN
    • CAN网络应用
      • 简单案例
        • 典型汽车网络拓扑结构
        • 动力CAN(1)
          • 负责车辆动力和必须实时响应的安全相关ECU接入这条CAN 
        • 底盘动态CAN(2)
          • 负责底盘动态控制和辅助相关的功能的ECU接入到这条CAN
        • 信息CAN(3)
          • 负责仪表、中控相关的ECU
        • 车体CAN(4)
          • 负责车辆上和驾驶无关的一些车门、车窗、天窗、空调、电动座椅的控制相关的ECU接入到这条CAN
        • 诊断CAN(7)
          • 负责全车检测和ECU升级通道
      • 实际开发中一定是根据功能组来定义报文优先级,同一个网段发送的报文可能被网关转换成各种不同优先级的报文甚至由网关来拆分,功能越是复杂的整车网络,网关的设计就会越复杂,所以网关才是CAN网络的实际中心枢纽。
      • 诊断CAN上的报文必须遵照UDS协议,它是固定的,也不存在网关转发时转换优先级的问题,因为它本来就是优先级最低的报文了。
    • CAN软件设计
      • CAN的传输速率和同步参数
        • 传输速率
        • 系统时钟
        • 位电平采样点位置
        • 分频系数
        • 时序寄存器
      • 接收端报文过滤器
        • 把ECU需要的报文ID写入到CAN控制器的接收ID寄存器里
      • 节点在Bus Off时的行为
        • 自动退出Bus Off
        • 软件干预节点
          • 进入Bus Off状态后一直维持至软件控制退出Bus Off
          • 进入Bus Off状态后仍可硬件根据协议自动退出Bus Off状态,但在退出前可以被软件阻止退出
      • 数据收发处理
        • 接收
          • 软件轮询/操作系统调度
            • 需确定接收处理的调度周期和接收FIFO深度
        • 发送
          • 时间触发/周期触发
            • 软件可以通过操作系统调度或消息队列等形式统一处理
            • 周期触发
              • 可通过配置MCU的计时器中断或者用轮询的方式确定发送时间点
      • 错误处理
        • 由软件干预Bus Off退出行为时,如果不使用Bus Off中断,而使用轮询Bus Off状态标志寄存器来作为进入Bus Off处理条件时,在一些控制器上Bus Off状态寄存器是不锁存的,也有一些控制器是有锁存和不锁存两种寄存器同时存在的。
        • 因为ACK错误不会使节点进入Bus Off状态,所以如果ECU设计要求对全错误类型都要做软件干预处理的话,则需要在特别发送处理后关注错误状态寄存器和错误类型寄存器。当错误状态寄存器置起且错误类型寄存器为ACK错误时,要单独的进入ACK错误处理流程
    • CANoe软件页面介绍
      • CANoe软件页面
        • File:文件处理
          • 新建文件
            • File这个菜单可以新建各个各样的模板,比如CAN、LIN、以太网模板,例如: CAN 500kBaud 1ch代表CAN总线模板、波特率500k、一个通道(波特率和通道后续可修改)
          • Save
            • Save可以储存当前的CANoe工程cfg文件Save as可以储存之前版本的文件,CANoe支持高版本打开低版本
          • Sample Configurations
            • 这里边Vector带了很多的Demo示例,包含仿真系统、CAPL函数、面板控件等
          • Options
            • 这里边可进行配置,值得注意的一点就是数据历史,如果测试的数据庞大,数据中会出现丢失,数据曲线可能只录了一小段。原因就是配置中没有把缓存调大。
        • Home:主运行窗口
        • Analysis:分析
        • Simulation:仿真
        • Test:测试
        • Diagnostics:诊断
        • Environment:外部变量
        • Hardware:硬件配置
        • Tool:工具编辑器
        • Window:窗口配置
    • CANoe测试环境搭建
      • 界面介绍
        • Simulation Setup
        • Measurement Setup
      • 附加工具
        • CAPL Browser
        • CANdb++ Editor
      • CANoe相关文件格式
        • .cfg
          • CANoe项目配置文件,可以理解为工程文件
        • .dbc
          • CAN数据库文件
        • .can
          • 仿真节点程序源代码,编译后生成.cbf
      • 简易工作流程
        • 使用File> New Configuration>CAN 500k Baud 1ch> Create Configuration新建一个CANoe项目配置文件
        • 打开Simulation Setup窗口, 为仿真网络添加CAN数据库
        • 在Simulation Setup内添加仿真节点
        • 为仿真节点编写程序,语言可以使用CAPL
        • 选择全仿真网络 (Simulated bus) 或者真实网络 (Real bus),半仿真同样使用Real bus;6、运行CANoe,开始仿真或者分析
        • 通过Measurement Setup打开各个窗口观察CAN网络,通过Write窗口观察仿真程序的输出
        • 结束
      • CAN数据库
        • CAN数据库编辑工具
          • CANdb++ Editor
        • CAN数据库结构
          • 报文信号
          • 报文
          • 网络节点
          • 网关
          • 环境变量
          • ECU
          • 网络
        • CAN信号格式
          • Motorola格式
          • Intel格式
        • CAN数据库的设计
          • 新建.dbc文件
          • 建立网络节点
          • 建立报文
          • 建立信号
          • 编辑报文信号
          • 建立环境变量
      • 配置仿真设置
      • 利用CAPL添加节点说明
      • 开始仿真
      • PANEL的使用
    • CAN FD基础
      • CAN FD与CAN2.0的区别
        • 为什么是CAN FD
          • 该协议能够支持更高的速率,可以更快的刷写ECU
          • 在单个数据帧内传送率可达64字节,避免了经常发生的数据分拆传输的状况
          • 对汽车行业而言, CAN-FD协议显得非常重要, CAN线束和其他物理层面元件可重新再利用
          • 更高的带宽,在电动车以及今后的动力CAN上应用更有优势>上层应用层架构不需要改变,在原来基础上扩展即可
        • 非ISO CAN FD与ISO CAN FD不兼容
        • 关于CAN FD的波特率
          • SAE标准
          • CIA标准
        • 位时间配置建议
          • 设置tqA=tqD(可减少量化误差)
          • 使tqA尽可能短(可最小化量化误差)
          • 选择最高可用的CAN时钟频率(例如80MHz)
          • 在仲裁场和数据场中,所有节点应分别具有完全一致的采样点位置,但仲裁场和数据场的采样点位置是可以不同的
          • 设置SJWA和SJWD尽可能大(可使网络更坚固)
          • 当数据场的比特率为1Mbit/s或更高时,开启发送器环路延时补偿功能(TDC)
        • CAN FD不再支持远程帧
        • 控制场
          • EDF
            • 可变数据波特率格式
          • BRS
            • 波特率切换,隐性表示转换可变速率
          • ESI
            • 错误状态指示,隐性表示发送节点处于被动错误状态
          • res
            • 保留位
      • CAN与CAN FD网络兼容性的问题
        • 通讯速率和数据长度不同的冲突
          • 传统CAN节点以1Mbit/s 传输数据到CAN FD:直接通过 (CAN FD向下兼容)
          • CAN FD设备以8Mbit/s传输数据到传统CAN:采用CAN FD路由器:先将传统CAN FD的速率自动降为1Mbit/s再转出去
          • 传统CAN节点向 CAN FD节点传输8字节的数据:直接通过(CAN FD向下兼容)
          • CAN FD节点向传统CAN节点传输64字节的数据:采用可编程CAN FD路由器:预先编程并下载到路由器,CAN FD的数据通过路由器后可以按照预先设置的程序将数据做拆包等处理再转成8字节转发出去给传统CAN设备
        • 非ISO CAN FD与ISO CAN FD设备的通讯问题
          • 采用Router FD可以实现两种CAN FD机制的转换
        • 多个设备交叉通讯的问题,多个切换的问题,如何解决一个设备需要同时与CAN FD节点和传统CAN节点通讯的切换问题
          • 未来的CAN网络,较长时间内都会存在着传统CAN与CAN FD并存的情况。部分亟需解决速率问题的节点会率先采用CAN FD技术。其他对实时要求不高的节点仍然会保存原有技术并存在着。
        • 如何解决测试平台共用的问题?(如针对非通讯状态下的:疲劳测试,寿命测试,环境测试等,共用平台)
          • 采用Router FD可以将同一个待测的CAN FD设备连入不同的测试平台中,最终完成各项测试任务
    • CAN-FD核心技术简介
      • 在保证CAN总线上非相关节点软硬件基本不动的前提下(硬件上只需更换收发器),CAN-FD是一种性价比最好的方法
      • CAN FD核心技术
        • 提高CAN时钟源频率的前提下依然保证误差容许范围不超过9000ppm(由CPU制造商保证)
        • 自动测量隐性到显性的传播延迟时间Tloop,结合不同波特率下隐性到显性传播延迟时间的期望值,在第二采样点SSP做补偿就可以
        • 当总线上所有节点都升级到CAN-FD功能后,网络波特率最大被限制2MHz。要想在5MHz范围内保证网络通信的可靠性,就要用更好的线束,收发器,而这又是一笔不小的成本

         


http://chatgpt.dhexx.cn/article/EPivhnIP.shtml

相关文章

AutoSar之CAN网络管理

本文首发于微信公众号“汽车控制与人工智能”欢迎关注。 今天整理下AUTOSAR中的CAN网络管理。 ​AUTOSAR中网络管理主要使用了CAN接口(CanIf),并提供通用网络管理接口(NmIf)。CAN网络管理在CAN架构中所处的位置如图1,与其他模块的交互如图2。 图1 CAN架构 图2 网络管理和…

can 网络管理

网络管理主要功能: 是用来管理ECU是否在网络里面,不在的话请求加入,也就是ALIVE报文,要判断是否掉线,以及睡眠状态的转换机制,以及跛行状态判,也即是RING报文。 主要的实现逻辑流程&#xff1…

CAN网络管理唤醒功能

采用1043的can 芯片:工作模式 – 正常模式 – 具有 INH 输出以及本地和远程唤醒请求功能的待机模式 – 具有 INH 输出以及本地和远程唤醒请求的低功耗睡眠模式 状态切换流程图: CAN唤醒的需求: 唤醒请求(Wake Up Request) 唤醒请求可分为两种: ● 主动唤醒请求:来自模…

关于CAN网络管理状态

首先介绍一下,我是一名刚刚入职1个月的汽车网络测试工程师,目前主要是一边学习一边跟着公司前辈做一个项目,主要的内容就是进行通信、网络、诊断方面的测试。想以文字的形式记下自己学习的一些感想或者是经验之类的,达到巩固知识的…

AutoSar之CAN网络管理详解

​AUTOSAR中网络管理主要使用了CAN接口(CanIf),并提供通用网络管理接口(NmIf)。CAN网络管理在CAN架构中所处的位置如图1,与其他模块的交互如图2。 图1 CAN架构 图2 网络管理和其他模块的联系 AUTOSAR网络管理基于分散的直接网络管理策略,这意…

CAN网络通信

1.网络层概述 1.1综述 这部分描述了网络层的整体功能。TP协议规定了用于网络节点之间交换数据的网络层通信协议,例如ECU与ECU之间,或测试设备与ECU之间。如果要传输的数据不能使用单个的CAN帧传输,则提供一种分包传输的方法。 传输通道是通信链路的物理组成部分,包含接收/传…

CAN网络管理Autosar(入门)

一,个人小心得 作为刚入门两个月汽车电子行业的软件工程师,现阶段在学习汽车组合开关的测试(主要用CANoe软件),在学习过程中总结了一些自己理解的知识点,当然也希望得到大佬们的指点。当然如果要做一个优秀…

汽车总线CAN网络分层机构 --3

CAN网络分层机构 CAN的分层结构 遵循ISO/OSI标准模型,CAN规定了分数据链路层和物理层。数据链路层又分逻辑链路控制子层LLC和媒体访问控制子层(MAC) CAN协议层 LLC子层和MAC子层的运行被“故障界定“实体监控着。错误界定是一种能区分短期干扰和永久故障的自校验…

AUTOSAR —— CAN网络管理(CanNm)

1. 网络状态 AUTOSAR网络管理节点内部有两个状态,一个是Requested - 被请求状态,另一个是Released - 被释放状态,当节点的应用层需要使用总线进行通讯的时候,会调用接口使得节点进入请求状态,当应用层没有通信需求的时…

AUTOSAR通信篇 - CAN网络通信(二:CanIf)

目录 初始化 数据发送 请求发送 发送数据流 发送缓存 发送确认 数据接收 数据接收提醒 读取接收数据 CAN控制器模式 控制器模式转换 唤醒 PDU通道模式控制 PDU通道组 PDU通道模式 总结 在上一篇,我们介绍了CAN模块,接下来我们介绍在CAN模…

整车CAN网络介绍

整车CAN网络介绍 CAN(Controller Area Network)控制器局域网络,CAN网络在早期的整车应用中以BCM(车身控制器)为控制中心,主要是车身零部件(雨刮/大灯/车窗…),智能硬件较少,所以早期的正常CAN网络把所有其他的ECU全部放在Other EC…

CAN网络基础知识_20220727

目录 通信协议 汽车网络如何进行数据的传输以及节点的通信? 高速CAN差分电压示意图 低速CAN差分电压示意图 通信协议的基本规则 通讯帧格式 数据帧结构/帧起始​编辑/仲裁场​编辑/控制场/数据场/CRC校验场 应答场/帧结束/拓展帧​/远程帧/错误帧结构/过载帧…

【CAN总线学习01】CAN网络概述

一、车载网络概述 1.1 车载网络起源及CAN诞生条件 二十世纪九十年代前,传统汽车的电器系统中各个模块之间采用点对点的通信方式,造成了庞大的布线系统,加之汽车近年来电子化、智能化趋势,独立运行的ECU足以实现电子功能。但工程…

CAN网络总线_20220720

本文提纲: 一、CAN 网络概念 二、新、老车型CAN网络对比 三、CAN网络ID规范 四、CAN网络规范 本文主要介绍了: 通过对CAN网络及其架构的学习,来对比熟悉新、老车型CAN网络架构; 学习CAN网络ID命名规范、CAN网络规范&#xf…

浅谈数据仓库维度建模

浅谈数据仓库维度建模流程 谈到Big Data就离不开数据仓库、数据集市等概念,而谈到数据仓库、数据集市,就又离不开数据仓库设计的方法,维度建模则是其中的典型。与维度建模相对立的则是范式建模,范式建模常用于传统的DB关系型数据库…

维度建模+实例

https://www.cnblogs.com/suheng01/p/13522677.html 第一步:选择业务过程 1、通过对业务需求以及可用数据源的综合考虑,确定对哪种业务过程开展建模工作 2、建立的第一个维度模型应该是一个最有影响的模型——它应该对最紧迫的业务问题作出回答&#…

数据仓库-维度建模

目录 1. 数据仓库定义 2. 数据仓库和数据库 3. 数仓分层 4. 维度建模 4.1 维度建模 VS 第三范式 4.2 维度建模设计过程 5. 粒度概念 6. 事实概念 6.1 事实表技术 7. 维度概念 7.1 维度表技术 8. 数据关系模型 8.1 星型模型 8.2 星座模型 8.3 雪花模型 9. 写在最…

维度建模详解

文章目录 1 维度设计1.1 代理键(太复杂,不推荐)1.2 稳定维度1.3 缓慢渐变维 > 拉链表1.4 维度表的拆分、合并 2 事实表设计2.1 明细事实表(dwd)2.1.2 案例:2.1.3 存储方案2.1.4 事实拉链表示例: 2.2 聚合事实表(dws)2.2.1 分类2.2.2 案例 …

老司机带带我:数仓建模架构|维度建模剖析与案例演示

作者基于多年的大数据处理经验,当前管理着100PB数据仓库和2000节点的集群。持续系统化给大家分享一下关于数据仓库建设的经验总结。本系列既有数据仓库的形而上学理论体系,也有结合公司业务的实践,既有大厂如阿里巴巴,京东&#x…

维度建模入门

1 概念 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。 1.1 维度表(dimension) 维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别来进行分…