网易首页 > 网易号 > 正文 申请入驻

【通讯】CAN总线协议

0
分享至

一、CAN协议

1、协议简介

CAN(Controller Area Network)是ISO国际标准化的一种实时应用的串行通信协议,在汽车电子系统中,用于各种电子系统之间的通信,现在由于CAN的高性能和可靠性被认可,已经被广泛用于工业自动化、工业设备等方面。

CAN协议经过ISO标准化后有两个标准,ISO11898标准和ISO11519-2标准。其中ISO11898是针对通信速率为125Kbps~1Mbps的高速通信标准,ISO11519-2是针对125Kbps以下的低速通信标准。

2、CAN协议特点

2.1 多主工作方式

在总线空闲时,所有单元都可以发送消息:

①最先向总线发送消息的节点获得发送权

②当两个以上单元同时开始发送消息时,根据标识符ID决定优先级,对对ID的每个位进行逐个仲裁比较,优先级高的继续发送消息,仲裁优先级低的停止发送而进行接收工作。

2.2 系统的柔性

CAN总线上节点没有地址概念,仅用标志符指示功能信息、优先级信息,因此增加节点不会对已有节点的软硬件及应用层造成影响。o

2.3 通信速度 ①在同一条CNA总线上,所有节点通信速度必须相同,如果不同通信速度的总线上节点想要实现信息交互,必须通过网关。 ②CAN通信速率较快,通信距离远。最高1Mbps(距离小于40m),最远可达10KM(速率低于5Kbps) 2.4 错误检测、错误通知、错误恢复功能 ①错误检测:所有单元都可以检测错误 ②检测出错误的单元会立即同时通知其他所有单元(错误通知)

③正在发送消息的单元一旦检测出错误,会强制结束当前的发送;强制结束发送的单元会不断反复重新发送此消息直到成功发送为止(错误恢复)。

2.5 故障封闭

CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。

2.6 多节点连接

CAN总线可同时连接多个单元总线,实际可连接的单元数受总线上时间延迟及电气负载限制;降低通信速度可增加连接单元数量。

2.7 其他性能

实时性强、传输距离较远、抗干扰能力强、成本低

二、信号传输架构

CAN的传输链路为CPU-CAN控制器-CAN收发器-节点单元

1、发送过程

CAN控制器将CPU发送的数据信号转换为逻辑电平(逻辑0显性/逻辑1隐形),CAN收发器将逻辑电平转换为差分电平发送给CAN总线上。

2、接收过程

CAN收发器将CAN_H和CAN_L线上传来的差分电平转换为逻辑电平输出到CAN控制器,CAN控制器再把该逻辑电平转换为相应的信号发送给CPU

总结:发送方通过使总线电平发生变化,将其信息传递到CAN总线上。

接收方通过监听总线电平,将总线上的消息读入自己的接收器。

三、CAN电气特性

电信号的传输在物理层面都是靠电压高低区分来实现的,CAN也是如此;CAN总线使用双绞线进行差分电压传输,使用CAN_H和CAN_L两根线上的电位差来表示CAN信号,CAN总线上的电位差分为显性电平(逻辑0)和隐形电平(逻辑1)

显性(逻辑为0):高速CAN 1.5V<CANH-CANL<3V,典型2V;低速CAN 0.3V<CANH-CANL,典型值3V;

隐性(逻辑为1):高速CAN -0.5V<CANH-CANL<0.05V,典型值0V;低速CAN -0.3V<CANH-CANL,典型值-1.5V;

注:CAN总线采用线与规则进行冲突仲裁,即当多个CAN信号同时发送时,只要有0则总线就是0,因此0为显性。

四、CAN电路设计

1、CAN控制器

CAN控制器分为两类:独立的控制器芯片、CAN控制器集成在微控制器中

1.1 控制器原理

①接口逻辑管理IML

接口逻辑管理用于连接CPU,解释来自主控的命令,控制CAN控制器寄存器的寻址,并向主控提供中断信息和状态信息。

②CAN核心模块

收到一个报文时,CAN核心模块根据CAN规范将串行位流转换成用于接收的并行数据,发送报文时相反。

③发送缓冲器TXB

发送缓冲器用于存储一个完整报文,当CAN控制器发送初始化时,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文。

④验收滤波器ACF

验收滤波器可以根据用户的编程设置,把报文头中的标识符和验收滤波器寄存器中的内容进行比较,以判断是否接收报文,如果接收,报文存入接收FIFO。

⑤接收FIFO

接收FIFO是验收滤波器和主控制器之间的接口,用于存储从CAN总线上接收并通过了过滤的报文,使CPU处理一个报文同时可以接收其他报文。

⑥位流处理器BSP

位流处理器是在发送缓冲器、RXFIFO和CAN总线之间控制数据流的程序装置,还在CAN总线上执行错误检测、仲裁、填充和错误处理。

⑦错误管理逻辑EML

按照CAN协议完成错误界定,接收BSP的出错报告,通知BSPhereIML进行错误统计。

⑧位时序逻辑BTL

监视CAN总线和处理与总线有关的位时序,用于同步CAN总线位流。

1.2 控制器外围电路设计

引脚说明:

AD7-AD0:数据总线,与CPU连接

ALE/AS:ALE输入信号(Intel模式/LSB),AS输入信号(Motorola模式/MSB)

/CS :片选输入,一般低电平有效

(/RD)/E:MCU的/RD信号(Intel模式),或E使能信号(Motorola模式)

/WR:MCU的/WR信号(Intel模式),或RD/信号(Motorola模式)

CLKOUT:控制器产生给MCU的时钟输出,来源于控制器内部振荡器,不用可禁止该引脚

XTAL1:输入到振荡器放大电路,外部晶振信号输入

XTAL2:振荡放大电路输出

MODE:模式选择(Intel/Motorola)

TX0:与CAN收发器的TX连接

TX1:悬空

TX0和TX1是控制器内部

RX0:与CAN收发器的RX连接

RX1:接VCC

2、CAN收发器

CAN收发器是CAN控制器和物理总线之间的接口,将CAN控制器的逻辑电平转换为CAN总线的差分电平。CAN收发器也分为独立型与组合型两大类,由于独立型应用更灵活,因此最广泛使用,后者通常与CAN控制器组合在一起,形成具有CAN收发功能的CAN组件。

2.1 CAN收发器原理

2.2 CAN收发器外围电路设计

引脚说明:

TX:接CAN控制器/MCU的TX

RX:接CAN控制器/MCU的RX

VIO:接与TXD信号相同的参考电压,一般3,3V

S:Silent 模式选择,高有效,一般接地;监听模式使用,不向总线发送数据

3、终端电阻

CAN一般会在首尾增加120Ω匹配电阻,主要是有以下几个作用:

①为改善由于阻抗突变导致的信号质量恶化问题,提高信号质量;

②可以使得总线上的寄生电容得到快速泄放,快速恢复到隐性状态;

③当总线没有负载时,隐性时差分电阻阻值大,外部干扰容易使得总线进入显性,因此使用终端电阻可以吸收干扰,提升抗干扰能力;

注意仅在首尾两个节点添加,封装不小于0805;

五、CAN数据结构

1、数据帧

用于发送单元向接收单元传送数据的帧,根据仲裁段ID码长度不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)

数据帧由7个段构成,分别是:

①帧起始:表示数据帧的开始段,由一个显性位组成。

②仲裁段:用于仲裁该帧优先级的段,有两种格式:

RTR:远程发送请求位,数据帧中为显性,远程帧中为隐性

SRR:替代远程请求位(在扩展格式中在RTR的位置),隐性位。

IDE:标识符扩展位,标准帧显性,扩展帧隐性,表示该帧为标准帧还是扩展帧

③控制段:表示数据的字节数及保留位的段,共6位

R1、R0:保留位

DLC:数据长度代码

④数据段:数据的内容,可发送0~8个字节的数据

⑤CRC段:检查帧传输错误的段,由15位CRC值和1位CRC界定符(隐性位)组成

⑥ACK段:2位,由应答位和应答界定位组成。在应答域中,发送器发出两个隐性位,当接收器正确的接收到有效的报文,该接收器就会在应答位期间,用一显性位填充应答位作为回应,而应答界定位一直保持为隐性。当节点接收的帧起始到CRC段内容没有错误,会在ACK段发送一个显性电平。

⑦帧结束:表示数据帧结束的段,由7个隐性位组成。

2、远程帧

用于接收单元向具有相同ID的发送单元请求数据的帧

远程帧由帧起始、仲裁段、控制段、CRC段、ACK段和帧结束6个部分组成

与数据帧的区别:

①RTR位,数据帧为显性,远程帧为隐性

②远程帧没有数据域

③远程帧发送特定的ID,然后对应ID的节点收到远程帧后自动返回一个数据帧。

3、错误帧

错误帧由错误标志和错误界定符组成

①出错标志有两种:主动(积极)错误和被动错误,主动错误由6个连续的显性位组成,被动错误由6个隐性位组成。

错误积极节点如果检测到一个错误条件,会发送一个积极错误标志进行标识,这个错误标志违反了正常的位填充规则,会引起其他节点检测到新的错误节点并各自开始发送错误标志,因此检测到的显性序列是各个节点发出的不同错误标志的叠加。

消极错误节点如果检测到一个错误条件,会试图发送一个消极错误进行指示,这个消极错误节点会一直等待6个具有相同极性的连续位,当检测到6个相同极性的连续位时,消极错误标志发送即完成。

②错误界定符由8个隐性位组成

4、过载帧

用于接收单元通知其尚未做好接收准备的帧,由过载标志和过载界定符组成

过载标志由6个位的显性位组成

过载界定符由8个位的隐性位组成

5、帧间隔

用于将数据帧、远程帧与之前的帧分离开的帧,数据帧、远程帧可以通过插入帧间隔将与本帧与前面的任何帧分开,过载帧、错误帧不能插入帧间隔。

笔记写了这么多,不过在硬件中,到目前关注比较多的还是信号质量问题,尤其是挂了很多节点的时候;

鉴于CAN的仲裁和错误校验机制,确实比485靠谱很多,不过,对于实时性要求比较高的情况,CAN的通讯速率又不太够,所以需要选择带CAN-FD的主控;就不得不吐槽某国产MCU,有点坑。。。

来自 Roger的硬件升级之路公众号

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
9岁男孩吃了夜市提拉米苏,全麻开腹手术进了ICU:你的那口随便的甜,可能要了孩子的命!

9岁男孩吃了夜市提拉米苏,全麻开腹手术进了ICU:你的那口随便的甜,可能要了孩子的命!

消化石医生
2026-06-09 20:08:20
沉默45年,中国第二轮"严打"终于来了!目标改变总体战正式打响

沉默45年,中国第二轮"严打"终于来了!目标改变总体战正式打响

细说职场
2026-06-19 14:29:16
向天要电!中国把发电站搬上2000米高空,一度电只要三分钱?

向天要电!中国把发电站搬上2000米高空,一度电只要三分钱?

傲傲讲历史
2026-06-19 04:30:50
明天,深交所史上最大规模IPO来了

明天,深交所史上最大规模IPO来了

新浪财经
2026-06-21 18:38:26
红利曼刚被打穿,三路俄军天罗地网!乌军底牌打光,惨遭单向碾压

红利曼刚被打穿,三路俄军天罗地网!乌军底牌打光,惨遭单向碾压

李摻穷游天下
2026-06-21 17:26:59
4-0突尼斯!日本足球已成顶级强队,世界杯争冠不是痴人说梦!

4-0突尼斯!日本足球已成顶级强队,世界杯争冠不是痴人说梦!

海浪星体育
2026-06-21 14:05:22
电动车或将要被取代?多地开始大批投放!新型代步车已经正式登场

电动车或将要被取代?多地开始大批投放!新型代步车已经正式登场

离离言几许
2026-06-20 01:16:13
高盛大砍黄金目标价 长期多头转趋谨慎

高盛大砍黄金目标价 长期多头转趋谨慎

财联社
2026-06-21 14:02:05
西藏网友发现“冬虫夏草”在爬行?表示要吃掉!网友:是旱厕精灵

西藏网友发现“冬虫夏草”在爬行?表示要吃掉!网友:是旱厕精灵

狸猫之一的动物圈
2026-06-21 09:19:02
查尔斯国王正式发声!为哈里梅根提供皇家住宿,庆幸守住最后底线

查尔斯国王正式发声!为哈里梅根提供皇家住宿,庆幸守住最后底线

凡知
2026-06-20 17:24:20
新加坡媒体不欢迎《给阿嬷的情书》原因不太方便讲……

新加坡媒体不欢迎《给阿嬷的情书》原因不太方便讲……

基本常识
2026-06-20 13:18:44
马斯克背后的女人,居然是她!

马斯克背后的女人,居然是她!

新民周刊
2026-06-21 16:35:03
美国宣布六国分担3000亿美元战争费用

美国宣布六国分担3000亿美元战争费用

你是佛的弟子
2026-06-21 03:36:16
俄罗斯只剩两条路:要么低头吐地赔款,要么全面宣战赌国运

俄罗斯只剩两条路:要么低头吐地赔款,要么全面宣战赌国运

荷兰豆爱健康
2026-06-21 12:58:57
水煮蛋再次被点名!多名院士发现:常吃水煮蛋的老人,有7个好处

水煮蛋再次被点名!多名院士发现:常吃水煮蛋的老人,有7个好处

岐黄传人孙大夫
2026-06-21 16:35:06
蔚来的“暗战”时刻

蔚来的“暗战”时刻

虎嗅APP
2026-06-21 00:30:13
濒临破产时投2000万,如今赚了4000倍

濒临破产时投2000万,如今赚了4000倍

灰度测试中
2026-06-21 01:12:43
戏混子又来嚯嚯央视大剧?演技浮夸、呲牙咧嘴,毛晓彤也带不动

戏混子又来嚯嚯央视大剧?演技浮夸、呲牙咧嘴,毛晓彤也带不动

冷紫葉
2026-06-21 18:32:10
滚出去!以色列代表联合国会议当场发飙,怒斥联合国官员:你闭嘴

滚出去!以色列代表联合国会议当场发飙,怒斥联合国官员:你闭嘴

云上乌托邦
2026-06-21 18:31:20
美国断供C919发动机1年后,世界才发现,中国造出了一台更好的

美国断供C919发动机1年后,世界才发现,中国造出了一台更好的

商业财经风向
2026-06-18 10:39:45
2026-06-21 19:11:00
新能源自动驾驶 incentive-icons
新能源自动驾驶
专注于半导体行业资讯
1000文章数 348关注度
往期回顾 全部

头条要闻

高市早苗再现外交"名场面" 引发大量日本网民吐槽

头条要闻

高市早苗再现外交"名场面" 引发大量日本网民吐槽

体育要闻

德国的超级替补,10年前还在工厂上班

娱乐要闻

原来她就是张颂文老婆

财经要闻

蔚来的“暗战”时刻

科技要闻

马斯克拿下7800亿元天价薪酬 2028年可兑现

汽车要闻

惊出冷汗!重庆实测奥迪A5L,华为智驾这波操作绝了…

态度原创

亲子
本地
教育
房产
公开课

亲子要闻

纸尿裤全面失控!举报人再拿重磅铁证,真相恐不只是婴儿生殖受损

本地新闻

龙腾资江 韵动邵阳

教育要闻

五年级状元题:整体法,解方程

房产要闻

商业清零式退潮,大量住宅登场!三亚又要大规模调规!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版