初学者必看:CAN总线协议基础原理


本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN协议。


其实,CAN协议和CANOpen协议是两套不同的协议。从软硬件层次来划分,CAN协议属于硬件协议,而CANOpen属于软件协议


本文将概述CAN网络,让大家对CAN总线协议有一个全局的概念,再到底层的CAN总线协议知识。



1CAN网络


CAN网络可以理解为多台CAN设备连接在同一条CAN总线上组合成的网络,其中的CAN设备我们称之为节点


CAN网络拓扑结构,如下图所示:



上图中,一个CAN节点主要包含三类:MCU应用程序、CAN控制器、CAN收发器


1、MCU应用程序


MCU应用程序,我将其分为三块:

业务逻辑代码:是根据项目需求而定,也很好理解。比如我读取一个传感器数据,并对其做出相应逻辑处理。

协议层代码:比如后续要讲述的CANOpen。

底层驱动代码:配置CAN总线相应参数、控制收发的代码。


2、CAN控制器


CAN控制器内部结构还是挺复杂的,一般现在CAN控制器都是与处理器集成在一起


其实,对于编程的人来说,无非也就是包含一些控制、状态、配置等寄存器。比如,我们看到有些STM32芯片带有CAN。也就是说,CAN控制器已经集成在STM32芯片中了,我们只需要编程操作其中的寄存器即可。


3、CAN收发器


CAN收发器:将CAN收发引脚(CAN_TX和CAN_RX)的TTL信号转换成CAN总线的电平信号


PS:你可以把CAN总线通信认为是UART通过485进行通信:CAN控制器就如UART的控制器,而CAN收发器就如485转换芯片。



2ISO标准化的CAN协议


写这一章节的主要目的,就是想让大家了解CAN总线位于OSI所在层次。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:嵌入式物联网学习资料(头条)




1、ISO/OSI基本参照模型



注解:

ISO:International Standardization Organization国际标准化组织;

OSI:Open Systems Interconnection开放式系统间互联。


2、CAN在OSI模型中的定义



注解:

LLC:Logical Link Control逻辑链路控制;

MAC:Medium Access Control媒介访问控制。


从上图可知,CAN总线底层硬件的内容(CAN控制器、收发器)主要位于OSI的第1层和第2层。



3概述CAN总线协议


CAN总线协议:就是为了保证通信(收发)数据在CAN总线上能稳定传输而制订的一套协议。


CAN总线协议的内容很多,为方便初学者理解,本文先大概描述一下CAN总线协议,后续文章详细讲述CAN总线协议的内容。


1、总线信号


CAN总线为「两线」「差分」信号,用隐形代表逻辑1,显性代表逻辑0。如下图所示:



2、优先级


假如某一时刻,一个设备(节点)往总线发0,一个设备往总线发1。那么总线会呈现什么现象?


答案:最后总线呈现为显性,也就是0。


3、位时序


位时序逻辑将监视串行总线,执行采样并调整采样点,在调整采样点时,需要在起始位边沿进行同步并后续的边沿进行再同步。


简单地说,就是对一个bit位分几段进行采样,目的就是提高数据传输稳定性。在STM32中底层驱动代码就需要进行位时序编程,在STM32参考手册中也会发现如下位时序图:



4、帧的种类和格式


帧的种类有多种:

数据帧:用于发送单元向接收单元传送数据的帧。

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

错误帧:用于当检测出错误时向其它单元通知错误的帧。

过载帧:用于接收单元通知其尚未做好接收准备的帧。

帧间隔:用于将数据帧及遥控帧与前面的帧分离开来的帧。


数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11个位的标识符ID,扩展格式有29个位的ID。


5、位填充


位填充是为防止突发错误而设定的功能。当同样的电平持续 5 位时则添加一个位的反型数据,如下图所示:



6、错误的种类



CAN总线协议内容很多,初学者可以先了解这些,希望这篇文章能对大家有所帮助。


END


文章链接:https://mp.weixin.qq.com/s/LuVNiJq5xoxzX65sL-YvAQ

转载自:嵌入式微处理器

文章来源:strongerHuang

文章链接:初学者必看:CAN总线协议基础原理

版权申明:本文来源于网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

展开阅读全文

页面更新:2024-04-13

标签:总线   协议   时序   底层   控制器   初学者   单元   逻辑   原理   格式   基础   内容   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top