全国服务热线 0755-27999972
您的当前所在位置:首页>>新闻中心>>技术资讯
什么是CAN?
2026-05-20 14:45:12/ 技术资讯/来源:特克电子

 什么是CAN?

 CAN是一种通信的方式,就是用来传递数据的,是属于串行通信的一种,是异步的半双工通讯,根据通信速率的不同可以分为高速CAN和低速CAN,主要的区别是在于对总线电平和数据传输速率(波特率)的定义,分别遵循ISO的不同标准。

 低速CAN   通信速率 10-125Kbps,总线长度可达1000米。

 高速CANISO11898)通信速率125kbps~1Mbps,总线长度≤40  经典CAN

 CAN FD     通信速率可达5Mbps,并兼容经典CAN,遵循ISO 11898-1 做数据收发。

 CAN的总线组成为:CAN控制器 (芯片内的CAN外设),CAN收发器(CAN的收发器芯片),

 CAN_HighCAN_Low两根线构成的总线结构

 CAN_High和CAN_Low两根线构成的总线结构-特克股份.jpg

 

对于CAN_HighCAN_Low是共同组成一组差分的信号线,CAN网络中的物理信号是基于差分信号进行传输的,其终端的电阻是在高速CAN中防止信号反射和振铃。

CAN_High和CAN_Low两根线构成的总线振铃-特克股份.jpg

 

低速的CAN是属于开环总线,高速的CAN是属于闭环总线。对于CAN总线有以下特点:多主控制,每个设备都是可以主动的发送数据,当然这一点就会涉及到优先级的问题,这个问题会在后面详细介绍。在CAN中是没有类似于地址的信息,数据是以广播的形式,所以这个特点也就涉及到CANID相关信息。


高速CAN、低速CAN、CANFD三者区别

(1)高速CAN(ISO 11898-2)

高速CAN是目前应用最广泛的总线类型,标准传输速率区间125Kbps~1Mbps,总线距离短、传输速度快。采用闭环总线结构,总线两端必须配置120Ω终端电阻,保障信号完整性。常用于汽车动力系统、工业控制、运动控制、高速数据采集场景。市面上主流高速CAN收发器如TK1050,完全兼容通用高速CAN电气规范,可硬件兼容替代TJA1050,满足1Mbps高速稳定通信。

(2)低速容错CAN(ISO 11898-3)

低速CAN又称容错CAN,传输速率较低,常规区间40Kbps~125Kbps。支持单线容错工作,当CANH或CANL单线路损坏时,总线仍可维持基础通信。总线不需要严格闭环阻抗匹配,多用于车身辅助电器、灯光控制、门窗控制等低速率车载辅助设备。

(3)CANFD总线

CANFD为CAN灵活数据速率总线,是传统CAN升级版本。拥有两段速率,仲裁段保持常规CAN速率,数据段可更高提速至8Mbps;单帧数据长度由8字节提升至64字节,大幅提升传输效率。主要用于智能汽车、自动驾驶、高端工控设备,适配大数据量、高实时性传输需求。




 

写到现在,可以简单的回答一下几个问题:一个节点的MCU向总线上那么多的节点的某一个节点发送消息的?一个节点又是如何知道某个信息是发送给自己或者不是发送给自己呢?这个就会涉及到CANID CAN控制器的过滤器的内容啦。

 CAN的简洁的物理层必须要配上一套更加复杂的协议

 CAN的总线是使用差分信号,其物理媒介是一对双绞线,这样差分信号的优点可以实现对干扰信号的抵消,总线上是CAN_HighCAN_Low.通过电位差来判断总线的电平,当然在这个地方高速CAN和低速CAN是不一样的。

 CAN_High和CAN_Low 电平信号特征.jpg

 

  在经典CAN及高速CAN中:

  显性电平:总线上逻辑0表示显性,遇00,显性最强  差分信号的电压差一般为2V

  隐形电平:总线上逻辑1表示隐形,隐形的攻击性不强 差分信号的电压差一般为0

  高速CAN和经典CAN中的特性差异.jpg

在低速CAN

 显性电平:逻辑0表示显性 显性的电压差一般为3V

 隐形电平:逻辑1表示隐性 隐性的电压差一般为-1.5V

 刚刚说到,显性电平是逻辑0,并且是具有正的电压差的,因此显性电平是具有优先权的,只要有一个节点输出显性电平,总线上即为显性电平。但是隐性电平是需要所有的节点都输出隐性电平,总线上才是才是隐形电平。从逻辑上来说这是一种与逻辑,其物理的实现是通过集电极开路电路实现的。

  CAN总线逻辑图.jpg

说到这些电平是需要CAN的收发器实现的,目前CAN的收发器芯片有TK1050TK1042CAN收发器芯片能够将微控制器 的逻辑电平转换为CAN总线所使用的物理层电平,并负责将数据发送到总线上,同时接收总线上的数据并将其转换为适合微控制器处理的逻辑电平。收发器芯片还包含其他功能,如滤波、保护电路等,以确保可靠的通信。有了CAN的收发器实现差分信号到逻辑信号的转换之后,我们就可以基于CAN的控制器实现CAN的帧的通信。CAN的协议定义了五种类型的帧。

 对于CAN的帧有数据帧、遥控帧、错误帧、过载帧、间隔帧。我们今天主要是针对标准的数据帧进行实现。

 数据帧是由七段来组成的,当然数据帧又分为标准帧CAN2.0A、扩展帧CAN2.0B

  CAN的帧结构.jpg

帧起始:表示数据帧开始的段,是以显性信号表示,SOF发出后会产生一个跳变沿用于整个CAN网络的时间同步。

 仲裁段:表示该帧优先级的段,该部分和CAN的过滤器相关,标准格式ID11个位,从ID28ID18被依次发,ID禁止设置高7位为隐性

 控制段:表示数据的字节数和保留位的段,控制段是由6个位构成的,四个位为DLC,称数据长度码,表示后面要表示的数据的字节数,还有两个保留位

 数据段:数据的内容,一帧可以发送0-8字节的数据

 CRC段:检查帧的传输错误的段,由15个位的CRC顺序和一个位的CRC界定符构成

 ACK段:表示确认正确接收的段,该段由两位组成,其中一位是界定符,对于发送单元而言在该段发两个隐性位,接收段在ACK Slot段发送显性位,通知发送单元是正常接收结束

 帧结束:是以七个隐性电平表示数据帧的结束

 CAN的位时序介绍:在CAN总线上我们是读取电平来实现表征数据01。对于没有时钟线的CAN总线里,是以“位时序”的机制,实现对电平的正确采样,位数据是由四段组成的:

 同步段SS:1Tq

 传播时间段PTS:1~8Tq

 相位缓冲段PBS1:1~8 Tq

 相位缓冲段PBS2:2~8Tq

 此外因时钟的频率偏差,传送延迟等,各单元有同步午餐,SJW为再补偿宽度,其实我们对位同步而言不需要太深入的了解其实现,该部分主要是由硬件自动完成。


高速CAN收发器选型推荐(TK1050)

在常规工业及车载高速CAN应用场景中,TK1050高速CAN收发器凭借标准ISO11898-2电气规范、完整总线保护能力,成为TJA1050高性价比国产替代方案。芯片具备±15kV ESD静电防护、总线短路保护、过热关断保护、显性超时保护,内置优异EMC抗干扰电路,适配工业恶劣环境与车载控制系统。引脚完全兼容进口料,无需改板直接替换,供货稳定、成本可控,广泛用于工控主板、BMS电池管理、车载控制、新能源设备等高速CAN通信场景。