请选择 进入手机版 | 继续访问电脑版

CAN总线概述及讲解

[复制链接]
西门听雨 发表于 2021-1-1 09:59:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
附件:文档原件github
CAN总线简介

CAN(Controller Area Network,控制器局域网络) 属于工业现场总线的范畴。最初CAN总线是由德国的Bosch(博世)
公司为汽车监测,系统控制而设计的。由于其高性能,高可靠性及独特的设计,CAN总线越来越受到人们的重视。它在汽车范畴得到广泛的应用,世界上险些所有的汽车制造厂商都在使用。

CAN总线简史

CAN总线的发展历史在很大水平上代表着车载网络从产生到普及的过程,以下为总线发展的5个关键阶段。
1983年,德国的Bosch公司开辟设计了CAN总线协议。
1987年,第一块CAN控制器芯片由Intel公司设计乐成。
1990年,第一辆应用CAN总线的量产车Mercedes S-Class出现。
1991年,CAN2.0发布。
1993年,CAN成为国际尺度ISO 11898(高速应用) 和 ISO11519(低速应用)。
CAN总线的特点

CAN的规范从CAN1.2规范 (尺度规范) 发展为兼容CAN1.2规范的CAN2.0规范(CAN2.0A为尺度格式,CAN2.0B为扩展格式),现在应用的CAN器件大多符合CAN2.0规范。
CAN总线是一种串行通信协议总线,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处置惩罚,包罗位填充,数据块编码,循环冗余查验,优先级辨别等工作。
CAN总线的特点主要如下:
1)可以多主方式工作,网络上任意一个节点可以在任意时刻主动地向网络上地其他节点发送报文消息,不分主从,通信方式机动。
2)接纳无粉碎性的基于优先级的逐位仲裁,标识符越小,优先级越高。若两个节点同时向网络上传送数据,优先级高的报文得到总线访问权,优先级低的报文会在下一个总线周期自动重发。
3)可以接纳点对点,点对多及全局广播等传送方式收发数据。
4)直接通信隔断可到达10Km(速率 5kb/s以下)。
5)通信速率最高可达1Mb/s (此时隔断最长40米)。
6)节点数实际可达110个。
7)每帧信息都有CRC校验及其他检错步伐,数据堕落率极低。
8)通信介质可接纳双绞线,同轴电缆和光导纤维,一般接纳便宜的双绞线即可。
9)节点在错误严重的情况下,具有自动关闭总线的功能,以切断它与总线的联系,使总线上的其他操纵不受影响。
CAN的两种尺度先容

CAN 协议经 ISO 尺度化后有 ISO11898 尺度和 ISO11519-2 尺度两种。
ISO11898 和 ISO11519-2 尺度对于数据链路层的界说相同,但物理层差别。
(1) 关于 ISO11898
ISO11898 是通信速度为 125kbps-1Mbps 的 CAN 高速通信尺度。
现在, ISO11898 追加新规约后,成为 ISO11898-1 新尺度。
(2) 关于 ISO11519
ISO11519 是通信速度为 125kbps 以下的 CAN 低速通信尺度。
ISO11519-2 是 ISO11519-1 追加新规约后的版本。
下图表现 CAN 协议和 ISO11898 及 ISO11519-2 尺度的范围。

(3)物理层的差别点
如上图所示, ISO11898 和 ISO11519-2 在 CAN 协议中物理层的尺度有所差别。 CAN 协议的物理层如下图所示,界说了三个子层, ISO11898 和 ISO11519-2 在物理层中的 PMA 层和 MDI 层有所差别。



CAN总线网络布局

CAN总线网络为半双工总线(同一时刻只能吸收和发送数据)。
1,闭环总线网络

1)概述
can闭环通讯网络是一种遵循ISO11898尺度的高速,短隔断网络,它的总线最大长度40米,通信速度最高1Mbps,总线的两头各要求有一个120Ω的电阻
2)工作流程
->节点1的can控制器发送数据,通过CAN_Tx线传输至CAN收发器1
-> 差分成CAN高和CAN低两种信号至can总线上
-> 通过数据帧的参数传输至指定的节点N的收发器
-> 通过节点N的CAN_Rx传输至节点N的控制器分析
2,开环总线网络

1)概述
can开环总线网络是遵循ISO11519-2尺度的低速,远隔断网络,最大传输隔断1KM,最高传输速率125kbps,两根线是独立的,不形成环路,要求每根总线上各串联个2.2千欧的电阻
2)工作流程
->节点1的can控制器发送数据,通过CAN_Tx线传输至CAN收发器1
-> 差分成CAN高和CAN低两种信号至can总线上
-> 通过数据帧的参数传输至指定的节点N的收发器
-> 通过节点N的CAN_Rx传输至节点N的控制器分析
那么!数据是以怎样的形式传输的呢?传输过程中数据是否会收到干扰?下面接着解答
数据是以差分信号传输的,差分信号又称为差模信号,与传统使用单根信号线电压表现逻辑的方式有区别,使用差分信号传输时,需要两根信号线,这两个信号线的振幅相等,相位相反,通过两根信号线的电压差值来表现逻辑0和逻辑1

优点:
1)抗干扰本领强,当外界存在噪声干扰时,险些会同时耦合到两条信号线上, 而吸收端只关心两个信号的差值,所以外界的共模噪声可以被完全抵消。
2)能有效抑制它对外界的电磁干扰,同理,由于两根信号的极性相反,它们对外辐射的电磁场可以相互抵消,耦合的越紧密,泄放到外界的电磁能量越少。
3)时序定位准确,由于差分信号的开关厘革是位于两个信号的交点,而不像普通单端信号依靠高低两个阈值电压判断,因而受工艺,温度的影响小,能降低时序上的误差,同时也更适合于低幅度信号的电路。
4)由于差分信号线具有这些优点,所以在USB协议,485协议,以太网协议及CAN协议的物理层中,都使用了差分信号传输。
CAN协议对它使用的CAN_High和CAN_Low表现的差分信号做了规定:
以高速CAN为例,当表现逻辑1时(隐性电平),CAN_High和CAN_Low线上的电压均为2.5V,即他们的电压差是0V;而表现逻辑0时(显性电平),CAN_High的电平是3.5V,CAN_Low的电平是1.5V,即电压差是为2V…

CAN协议层

-规定了数据通讯逻辑
1,CAN的报文种类及布局(主要讲数据帧)
数据帧以一个显性位(帧起始SOF,逻辑0)开始,以7个一连的隐性位(帧竣事EOF,逻辑1)竣事。
在它们之间,分别有仲裁段,控制段,数据段,CRC段和ACK段。

下面一起来拆分数据帧
1)数据帧-帧起始(SOF段)

SOF信号只有一个数据位,是一个显性电平,它用于通知各个节点将有数据传输,其他节点通过帧起始信号的电平跳变沿来进行硬同步。
2)数据帧-仲裁段
(当IDE为0时,表现尺度尺度格式帧。为1时,表现扩展帧)

当同时有两个报文被发送时,总线会根据仲裁段的内容决定哪个数据包能被传输。

仲裁段ID的优先级也影响着吸收设备对报文的反应。因为在CAN总线上数据是以广播的形式发送的,
所有毗连在CAN总线的节点都会收到所有其他节点发出的有效数据,因而CAN控制器大多具有根据ID过滤报文的功能,
它可以控制自己只吸收某些ID的报文。
3)数据帧-RTR,IDE,SRR

当RTR=逻辑0时,表现数据帧;=逻辑1时,表现遥控帧。
当IDE=0时,表现尺度帧,1表现扩展帧。
4)数据帧-控制段

在控制段中的r1和r0为生存位,默认设置为显性位。它最重要的是DLC段(Data Length Code),数据长度码,它由四个数据位组成,用于表现本报文中的数据段含多少个字节,DLC段表现的数字是0~8 (因为数据段的巨细是0到8字节巨细)。
5)数据帧-数据段

数据段为数据帧的核心内容,它是节点要发送的原始信息,由0到8字节组成。
6)数据帧-CRC段

为了包管报文的正确传输,CAN的报文包罗了一段15位的CRC校验码,一旦吸收节点算出的CRC码和吸收到的CRC码差别,则它会向发送节点反馈错误信息,利用错误帧请求它重新发送报文。CRC部门的盘算一般由CAN控制器硬件完成,堕落时的处置惩罚则由软件控制最大重发数。 在CRC校验码之后,有一个CRC界定符,它是隐性位,主要是把CRC校验码与反面的ACK段隔断开。
7)数据帧-ACK段

ACK段包罗一个ACK槽位和ACK界定符位。类似I2C总线,在ACK槽位中,发送节点发送的是隐性位,而吸收节点则在这一位中发送显性位以应答。在ACK槽和帧竣事之间由ACK界定符隔断开。
8)数据帧-EOF段

CAN波特率和位同步

由于CAN属于异步通讯,没有时钟信号线,毗连在同一个总线网络中的各个节点会像串口异步通讯那样,节点之间使用约定好的波特率进行通讯,特别地,CAN还会使用位同步的方式来抗干扰,吸收误差,实现对总线电平信号进行正确的采样,确保通讯正常。
位时序分解
为了实现位同步,CAN协议把每一个数据位的时序分解成SS段,PTS段,PBS1段,PBS2段,这四段的长度加起来即为一个CAN数据位的长度。分解后最小的时间单元是Tq,而一个完整的数据位有8~25个Tq组成。


来源:https://blog.csdn.net/weixin_48498880/article/details/111903144
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )