总结BMS上CAN收发器电路的几个要点
这次的主要任务是把CAN通信的电路从头到尾过一遍,然后再结合实际中的产品应用情况总结一下。
不仅是BMS上,绝大部分ECU都会具备CAN通信功能,它太常见了,常见得很容易让人忽略它。CAN(Controller Area Network 控制器局域网)是二十世纪八十年代初德国Bosch公司为解决现代汽车中众多ECU之间的数据交换而开发的一种串行通信协议(图片来源于网络)。
我们比较熟知关于CAN的标准为ISO 11898,更进一步地描述是参照ISO/OSI基本模型,ISO 11898标准定义了CAN通信的物理层与数据链路层,这里我们主要讨论的是物理层,下图很生动地描述了上述的层次关系,建议大家仔细看一下。
说到了ISO 11898,再顺便展开一下,这个标准经过目前修订后,只包括了以下四个部分:其中第二部分与第三部分介绍的是高速CAN与低速CAN(125k bit/s以下),我们大部分工作中遇到的场景是高速CAN,本文的对象也是高速CAN。新标准在第二部分中加入了CANFD的内容。
物理层是整个CAN通信的基础,为节点之间提供数据通信的媒介和互联的设备,实际BMS硬件电路上搭建的就是这个部分,如下图所示,描述了整个物理连接的媒介与设备。
很多单片机内部都集成了CAN控制器模块,拿比较常用的S32K14X系列单片机来举例,内部的CAN控制器功能框图如下,它将单片机的CPU想要发送的信息,转换成符合CAN标准的帧报文,再通过CAN收发器发送到总线上面。
CAN收发器将二进制的数据流(RX/TX)转换成了差分信号(CANH/CANL),CAN收发器电路是本文主要想讨论的地方;之前有分析过很多BMS的竞品,它们使用的CAN收发器大部分是来自NXP的TJA1051,内部框图如下所示。
CAN收发器的一般应用电路如下图,一般情况下收发器是没有SPLIT引脚的;下图中也标识了各个器件的作用,注意这些器件并不是一定要布置的。共模电感作用是为共模干扰信号提供高阻抗路径,而为差分信号提供低阻抗通路;一般为了避免漏感以及寄生电容引起的振荡问题,要求共模电感的漏感在500nH以下,并要将共模电感靠近收发器放置;大部分的BMS上CAN电路中都会有这个共模电感。
电容CH与CL是用来对端口进行滤波的,注意这两个电容的容值不能太大,避免造成通信故障,典型推荐值为小于100pF@500k bit/s;PCB推荐布局放置在共模电感与ESD保护二极管之间。电阻RT/2就是CAN通信的终端匹配电阻,标准要求阻值为120Ω,等于传输线的特征阻抗,这样每一个RT/2为60Ω;匹配电阻是为了减小高速CAN信号在线上的反射。电容CG与电阻RT/2组成了低通滤波器,电容的推荐值为4.7nF~47nF;这种用法已经在大量的实践中得到证明,可以有效地降低干扰。
顺便再提一句,在ISO 11898-2_2003中给出了终端电阻的取值范围,而且还给出了功率的大小(220mW MIN);但在2016年的新版标准中我还没找到,不知道为什么。
本文概括性地把CAN通信过了一遍,主要介绍了CAN收发器的应用电路;还有很多内容没有涉及,例如信号质量要求、CAN隔离实现方案、充电CAN端口防护、CAN通信共地问题、CAN屏蔽地等等,每个内容展开后都比较麻烦,后面再总结吧。以上所有,仅供参考。 著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-08-26
最近编辑:1年前