0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN总线详解

单片机与嵌入式 来源:单片机与嵌入式 2023-01-30 09:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1 简介

CAN控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络

优点:

传输速度最高到1Mbps,通信距离最远到10km,无损位仲裁机制,多主结构。近些年来,CAN控制器价格越来越低。

Ø 低成本:ECUs通过单个CAN接口进行通信,布线成本低。

Ø 高集成:CAN总线系统允许在所有ECUs上进行集中错误诊断和配置。

Ø 可靠性:该系统对子系统的故障和电磁干扰具有很强的鲁棒性,是汽车控制系统的理想选择。

Ø 高效率:可以通过id对消息进行优先级排序,以便最高优先级的id不被中断。

Ø 灵活性:每个ECU包含一个用于CAN总线收发芯片,随意添加CAN总线节点。

2 CAN总线网络

53becfdc-a02a-11ed-bfe3-dac502259ad0.png

CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。

3 CAN收发器

CAN收发器的作用是负责逻辑电平和信号电平之间的转换。

53caf88e-a02a-11ed-bfe3-dac502259ad0.png

即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。具体的引脚定义如下:

53d6f440-a02a-11ed-bfe3-dac502259ad0.png

4 CAN信号表示

CAN总线采用不归零码位填充技术,也就是说CAN总线上的信号有两种不同的信号状态,分别是显性的(Dominant)逻辑0和隐形的(recessive)逻辑1,信号每一次传输完后不需要返回到逻辑0(显性)的电平。

53dfcc96-a02a-11ed-bfe3-dac502259ad0.png

显性与隐性电平的解释:

CAN的数据总线有两条,一条是黄色的CAN_High,一条是绿色的CAN_Low。当没有数据发送时,两条线的电平一样都为2.5V,称为静电平,也就是隐性电平。当有信号发送时,CAN_High的电平升高1V,即3.5V,CAN_Low的电平降低1V,即1.5V。

按照定义的:

CAN_H-CAN_L < 0.5V 时候为隐性的,逻辑信号表现为"逻辑1"- 高电平。

CAN_H-CAN_L > 0.9V 时候为显性的,逻辑信号表现为"逻辑0"- 低电平。

5 CAN信号传输

发送过程:CAN控制器将CPU传来的信号转换为逻辑电平(即逻辑0-显性电平或者逻辑1-隐性电平)。CAN发射器接收逻辑电平之后,再将其转换为差分电平输出到CAN总线上。

53ff1f88-a02a-11ed-bfe3-dac502259ad0.png

接收过程:CAN接收器将CAN_H 和 CAN_L 线上传来的差分电平转换为逻辑电平输出到CAN控制器,CAN控制器再把该逻辑电平转化为相应的信号发送到CPU上。

541131fa-a02a-11ed-bfe3-dac502259ad0.png

6 CAN数据传输

CAN总线传输的是CAN帧,CAN的通信帧分成五种,分别为数据帧、远程帧、错误帧、过载帧和帧间隔。

数据帧根据仲裁段长度不同分为标准帧(2.0A)和扩展帧(2.0B)。

542c516a-a02a-11ed-bfe3-dac502259ad0.png

帧起始

由一个显性位(低电平)组成,发送节点发送帧起始,其他节点同步于帧起始;

帧结束

由7个隐形位(高电平)组成。

543538b6-a02a-11ed-bfe3-dac502259ad0.png

仲裁段

只要总线空闲,总线上任何节点都可以发送报文,如果有两个或两个以上的节点开始传送报文,那么就会存在总线访问冲突的可能。但是CAN使用了标识符的逐位仲裁方法可以解决这个问题。

CAN总线控制器在发送数据的同时监控总线电平,如果电平不同,则停止发送并做其他处理。如果该位位于仲裁段,则退出总线竞争;如果位于其他段,则产生错误事件。

假设节点A、B和C都发送相同格式相同类型的帧,如标准格式数据帧,它们竞争总线的过程是:

5443442e-a02a-11ed-bfe3-dac502259ad0.png

帧ID越小,优先级越高。由于数据帧的RTR位为显性电平,远程帧为隐性电平,所以帧格式和帧ID相同的情况下,数据帧优先于远程帧;由于标准帧的IDE位为显性电平,扩展帧的IDE位为隐形电平,对于前11位ID相同的标准帧和扩展帧,标准帧优先级比扩展帧高。

546a411e-a02a-11ed-bfe3-dac502259ad0.png

数据段

一个数据帧传输的数据量为0~8个字节,这种短帧结构使得CAN-bus实时性很高,非常适合汽车和工控应用场合如图27所示。

5471e5e0-a02a-11ed-bfe3-dac502259ad0.png

数据量小,发送和接收时间短,实时性高,被干扰的概率小,抗干扰能力强。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    59

    文章

    3093

    浏览量

    473395
  • 通信
    +关注

    关注

    18

    文章

    6445

    浏览量

    140243
  • 总线
    +关注

    关注

    10

    文章

    3055

    浏览量

    91856

原文标题:CAN总线详解

文章出处:【微信号:单片机与嵌入式,微信公众号:单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用泰克示波器 CAN 总线解码器加快 CAN 总线的故障排除速度

    什么是 CAN 总线? 控制器局域网络 (CAN) 最初是针对汽车应用而设计的总线结构,但是,它也在其他领域找到用武之地。CAN
    的头像 发表于 04-17 17:35 567次阅读
    利用泰克示波器 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>解码器加快 <b class='flag-5'>CAN</b> <b class='flag-5'>总线</b>的故障排除速度

    基于FPGA的轻量级CAN总线控制器实现方案

    CAN总线作为工业和汽车领域最常用的通信总线,具有拓扑结构简洁、可靠性高、传输距离长等优点。CAN总线的非破坏性仲裁机制依赖于帧ID,
    的头像 发表于 04-03 10:10 1479次阅读
    基于FPGA的轻量级<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>控制器实现方案

    CAN总线报错看不懂?5种错误帧+5步排查法一次讲清

    CAN总线通信异常?错误帧频繁出现?本文详解五种错误帧类型,并提供五步排查法,助你快速定位问题根源。错误帧的作用错误帧是CAN总线用于错误通
    的头像 发表于 03-16 11:36 324次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>报错看不懂?5种错误帧+5步排查法一次讲清

    开源项目汽车CAN总线分析仪总体介绍

    在做车载、工业控制项目时,CAN 总线调试总遇到协议不兼容、数据抓不全的问题?
    的头像 发表于 02-05 10:03 709次阅读
    开源项目汽车<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>分析仪总体介绍

    SN65HVD23x 3.3-V CAN总线收发器:设计与应用详解

    SN65HVD23x 3.3-V CAN总线收发器:设计与应用详解 在工业自动化、电机控制、建筑与气候控制等众多领域,CAN(Controller Area Network)
    的头像 发表于 12-30 18:00 1512次阅读

    汽车级CAN FD收发器TCAN1044-Q1:性能、应用与设计要点详解

    汽车级CAN FD收发器TCAN1044-Q1:性能、应用与设计要点详解 在汽车电子和工业控制等领域,CAN(Controller Area Network)总线作为一种可靠的通信协议
    的头像 发表于 12-17 17:50 819次阅读

    CAN 总线自定义协议使用说明

    关于can总线的设置
    发表于 11-05 17:00 2次下载

    CAN总线远程调试工具介绍

    一种工程机械领域调试上的创新产品,可用于Codesys 源程序的无线下载联机、远程调试、故障诊断、CAN 总线数据在线监控、透传收发、数据采集、数据分析、远程控制等各种 CAN 总线
    发表于 10-17 16:14 0次下载

    CAN总线断路、短路及反接故障的现象解析及影响评估

    本文导读在实际运行过程中,CAN总线线路可能因多种因素出现故障,其中断路和短路故障较为常见且影响严重。深入了解这两大类故障的现象及对总线的影响,对于快速定位故障、保障系统稳定运行具有重要意义。掌握
    的头像 发表于 10-15 11:41 2647次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>断路、短路及反接故障的现象解析及影响评估

    120Ω的秘密:CAN总线终端电阻的重要性

    CAN总线作为一种广泛应用的工业通信协议,其终端电阻的作用不容忽视。本文将详细探讨CAN总线终端电阻的重要性及其在通信中的关键作用。CAN
    的头像 发表于 08-08 11:35 1433次阅读
    120Ω的秘密:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>终端电阻的重要性

    广成科技CANFD转CAN总线GCAN-418的优势

    作为CAN总线的升级产品,CANFD相较于传统的CAN总线,拥有如下几个方面的优势。
    的头像 发表于 08-05 11:47 1237次阅读
    广成科技CANFD转<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>GCAN-418的优势

    CAN总线电容过大?三种解决方案来了

    在新能源汽车路试中,CAN总线传输异常是一个常见问题。本期我们将探讨由于总线电容过大导致的下降沿过缓问题,并介绍三种有效的解决方案。CAN总线
    的头像 发表于 07-22 11:36 831次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>电容过大?三种解决方案来了

    CAN收发器:总线信号的“翻译官”

    CAN总线通信中,CAN收发器(Transceiver)扮演着至关重要的角色——它就像一位“翻译官”,负责将微控制器(MCU)的数字信号转换为总线上的差分信号,同时把
    的头像 发表于 06-27 11:34 2555次阅读
    <b class='flag-5'>CAN</b>收发器:<b class='flag-5'>总线</b>信号的“翻译官”

    如何评估CAN总线信号质量

    CAN总线网络的性能在很大程度上取决于其信号质量。信号质量差可能导致通信错误,进而引发系统故障、效率降低甚至安全隐患。因此,评估和确保CAN总线信号质量是维护系统健康和可靠性的关键。
    发表于 06-07 08:46