当前位置: 首页 > news >正文

硬件学习笔记--50 CAN相关基础知识介绍

1、CAN应用介绍

        CAN(Controller Area Network,控制器局域网)是一种广泛应用于汽车、工业控制等领域的串行通信协议。它具有高可靠性、实时性和抗干扰能力,其核心功能包括多主通信、错误处理、低功耗模式和网络管理等,同时通过CAN FD、CANopen等扩展协议满足更高需求。

2、CAN控制器与CAN收发器差异

        CAN控制器和普通CAN芯片(通常指CAN收发器)在功能和用途上有显著差异,有些CAN控制器内部集成CAN收发器,两者之间的差异主要体现在以下几个方面:

2.1功能定位

  • CAN控制器

    • 负责处理CAN协议的逻辑部分,包括数据帧的封装、解析、错误检测、仲裁、位时序控制等。

    • 将微处理器(如MCU)的数据转换为符合CAN协议的帧格式,并通过CAN收发器发送到总线上。

    • 接收来自CAN收发器的差分信号,并将其转换为微处理器可处理的逻辑信号2810。

  • CAN收发器

    • 主要负责物理层的信号转换,将CAN控制器的逻辑电平信号(如TTL电平)转换为差分信号(CAN_H和CAN_L),或反之。

    • 不涉及协议处理,仅作为信号的中介,确保信号在总线上的可靠传输1314。

2.2 硬件结构

  • CAN控制器

    • 通常集成在微处理器中(如STM32的CAN外设),或作为独立芯片(如SJA1000)。

    • 包含复杂的逻辑电路,支持CAN协议的帧格式、波特率配置、错误处理等功能310。

  • CAN收发器

    • 通常是独立的芯片(如TJA1050、SN65HVD230),结构相对简单。

    • 主要包含差分信号驱动器和接收器,用于电平转换和信号隔离1314。

2.3 应用场景

  • CAN控制器

    • 用于需要处理CAN协议的应用场景,如汽车电子、工业控制、医疗设备等。

    • 必须与微处理器配合使用,完成数据的封装、解析和逻辑控制28。

  • CAN收发器

    • 用于连接CAN控制器和物理总线,确保信号在长距离传输中的抗干扰能力。

    • 适用于任何需要CAN总线通信的系统,但本身不参与协议处理1314。

2.4 性能特点

  • CAN控制器

    • 支持多种CAN协议版本(如CAN 2.0A、CAN 2.0B)。

    • 具有强大的错误检测和处理能力,支持自动重发、仲裁、位同步等功能310。

  • CAN收发器

    • 主要关注信号的抗干扰能力和传输距离。

    • 支持高速(如1Mbps)和低速(如125kbps)通信,适用于不同的总线长度和环境条件1314。


2.5 集成方式

  • CAN控制器

    • 可以是独立的芯片(如SJA1000),也可以集成在微处理器中(如STM32的CAN外设)。

    • 独立控制器需要外部微处理器控制,而集成控制器则直接由微处理器管理310。

  • CAN收发器

    • 通常是独立芯片,与CAN控制器通过TX、RX引脚连接。

    • 不依赖微处理器,仅作为信号转换的中介1314。


2.6 总结

CAN控制器和CAN收发器在CAN总线系统中扮演不同的角色:

  • CAN控制器负责协议处理和数据管理,是系统的“大脑”。

  • CAN收发器负责信号转换和物理传输,是系统的“桥梁”。
    两者通常需要配合使用,才能实现完整的CAN通信功能

3、典型应用电路

3.1系统框图

3.2 CAN典型应用原理

以为Microchip芯片MCP2515(CAN控制器)为例,其参考原理如下,配合MCP2561(CAN收发器),和MCU连接的主要有SPI接口,复位接口以及INT、RXB0、RXB1。

4、CAN应用注意事项

4.1 硬件设计

  • 终端电阻:总线两端需加120Ω终端电阻,匹配阻抗,减少信号反射。

  • 线缆选择:使用双绞线,降低电磁干扰(EMI)。

  • 电源隔离:为CAN收发器提供独立电源,避免干扰。

  • 接地处理:确保所有节点共地,防止地电位差引入噪声。

4.2 软件设计

  • 错误处理:实现完善的错误检测与恢复机制,如自动重发。

  • 帧优先级:根据ID设置消息优先级,确保关键信息及时传输。

  • 数据长度:CAN帧数据域最多8字节,需合理设计数据格式。

  • 波特率设置:所有节点波特率必须一致,常见速率有125kbps、250kbps、500kbps和1Mbps。

4.3 网络拓扑

  • 总线长度:总线长度影响最大波特率,1Mbps时建议不超过40米。

  • 节点数量:通常支持最多110个节点,过多可能影响通信质量。

  • 布线规范:避免星形或环形拓扑,采用线性总线结构。

4.4 电磁兼容性(EMC)

  • 屏蔽措施:在高干扰环境中使用屏蔽双绞线,并正确接地。

  • 滤波电路:在电源和信号线上增加滤波电路,减少噪声。

4.5 调试与测试

  • 总线监控:使用CAN分析仪监控总线状态,排查问题。

  • 信号质量:定期检查信号波形,确保无畸变或干扰。

  • 节点测试:单独测试每个节点,确保其正常工作。

4.6 环境适应性

  • 温度范围:选择适合工作温度的元器件,尤其是汽车和工业环境。

  • 防护措施:在恶劣环境中,增加防护措施,如防水、防尘。

4.7 协议兼容性

  • 标准帧与扩展帧:确保所有节点兼容标准帧(11位ID)和扩展帧(29位ID)。

  • 高层协议:如使用CANopen或J1939等高层协议,确保协议栈正确实现。

4.8  电源管理

  • 低功耗设计:在电池供电系统中,优化电源管理,降低功耗。

  • 电源稳定性:确保电源电压稳定,避免波动影响通信。

相关文章:

  • Work【2】:PGP-SAM —— 无需额外提示的自动化 SAM!
  • 静态分析技术:Jadx-GUI高级用法与模式识别
  • 中国智能制造加速跑:创新与应用齐飞
  • Excel 保护工作簿:它能解决哪些问题?如何正确使用?
  • Git使用
  • RabbitMQ消息持久化与Lazy模式对比分析
  • 《第六章 终章》在VMware中进行UR10e机器人的手眼标定实验全过程(ur10e手眼标定实验实机演示)
  • 【第4章】项目实战-亿级电商系统需求分析
  • cocos webview与通信
  • 【第七节】windows sdk编程:Windows 中的对话框
  • 智慧校园综合安防系统建设方案
  • 项目-个人博客测试报告
  • 04自媒体文章-自动审核(阿里云自动审核文章和图片、服务降级处理、异步调用@Async、自管理敏感词DFA、OCR识别图片文字、文章详情-静态文件生成)
  • leetcode:1827. 最少操作使数组递增(python3解法)
  • 【机器人-基础知识】标定 - 相机标定全解
  • 在IDEA中连接达梦数据库:详细配置指南
  • C++之创建线程
  • ens33没有分配到IPV4问题
  • [C语言基础]13.动态内存管理
  • vscode编译器的一些使用问题
  • 梅花奖在上海丨陈丽俐“婺剧折戏专场”:文戏武做,武戏文唱
  • 科创板年内第3家!健信超导IPO获受理,拟募资8.65亿
  • 美英贸易协议|不,这不是一份重大贸易协议
  • 世贸组织欢迎中美经贸高层会谈取得积极成果
  • 新疆交通运输厅厅长西尔艾力·外力履新吐鲁番市市长候选人
  • 国内首例侵入式脑机接口系统前瞻性临床试验:受试者已能用意念玩游戏