本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN协议。本CAN协议和CANOpen协议是两套不同的协议。从软硬件层次来划分,CAN协议属于硬件协议,而CANOpen属于软件协议。本文线束未来将概述CAN网络,让大家对CAN总线协议有一个全局的概念,再到底层的CAN总线协议知识。
1CAN网络CAN网络可以理解为多台CAN设备连接在同一条CAN总线上组合成的网络,其中的CAN设备我们称之为节点。CAN网络拓扑结构如下图: 2ISO标准化的CAN协议写这一章节的主要目的就是想让大家了解CAN总线位于OSI所在层次。
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总线协议的内容。
2.优先级 假如某一时刻,一个设备(节点)往总线发0,一个设备往总线发1。那么总线会呈现什么现象? 答案:最后总线呈现为显性,也就是0。 3.位时序 位时序逻辑将监视串行总线,执行采样并调整采样点,在调整采样点时,需要在起始位边沿进行同步并后续的边沿进行再同步。 简单的说就是对一个bit位分几段进行采样,目的就是提高数据传输稳定性。在STM32中底层驱动代码就需要进行位时序编程,在STM32参考手册中也会发现如下位时序图:
6.错误的种类
免责声明:本网站的部分内容,来源于其他网站的转载,转载目的在于传递和分享更多信息,并不代表本平台赞同其观点和对其真实性负责,版权归原作者所有,如有侵权请联系我们删除。 |