推荐查看原文:硬件电路设计之CAN电路设计(全系列)经常会有这样的一种使用场景:同一板载上两个MCU之间进行CAN通信。此时,我们就会考虑能否直接将CAN_TX连接至CAN_RX,CAN_RX连接至CAN_TX(见下图)?答案是否定的。https://mp.weixin.qq.com/s/bHi4OTOhP6XyYGjNsm3f0g
1 简介
CAN通信时一种工业控制通信系统,最早时应用于汽车电子产品。CAN总线主要的特点:
- 传输距离远,最远可达10km。
- CAN总线抗干扰能力强,有有效保证整个系统的稳定性。
- CAM总线传输的速度快,理论上峰值可以达到1Mbps,能有效保证数据通信的即时性。
- 单条总线上,支持128个节点。
CAN总线有两条控制线:CAN_H和CAN_L,是控制器局域网络的总称。在工业控制领域中,CAN通信的应用是非常广泛的,其通信的原理也比较简单,具体的过程:总线上的节点向其它节点发送数据时,传递的信息将会以报文的形式在总线上进行广播,总线上的每个节点在接收到数据之后,会根据过滤器来接收自己需要的报文。CAN通信是一种异步通信的方式,并不依赖于时钟进行通信,这种通信的方式对外部的电磁干扰是高度免疫的,主要是因为两条总线使用的是差分通信的方式,可以抑制共模干扰,且外部使用的是屏蔽双绞线,对于同一干扰源,对两条总线的干扰时相同的,故可抵消。CAN总线物理层的形式主要两种方式:闭环网络总线和开环网络总线线。
CAN通信这两种物理连接方式主要的差别在于两条总线是否构成一个完整的环路。
- 闭环通信方式通过两个120欧姆的电阻将两条总线闭合形成一个完整的环路。
- 开环通信方式在两边总线上分别串联一个2200欧姆的电阻。
CAN总线的电平标准如下:
电平逻辑 | 显性0 | 隐性1 |
---|---|---|
CAN_H | 3.5 V | 2.5 V |
CAN_L | 1.5 V | 2.5 V |
点位差 | 2.0 V | 0 |
2 免费获取资料
参考设计获取方式:关注下面公众号,回复:CAN即可。
2 硬件电路设计
2.1 隔离CAN电路设计
此处我们以ISO1042BQDWVRQ1为例:
具体的PIN脚定义如下:
ISO1042BQDWVRQ1是带隔离的芯片,在电源的设计上需注意将5V_CAN和12VBatt-与板载其它的电源隔离。
- 共模电感是为了滤除共模干扰。
- 常见的终端匹配电阻为120Ω,目的是为了较少信号的反射。特别地,将120Ω电阻分为两个60Ω电阻,在搭配一个4.7nF电容(详情见上图),这样能有效滤除总线上的共模干扰。
- D1是为了防止静电对电路造成损害。
2.2 CAN电路设计
在设计CAN电路时需要特别注意CAN_Tx、CAN_Rx的电平标准(常用的有1.8V、3.3V、5V)。
3 隔离电源设计
带隔离的CAN芯片,需要提供一个5V的隔离电源。此处,使用的方案是UCC12051DVE-Q1,是具体电路设计如下:
具体的PIN脚定义如下:
4 特别说明
之前在进行单板设计时,单板采用架构时工控机+单片机的架构,当时工控机和单片机之前采用的CAN用心,为了节省两个CAN收发器,直接将接收和发送互联。调试过程中出现问题,无法正常通信,反复查阅资料,不能通过简单的将接收和发送互联,每个节点的发送需要检测自己的接收,具体的电路设计见下: