登录/注册

can总线通信有哪些行业应用及设计方案?

CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。

更多

CAN总线通信凭借其高可靠性、实时性强、抗干扰能力优异多主通信等特点,在众多对通信稳定性要求严苛的行业得到广泛应用。以下是其主要行业应用及典型设计方案:

一、 主要行业应用

  1. 汽车电子 (最主要的应用领域 - CAN的诞生地):

    • 应用场景:
      • 动力总成控制: 发动机控制单元(ECU)、变速箱控制单元(TCU)之间的数据交换(转速、扭矩、温度、故障码)。
      • 车身电子: 车门、车窗、灯光、雨刮、空调、座椅、仪表盘、中控显示等模块的控制与状态反馈。
      • 底盘控制: ABS防抱死制动系统、ESC电子稳定控制系统、电动助力转向(EPS)、空气悬架控制。
      • 信息娱乐: 与车载主机、显示屏、音响系统的连接(如显示车辆信息)。
      • 诊断系统: OBD-II标准接口,用于车辆故障诊断与读取。
      • 新能源车核心部件: BMS电池管理系统、电机控制器(MCU)、车载充电机(OBC)、整车控制器(VCU)之间的关键数据交互(电池状态、电机状态、充电状态、整车控制指令)。
    • 驱动因素: 减少线束、提高可靠性、实现复杂的协同控制、满足诊断标准。
  2. 工业自动化:

    • 应用场景:
      • 分布式I/O: 连接传感器、执行器、继电器模块到PLC或主控制器。
      • 现场设备网络: 变频器、伺服驱动器、电机、机器人关节控制器等设备互联与同步控制。
      • 过程控制系统: 连接现场仪表(如流量计、温度变送器)与控制室。
      • 机床控制: 主轴控制、进给轴控制、刀具交换、状态监控。
      • 楼宇自动化: 照明、HVAC暖通空调、安防、门禁系统的集成控制。
    • 驱动因素: 抗工业现场强电磁干扰、实时控制、简化布线、设备互操作性(CANopen, DeviceNet等协议)。
  3. 轨道交通:

    • 应用场景:
      • 列车网络: 车辆控制与管理系统(TCMS)的核心网络,连接各车厢的牵引、制动、门控、空调、照明、旅客信息系统(PIS)、火灾报警等子系统控制器。
      • 车载设备互联: 列车自动保护(ATP)、自动运行(ATO)等系统设备间的通信。
    • 驱动因素: 高可靠性、高安全性、满足严苛环境要求(EMC, 振动、温度)、列车级的控制与诊断。
  4. 医疗设备:

    • 应用场景:
      • 病床集成控制: 升降、背板/腿板角度调整、称重等功能的模块间通信。
      • 手术室设备集成: 手术灯、电刀、内窥镜等设备的集中控制与信息共享。
      • 大型医疗设备模块间通信: CT、MRI等设备内部各子系统之间的协调与控制。
    • 驱动因素: 抗干扰性、可靠性要求高、减少复杂线束、空间紧凑(车内/设备内网络)。
  5. 航空航天:

    • 应用场景:
      • 机载子系统通信: 非关键航电子系统、客舱系统(如照明、娱乐、环境控制)之间的数据通信。
      • 无人机/无人车控制: 飞行/行走控制系统(飞控)、传感器、执行器之间的通信。
    • 驱动因素: 减轻重量(简化线束)、可靠的多主通信架构。
  6. 船舶电子:

    • 应用场景:
      • 船舶控制系统: 引擎监控、导航系统、报警系统、舱室环境控制等子系统互联。
    • 驱动因素: 高湿度、盐雾环境的抗腐蚀性、抗干扰性。

二、 典型设计方案要素与方案

一个完整的CAN总线通信系统设计包含硬件和软件(协议)层面。

  1. 硬件拓扑与元件选择:

    • 拓扑结构: 线型总线拓扑是最常用也是CAN标准规定的结构。两端必须连接终端电阻(120Ω) 以抑制信号反射。
    • 物理层:
      • CAN收发器: 核心器件,将控制器的逻辑电平(TxD, RxD)转换为CAN总线的差分信号(CAN_H, CAN_L)。常用型号如TI的SN65HVD230/231/232系列, NXP的TJA1040/1042/1050/1051系列, Microchip的MCP2551等。需考虑工作电压、速度、模式(待机/唤醒等)、防护等级。
      • 隔离: 在需要高电压保护或提高抗干扰能力的场合(尤其是工业、医疗),在MCU控制器和收发器之间加入隔离器件(光耦或电容隔离芯片如ADI的ADuMxxxx系列,Silicon Labs的Si86xx系列)和隔离电源
      • 连接器与线缆: 使用符合要求的连接器(如D-SUB 9针)和双绞屏蔽电缆,屏蔽层单点接地。
    • 控制器:
      • 独立CAN控制器: 如NXP的SJA1000 (经典CAN), Microchip的MCP2515/2518 (带SPI接口)。
      • 集成CAN控制器的MCU: 绝大多数现代单片机都内置CAN控制器,如STM32全系列、NXP LPC/IMXRT系列、TI的C2000/Sitara系列、Infineon的AURIX系列等。这是目前主流方案。
    • 保护电路 (可选但建议):
      • TVS管: 在CAN_H/CAN_L线上放置TVS管(如SM712),进行浪涌/ESD保护。
      • 共模电感: 抑制共模噪声。
  2. 通信协议与软件设计:

    • 基本帧格式选择: 标准帧(11位ID) vs. 扩展帧(29位ID)。
    • 波特率设置: 根据通信实时性要求和总线长度设定。常用速率有:1 Mbps(短距离高速,如汽车内)、500 kbps、250 kbps、125 kbps(长距离,如工业、轨道车辆)。需保证所有节点设置相同波特率
    • 高层通信协议 (可选但广泛应用):
      • CANopen (主要在工业自动化、医疗、嵌入式设备): 定义了对象字典、网络管理(NMT)、服务数据对象(SDO)、过程数据对象(PDO)、紧急报文(EMCY)、同步(SYNC)等机制,提供标准化的设备建模与通信方式。开源实现如CANopenNode。
      • J1939 (商用车、工程机械、农业机械): 基于CAN 2.0B扩展帧,定义了消息ID规则(Parameter Group Number)、参数定义、传输协议、诊断等标准。是重卡、客车、叉车等的行业标准。
      • DeviceNet (主要在工业自动化,基于CAN): 由ODVA推广,定义了设备模型、预定义主/从连接、轮询、状态改变触发、循环数据交换等机制。
      • 自定义协议: 根据具体应用需求,设计私有报文ID分配规则、数据场格式、通信逻辑(如命令/响应、心跳、状态更新)。核心是保证ID唯一性避免总线冲突(非破坏性仲裁)。
    • 软件实现:
      • 底层驱动: 初始化MCU的CAN控制器(模式、波特率、滤波器设置)、中断处理(接收、发送完成、错误)。
      • 报文发送与接收: 编写API实现报文的封装、发送请求;中断或轮询方式处理接收到的报文。
      • 过滤与屏蔽: 利用硬件滤波器减少CPU处理不相关报文的开销。
      • 高层协议栈: 实现选定的高层协议(CANopen, J1939等)的协议栈代码。
      • 错误处理与诊断: 监测总线错误计数器,实现节点错误状态管理、故障恢复机制(如自动关闭发送)。
      • 同步与管理: 对于复杂系统,可能需要实现节点间的时钟同步、心跳监控、主从管理等机制。

总结:

选择CAN总线方案时,关键考虑点在于:

  1. 确定应用场景的关键需求: 实时性要求多高?可靠性等级?数据量大小?总线长度?成本预算?
  2. 硬件选型:
    • 是否需要隔离?选择对应收发器和隔离方案。
    • 选择合适的集成CAN控制器的MCU。
    • 确定物理层保护措施(TVS,共模电感)。
  3. 通信协议选择:
    • 目标行业是否有强制标准(如汽车用J1939)?
    • 是否需要与其他设备互操作(CANopen流行)?
    • 数据交换模式是命令/响应、循环更新还是事件触发?
  4. 软件架构:
    • 实现基本CAN驱动。
    • 是否集成高层协议栈?
    • 设计良好的应用层通信接口和错误处理机制。

CAN总线通过其独特的设计原则,在需要高可靠、实时的分布式控制系统中占据着不可替代的地位,其成熟的协议栈(如CANopen, J1939)也极大地推动了行业标准化和互联互通。

如何使用Arduino实现CAN总线通信

CAN总线(Controller Area Network)是一种多主控制的串行通信协议,广泛应用于汽车电子、工业自动化等领域。它以其高可靠性、

2024-11-12 10:09:17

can总线的故障波形哪些

详细介绍CAN总线的故障波形及其原因和解决方法。 故障波形概述 故障波形是指在CAN总

2024-06-16 10:04:58

can总线为什么要用双绞线?can总线不用双绞线可以吗?

can总线为什么要用双绞线?can总线不用双绞线可以吗?

2023-09-14 16:48:05

CAN总线接口EMC标准电路设计方案

CAN总线接口EMC标准电路设计方案

资料下载 jupitars3993 2021-07-12 10:45:28

CAN总线的双绞线及光纤传输

对信号源时钟提取的要求以及CAN总线的非破坏性总线仲裁的特点,设计了一种CAN

资料下载 姚小熊27 2021-04-20 10:24:37

CAN总线通信协议

CAN总线通信协议详细如下。

资料下载 姚小熊27 2021-04-19 16:54:38

一种基于DSP芯片的CAN总线技术通信方案

针对现场总线的实时性要求,提种基于DSP芯片TMs320LF2407A的CAN总线通信

资料下载 佚名 2021-03-22 17:17:54

结合Motorola控制器芯片的CAN总线通信研究

文章介绍了CAN总线通信协议和Motorola新一代嵌入式控制器DSP56F805内置的用于实现

资料下载 佚名 2021-03-15 16:24:27

基于FPGA的CAN总线通信节点设计

点击上方 蓝字 关注我们 摘要:以FPGA 代替传统的单片机和外围扩展芯片, 给出了CAN 总线通信节点的详细

2023-06-18 11:15:01

基于STM32的CAN总线通信节点控制设计

没有调试。项目概述:利用STM32作为主控制芯片,设计出利用CAN总线传输数据的通信节点,在查阅STM32和

2021-07-19 07:18:56

求一种基于DSP的CAN总线通信控制方案

针对系统通信可靠、实时性的要求,在交直流埋弧焊接通信控制中,提出了一种基于DSP的CAN

2021-05-28 06:31:48

分享一款不错的LPC2294 CAN总线主节点设计方案

本文提出一种基于LPC2294微控制器,使用μCLinux作为操作系统的CAN主节点软硬件设计方案。主节点通过扩展SRAM、FLASH提高了系统的性能,采用带隔离功能的

2021-05-25 06:59:34

基于单片机实现CAN总线与LIN总线间的传输设计方案

和其它总线通信接口实现,本文以CAN总线为例,提出了一种基于AT89C5

2020-01-16 08:01:00

一种基于多通道实时CAN模拟器的设计方案介绍

及实时响应的场合,单通道CAN总线不能满足实际通信的要求。为此,介绍一种基于多通道实时

2019-07-19 08:15:59

基于FPGA的车电总线通信设计方案

CAN总线是一种有效地支持分布式控制或者实时控制的串行通信网络,具有多主机、高性能以及高可靠性。然而随着汽车电子技术的发展,早期的

2019-06-11 15:25:28

7天热门专题 换一换
相关标签