2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 电子通信协议之CAN总线协议篇

电子通信协议之CAN总线协议篇

时间:2023-06-27 17:18:25

相关推荐

电子通信协议之CAN总线协议篇

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

来源: 网路素材

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 ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。

点击下面图片,有星球具体介绍,新用户有新人优惠券,老用户半价优惠,期待大家一起学习一起进步。

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。