汽车CAN总线介绍

2023-05-16

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

ECU(Electronic ControlUnit)电子控制单元,是汽车专用微机控制器,一个ECU一般负责1个或多个智能硬件设备。


CAN网络

每条CAN总线一般都是由2根线组成的双绞线构成,一根can_high,一根can_low,分别代表高电平和低电平,一般燃油车的CAN网络可以分成如下5条CAN总线:

  1. PT CAN (PowerTrain CAN ) 动力总成CAN总线

    PT CAN总线上一般有以下ECU:
    ECM ( Engine Control Module ) 发动机控制模块
    SRS ( SupplementalRestraintSystem) 电子安全气囊
    BMS ( Battery Management System ) 电池管理系统
    EPB Electronic Park Brake, 电子驻车系统
    PT CAN负责车辆动力,是整车CAN网络信号优先级及信号传输速率最高的一条CAN总线。

  2. CH CAN (Chassis CAN) 底盘控制CAN总线

    CH CAN总线上一般有以下ECU:
    ABS ( Antilock Brake System ) 防抱死制动系统
    ESP(Electronic Stability Program)车身电子稳定系统
    EPS(Electric Power Steering)电子转向助力
    ……
    CH CAN负责汽车底盘及4个轮子的制动/稳定/转向,由于涉及整车制动/助力转向等, 所以其网络信号优先级也是较高的。

  3. Body CAN车身控制总线

    Body CAN总线上一般有以下ECU:
    AC ( Air Condition ) 空调
    AVM(Around View Monitor) 360环视
    BCM(Body Control Module) 天窗, 车窗, 雾灯, 转向灯, 雨刮…
    IMMO(Immobilizer) 发动机防盗系统
    TPMS(Tire Pressure Monitoring System) 胎压监控系统
    ……
    Body CAN负责车身上的一些提高舒适性/安全性的智能硬件的管理与控制,其网络信号优先级较低, 因为以上设备都是辅助设备。

  4. Info CAN ( Infomercial CAN ) 娱乐系统总线

    Info CAN 总线上一般有以下ECU:
    VAES( Video Audio Entertainment System) 车载娱乐系统(中控)
    IPK(Instrument Pack) 组合仪表, 当今的数字仪表, 基本有音乐, 地图, 通话等娱乐功能.
    ……..
    Info CAN是辅助可选设备, 所以优先级也是较低的,主要负责车身上的一些提高娱乐性的智能硬件的管理与控制。

  5. DiagCAN ( Diagnose CAN ) 诊断控制总线

    DiagCAN总线主要提供远程诊断功能,只有一个ECU:
    Tbox(Telematics BOX) 远程控制模块

电动汽车的CAN网络模型也类似,只是其控制单元主要以VCM(Vehicle Control Module)整车控制模块为控制中心。
这里写图片描述


CAN网关

CAN网关或叫汽车网关,因为网关不仅处理CAN网络,还处理LIN网络.

实际can网关大概有六七十个接线pin脚,每个接线pin脚都有严格的定义, 要匹配规定好的can总线或者开关设备, 除了刚才涉及的10个can线接线口(5条双绞线),2个电源线接线口,还应包括定速巡航设备的8个接线口,电源管理方面的3个接线口,钥匙开关(或无钥匙启动系统)的5个接口,脚踏板的3个接线口,5个LIN接线pin脚,档位开关的4个接线pin脚等等。

某些汽车厂商可能有更多新的硬件开关设备,电压电阻开关设备等也都有对应的接线pin脚,
且可能预留一些PIN脚以备用.

CAN网关是整个CAN网络的核心, 控制着整车5条CAN总线的各类信号转发与处理,基本功能包括:

  1. 连接不同波特率(传输速度)的CAN总线/LIN总线,以实现CAN网络的网关中继功能。
  2. 诊断报文/非诊断报文转发。
  3. 诊断防火墙管理。
  4. 节点在线监控。
  5. 巡航控制器开关检测。
  6. 脚踏板位置检测。
  7. 网关休眠与唤醒管理。
  8. ECU升级/网关升级。
  9. 电压管理。

CAN网关可以接收任何CAN总线(还有LIN总线)传来的不同传输速率网络信号,把这些信号按一定的标准处理后,广播到整车网络去,如果有ECU订阅(接收)了这个信号, 则ECU将解析信号并做相应的处理。
整车所有ECU基本是以毫秒级或者微妙级的速度在源源不断的发送并接收信号,所以网关需要处理并转发广播的信号是非常多的且必须要很快处理完的。


车机娱乐系统

基本来说, 当今的智能车机基本有以下几个特点:

基于智能操作系统:Android,Linux等。
基本都是虚拟按键,较少用实体按键。
具备外网连接功能,即搭载了Tbox盒子。
有配套的车联网App,可以当手机钥匙及远程车控等功能。
具备控制:空调,数字液晶仪表,360度环视摄像头,其他车身设备(天窗, 车窗,大灯)的应用程序。

需要说明的是:

  • 车机娱乐系统是Info CAN上的一个节点, 节点名称为VAES (Video Audio Entertainment System)
  • 空调是Body CAN上的一个节点, 节点名称AC。
  • 仪表是Info CAN上的节点,节点名称IPK,也叫ICU。
  • 360智能环视摄像头是Body CAN上的节点,节点名称AVM。
  • 其他车身设备(天窗, 车窗, 大灯)等设备是Body CAN上的BCM节点统一管理的。

车机节点是车机上的一块MCU,专门负责车机主机对整车CAN网络的CAN信号转换的,业界一般用IPCL协议进行CAN信号到字符串信号(程序员能识别的信号)的转换,以上字符串信号经过Carservice或App的解析后,转成文字或者图像的界面供用户选择和使用,这样就把原始CAN信号转成用户能够看得懂的文字或图像。
因此

  • VAES(车机)节点订阅消息(接收): 车机就是一台显示器。
  • VAES(车机)节点发送消息: 车机就是一台远程控制器。

TBOX

Tbox是汽车上的一个盒子,其实是一个Android操作系统的带通讯功能的盒子,内含一张SIM卡,一般是中国联通SIM卡,与这个盒子配套硬件还有GPS天线,4G天线等。车机要联网必须有Tbox设备才能实现。
这里写图片描述

TBOX的功能如下:

  1. Tbox可以给车机提供外网连接功能。
    如何提供外网, 原理很简单, 可以简单的把它当做是USB上网卡。

  2. Tbox可以提供GPS定位服务。
    Tbox有GPS天线接入,车机通过USB数据输出接口实时获取GPS定位信息。
    (Tbox的USB接口,除了提供外网数据, 提供GPS数据外,开发人员还可以通过这个USB线进行Tbox开发及adb debug等。)

  3. Tbox是Diag CAN(诊断CAN)上的一个节点, 该节点可提供本地诊断和远程诊断等功能。

智能车机娱乐系统有配套的车联网手机App,通过App可远程查看车机状态,远程开启座椅加热,远程开启空调,远程获取车机状态信息等。

当然,车联网手机App状态查询/远程控制功能的实现,全部依托Tbox节点,Tbox节点可以接收远程4G信号,之后由Tbox在诊断CAN上发起CAN诊断及控制命令,Tbox还实时获取相关CAN信号并上传云平台,云平台返回数据到车联网手机App。最终达到远程诊断(远程获取车辆状态, 远程读取故障码等…) 和远程控制(控制车上某些智能硬件的作用, 比如空调, 座椅加热等…)。

Tbox上的SIM一般只给车主用户提供网络服务, 虽然这张电话可以打电话, 但是由于车机系统的功能接口限定(软件界面上的功能限定),限定了其只可以拨打道路救援电话,厂商客服电话,110等紧急电话,不可拨打普通手机号码或电话号码等。


整车电源的4种状态

车辆钥匙孔的4种状态,即LOCK, ACC, ON, START,分别对应4种电源模式,即OFF模式,ACC模式,RUN模式,CRANK模式。

  1. OFF模式,就是上图的LOCK,代表车辆电源未通电,此时整车can网络一般也处于休眠状态。
  2. ACC模式,是对应上图的ACC,是Accessory的简称,整车上电状态,整车通电了,can网络也会唤醒并开始传输信号,但是发动机未启动,整车基本通上了12V的电源电压,此时车窗可用,空调可以开启(但是由于发电机未开启, 空调制冷制热压缩机都无效果,只有鼓风机在吹风)。
  3. CRANK模式,对应上图START,发动机点火状态,即发动机已经启动,实际操作中,就是将钥匙拧到底,等发动机点火成功后,钥匙孔反弹到上图的ON,也就是下面说的RUN模式。
  4. RUN模式,对应上图的ON,发动机处于运行模式,此时发电机也运行,并给蓄电池充电,此时的空调制冷制热都可用。

本文是最近学习车辆CAN网络时的一些总结,主要参考如下:
CAN网关及CAN信号转发机制;
整车CAN网络基本结构;
Tbox在整车CAN网络的位置与作用;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

汽车CAN总线介绍 的相关文章

  • 学习CANopen --- [9] CAN总线的状态检查

    本文讲述如何判断CAN总线是否存在以及是否bus off xff0c 以vcan0进行讲解 xff0c vcan0是虚拟的CAN接口 xff0c 可以把它看做一个软件CAN适配器 xff08 区别于硬件CAN适配器 xff0c 如PeakC
  • STM32 CAN总线说明

    简介 xff1a CAN是Controller Area Network 的缩写 xff08 以下称为CAN xff09 xff0c 是ISO国际标准化的串行通信协议 由德国电气商博世公司在1986年率先提出 此后 xff0c CAN通过I
  • can't run '/etc/init.d/rcS': No such file or directory 最终解决方法

    drivers rtc hctosys c unable to open rtc device rtc0 end request I O error dev mtdblock2 sector 256 isofs fill super bre
  • CAN通信数据帧介绍

    CAN通信有五个帧 xff0c 其中最重要的是数据帧 xff01 xff01 xff01 xff01 我们下面开始讨论数据帧 一 数据帧的格式 xff08 数据帧有七个段组成 xff09 xff0c 帧起始 表示数据帧开始的段 xff0c
  • CAN通信矩阵的理解(CAN报文信号的属性)

    CAN通信矩阵 1 CAN通信矩阵是什么 CAN通信矩阵 xff08 CAN Communication Matrix xff09 通常由整车厂完成定义 xff0c 车辆网络中的各个节点需要遵循该通讯矩阵才能完成信息的交互和共享 我们知道C
  • CAN通信详解

    本章我们将向大家介绍如何使用STM32自带的CAN控制器来实现两个开发板之间的CAN通讯 xff0c 并将结果显示在TFTLCD模块上 本章分为如下几个部分 xff1a 30 1 CAN简介 30 2 硬件设计 30 3 软件设计 30 4
  • 下一代CAN通信技术CAN XL简介

    众所周知 xff0c CAN网络具有易于实现 可扩展 并支持复杂拓扑结构等诸多优点 xff0c 所以目前在各个行业特别是汽车领域 xff0c 得到了非常广泛的应用 但是 xff0c 它也存在着诸多问题 xff0c 其中最大的一点就是总线带宽
  • roscore报错: ‘ascii’ codec can’t decode byte 0xe6 in position 13: ordinal not in range(128)

    零 问题描述 使用ROS是 xff0c 执行roscore报一下错误 xff1a ascii codec can t decode byte 0xe6 in position 13 ordinal not in range 128 The
  • ROS-虚拟CAN通讯/实质CAN通信

    xff11 xff0e 源码安装canopen 从官网下载canopen至Ubuntu xff0c 下载地址 xff1a https github com ros industrial ros canopen tree kinetic de
  • CAN总线多帧即连续帧数据发送 拆包与重装

    1939协议支持多帧数据发送即数据超过8个的帧发送 用户可以通过ID来识别当前帧是否为多帧发送 xff08 连续帧 xff09 xff0c 如果是多帧发送ID xff0c 举例 xff1a 1C EC F4 56 其中 F4和56为目标地址
  • CAN总线通信协议详讲

    CAN简介 CAN是Controller Area Network 的缩写 xff08 以下称为CAN xff09 xff0c 是ISO国际标准化的串行通信协议 由德国电气商博世公司在1986 年率先提出 此后 xff0c CAN 通过IS
  • CAN为什么会发送失败

    CAN总线调试过程中出现报文发送失败 xff0c 很多工程师都对此只知其一不知其二 xff0c 这里就CAN报文发送失败的问题我们来做一次探讨 在了解CAN报文为什么会发送失败之前我们先看看一条正确的CAN报文到底应该是怎么样的 xff0c
  • rplidar_ros 报错:can‘t bind 和Operation Time Out的解决

    我使用的思岚A2的雷达在ros下运行 1 can t bind无法连接的错误 xff0c 一种是设备号不匹配引起的错误 xff0c 首先可以使用ll dev grep ttyUSB查看一下设备的dev号 xff0c 再检查一下rplidar
  • CAN 与 CANFD数据报文格式解读

    ISO 11898 1 2015 协议详细定义了CAN网络报文的格式 xff0c 包含了传统CAN与CANFD帧格式 CAN网络的帧类型共有4种 xff0c 分别为数据帧 远程帧 错误帧 过载帧 本章将主要介绍CAN网络数据帧报文的格式 x
  • linux的socket CAN驱动介绍

    https blog csdn net linyangspring article details 27186911 在linux中 xff0c CAN总线的驱动有两种实现方式 xff1a 字符设备以及socket can驱动 Socket
  • Linux下配置虚拟CAN

    1 加载vcan模块 sudo modprobe vcan 2 添加vcan0网卡 sudo ip link add dev vcan0 type vcan 3 查看当前CAN网络 ifconfig a 4 开启vcan0 sudo ip
  • 各种通信接口的简单对比

    对比表 同步方式与异步方式的主要区别在于 是否传输时钟信号 只要是通訊前雙方需要設定相同波特率的 都是異步傳輸方式 异步传输 Asynchronous Transmission 每次异步传输的信息都以一个起始位开头 它通知接收方数据已经到达
  • 电池充放电自动测试系统介绍

    电池是国民经济的基础产品 广泛运用在交通运输 通讯 电力 铁路 国防 计算机 应急设备等各个领域 传统电池检测生产方式已经很难满足电池产品的市场需求 那么如何高效快速的进行电池产品的性能检测呢 今天就给大家介绍一款全能型电池测试系统 电池充
  • STM32 CAN/CANFD软件快速配置(HAL库版本)

    STM32 CAN CANFD软件快速配置 HAL库版本 目录 STM32 CAN CANFD软件快速配置 HAL库版本 前言 1 软件编程 1 1 建立工程 1 2 初始化 1 2 1 引脚设置 1 2 2 CAN基本参数设置 1 2 3
  • STM32F407 CAN1 CAN2

    注意CAN1可以单独使用 CAN2要开启CAN1时钟才能使用 u8 CAN1 Mode Init u8 mode GPIO InitTypeDef GPIO InitStructure CAN InitTypeDef CAN InitStr

随机推荐

  • 基于Adams联合MATLAB的联合仿真设置

    因为最近在做一个四足机器人的仿真在网上找了一些资料基本上都不是说得很明白 下面是我参考了一些资料自己做的一个项目和对一些细节做的总结 xff0c 希望对大家有所帮助和解惑 本次联合仿真用到的软件主要是这三个Solidworks2018 Ad
  • MSC_ LICENSE. FILE = D:ladamsMAGNTUDElicense .dat

    ADAMS一段时间不使用后重新打开出现 解决办法 xff1a 1 找到原下载解压后的文件目录 2 点击MSC Calc 20161130 exe按照提示重新生成license dat文件 3 复制新的license dat文件到之前安装AD
  • 两块STM32F1之间互相通信(串口)

    首先准备两块STM32F103的板子 xff0c 以我这个为例 xff0c 我准备了一块STM32F103和CH32F103最小系统板子 xff0c 其他杜邦线 下载器及接线方法以及通信原理不再多说 这里我用的是STM32F103最小系统发
  • STM32单片机与蓝牙模块HC-05通信数据帧处理

    本章将会详细讲述蓝牙模块 xff08 HC 05 xff09 和STM32单片机之间的通信收发的数据如何处理 xff0c 在测试开始前首先在手机上下载好一个蓝牙调试APP xff0c 此APP可以是手机端和PC端口的 xff0c 以我常用的
  • N32G031固件库开发(三)基本TIM6定时器中断

    基本定时器 TIM6 基本定时器简介 基本定时器 TIM6 包含一个 16 位自动装载计数器 基本定时器主要特性 16位自动重载向上计数计数器 16位可编程预分频器 xff08 分频系数可配置为 1到 65536之间的任意值 xff09 产
  • N32G031固件库开发(四)通用定时器TIM3----PWM输出

    4 通用定时器 xff08 TIM3 xff09 通用定时器 xff08 TIM3 xff09 主要用于以下场合 xff1a 对输入信号进行计数 测量输入信号的脉冲宽度和产生输出波形等 4 1 TIM3 主要特性 16 位自动装载计数器 x
  • N32G031固件库开发(五)高级定时器TIM1----PWM输出

    高级控制定时器 xff08 TIM1 和 和 TIM8 xff09 5 1 TIM1 和 和 TIM8 简介 高级控制定时器 xff08 TIM1 和 TIM8 xff09 主要用于以下场合 xff1a 对输入信号进行计数 测量输入信号的脉
  • Java并发之semaphore(信号量)

    文章目录 1 官方解读2 通俗易懂的例子解析3 代码解析4 Semaphore的应用5 类结构和相关方法 1 类结构 2 acquire 方法 3 release 方法 6 总结 1 官方解读 semaphore信号量就是并发工具类 Sem
  • 程序员面试题精选100题(46)-对称子字符串的最大长度

    程序员面试题精选100题 46 xff0d 对称子字符串的最大长度 题目 xff1a 输入一个字符串 xff0c 输出该字符串中对称的子字符串的最大长度 比如输入字符串 google xff0c 由于该字符串里最长的对称子字符串是 goog
  • Ubuntu12.04执行apt-get update时报错的问题解决

    报错内容示例 W Failed to fetch http us old releases ubuntu com ubuntu dists precise updates Release gpg Something wicked happe
  • arduino烧写报错:can‘t open device “\\.\COM1“

    我的解决办法是拔掉usb xff0c 让它关机 xff0c 停止运行一会 xff0c 它便可恢复 记得之前也有一次 xff0c 那次解决好像是通过修改它的端口号 xff0c 例如我将它com8修改为com1 两个方法都可以尝试下 xff0c
  • UDP服务器/客户端Linux下C代码实现以及广播、组播

    目录 UDP广播流程 组播流程 UDP UDP xff08 User Datagram Protocol xff09 用户数据报协议 xff0c 是不可靠的无连接的协议 在数据发送前 xff0c 因为不需要进行连接 xff0c 所以可以进行
  • CMakeLists.txt常用语法

    CMakeLists txt常用语法 cmake minimum requiredprojectadd executableinclude directoriesadd libraryalias library xff08 别名库 xff0
  • git 合并分支

    假如我们现在在dev分支上 xff0c 刚开发完项目 xff0c 执行了下列命令 xff1a git add git commit m 39 提交的备注信息 39 git push u origin dev 想将dev分支合并到master
  • 月薪35k的简历是怎么包装的 ,让面试官心动的标准简历(附模板分享)

    有过面试的都知道 xff0c 不管怎样 xff0c 面试多多少少都和简历有这很重要的 毕竟面试官要通过简历了解面试者的基本信息 过往经历 xff0c 来判断面试者和岗位的匹配度 面试者期望通过简历把自己较好的一面体现给面试官 xff0c 所
  • 对无人机高度环的思考和第一次炸机体验

    前两天学长布置了一个任务 xff0c 大体就是在无人机起飞一段时间后再次改变飞行高度 一开始我觉得挺简单 xff0c 随便改改就行了 xff0c 所以今天才开始写 xff0c 然后 炸机了 先说说第一次炸机的体验 就是看到无人机炸机的疯狂往
  • 21年电赛无人机G题思路

    21年电赛结束了 xff0c 我们选择的题目是无人机G题 通过题目也能感受到今年的难度 xff0c 在这里旨在为大家提供一个G题的解题思路和方案 读完题目 xff0c 可以发现主要有两个难题需要解决 1 飞行路径问题 xff08 如何确保飞
  • 面试必问之Promise

    常见 Promise 面试题 1 了解 Promise 吗 xff1f 2 Promise 解决的痛点是什么 xff1f 3 Promise 解决的痛点还有其他方法可以解决吗 xff1f 如果有 xff0c 请列举 4 Promise 如何
  • js中的防抖和节流的原理

    在进行窗口的resize scroll xff0c 输入框内容校验等操作时 xff0c 如果事件处理函数调用的频率无限制 xff0c 会加重浏览器的负担 xff0c 导致用户体验非常糟糕 此时我们可以采用debounce xff08 防抖
  • 汽车CAN总线介绍

    CAN Controller Area Network 控制器局域网络 xff0c CAN网络在早期的整车应用中以BCM 车身控制器 为控制中心 xff0c 主要是车身零部件 雨刮 大灯 车窗 xff0c 智能硬件较少 xff0c 所以早期