单片机can通信可以接多少个设备_总结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屏蔽地等等,每个内容展开后都比较麻烦,后面再总结吧。以上所有,仅供参考。
单片机can通信可以接多少个设备_总结BMS上CAN收发器电路的几个要点相关推荐
- 单片机can通信可以接多少个设备_51单片机的多机并行通信系统应用
在一些复杂的系统中,系统与分系统.分系统与设备等之间存在数据的传递问题,往往采用通信的方式来解决.由于分系统.没备等通信波特率的不同,特别是一些特殊波特率设备的存在,使得系统中设备间的相互通信不易实现 ...
- 51单片机~串口通信(讲解+代码)
51单片机~串口通信 (一)计算机串行通信原理: 综上:所以在设置的时候,经常将SCON设置为0X50==0101 0000 ,使用方式1. (二)工作: 中断控制 led灯,每发送一条指令灯亮或灭( ...
- 单片机串口通信与同步异步通信
文章目录 一.串口通信 二.异步通信 三.同步通信 四.串行通信的传输方向 一.串口通信 1.随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要.计算机通信是指计算机与外部 ...
- 4.3 51单片机-串口通信
4.3 串口通信 4.3.1 通信的概念 通信一词按照传统的理解就是信息的传输与交换. 对于单片机来说,通信则与传感器.存储芯片.外围控制芯片等技术紧密结合,成为整个单片机系统的"神经中枢& ...
- labview与单片机正弦信号_labview与单片机串口通信
串口, VISA 和 MSComm 控件,与单片机通信 visa 编写串口程序时是不是必须要安装 MSComm 控件? 首先是 labview 有自带的串口资源,即 visa 控件,不需要安装 MSC ...
- STC89C52单片机串口通信以及代码演示
目录 串口介绍 硬件电路 电平标准 常见通讯接口比较 51单片机的UART 串口参数及时序图 串口通信流程图 串口相关寄存器 波特率的计算方法 中断模式以及寄存器的配置 数据显示模式 代码示例(串口与 ...
- 基于PC与单片机串口通信的温度监控系统程序设计
基于PC与单片机串口通信的温度监控系统程序设计 1.系统介绍 1)本系统主要讲解基于PC与单片机串口通信的温度监控系统程序设计(如图1),上位机采用常用的PC机,下位机使用的是STC89C52单片机, ...
- 51单片机串口通信原理
计算机串行通信基础 通信有串行通信和并行通信两种方式 串行通信: 将数据字节分为一位一位的形式在一条数据线上逐个传送.如下图所示 串行通信特点:传输线少,长距离传送时成本低,且可以利用 ...
- 51单片机-串口通信
目录 1.什么是通信 1.1.通信的概念 1.2.传送方式 1.3.同步方式 1.4.传送方向 1.5.校验方式 2.单片机串口介绍 2.1.硬件电路 2.2.电平标准 2.3.常见接口 2.4.内部 ...
最新文章
- Agile DSL Development in Ruby 笔记
- c语言2维动态数组的创建,如何创建一个动态2维数组?
- 挑战NLP、量子计算难题,300多支本科生队伍同场角逐,2020 ASC超算竞赛一触即发...
- Windows NT体系结构
- android volley post 参数,android – 使用Volley POST传递参数
- 2018年最具就业前景的7大编程语言:Java、Python、JavaScript、C++、C#、PHP、Perl ......
- 面向.NET开发人员的Dapr——俯瞰Dapr
- 冲击波病毒攻击-《截获网站服务器数据》
- php 内容编码错误,PHP输出缓冲,ob_gzhandler引起的内容编码错误?
- 理想汽车已累计交付2万台 仅用时10个月
- 线程池中 corePoolSize, maximumPoolSize, poolSize理解
- 2016计算机二级java_2016年计算机二级《JAVA》考试练习题
- CHIL-SQL-服务器 - RDBMS
- 创建font_使用python创建秒表
- 抖音直播预告开通条件是什么?
- 自定义View来显示多条支付信息
- 各大公司的大数据质量监控平台
- 经典图像质量评价指标原理
- html设置字体为雅黑,html怎么设置字体为宋体 html怎么设置字体为微软雅黑?
- sqlite3 dbconfig说明
热门文章
- 【报告分享】字节跳动2019年企业社会责任报告.pdf(附下载链接)
- 【电子书分享】决战大数据-驾驭未来商业的利器.pdf(附下载链接)
- linux shell tr,shell脚本 之 tee tr
- ROS入门-13.服务数据的定义与使用
- MLflow机器学习工作流框架更新(2019.3)
- Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析
- 性能测试:基础(1)
- 游戏王血计算机,【统计】历代主角控血一览
- 小括号教学设计导入_【干货】教学设计万能模板已到达,各科都能用!
- 计算机日志研究方法,基于日志的计算机取证技术研究与实现