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
    +关注

    关注

    58

    文章

    3013

    浏览量

    471480
  • 通信
    +关注

    关注

    18

    文章

    6318

    浏览量

    139569
  • 总线
    +关注

    关注

    10

    文章

    3014

    浏览量

    91307

原文标题:CAN总线详解

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    CAN总线远程调试工具介绍

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

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

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

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

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

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

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

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

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

    如何评估CAN总线信号质量

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

    CANape中记录总线报文及生成BLF文件的培训视频#CANape #汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2025年03月06日 11:40:27

    CAN总线模拟器的使用指南 CAN总线网络的安全性分析

    CAN总线模拟器的使用指南 CAN总线模拟器(如ICSim)是一种用于模拟CAN总线通信的工具,
    的头像 发表于 12-23 09:16 3646次阅读

    CAN总线在工业自动化中的作用

    CAN(Controller Area Network)总线在工业自动化中发挥着至关重要的作用。它是一种高效的现场总线系统,以其高速、可靠和灵活的特点,成为连接工业自动化系统中各种设备的优选方案
    的头像 发表于 12-23 09:12 1936次阅读

    如何使用Arduino实现CAN总线通信呢

    CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
    的头像 发表于 12-23 09:06 2818次阅读

    CAN总线的扩展功能及其应用

    CAN总线以其高可靠性、实时性和灵活性在现代电子系统中扮演着重要角色。随着技术的发展,CAN总线也在不断扩展其功能,以适应更广泛的应用需求。 1.
    的头像 发表于 12-23 09:04 2252次阅读

    使用CAN总线进行数据采集的方法

    使用CAN总线进行数据采集的方法通常涉及一系列步骤,这些步骤确保了数据的准确采集、处理和存储。以下是一个详细的方法指南: 一、了解CAN总线系统 首先,需要对
    的头像 发表于 12-20 18:18 3462次阅读

    CAN总线工作原理分析 CAN总线在汽车工业中的应用

    CAN总线工作原理分析 1. 概述 CAN总线是一种串行通信协议,由Bosch公司在1986年开发,主要用于汽车电子系统中。它允许多个设备共享同一通信线路,实现数据的高效传输。 2.
    的头像 发表于 12-20 17:33 4488次阅读