前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MCU常见通信总线串讲(五)—— CAN总线协议

MCU常见通信总线串讲(五)—— CAN总线协议

作者头像
秋名山码神
发布2023-11-15 09:03:00
4190
发布2023-11-15 09:03:00
举报
文章被收录于专栏:码神随笔码神随笔

前言

首先明确一个概念,关于MCU中通信总线和通信协议,通信总线是一种用于连接各种外设和模块的物理接口,它可以传输数据和控制信息。通信协议则是指在通信总线上传输数据时所遵循的规则和约定,以确保不同设备之间能够正确地交换信息,我们也可以把他叫做通信总线协议。

系列文章,主要讲解以下几个总线协议,读者可以按需选择:

  1. UART和USART
  2. RS232、RS485总线
  3. IIC总线
  4. SPI总线
  5. CAN总线
  6. USB总线

一、CAN总线概述

CAN总线是控制器局域网络(Controller Area Network)的缩写,它是一种现代的通信协议和物理层总线标准,最初由德国的Bosch公司开发。CAN总线广泛应用于汽车、工业控制系统、航空航天领域以及其他需要可靠的实时通信的领域。CAN网络的消息是广播式的,即在同一时刻网络上所有节点侦测的数据是一致的,它是一种基于消息广播模式的串行通信总线。

can总线的优势: 包括高可靠性、实时性强、抗干扰能力强、通信效率高等优点。它可以支持多个节点之间的通信,并且能够在通信过程中自动进行错误检测和纠正,因此非常适合用于对通信质量要求较高的场合。

二、CAN总线物理层

CAN总线的物理层定义了在CAN总线上进行数据传输时所使用的电气和物理特性。根据CAN总线物理层的标准,有两种常见的物理层实现方式:

  1. CAN高/低速物理层:CAN总线的高/低速物理层适用于不同的通信速率要求。在高速物理层中,数据传输速率可达到最高1 Mbps;而在低速物理层中,数据传输速率通常为10 Kbps或者更低。
  2. 差分信号传输:CAN总线采用差分信号传输,即每个信号线都是成对出现的,一个为CAN_H(高电平),另一个为CAN_L(低电平)。这种差分传输方式可以提供较强的抗干扰能力,使得CAN总线能够在电磁干扰较强的环境中正常工作。

此外,CAN总线还有一些其他的物理层实现方式,如光纤CAN和无线CAN等。不同的应用场景可能需要不同的物理层实现方式,以满足其特定的通信需求。

三、CAN总线协议层

CAN总线协议层是指在CAN总线上进行数据传输时所采用的通信规则和协议。CAN总线协议层主要包括以下几个方面:

  1. 帧格式:CAN总线使用两种不同的帧格式,分别是标准帧和扩展帧。标准帧包含11位标识符,而扩展帧包含29位标识符,允许更多的消息标识符,以支持更大规模的网络和更多的节点。
  2. 通信方式:CAN总线采用基于事件的通信方式,节点之间可以根据消息的优先级进行通信,而无需主从节点的概念。这种通信方式使得CAN总线能够实现实时性较强的数据交换。
  3. 错误处理:CAN总线协议层定义了一套完善的错误处理机制,包括重发机制、错误帧标识和错误状态报告等,以确保数据传输的可靠性和稳定性。
  4. 数据帧和远程帧:CAN总线支持数据帧和远程帧。数据帧用于实际的数据传输,而远程帧用于请求其他节点发送特定的数据帧,从而实现数据的请求和响应。
  5. 过滤和屏蔽:CAN总线协议层支持过滤和屏蔽机制,可以根据标识符对接收到的消息进行过滤和筛选,从而只处理感兴趣的消息。

最后

如果本文对你有所帮助,还请三连支持一下博主!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、CAN总线概述
  • 二、CAN总线物理层
  • 三、CAN总线协议层
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档