展开

关键词

详解CAN总线:什么是CAN总线

目录 1、CAN总线简介 2、CAN节点组成 3、CAN总线结构 4、CAN总线物理电气特性 ---- 在之前的博文中分享过一系列一文搞懂:SPI协议、I2C协议、PID算法、Modbus协议等文章, 也考虑过是否可以出一篇介绍CAN总线协议的文章,但是在之后的学习研究中,发觉CAN总线协议比较庞大和复杂,做为刚刚进入汽车电子行业的开发小白,一篇文章难以讲解清晰,所以决定在汽车电子专栏中连载分享关于CAN to the Controller Area Network(CAN)-行业报告文档类资源 1、CAN总线简介 CAN总线协议(Controller Area Network),控制器局域网总线,是德国 3、CAN总线结构 CAN总线是一种广播类型的总线,可支持线形拓扑、星形拓扑、树形拓扑和环形拓扑等。 低速开环CAN(低速容错CAN)通信如下图所示: 4、CAN总线物理电气特性 在CAN总线上,利用CAN_H和CAN_L两根线上的电位差来表示CAN信号。

5220

CAN总线(一)

近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。 一个典型的CAN应用场景: ? CAN总线标准 CAN总线标准只规定了物理层和数据链路层,需要用户自定义应用层。不同的CAN标准仅物理层不同。 ? CAN收发器负责逻辑电平和物理信号之间的转换。 ? CAN总线有5个连续相同位后,就插入一个相反位,产生跳变沿,用于同步。从而消除累积误差。 和485、232一样,CAN的传输速度与距离成反比。 ? CAN总线,终端电阻的接法: ? 仲裁段 CAN总线是如何解决多点竞争的问题? 由仲裁段给出答案。 CAN总线控制器在发送数据的同时监控总线电平,如果电平不同,则停止发送并做其他处理。 CAN是可靠性很高的总线,但是它也有五种错误。

33420
  • 广告
    关闭

    腾讯云校园大使火热招募中!

    开学季邀新,赢腾讯内推实习机会

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CAN通信(一)——认识CAN总线

    CAN通信(一)——认识CAN总线 CAN总线 背景 CAN总线是什么 网络拓扑 节点、报文、信号 CAN总线 背景 作为并非通信专业的汽车工程师,汽车CAN通信是必须掌握的,但是,记得刚开始上来一看什么定义 CAN总线是什么 CAN总线,并不是他很能,只是一个缩写 CAN:Controller Area Network。 控制器局域网络总线 绝大多数汽车制造厂商采用CAN总线来实现汽车内部控制系统之间的数据通信,CAN总线也叫CAN BUS BUS? 恩,这不是公交的意思么,没错,公共汽车是可以运输大量的乘客的,CAN通信也就可以传输大量的信号。下边这个图片很形象 简单的说,CAN总线就是用于传输数据的通信协议。 车辆CAN总线通讯 这个CAN总线图是不是和BUS一样额 网络拓扑 网关是整个CAN网络的核心, 控制着整车几条CAN总线的信号转发与处理,示意图只展示了其中的两条。

    10040

    CAN总线详解

    Ø 灵活性:每个ECU包含一个用于CAN总线收发芯片,随意添加CAN总线节点。 2、CAN总线网络 CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。 即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。 具体的引脚定义如下: 4、CAN信号表示 CAN总线采用不归零码位填充技术,也就是说CAN总线上的信号有两种不同的信号状态,分别是显性的(Dominant)逻辑0和隐形的(recessive)逻辑1, 仲裁段 只要总线空闲,总线上任何节点都可以发送报文,如果有两个或两个以上的节点开始传送报文,那么就会存在总线访问冲突的可能。但是CAN使用了标识符的逐位仲裁方法可以解决这个问题。

    7410

    CAN总线调试步骤

    CAN总线 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898) ,是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。 配置can user@server:~$ cat /etc/can_setup.sh #! /bin/sh modprobe can modprobe can_raw modprobe mttcan ip link set can0 up type can bitrate 500000 restart-ms

    18520

    CAN总线35周年特别篇 -- CAN总线的前世今生

    如今,欧洲几乎所有汽车都配备了至少一个CAN网络。CAN还用于其他类型的车辆,从火车到轮船,以及工业控制中,CAN是最主要的总线协议之一,甚至可能是全球领先的串行总线系统。 新的总线协议主要是要增加新的功能 --- 减少线束不是CAN发展背后的驱动力。奔驰的工程师很早就参与了新的串行总线系统的规范制定阶段,英特尔作为潜在的主要半导体供应商也参与了进来。 错误处理还包括自动断开故障总线节点,以保持其余节点之间的通信。传输的帧不是由帧发送器或帧接收器的节点地址(几乎在所有其他总线系统中)识别的,而是由它们的内容识别的。 CAN时代的先锋 尽管CAN最初被开发用于汽车,但最初的应用来自不同的市场领域。特别是在北欧,CAN在早期已经非常流行。在芬兰,电梯制造商Kone 使用了CAN总线。 这种CAN扩展可以实现时间等量的帧传输和通过CAN的闭环控制的实现,而且还可以在x-by-wire的应用中使用CAN。由于CAN协议未更改,因此可以通过同一物理总线系统传输时间触发帧和事件触发帧。

    23720

    CAN总线的终端电阻什么作用?

    使用过CAN或RS-485总线的同学应该对终端电阻有所了解,用485和CAN总线的时候只知道要加一个120欧的终端电阻,但是终端电阻具体的作用是什么呢?什么是终端电阻? CAN总线终端电阻的作用有3个:‍‍‍‍‍‍‍‍‍‍‍‍ 1、提高抗干扰能力,让高频低能量的信号迅速走掉 2、确保总线快速进入隐性状态,让寄生电容的能量更快走掉; 3、提高信号质量,放置在总线的两端,让反射能量降低 02 确保总线尽快进入隐性状态 由于总线上不可避免的存在寄生电容,CAN总线数据传输时,“隐性”和“显性”状态变化会对寄生电容进行充电和放电,若总线中无阻性负载,信号波形会出现“缓慢变化”的过程。 在CAN总线中使用的典型线缆,将它们扭制成双绞线,就可根据上述方法得到特征阻抗大约为120Ω,这也是CAN标准推荐的终端电阻阻值,所以这个120Ω是测出来的,不是算出来的,都是根据实际的线束特性进行计算得到的 这也是CAN标准中推荐的阻值 四:CAN终端电阻怎么接线? 如下图所示是CAN总线的经典拓扑图。终端电阻一般选择放在最远的两个节点上。

    98520

    CAN总线之ISO15765协议

    ISO 15765协议是一种CAN总线上的诊断协议。 网络层内部传输服务,CAN总线上的数据帧没帧只能传输8个字节,ISO 为了适应CAN总线上的数据传输,根据诊断报文数据长度的不同规定了单帧传输和多帧传输两种方式 1.单帧传输 当应用层的诊断服务数据可以利用单帧 CAN数据传送时,可采用单帧传送方式 ? } } if((change0.byte.LL&0xF0)==0x30) { p = (INT8U *)&p_caninfo->DATAA; STmin=*p+2; } case CAN_LINK_SEND_DATA : if(T5ms-can_lind_time<STmin) return 0;//连续发送的数据满足最小时间间隔

    56410

    CANard工具套件:CAN总线安全工具

    CAN是控制器区域网络(Controller Area Network, CAN)的简称,是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。 基于CAN总线的系统通常假设具备网络物理访问权限的任何人均是可信的。 为访问这些服务,诊断工具需要连接到CAN总线。它会向总线上的各种控制器发送UDS请求。为接收UDS请求和发送UDS响应,每个控制器拥有一个唯一的CAN标示符(CAN ID)。 由于CANard为CAN总线接口提供了硬件抽象,脚本可以适用于多个平台和多种CAN总线接口。这个工具的开源特性意味着任何人都可以增加对新接口的支持。

    1.2K100

    一文带你了解 CAN 总线

    二、CAN 电气属性 CAN 总线使用两根线来连接各个单元:CAN_H 和 CAN_L,CAN 控制器通过判断这两根线上的电位差来得到总线电平,CAN 总线电平分为显性电平和隐性电平两种。 CAN 总线就通过显性和隐形电平的变化来将具体的数据发送出去,如图所示: CAN 总线上没有节点传输数据的时候一直处于隐性状态,也就是说总线空闲状态的时候一直处于隐性。 、CAN_L 接 CAN_L,CAN 总线两端要各接一个 120Ω的端接电阻,用于匹配总线阻抗,吸收信号反射及回拨,提高数据通信的抗干扰能力以及可靠性。 CAN 总线传输速度可达 1Mbps/S,最新的 CAN-FD 最高速度可达 5Mbps/S,甚至更高,感兴趣的可以自行查阅相关资料。CAN 传输速度和总线距离有关,总线距离越短,传输速度越快。 是 CAN 总线的最小时间单位。

    25640

    应用||无人汽车CAN总线协议解码

    随着新能源汽车、无人驾驶汽车的发展,CAN总线得到越来越多的应用。研华提供各种接口的CAN总线通讯产品,包括PCI-1680/PCIE-1680/PCM-3680/MIC-3680等。 本文以CAN总线为例进行说明。 CAN总线解码概述 1、 CAN总线概念 CAN(控制器区域网络)总线是一种在汽车和工业机械中使用的串行协议,允许微控制器相互通讯。 2 CAN总线上传输的电平特点 CAN 总线上发布了ISO11898和ISO11519两个通信标准,分别对应高速CAN和容错CAN。此两个标准差分电平的特性不同。 一般情况下,我们可以从三种CAN总线波形上进行解码: 1)从CAN-H总线上传输的电平,阈值设置为3V左右即可 2)从CAN-L总线上传输的电平,阈值设置为1.6V左右即可 3)从差分波形(CANH-CANL 切换到测量窗口,显示总线信号的频率 CAN总线协议译码完整操作视频如下: 参考资料: 高能:研华USB数字存储示波器!

    10630

    CAN总线技术详解与测试【硬件】

    01 CAN总线由来 CAN总线最早是由Bosch和Intel在80年代末开发的,虽然最早是用在汽车级的通信系统中的,但是随着技术的发展,CAN总线应用范围已经不在局限于汽车中,像机器人、工业、自动控制系统中 02 CAN总线为什么这么好用 以CAN总线应用最广的汽车给大家举例,汽车电子控制系统之间的数据通信基本上都是通过CAN总线实现。 而如果使用CAN总线,各个控制单元之间的信息通过两根数据线就可以进行交换了: ? 使用CAN总线之后的通信网络对比: ? 04 CAN总线物理层 在节点终端的接口器件有三种形式,如下图: ? ? CAN总线的终端电阻的接法如下: ? 增加终端电阻的目的是为了增强CAN通讯的可靠性,消除CAN总线终端信号反射干扰。 05 常用CAN控制器与收发器 在开发板上CAN总线需要控制器和收发器,下图是常用的CAN总线接口电路: ? SJA1000是用的较多的独立CAN控制器,价格又很便宜,几十块钱。

    1.2K10

    详解CAN总线:常用CAN连接器的使用方法

    目录 1、9针DSUB 2、5针迷你C型接头 3、6针德驰DT04-6P ---- 本文将分享几种常用的CAN连接器的连线和使用方法。

    8220

    工具推荐: 汽车CAN总线分析框架CANToolz

    CANToolz 是一个分析控制局域网络CAN(Controller Area Network) 和设备的框架。 该平台试图将所有需要的 技巧/工具 和其他你可以对CAN总线做的事情结合在一起。 我发现,有许多可用的工具,从 Charlie Miller 和 Chris Valasek 工具 到Craig Smith 开发的 UDS/CAN。 还有一点:这是基于模块的引擎,所以你可以使用它作为您的测试过程的一部分,或者当你需要和CAN总线工作时,添加更复杂的 场景/软件。 “我不明白为什么大家始终在发布新的“汽车黑客工具”。 mod_fuzz1 - 简单‘代理’模糊(1字节)可以与 gen_ping/gen_replay结合使用 mod_printMessage - 打印 CAN 报文 mod_stat - CAN 报文统计

    81770

    CAN总线这种多参数配置的方法

    // CAN_SJW_1tq, CAN_BS1_3tq , CAN_BS2_2tq, 6, // // CAN_SJW_1tq, CAN_BS1_4tq , CAN_BS2_3tq, 5, // // CAN_SJW_1tq, CAN_BS1_5tq , CAN_BS2_3tq, 5, // // CAN_SJW_1tq, CAN_BS1_6tq , CAN_BS2 CAN_BS1_3tq , CAN_BS2_2tq, 24, // // CAN_SJW_1tq, CAN_BS1_3tq , CAN_BS2_2tq, 30, // // CAN_SJW // CAN_SJW_1tq, CAN_BS1_3tq , CAN_BS2_2tq, 60, // // CAN_SJW_1tq, CAN_BS1_4tq , CAN_BS2_3tq, CAN_SJW_1tq, CAN_BS1_3tq , CAN_BS2_2tq, 300, // // CAN_SJW_1tq, CAN_BS1_3tq , CAN_BS2_2tq, 600,

    10640

    技巧:USB-DSO示波器CAN总线译码!

    其中总线译码功能可译码的总线有:I2C,UART, CAN, ProfiBus,ARINC429, MIL-STD-1553, LIN。 128M深度存储器可以让软件采集较长时间、不间断的数据,适合于总线译码。本文以CAN总线为例进行说明。 CAN总线解码概述 1、 CAN总线概念 CAN(控制器区域网络)总线是一种在汽车和工业机械中使用的串行协议,允许微控制器相互通讯。 2 CAN总线上传输的电平特点 CAN 总线上发布了ISO11898和ISO11519两个通信标准,分别对应高速CAN和容错CAN。此两个标准差分电平的特性不同。 一般情况下,我们可以从三种CAN总线波形上进行解码: 1)从CAN-H总线上传输的电平,阈值设置为3V左右即可 2)从CAN-L总线上传输的电平,阈值设置为1.6V左右即可 3)从差分波形(CANH-CANL

    8020

    CAN总线简介:如何以编程方式控制汽车

    在深入之前,让我们来看看《汽车黑客手册》第2章描述的三个重要概念:总线协议、CAN总线协议、CAN帧。 ? ID,如果两个CAN数据包同一时间在总线Bus内传输,则Arbitration ID较小的数据包先获得总线使用权,先被传输。 CAN帧 一辆车内有多种CAN总线,为了实现A/C系统的打开和关闭,我们需要找到正确的CAN运行总线,以福特Fusion来说,其中至少标记有4个总线,其中3个为运行500kbps的高速率CAN总线HS1 、HS2、HS3,1个为运行125kbps的中速CAN总线MS。 GND:地线,公共接地线; MSCAN:中速总线,也称飞思卡尔控制器局域网总线,是BOSCH公司定义的CAN2.0和CAN3.0协议下的CAN总线控制器,是当前汽车控制器中流行的CAN控制框架。

    2.2K3222

    【科普】CAN总线介绍及FPGA实现方案简介

    【科普】CAN总线介绍及FPGA实现方案简介 这里我们先逆推一下CAN总线的一些特点。 第一,CAN总线分层结构 我们根据can总线具有的一些特性可知:CAN总线肯定具有分层结构,而且参考OSI模型(OSI参考模型介绍)是肯定的,我们可以看一下相关的文档可知:CAN遵从OSI模型。 第二、CAN总线分为哪几层 根据《FPGA和USB3.0通信-USB3.0协议介绍》中总线、协议、接口关系可知: CAN总线内容整体比较简单(相对),肯定没有USB、PCIe协议这种复杂,也就是说CAN 我们大致判断CAN总线差不多是两层左右的分层结构,由于是总线,所以会规定物理层和数据链路层。从官方协议中可知:CAN结构划分为两层:数据链路层和物理层。 CAN通信的整体方案: CAN总线拓扑图 改编自官方总线协议 这张拓扑图其实是参考CAN总线的分层结构,主要分为数据链路层和物理层,这种方案主要是分局目前市场上存在的CAN相关IC(IC的设计肯定是根据

    21020

    单片机外围模块漫谈之三,CAN总线

    CAN以其多主,高速(最高1Mbps),抗干扰的特性被广泛应用汽车及各种工业环境。在此我们主要介绍一下CAN总线的特点,帧类型,以及应用中的注意事项。 1.CAN总线特点 1.1多主控制 跟我们常用的RS485只有一个主机,从机只能等待主机的轮询不同,在CAN总线中,当任意一个节点监测到总线空闲时,就可以立即启动信息的发送,也就是每一个节点都可以当主机 3.CAN总线应用注意事项 3.1终端匹配电阻 在CAN总线的两端要用120欧的电阻端接进行阻抗匹配,因为CAN总线长度一般会比较长,传输的信号速度快,特别是信号的边沿跳变部分频率很高。 ? 因为在显性状态下,两条线缆CAN_H, CAN_L之间的寄生电容会被充电,如果没有一个放电回路,总线不能快速回到隐性状态。 3.4CAN模块死机现象 CAN模块内部有监控电路,总线上的异常,如短路等,会引起错误计数器增长。

    12720

    相关产品

    • 事件总线

      事件总线

      腾讯云事件总线(EB)是一款安全,稳定,高效的无服务器事件管理平台,支持腾讯云服务、自定义应用、SaaS应用以标准化、中心化的方式接入,帮助您轻松实现无服务器事件驱动架构。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券