[驱动开发篇]《Can 通信协议从入门到精通》- 前言
[驱动开发篇]《Can 通信协议从入门到精通》- 综述
- 前言
- 一、 综述
-
- 1.1. Can 是什么?
- 1.2. Can 的重要性
-
- 1.2.1. 技术重要性:重新定义分布式通信架构
- 1.2.2. 经济重要性:重塑产业成本结构
- 1.2.3. 不可替代性:对比其他总线的优势
- 1.2.4. 未来发展趋势:持续赋能智能化
- 二、 Can 协议简介
-
- 2.1. Can 通信的物理层 - 简介
- 2.2. Can 控制器及Can 收发器 - 简介
-
- 2.2.1. Can 控制器(Can Controller)
- 2.2.2. Can 收发器(Can Transceiver)
- 三、 扩展章节:了解ISO11898 标准 🔍
-
- 3.1. 标准概括
- 3.2. 性能指标
- 3.3. 如何获取ISO 11898协议
前言
写在最前,本文主要是对Can 通信的定义做出详细的介绍,熟话说知己知彼,百战不殆,我们在学习Can 通信协议前,也需要先知道什么是Can 总线通信、为什么要有Can 通信(它和其它通信协议比优势 / 劣势分别是什么)、我们如何一步步的学习Can 通信、如何去寻找准确的Can 协议相关资料等;
一、 综述
1.1. Can 是什么?
Can是Controller Area Network 的缩写(以下称为CAN),是ISO 国际标准化的串行通信协议。
随着汽车电子化程度提升,车载系统对安全性、舒适性及成本控制的要求日益严格,催生了多样化的电控单元(ECU)。不同系统对通信速率与可靠性的需求差异,导致车内多总线并存、线束复杂化。为减少线束并实现高速数据交互,博世公司于1986年提出CAN总线协议(Controller Area Network),后通过ISO11898 / ISO11519标准化
,现已成为全球汽车网络的主流通信架构。下图简略展现了传统汽车上总线的基本分布情况。
现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。
1.2. Can 的重要性
CAN总线凭借革命性的分布式架构、极致的性价比、军工级可靠性,逐步成为:汽车电子的神经系统(全球年装车量超20亿节点)、工业4.0的通信基座(85%工厂设备互联标准)、物联网边缘计算的关键载体。下面分别从通信架构、成本结构、总线优势、未来发展几个方面简要说一下Can在汽车电子、机器人等方向的重要性;
1.2.1. 技术重要性:重新定义分布式通信架构
1.2.2. 经济重要性:重塑产业成本结构
1.2.3. 不可替代性:对比其他总线的优势
1.2.4. 未来发展趋势:持续赋能智能化
- CAN FD(ISO 11898-6/7)数据段速率8Mbps + 64字节数据 → 支持ADAS传感器数据流
- CAN XL(ISO 11898-8草案)10Mbps+ 速率 + 以太网融合 → 构建车内异构网络骨干(主要面向无人驾驶领域日益增长速率需求)
二、 Can 协议简介
Can协议具有以下特点:(1)多主控制:多主站依据优先级进行总线访问(2)总线仲裁:非破坏性的基于竞争的总线总裁机制(3)错误检测与标定:具备完善的错误检测/错误帧机制(4)发送期间若是丢失仲裁/由于出错造成的发送失败,可以重新传输;
2.1. Can 通信的物理层 - 简介
最初Can协议经过ISO标准化后,有ISO11898标准和 ISO11519标准两种,两种协议在数据链路层
上定义是相同的,但是在物理层
面却有比较大的区别:
- ISO11898-2(高速CAN) 是通信速度为125Kpbs - 1Mbps 的Can高速通信标准。
- ISO11519(低速/容错CAN)是通信速度为125Kbps以下的Can 低速通信标准。
注意: ISO11519 已经逐步被ISO11898-3取代,其主要适用于车身舒适网等对速率要求不高的场景,其容错机制可应对单线通信故障,确保总线稳定性
- 两者的主要区别可以参考下表(这里我直接使用了
瑞萨Can应用手册
中的表格,相对比较经[古]典[老]的资料):
从上表中可以看到,不论是低速Can还是高速Can,都采用双绞线(屏蔽/非屏蔽)
作为通信媒介,双绞线的主要优势在于:通过差分信号可以有效的抑制总线上的噪声(在汽车上需要考虑到电机等强干扰源设备产生的各种复杂的噪声干扰)。CAN 收发器根据两根总线(CAN_High 和CAN_Low)的电位差来
判断总线电平。总线电平分为显性电平和隐性电平两种。总线必须处于两种电平之一。总线上执行逻辑上的线“与”时,显性电平为“0”,隐性电平为“1”。物理层的特征如下图所示。
2.2. Can 控制器及Can 收发器 - 简介
在典型MCU的CAN通信架构中,需协同配合集成于芯片内部的CAN控制器与外部独立CAN收发器:CAN控制器(如STM32F4/英飞凌TC3xx等)实现数据链路层协议(ISO 11898-1),负责数据帧封装/解封、ID仲裁、错误检测及位时序控制
;CAN收发器(如TJA1050)则处理物理层信号转换(ISO 11898-2),将控制器的TTL电平转换为差分总线信号
,提供≥40mA驱动能力并集成显性超时/短路保护,二者协同完成从协议处理到物理驱动的完整通信链路。
⚡ 类比说明:
- 控制器 = 外交官:负责制定通信规则(协议),决定\"说什么、何时说\"
- 收发器 = 翻译官+邮差:将信息编码为可传输信号(差分电平),并驱动线路传输
2.2.1. Can 控制器(Can Controller)
CAN控制器是CAN总线系统中的核心处理芯片,承担协议解析与硬件控制的关键角色(通常集成于MCU内部)。以下是其核心作用及工作原理的详细解析:
- 技术定位: 实现数据链路层协议(ISO 11898-1)
- 核心功能:
- 协议处理: 数据帧封装/解封、ID仲裁、CRC校验
- 错误管理: 位填充、ACK响应、错误计数器状态迁移
- 时序控制: 波特率配置(BS1/BS2分段)、采样点校准
- 主流集成方案:
- 核心功能定位
• 完成位填充(每5个相同位后插入1个相反位)
• 仲裁失败时中止发送并自动重试
• 错误计数器累加,触发被动错误/总线关闭状态迁移
• 控制采样点位置(通常75%~90%)
2.2.2. Can 收发器(Can Transceiver)
三、 扩展章节:了解ISO11898 标准 🔍
在前面章节中,我们多次提到过ISO11898标准,相信很多读者都会有些疑惑,为什么ISO11898标准还分为1/2/3… …,每个结尾的标号又分别代表什么意思呢?那么本节作为扩展章节我们需要了解下什么是ISO11898;
ISO 11898 是国际标准化组织(ISO)制定的控制器局域网(CAN)通信协议核心标准系列,专门规范汽车及工业领域中的 CAN 总线通信技术。其核心功能是定义电气特性、物理层信号、数据链路层协议,实现多节点设备间高可靠性、实时性数据交换。以下是其结构化解析:
3.1. 标准概括
3.2. 性能指标
3.3. 如何获取ISO 11898协议
ISO 11898是控制器局域网(CAN)总线技术的核心国际标准,广泛应用于汽车电子、工业控制等地方。以下是获取该协议的主要途径,分为免费和付费两类,并附注意事项:
1. 官方渠道
① 国际标准化组织(ISO)官网
② 国内标准机构
2. 免费获取途径
① 技术社区与公众号资源
② 开源技术平台