【CAN】CAN通信基础

这篇具有很好参考价值的文章主要介绍了【CAN】CAN通信基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、CAN 总线与 CANopen 概述

CAN(Controller Area Network)总线是BOSCH为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可达 1MBPS
CAN 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
CAN 总线仅仅定义了物理层、数据链路层,没有规定应用层;本身并不完整,需要一个高层协议来定义 CAN 报文中的各个数据位的具体作用。随着 CAN 总线在工业自动化的应用越来越需广泛,就更加迫切的需要一个开放的、标准化的高层协议。
CANopen 就是一种架构在 CAN 总线应用层上的上层通信协议,包括通信子协议及设备子协议。它是由生产厂商和用户联合 CiA 共同开发的,并于 2002 年成为 CENELEC EN 50325-4 标准。CANopen 已经在广泛的工业通信上建立了标准(例如:机械工程、驱动系统和组件、医疗设备、楼宇自动化、交通工具等等)。基本的通信机制被称为通信描述,大多设备都在“设备描述”的协议中进行描述,“设备描述”定义了不同类型的标准设备及其相应的功能,不同的生产厂商可以通过描述文件(EDS 文件)配置,协调地使用一个CANopen网络。

2、CAN与CANOpen的关系

下面是CAN协议与OSI网络模型的一个对比。CAN的物理层分了三层分别是MDI,PMA和PLS,数据链路层分了两层:MAC与LLC。这五层就是最原始的CAN协议,标准是ISO11898。也就是说CAN协议一开始是没有应用层的。后来有一种叫CANOpen的基于CAN的应用层协议被开发出来,标准是CiA301。
can通讯,can,常用接口方式,单片机,嵌入式硬件
can通讯,can,常用接口方式,单片机,嵌入式硬件

3、CAN通信简介

物理层

CAN总线是一种分布式的控制总线,它的网络由很多CAN节点构成,每个节点均由一个MCU(微控制器)、一个CAN控制器和一个CAN收发器构成,然后使用双绞线连接到CAN网络中。另外,在CAN总线的起止端都有一个120Ω的终端电阻,用来做阻抗匹配,以减少回波反射。
can通讯,can,常用接口方式,单片机,嵌入式硬件
CAN 控制器是根据CAN_L和CAN_H上的电位差(即差分信号的形式)来判断总线电平。总线总线电平分为显性电平(对应逻辑0,电位差为2V左右)和隐性电平(对应逻辑1,电位差为0V),二者必居其一。发送方通过使总线电平发生跳变,将消息发送给接收方。
can通讯,can,常用接口方式,单片机,嵌入式硬件

协议层

CAN通信是通过以下5种类型的帧进行的:

帧类型 帧用途
数据帧 用于发送单元向接收单元传送数据的帧
遥控帧 用于接收单元向具有相同ID的发送单元请求数据的帧
错误帧 用于检测出错误时向其他单元通知错误的帧
过载帧 用于接收单元通知其尚未做好接收准备的帧
间隔帧 用于将数据帧及遥控帧与前面的帧分离开来的帧

数据帧

数据帧由 7 个段构成,包括:
(1)帧起始。表示数据帧开始的段。
(2)仲裁段。表示该帧优先级的段。
(3)控制段。表示数据的字节数及保留位的段。
(4)数据段。数据的内容,一帧可发送0~8个字节的数据。
(5)CRC段。检查帧的传输错误的段。
(6)ACK段。表示确认正常接收的段。
(7)帧结束。表示数据帧结束的段。
can通讯,can,常用接口方式,单片机,嵌入式硬件

遥控帧

接收单元向发送单元请求发送数据所用的帧。遥控帧由 6 个段组成。遥控帧没有数据帧的数据段。
遥控帧的构成如图 24 所示。
(1) 帧起始(SOF):表示帧开始的段。
(2) 仲裁段:表示该帧优先级的段。可请求具有相同 ID 的数据帧。
(3) 控制段:表示数据的字节数及保留位的段。
(4) CRC 段:检查帧的传输错误的段。
(5) ACK 段:表示确认正常接收的段。
(6) 帧结束:表示遥控帧结束的段。

can通讯,can,常用接口方式,单片机,嵌入式硬件

错误帧、过载帧和间隔帧在这不再赘述文章来源地址https://www.toymoban.com/news/detail-611276.html

到了这里,关于【CAN】CAN通信基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 车载通信——CAN报文信号排列方式(报文/信号结构)

    一、CAN报文信号排列方式 在定义CAN通信矩阵或制作dbc时,需确定报文的信号排列方式。字节的排列顺序有:Intel的排列顺序;Motorola的排列顺序。 注: Motorola和Intel格式,只在信号数据跨字节解析时有区别,单个字节数据没有区别 。 二、 编码格式 (1)Intel格式——小端 当

    2024年02月14日
    浏览(44)
  • 【零基础 STM32通过CAN通信驱动Maxon电机】第三章 STM32 CAN通信回环模式测试及Maxon电机通信

    第三章 STM32 CAN通信回环模式测试及Maxon电机通信 正点原子官方给的CAN通信例程需要lcd显示屏和两块板子,本章修改代码,仅用一块STM32进行回环模式的测试。 首先下载修改后的程序,运行并烧录(接线方式和运行方式与上一章完全相同)。注意板子右侧的接线帽要接正确,

    2024年01月21日
    浏览(41)
  • 通信接口五种主要的类型是什么?RS-232、485、CAN、USB

    笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同互勉! 全套资料领取扫描文末二维码 ! 温馨提

    2024年02月09日
    浏览(38)
  • Vector-常用CAN工具 - VN5000接口以太网包过滤

    一、什么是硬件过滤? 1、什么时候应该过滤硬件? 2、需要注意什么?  3、如何过滤VN5000接口上的以太网报文? (1)Vector Hardware Manager (2)Vector Hardware Config          启用硬件以太网包过滤器时,以太网包已经在硬件(即VN5000接口)上进行了过滤,不会从该接口的上

    2024年02月07日
    浏览(44)
  • 艾瑞泽5汽车电子控制单元CAN通信数据读写车辆网络系统交互接口

    艾瑞泽5的网关接口数据交换通常涉及车辆内部电子设备之间的信息传输,包括车身系统、娱乐系统、远程控制、车辆状态监控、CAN数据采集分析、整车DBC控制策略等信息。 艾瑞泽5作为一款采用CAN协议的汽车,其CAN通信的开发可以提高车辆的安全性、可靠性和实时性。CAN协议

    2024年04月24日
    浏览(34)
  • 关于485、CAN、单总线、SPI、I2C的特点、区别、协议、使用方法、通信方式。

    485(一般称作 RS485/EIA-485)。 是隶属于 OSI 模型物理层电气特性规定为 2 线半双工多点通信标准。 它的电气特性和 RS-232 大不一样,用缆线两端的电压差值来表示传递信号。 特性 1.    接口电平低,不易损坏芯片 RS485 的电气特性:逻辑“1”以两线间的电压差为+(2~ 6)V表示;

    2024年02月07日
    浏览(56)
  • 常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理

      最近在进行项目方案设计时,涉及到常用通信接口的选型,包括 TTL、RS232、RS485、RS422、CAN、IIC、SPI 等常用通信协议,这里对常见的通信协议进行一个整理,在需要的时候可以进行回顾,这里参考几个优秀博文并进行整理,大家也可以去看看。 不脱发的程序猿-详解RS232、

    2024年02月02日
    浏览(36)
  • 485、CAN、单总线、SPI、I2C的概念,特点,协议,使用方法及通信方式,还有它们之间的区别

    1. 485:485(一般称作 RS485/EIA-485)是隶属于 OSI 模型物理层的电气特性规定为 2 线,半双工,多点通信的标准。它的电气特性和 RS-232 大不一样。用缆线两端的电压差值来表示传递信号。 2. CAN:CAN,全称为“Controller Area Network”,即控制器局域网,是一种多主方式的串行通讯总

    2024年02月10日
    浏览(50)
  • stm32 cubemx can通讯(3)bsp_can

    stm32 cubemx can通讯(1)回环模式 stm32 cubemx can通讯(2)过滤器设置说明代码分析 根据前两篇文章已经能够实现can标准帧的收发,但是调用的函数没有标准化和可扩展性。 所以本文讲解bsp,在bsp中已经有了发送函数和接受回调函数的任务映射处理回调函数。 暂时(2023.8.10)还

    2024年02月13日
    浏览(40)
  • 【QT5:CAN卡通信的上位机-代码练习-收发数据+布局+引用外部库+基础样例(1)】

    有句话叫做,出来还混,早晚是要还得,当时为快点使用完成can的qt上位机,偶然在网上找到一个样例,正好能运行,就直接拿着那个样例进行改了,后来上位机遇到点精准时间问题,一时间不知道如何调,正好也借着这个机会,学习一下样例代码,纯手打一遍。 实验环境还

    2024年02月01日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包