关注、星标公众号,直达精彩内容

来源: 网路素材

CAN总线在硬件系统中占有一席之地,是国际上应用最广泛的现场总线之一,与我们收藏过的SPI、UART不同,属于“高端高效”系列。

嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,像机器人、工业、自动控制系统中,也都有广泛的应用。随着国家对海防的越来越重视,对CAN的需求也会越来越大。

概述

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

想到CAN就要想到德国的 Bosch公司,因为CAN就是这个公司和Intel于80年代末开发的。  

CAN有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到1Mbps,通信距离最远到10km,无损位仲裁机制,多主结构。  

近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。

一个典型的CAN应用场景:

图1. 一个典型的CAN应用场景

CAN总线标准

CAN总线标准 只规定了物理层和数据链路层,需要用户自定义应用层。不同的CAN标准仅物理层不同。

图2. CAN总线标准

CAN收发器负责逻辑电平和物理信号之间的转换,如图3所示:

图3. CAN收发器的逻辑电平和物理信号转换

将逻辑信号转换成物理信号(差分电平),或者将物理信号转换成逻辑电平。

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

表1. 管脚定义

CAN标准有两个,即 IOS11898(图4-1)和 IOS11519(图4-2),两者差分电平特性不同。图5展示了两个CAN标准的比对。

图4-1. ISO11898高速CAN电平

(高低电平幅度低,对应的传输速度快)

图4-2. ISO11519-2低速CAN电平

图5. CAN标准比对

*双绞线共模消除干扰,是因为电平同时变化,电压差不变。

物理层

CAN有三种接口器件,如下图6所示:

图6. CAN的三种接口器件

图7. 通过切换开关状态输出高低电平

多个节点连接,只要有一个为低电平,总线就为低电平,只有所有节点输出高电平时,才为高电平。所谓"线与"。可通过切换开关状态输出高低电平,如图7所示。

CAN总线有5个连续相同位后,就插入一个相反位,产生跳变沿,用于同步。从而消除累积误差。

和485、232一样, CAN的传输速度与距离成反比,如图8所示。

图8. CAN的传输速度与距离成反比

CAN总线的 终端电阻的接法如下图9所示:

图9. 低速/高速 CAN-bus终端电阻接法

增加终端电阻的目的是为了增强CAN通讯的可靠性,消除CAN总线终端信号反射干扰。

(注: 一般如果CAN总线使用的是在双绞线上运行,这时我们会增加120Ω的电阻。 为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。)

数据链路层

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

数据帧用来节点之间收发数据,是使用最多的帧类型; 、

远程帧用来接收节点向发送节点接收数据;

错误帧是某节点发现帧错误时用来向其他节点通知的帧;

过载帧是接收节点用来向发送节点告知自身接收能力的帧;

帧间隔是用于将数据帧、远程帧与前面帧隔离的帧。

CAN的报文格式

在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是 标识符(ID)长度不同, 标准格式为11位,扩展格式为29位。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击下面图片,有星球具体介绍,新用户有新人优惠券,老用户半价优惠,期待大家一起学习一起进步。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

电子通信协议之CAN总线协议篇相关推荐

  1. 数字IC设计入门篇:APB总线协议学习心得

    声明:本文章是本人学习AMBA  APB协议的一些个人理解,仅用于学习交流之用.本人学习APB协议时参考的是ARM公司官方的APB协议技术规范文档(编号:IHI0024D).受限于本人的知识水平,本文 ...

  2. 关于I2C和SPI总线协议

    IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影 ...

  3. 《安富莱嵌入式周报》第280期:支持在线仿真编程的网页版电子开发,CAN总线防攻击实现,BigFAT 规范打破了 FAT 每个文件 4GB 的限制

    往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...

  4. 一文搞懂CAN FD总线协议帧格式

    目录 1.为什么会出现CAN FD? 2.什么是CAN FD? 3.CAN FD和CAN总线协议帧异同 4.解析CAN FD帧结构 4.1.帧起始 4.2.仲裁段 4.3.控制段 4.4.数据段 4. ...

  5. 细说汽车电子通信总线之CAN 2.0 总线协议详解

    引言 1. CAN总线发展历史与ISO规范 2. CAN总线主要功能特性 3. CAN 2.0总线协议的物理层电气特性 4. CAN 2.0总线协议消息报文详解 4.1 CAN2.0总线的通信报文帧格 ...

  6. 三种串行总线协议的区别(SPI、I2C和UART)

    SPI.I2C跟UART三种串行总线协议的区别: (如果想了解SPI和I2C更多详细内容,可看 SPI总线(一):基本原理篇, SPI总线(二):驱动分析篇,SPI总线(三):驱动实例,i2c总线(基 ...

  7. can总线不加末端电阻_细说汽车电子通信总线之CAN 2.0 总线协议详解

    引言 1. CAN总线发展历史与ISO规范 2. CAN总线主要功能特性 3. CAN 2.0总线协议的物理层电气特性 4. CAN 2.0总线协议消息报文详解 4.1 CAN2.0总线的通信报文帧格 ...

  8. [转]关于I2C和SPI总线协议的优缺点

    关于I2C和SPI总线协议 IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral ...

  9. 简书大佬的笔记:一篇文章带你详解 HTTP 协议(网络协议篇一)

    一篇文章带你详解 HTTP 协议(网络协议篇一) 本篇文章篇幅比较长,先来个思维导图预览一下. 一张图带你看完本篇文章 一.概述 1.计算机网络体系结构分层 计算机网络体系结构分层 2.TCP/IP ...

  10. 从零开始学习CAN总线协议(一)

    最近开始零基础学习CAN总线协议,想通过通俗易懂的方式来讲述一些相关的知识点,一部分是我自己的理解,另一部分是参考其他博主的文章,希望能对CAN总线协议有更深一步的理解和学习. CAN总线基本概念 C ...

最新文章

  1. Python-time
  2. python【力扣LeetCode算法题库】892-三维形体的表面积
  3. hdu 1251 统计难题(trie树入门)
  4. Socket网络协议之一
  5. python 爬取svg数据_抓取SVG图表
  6. 未来的科学计算机作文800字,未来的高科技学校作文800字
  7. Java笔记-多线程协调及ReentrantLock的使用
  8. ssh : how to add hostkey to “know_hosts”
  9. 【学习Android NDK开发】Java通过JNI调用native方法
  10. json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)...
  11. git 常见操作合集
  12. oracle sql语句_7个维度查看oracle执行计划的sql语句执行效率
  13. freeswitch 录音录像模块和内核
  14. YDOOK:版权C符号:怎样在任何地方 任何位置快速输入版权符号 © 快捷键
  15. easyui filebox 上传类型控制
  16. Win32基础学习笔记
  17. 沥青路面粘弹性力学分析基础研究
  18. 学习Matlab的第一个程序——用二分法求根
  19. 360 android 应用市场,360手机助手在安卓应用市场占大份额
  20. [Kerberos] Kerberos教程(一)

热门文章

  1. 微信小程序获取用户头像昵称手机号最新版
  2. oracle中的内连接和外连接区别
  3. Oracle 建表语句,表结构操作sql
  4. ip地址中保留地址讲解
  5. 高仿iOS微信客户端
  6. 住在我隔壁储藏室的大学刚毕业的小夫妻
  7. viper4android hifi,体验HiFi级音质 蝰蛇音效进阶使用教程
  8. C语言课程设计---职工工资管理系统
  9. 差分进化算法(Differential Evolution)概述
  10. BT Openreach批发FTTP网络推出千兆宽带服务