【CAN总线】CAN驱动程序分析

一.CAN介绍

CAN具有很高的可靠性,广泛应用于:汽车电子,工业自动化,船舶,医疗设备,工业设备等方面。

当只有2个设备,简单通信,可以看成USART串口使用;
多个设备,CAN协议,使用邮箱,标识符,过滤器功能。

二.CAN的特点

多主控制。总线空闲时,所有单元都可发送消息,而两个以上的单元同时开始发送消息时,根据标识符(ID,非地I址)决定优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(优先级最高)的
单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。

系统柔软性。连接总线的单元,没有类似“地址”的信息,因此,在总线上添加单元时,已连接的其他单元的软硬件和应用层都不需要做改变。

速度快,距离远。最高1Mbps(距离<40M),最远可达10KM(速率<5Kbps)

二.CAN的错误检测

具有错误检测、错误通知和错误恢复功能。

所有单元都可以检测错误(错误检测功能)
检测出错误的单元会立即同时通知其他所有单元(错误通知功能),正在发送消息的
单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新
发送此消息直到成功发送为止(错误恢复功能)。

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

连接节点多。CAN总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少

数量与速度之间取平衡。

三.OSI七层模型

在这里插入图片描述
参考链接

https://www.bilibili.com/video/BV1MW411q7Jn?p=64&spm_id_from=pageDriver&vd_source=e44e15c5a27e8363dc9706ae969ab7c0

猜你喜欢

转载自blog.csdn.net/jiushiguang11/article/details/130278267