北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章536 浏览8302544

CAN通信技术连载(1)--从经典开始

CAN通信是一个宽泛的概念,不仅包括ISO11898和ISO11519中定义的物理层和数据链路层协议,也包括了基于这些协议的应用层协议。比如:CiA推出的CANopen协议、罗克韦尔推出的DeviceNet协议、汽车行业广泛使用的UDS诊断协议等等。CAN通信技术也在不断地发展,从早期的经典CAN每帧数据最多8个字节,到CAN FD每帧数据最多可发送64个字节(并且某些段的通信速率可变),再到可以承载更大数据量和更快速率的CAN XL,让我们看到这是一个有生命力的技术。CAN通信以稳定著称,在汽车、轨道交通、医疗、工控等领域有广泛的应用。今天这篇文章,我们从经典CAN开始,介绍一下不断发展的CAN通信技术。本文包括如下几个主题:

  1. 什么是CAN?

  2. 经典CAN;

  3. CAN FD;

  4. CAN XL;

cover.png

1、什么是CAN?

CAN是英文“Controller Area Network”的缩写,中文翻译为“控制器局域网络”。1986年2月,德国博世公司的研究人员在底特律的汽车工程师协会上提出了CAN总线的概念,这是一种基于串行网络的总线系统,其目的是解决汽车内部日益增长的控制单元之间相互通信的需求。大约一年后(1987年),英特尔公司推出了第一款CAN控制器芯片——82526。不久之后,飞利浦公司也推出了一款CAN控制器芯片——82C00。这两款芯片的诞生,标志着CAN通信从工程师的概念走到了现实中。1990年,第一款采用CAN总线的轿车开始量产,1991年CAN通信的2.0协议版本发布,1993年国际标准化组织发布了CAN通信的国际标准——ISO11898和ISO11519。

2、经典CAN

起初并没有“经典CAN”之说,只不过是由于后来技术的更新,将先前的CAN技术称为“经典CAN(Classic CAN)”。

经典CAN包括两类:高速CAN和低速CAN。从名称可以看出,它们的通信速率是不同的。CAN总线经由国际标准化组织标准化后,发布了ISO11898和ISO11519。ISO11898定义的CAN通信速率为125kbps~1Mbps,ISO11519定义的CAN通信速率低于125kbps。由于前者的速率高于后者,因此前者称为“高速CAN”,后者称为“低速CAN”

这两个标准都对CAN总线的物理层和数据链路层进行了定义。物理层包括:CAN连接器的类型及针脚定义、CAN通信使用的线缆、CAN的电平(这两个标准对CAN电平的定义不同,后面的文章再谈)及CAN通信的传输速率(位时间)。数据链路层定义了五种CAN通信的“帧”,包括:数据帧、远程帧、错误帧、过载帧和帧间隔。

CAN2.0通信协议包括A和B两个版本,其区别在于数据帧不同。A版本规定了数据帧的标识符(CAN-ID)长度为11位,B版本在兼容A版本的基础上,对帧标识符进行了扩展,定义了29位标识符。因此,我们也将具有11位帧标识符的数据帧称为“标准帧”,将具有29位帧标识符的数据帧称为“扩展帧”。关于具体的帧定义我们将在后面的文章中介绍。

2、CAN FD

经典CAN定义了每帧数据的最多可以发送8个字节,总线的最高通信速率为1Mbps。

随着汽车内部控制单元的增加及日益增长的数据传输量,汽车厂商希望能增大每帧发送的数据量及提高数据发送的速率,于是CAN FD在这种背景下诞生了。

CAN FD是英文“CAN with Flexible Data-rate”的缩写,即“具有可变速率的CAN”,也称为“可变波特率CAN”。在经典CAN中,其帧的各段(比如仲裁段、控制段、数据段、CRC段等)都是相同的传输速率,而在CAN FD中,其数据段、CRC段及控制段的部分数据,可以与仲裁段有不同的传输速率,即一帧数据中的不同部分可以不同的速率进行发送,其中可变部分理论上支持10Mbps的波特率(实际应用中多为5Mbps),其它不变的部分最高为1 Mbps的波特率。除此之外,CAN FD每帧可最多发送64个字节的数据,较经典CAN的最多8字节数据有很大增加。

经典CAN和CAN FD的报文可共存于同一网络中,目前两者均被广泛的应用。

3、CAN XL

CAN XL是下一代CAN通信技术。

我们看到虽然CAN FD比经典CAN在传输速率和每帧的数据量上都有不小的提高,但是与百兆以太网(100BASE-T)相比还是有很大的差距。CAN技术的设计人员希望能缩小这种差距,这便是CAN XL产生的背景。CAN XL具有如下一些特点:

  • 与CAN FD兼容,可共存于同一网络中;

  • 最高传输速率20M pbs;

  • 最多可传输2048个字节;

CAN XL目前仍在初级阶段,尚未大量使用。CAN国际用户和制造商联合组织(CiA,CAN in automation)致力于该协议的推广和应用,其官网为:https://can-cia.org

好了,关于CAN通信技术的第一篇就先介绍到这里。

下面是【CAN通信技术】的文章归档链接:

》》CAN通信文章归档《《

我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》从硬件到软件,比较详细的介绍了SCL语言的编程,感兴趣的话可以扫描下面的二维码查看:

CAN通信技术连载(1)--从经典开始

来源:本站|   大小:386 KB|   下载次数:114次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论