最后更新:2022-08-02 16:42:25 手机定位技术交流文章
目录
1、CAN总线简介
2、CAN节点组成
3、CAN总线结构
CAN巴士的物理电特性
在前面的演讲中,我分享了一系列的文章来理解:SPI协议,I2C协议,PID算法,Modbus协议等。还考虑了写一篇关于CAN总线协议的文章的可能性,但后来的研究发现,发现CAN总线协议是庞大而复杂的,作为新入的汽车电子工业发展小白,文章很难清晰地解释,所以决定在自动电子栏中链接,分享CAN总线协议的信息。
由于我也是在研究和研究阶段,如果有关于CAN巴士协议不能理解的地方,请在消息的末尾指出。
BOSCH CAN标准原版V2.0 - 嵌入式文档类资源
CAN ISO11898综合协议-嵌入式文档类资源
NXP—CAN Bit Timing Requirements-行业报告文档类资源
TI-Introduction to the Controller Area Network(CAN)-行业报告文档类资源
CAN总线协议(Controller Area Network),控制器局域网总线,是德国BOSCH( 博世 公司开发的一系列通信协议巴士,它可以使用双线传输信号,它是世界上最广泛使用的现场巴士之一。
CAN通信协议标准(ISO-11898:2003)描述了设备之间如何传输信息,以及哪些层件符合开放系统互连参考模型(OSI)。实际CAN通信是在连接设备的物理介质中进行的,物理媒体的特性由模型中的物理层定义。ISO11898系统结构定义了七层,OSI模型的最低两个层是数据链层和物理层。如下图所示:


CAN协议主要用于汽车的各个组件之间的通信,取代昂贵和繁琐的配线包。该协议的鲁棒性使它同样适用于自动化和工业环境。

CAN总线协议距今已经发展40多年,如今,CAN总线已成为汽车(汽车、卡车、公共汽车、拖拉机等)、轮船、飞机、电动汽车电池、机械等的标准配置。

高级学习: CAN在自动化中的应用 ( CiA ) : CAN技术的历史 ( can - cia )
CAN巴士具有以下特点:
CAN巴士具有以下具体优势:

CAN节点通常由三个部分组成: CAN接收器、CAN控制器和MCU。
CAN总线通过差信号传输数据,CAN接收器将差信号转换为TTL平行信号,或TTL平行信号转换为差信号,CAN控制器接收TTL平行信号并将其传输到MCU,如图所示:

目前,CAN控制器被集成到通常使用的单片机内,如STM32、WAN、RISA等,并可以通过配置读取和发送到CAN消息数据。
CAN巴士是一种广播型巴士,它支持线性拓扑、星系拓扑、树系拓扑和圆形拓扑。CAN网络至少需要两个节点设备来通信。不能仅向特定节点设备发送消息,在传输数据时, 所有节点必然接收所有流量.但是,CAN总线硬件支持本地滤波,因此,每个节点可以配置以响应有效的消息。
线形拓扑是在一条主干总线分出各个节点支线,其优点在于布线施工简单,接线方便,阻抗匹配规则固定,缺点是拓扑不够灵活,在一定程度上影响通讯距离,如下图所示:

星系拓扑是一个通过中央设备连接的每个节点的拓扑,其优点是易于扩展,缺点是一旦中央设备失败,总线会集体失败,分支线长度不同,抗力匹配复杂,可能需要通过一些继电器或收集器扩展,如图所示:

树形拓扑是节点分支比较多,且分支长度不同,其优点是布线方便,缺点是网络拓扑复杂,阻抗匹配困难,通讯中极易出现问题,必须加一些集线器设备,如下图所示:

环形拓扑是由连接CAN总线头和尾部组成的环形拓扑,其优点是电缆可以在任何位置中切断,而总线没有问题。缺点是信号反射严重,不能用于高带宽和长距离传输。

虽然CAN总线可以支持多个网络拓扑,但建议在实际应用中使用线性拓扑,同时IOS 11898-2的高速CAN物理层规范也建议用于线性拓扑。
在ISO 11898-2和ISO 11898-3中,指定了两个CAN总线结构(在BOSCH CAN2),0规范中没有描述总线拓扑结构。
ISO 11898-2中定义了通信速率为125Kbps~1Mbps的高速闭环CAN通信标准,当通信总线长度≤40米,最大通信速率可达到1Mbps,高速闭环CAN(高速CAN)通信如下图所示:

ISO 11898-3定义了一种低速开环CAN通信标准,其传输速率为10—125Kbps,如果传输速率为40Kbps,总线距离可以达到100m。 以下图示了低速开环CAN(低速故障容忍CAN)通信:

在CAN总线上,CAN信号由CAN_H和CAN_L线之间的电压差表示。CAN 总线上的电位差分为显性电平(Dominant Voltage)和隐性电平(Recessive Voltage),其中,显而易见的电解是逻辑的0,无形电解体是逻辑的1。

高速CAN巴士(ISO11898-2,传输可视 (0)信号时,通信速度为125Kbps至1Mbps,可提升CAN_H端到5V高压水平,拖动CAN_L到0V低压水平。当发送隐藏信号时,不能驱动CAN_H或CAN_L端。可视信号CAN_H和CAN_L之间的差值表示2V的电压。当端子阻尼器不驱动时,降低差压到0V.可视信号(0)的共模电压必须在1.5V至3V之间。可视信号的共模电压(1)必须为 +/-12V。

低速/容错CAN(ISO11898-3,传输可视信号时通信速度为10至125Kbps,驱动CANH最终达到5V,降低CANL端到0V.当发送隐藏信号时,CAN总线的任何端子都不驱动(1)。当电源电压VCC为5V时,可见信号差压必须超过2.3V,无形信号的差幅电压必须小于0.6V。当CAN巴士的两端没有驱动时,端口电阻返回CANL端到RTH电压(当电源电压VCC为5V时,RTH电压至少为Vcc-0.3V=4.7V),同时,CAN H端返回RTL电压(RTL电压最大0.3V)。两条线路必须能够承受27V至40V之间的电压,而不受损。

在高速和低速CAN中,从可视信号到可视信号的转换速度是更快的,因为CAN电缆被主动驱动,而从可视信号到可视信号的转换速度主要取决于CAN网络的长度和电缆的容量。
有关高速和低速CAN的知识将在稍后的特别文章中解释。请期待
拓展学习:
CAN巴士技术简介?
为什么CAN巴士分支长度不能太长?
一个CAN巴士的拓扑 、 物理电路 、 发展历史详细说明.
CAN巴士第一课-物理层
CANISO 11898综合协议-嵌入式文档类资源
BOSCH CAN标准原版V2.0 - 嵌入式文档类资源
NXP—CAN Bit Timing Requirements-行业报告文档类资源
TI-Introduction to the Controller Area Network(CAN)-行业报告文档类资源
CAN_E: Learning Module CAN (vector.com)
本文由 在线网速测试 整理编辑,转载请注明出处。