今天入职了,再一次学习CAN,发现了以前囫囵吞枣遗留的很多问题。
图1 构成CAN硬件节点的半导体器件
比如上图中,控制器Controller有几个相似的名称,他们的区别是什么?和CAN MicroController是又有什么区别?
先上结论:他们负责的功能不完全相同,但没有明确的规定进行划分,是控制器芯片发展过程中的通用名词。大体上,CAN Micro Controller 可以看成是HOST Controller与CAN Controller的整合,将两部分的功能集合在了一个芯片上,并增设了一些状态和控制寄存器。CAN Micro Controller这种节点构型的芯片选择相对较少,但是是现今CAN节点构型的主流选择。
下面是详细介绍。
目录
1. HOST Controller ,CAN Controller
参考文章
- 汽车单片机及车载总线技术 P119
- 一口气从零读懂CAN总线, - 知乎
1. HOST Controller ,CAN Controller
本块内容来自 一口气从零读懂CAN总线, - 知乎 (zhihu.com)
图2 CAN总线网络示意图
-
CAN节点主要包括Host、控制器和收发器。
-
Host常集成有CAN控制器,
-
CAN控制器负责处理协议相关功能,以减轻Host的负担。
2. CAN Micro Controller
本块内容来自《汽车单片机及车载总线技术》 P119
一般使用“CAN 微控制器 (CAN Micro Controller)+CAN 收发器” 或 “HOST微控制器 (HOST Micro Controller)+ 独立CAN控制器(CAN Controller)+ CAN收发器”这样的组合,配以适当的外部电路就构成一个完整的CAN节点。节点之间再经导线简单连接便形成‘CAN网络’。
独立式CAN控制器(Stand-Alone CAN Controller)
这是一种集成有CAN协议控制模块的微控制器,它所有的处理器资源,全都用于实现并管理CAN的协议规范所制定的通信功能。
如菲利普的SJA1000即是一种在市场上比较常见的产品。
CAN微控制器( CAN Micro Controller)
不仅嵌有CAN协议控制模块,还能完成其他控制任务的微型控制器。
如摩托罗拉的 MC68HC 908GZ系列、NEC的78KOS 和菲利普的P87C591等。
CAN收发器
是CAN的物理层接口芯片。
由于绝大多数微控制器,无法直接识别或处理CAN的总线信号,所以必须用收发器来在CMOS电平与差分电压之间实现信号形式的转换。
鉴于CAN的物理层有高低速之别,CAN收发器也相应分成两种。
高速CAN通常使用菲利普的PCA82V250,这种芯片的市场供应相当丰富。
低速容错CAN则可以使用摩托罗拉的MC33388,在市面上比较少见。
3. 市场使用度
本块内容来自《汽车单片机及车载总线技术》 P119
近年来CAN 微控制的市场份额比独立式CAN控制器大许多,采用CAN 微控制器来设计CAN 节点是实际用户普遍采用的做法。
CAN 微控制器可以看成是HOST微控制器与独立式CAN控制器的整合。
优势:CAN Micro Controller在嵌入CAN协议控制模块之后,CAN微控制器相应增设了一些状态和控制寄存器,使用户可以很方便地对收发进程施加控制或对协议事件进行管理。因此,“CAN Micro Controller+ CAN收发器”的节点构型在硬件上的集成度较高。
缺点:选用CAN Micro Controller突出的问题是与HOST Micro Controller相比,可供用户选择的型号要少很多。
END