好的,基于CAN总线的通信系统核心在于节点设计。一个典型的CAN节点电路通常包含以下几个关键部分:
-
微控制器:
- 功能: 这是节点的“大脑”。
- 要求: 需要选择带有内置CAN控制器的微控制器。CAN控制器负责处理CAN协议栈(如报文格式、标识符过滤、CRC校验、错误处理、帧发送接收调度等)。
- 作用: 应用软件运行在MCU上,它通过寄存器或API访问内置的CAN控制器,产生要发送的应用数据报文,并接收处理从CAN总线接收到的报文。
- 代表: 市面上非常多的MCU型号都集成CAN控制器,例如STM32F系列(如STM32F103xx, STM32F407xx, STM32F4xx)、dsPIC33系列、NXP S32K系列、TI的C2000系列等等。
-
CAN收发器:
- 功能: 连接CAN控制器(逻辑电平)和物理CAN总线(差分电平)。
- 核心作用:
- 电平转换: 将微控制器CAN控制器TX引脚输出的逻辑信号(通常是0-3.3V或0-5V)转换成物理CAN总线上使用的差分信号(CAN_H和CAN_L)。
- 差分驱动: 以差分方式驱动总线,提供足够的驱动能力和压摆率控制。
- 差分接收: 将物理CAN总线上的差分信号转换回逻辑信号,发送给微控制器CAN控制器的RX引脚。
- 过温保护、短路保护: 保护自身免受物理层短路或过流的损害。
- 总线显性/隐性检测: 侦测总线状态。
- 代表器件: MCP2551/2561/2562 (Microchip), TJA1042/1043/105x系列 (NXP), SN65HVD23x系列 (TI), ISO1042/1050 (带隔离版本), LT1796 (ADI) 等。
- 重要特性:
- 速率匹配: 选择的收发器需要支持目标应用的CAN总线速度(常见125Kbps, 250Kbps, 500Kbps, 1Mbps)。
- 工作电压: 需与MCU和系统电源兼容(3.3V或5V逻辑)。
- 抗干扰性/ESD: 工业或汽车环境需高ESD保护等级。
- 静音模式: 有些收发器支持关闭发送驱动器的“只听模式”,用于网络监控或节点启动时避免冲突。
- 总线故障保护: 在总线短路时进入保护状态。
- 容错CAN (低速容错CAN): 需要特定的收发器(如TJA1054)。
-
物理层连接:
- CAN_H / CAN_L 线缆: 必须使用双绞线进行连接(如ISO 11898-2标准)。这能有效抑制共模干扰,是保证信号完整性的关键。
- 终端电阻: 每个物理总线的两端都必须连接一个 120欧姆 的终端电阻(跨接在CAN_H和CAN_L之间)。这个电阻对于消除信号反射、建立正确的静态总线电平至关重要。如果缺少或阻值不匹配(比如只有一端接了,或者两端都没接,或者用了其它阻值),通信会变得极不稳定甚至完全失败。
- 连接器: CAN节点通过连接器接入总线。常见的有:
- 工业/通用: DB9(公头或母头,引脚定义遵循CiA或用户自定义)、端子排。
- 汽车: OBD-II连接器、各种专用线束连接器。
- 其他:M12连接器(工业现场)。
-
隔离(可选但强烈推荐,尤其在工业、汽车应用):
- 必要性: 当节点处于不同供电回路(产生共模电压差)或易受强干扰(电涌、地环路)的环境中时,提供电气隔离。
- 位置: 通常安装在CAN收发器和MCU之间。
- 组成:
- 数字隔离器: 隔离CAN控制器的TX、RX信号线(可能还有待机/使能、错误指示等)。可以使用:
- 光耦隔离器:如6N137(高速光耦)。
- 磁隔离器:如ADI的ADuM系列。
- 电容隔离器:如TI的ISO67xx系列。
- 隔离电源: 为隔离端的MCU和/或收发器提供独立的电源(需要匹配负载),否则隔离没有意义。常用小功率DC-DC隔离电源模块(如TI的DCP系列、Murata等公司的模块)。
- 数字隔离器: 隔离CAN控制器的TX、RX信号线(可能还有待机/使能、错误指示等)。可以使用:
-
保护电路:
- TVS管/ESD保护二极管: 跨接在CAN_H和CAN_L之间以及它们到地之间,用于吸收瞬态过压(如浪涌、ESD),保护收发器。这是非常重要的接口防护措施。
- 保险丝/限流电阻: 在收发器电源输入或总线引脚上串接小阻值电阻或PPTC自恢复保险丝,用于过流/短路保护。
- 共模电感/扼流圈: 安装在收发器的总线引脚入口处,用于抑制高频共模干扰。对于在高噪声环境下实现稳定通信很有帮助。
- 接口锁存/防插拔保护: 针对连接器的处理。
-
电源电路:
- 功能: 为微控制器、CAN收发器、隔离器件(如果需要)、其他外围电路提供稳定电源。
- 要求: 提供所需电压(如3.3V, 5V)和足够的电流容量。
- 旁路/去耦电容: 在每个芯片的电源引脚附近放置足够的电容(如0.1uF陶瓷电容 + 10uF/22uF钽或陶瓷电容)到地,以滤除电源噪声,确保芯片稳定工作。
总结设计流程:
- 选择带CAN控制器的微控制器。
- 根据应用需求(速率、电压、环境、是否需要隔离)选择合适的CAN收发器。
- 如果需要隔离,选择匹配的数字隔离器和隔离电源模块。
- 设计物理连接:使用双绞线,在总线两端连接120欧姆终端电阻,选用合适的连接器。
- 加入保护电路:TVS管、保险丝、共模电感。
- 设计稳定可靠的电源网络:电源芯片/模块、足够的旁路/去耦电容。
- PCB布局布线注意点:
- CAN差分线尽量短、等长、并行走线(保持阻抗)。
- 高频去耦电容尽可能靠近芯片电源引脚。
- 模拟/数字部分分区,地平面处理得当。
- 保护器件靠近接口放置。
- 隔离器件两侧严格遵守电气间隙要求,避免跨分割(需开槽或保持安全间距)。
整个CAN节点电路就是将上述模块按照信号流(MCU -> 隔离 -> 收发器 -> 总线 以及 总线 -> 收发器 -> 隔离 -> MCU)和电源需求组合起来。具体的电路图和器件选型需要根据实际的应用场景(如汽车、工业控制、家电)、性能要求、成本预算和环境因素来决定。
基于FPGA的CAN总线通信节点设计
节点的硬件接口电路。基于对CAN 总线控制器的功能分析, 并应用Verilog语言进行软件设计, 从而实现CAN节点之间的通信功能。 0 引言 CAN 总线允许高达1M bit /s通讯速率, 支持多主通讯模式, 有高抗电磁干扰性而且能够检测出通信过程中产生的任何错误, 已被广泛应用到各自动
2023-06-18 11:15:01
can总线的故障波形有哪些
详细介绍CAN总线的故障波形及其原因和解决方法。 故障波形概述 故障波形是指在CAN总线通信过程中,由于各种原因导致的数据传输异常。故障波形的类型有很多,主要包括以下几种: 1.1 信号干扰波形 信号干扰波形是指在CAN总线通信过程中,由于外部电磁干扰或其他原因导致的
2024-06-16 10:04:58
如何使用Arduino实现CAN总线通信
CAN总线(Controller Area Network)是一种多主控制的串行通信协议,广泛应用于汽车电子、工业自动化等领域。它以其高可靠性、实时性和灵活性而受到青睐。Arduino作为一个
2024-11-12 10:09:17
CAN总线通信原理介绍 CAN总线模块选择指南
CAN总线(Controller Area Network)是一种串行通信协议,主要用于汽车电子控制单元之间的通信。它由Bosch公司在20世纪80年代初开发,因其可靠性、实时性和灵活性而广泛应用
2024-11-21 10:21:51
如何检测CAN通信电路的好坏
电路的检测和维护是非常重要的。 概述 CAN通信电路主要包括CAN控制器、CAN收发器、CAN总线驱动器、CAN总线终端电阻等部分。在检测CAN通信电路的好坏时,需要从以下几个方面进行: 1.1 硬件检查 硬件检查主要包括对CAN控制器、CAN收发器、CAN总线驱动器、CAN总线终端电阻等硬件组
2024-06-16 11:06:38
什么是CAN总线通信?CAN总线工作原理
这意味着变送器通过CAN收发器改变总线电平,并将其信息传输到CAN总线。接收器通过监测总线电平将总线上的信息读取到自己的CAN收发器中。
2024-02-19 14:53:54
can总线的通信协议有哪些 CAN接口保护及工作原理
CAN总线(Controller Area Network)是一种广泛应用于汽车、工业自动化和其他领域的串行通信协议。以下是几种常见的CAN总线通信协议。
2023-08-18 14:40:12
如何使用Arduino实现CAN总线通信呢
CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
2024-12-23 09:06:44
使用CAN总线的注意事项 CAN总线与其他通信协议对比
使用CAN总线的注意事项 电气特性 :CAN总线对电气特性有严格的要求,包括电压水平、终端电阻、电缆长度等。确保遵循CAN总线规范中的电气参数,以保证通信的稳定性。 拓扑结构 :CAN总线通常采用
2024-11-21 10:16:58
CAN总线接口保护电路
CAN总线的应用范围广,应用环境相当复杂,一些静电、浪涌等干扰很容易耦合到总线上,并直接作用于CAN总线接口。为了满足一些高等级EMC的要求,有必要添加额外的外围保护电路。CAN接口保护电路CAN
2023-09-23 08:29:45
采用CAN总线控制器SJA1000实现控制电路接口的设计
硬件电路的设计主要是CAN通信控制器与微处理器之间和CAN总线收发器与物理总线之间的接口电路的设计。CAN通信控制器是CAN总线接口电路的核心,主要完成CAN的通信协议,而CAN总线收发器的主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现热防护等。
2020-03-13 10:45:50
can总线为什么要用双绞线?can总线不用双绞线可以吗?
can总线为什么要用双绞线?can总线不用双绞线可以吗? CAN总线是一种数据通信协议,广泛用于汽车、航空、船舶、工业自动化、机器人等领域。CAN总线采用串行通信方式,主要用于实现多个模块之间的通信
2023-09-14 16:48:05
CAN总线通信详解
即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。
2023-03-29 10:06:16
CAN总线通信板有什么优势?
专门为嵌入式控制而定义的工业控制总线,以其独特的堆栈式结构、低功率等优点,得到了广泛的应用。作为主流的现场总线,工业控制局域网CAN(Controller Area Network)总线抗干扰能力强
ruobi168
2019-09-26 07:05:50
CAN总线抗干扰的方法有哪些
前段时间有个做模台流水线的用户,一条流水线有两路CAN总线,一条总线有22个控制节点,每当启动模台就会出现严重的失控状态,模台下是由很多电机驱动的,而操控台下放着变频器。使用CANScope测试发现,在未启动电机情况下,控制台的CAN通信正常,帧统计结果显示100%成功率。
2019-08-06 09:03:04
CAN的实现原理是什么?说一下CAN总线的特点有哪些?
CAN总线:CAN 是Controller Area Network 的缩写(以下称为 CAN),是 ISO1 国际标准化的串行通信协议。
2023-08-14 14:58:59
CAN总线静电浪涌保护设计
点击关注,电磁兼容不迷路。什么是CAN总线CAN总线是一种广泛用于汽车、工业自动化和其他领域的串行通信协议。它允许多个设备共享通信线路,传输数据以及控制信号。CAN总线有两个不同的版本
2023-04-21 09:42:31
CAN总线是什么 CAN总线的作用
IICSPICAN485USB工业以太网EtherCATEtherCAT传输性能EtherCAT应用层协议层CoE协议现场总线最近的实验需要较高的运动控制速率。市场上大部分的驱动板目前只支持CAN通信。毕竟CAN通信配置简单
听我讲
2021-08-06 07:44:19
CAN总线如何实现通信呢?
CAN总线如何实现通信呢?我大体思路这样的:1、初始化的时候,给系统配置时钟,处理看门狗电路2、初始化CAN模块在调试的时候是不是要将计算机模拟成CAN节点,通过上位机的调试软件和CCS来观察呢如何发?如何收?这个感觉难点不少啊?求大神能有个具体的调试方法,先谢谢了
clslda
2020-06-01 15:56:35
CAN总线最大能够带多少节点?CANFD相对于CAN2.0有哪些差异呢?
CAN总线最大能够带多少节点?CANFD相对于CAN2.0有哪些差异呢? CAN总线最大能够带多少节点? CAN总线是一种广泛应用于汽车领域的多主机串行通信总线。CAN总线使用CSMA/CR
2024-01-31 14:08:59
什么是CAN总线?CAN有哪些特性?
什么是CAN总线?CAN总线是如何发展的?CAN总线是如何工作的?CAN有哪些特性?Philips制造的CAN芯片有哪些?什么是标准格式CAN和扩展格式CAN?
2016李勇
2021-05-20 06:16:35
CAN总线为什么有两个终端电阻,作用是什么?
CAN总线为什么有两个终端电阻,作用是什么? CAN总线是一种常用的串行通信协议,广泛应用于汽车、工控、航空等领域。在CAN总线中,存在两个终端电阻,即CAN总线的两端各有一个120欧姆的电阻
2023-12-07 11:15:35
CAN总线接口保护电路设计指南
CAN总线的应用范围广,应用环境相当复杂,一些静电、浪涌等干扰很容易耦合到总线上,并直接作用于CAN总线接口。为了满足一些高等级EMC的要求,有必要添加额外的外围保护电路。
2022-12-19 13:46:48
如何学习CAN总线通信?
在开发板上有CAN总线,怎样来进行CAN总线的通信呢?希望能普及一下这方面的知识或者提供些相关的例程。如果有高手做过,请介绍一下开发的过程。
lingjianghui
2019-09-30 04:35:02
CAN总线通信协议是什么
CAN总线 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求
2023-07-18 11:10:46