0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是CAN总线?

汽车电子技术 来源:立迈胜 作者:LMSBB8 2023-02-09 11:01 次阅读

CAN简介



CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。


最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。


poYBAGPkYaCAXPInAARHRUF1of4765.png

比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。



CAN总线特性

1.CAN总线具有高抗干扰性、自诊断和数据侦错功能,这些特性使得CAN总线在各种工业场合广泛使用,包括楼宇自动化、医疗和制造业。

2.CAN总线由德国BOSCH公司开发,最高速率可达到1Mbps。CAN的容错能力特别强,CAN控制器内建了强大的检错和处理机制。


3.另外,不同于传统的网络(比如USB或者以太网),CAN节点与节点之间不会传输大数据块,一帧CAN消息最多传输8字节用户数据,采用短数据包也可以使得系统获得更好的稳定性。


4.CAN总线具有总线仲裁机制,可以组建多主系统。



CAN通讯协议ISO-11898

ISO11898体系结构定义七层,OSI模型中的最低两层作为数据链路层和物理层。


pYYBAGPkYa2AVNhCAAQMp9OIJt0064.png

实际通讯是在连接设备的物理介质中进行,物理介质的特性由模型中的物理层定义。


pYYBAGPkYbeAGn_pAACUgCjbDME496.png

注:

LLC用于接收滤波、超载通告、回复管理

MAC用于数据封装/拆封、帧编码、媒体访问管理、错误检测与标定、应答、串转发/并转串

PLS用于位编码/解码、位定时、同步

PMA为收发器特性

应用程序层建立了上层应用特定协议,如CANopenTM协议的通讯链路。


这个协议由全世界的用户和厂商组织、CiA维护,详情可访问CiA网站:can-cia.de。


许多协议是专用的,比如工业自动化、柴油发动机或航空。


标准CAN和扩展CAN


标准CAN

标准CAN只有11位标识符,每帧的数据长度为51+(0~64)=(51~117)位。


pYYBAGPkYcOAe75iAAEdXwCyDBs759.png

标准CAN---11位标识符

·

SOF

- 帧起始。显性(逻辑0)表示报文的开始,并用于同步总线上的节点。

·标识符- 标准CAN具有11位标识符,用来确定报文的优先级。

此域的数值越小,优先级越高。

·

RTR

- 远程发送请求位。

当需要从另一个节点请求信息时,此位为显性(逻辑0)。

所有节点都能接收这个请求,但是帧标识符确定被指定的节点。

响应数据帧同样被所有节点接收,可以被有兴趣的节点使用。

·

IDE

- 标识符扩展位,为显性时表示这是一个标准CAN格式,为隐形表示这是扩展CAN格式。

·

r0

- 保留位(可能将来标准修订会使用)。

·

DLC

- 4位数据长度代码表示传输数据的字节数目,一帧CAN最多传输8字节用户数据。

·

数据0~8

– 最多可以传输8字节用户数据。

·

CRC

- 16位(包括1位定界符)CRC校验码,用来校验用户数据区之前的(包含数据区)传输数据段。

· ACK - 2位,包含应答位和应答界定符。


发送节点的报文帧中,ACK两位是隐性位,当接收器正确地接收到有效的报文,接收器会在应答位期间向发送节点发送一个显性位,表示应答。

如果接收器发现这帧数据有错误,则不向发送节点发送ACK应答,发送节点会稍后重传这帧数据。

· EOF – 7位帧结束标志位,全部为隐性位。

如果这7位出现显性位,则会引起填充错误。

·

IFS

– 7位帧间隔标志位,CAN控制器将接收到的帧正确的放入消息缓冲区是需要一定时间的,帧间隔可以提供这个时间。



扩展CAN

扩展CAN具有29位标识符,每帧数据长度为71+(0~64)=(71~135)位。

注:不计位填充(位填充将在后面的文章描述)。

poYBAGPkYc6AVhzaAAAfq97tPow564.png

扩展CAN---29位标识符

扩展CAN消息相对于标准CAN消息增加的内容如下:

· SRR – 代替远程请求位,为隐性。所以当标准帧与扩展帧发送相互冲突并且扩展帧的基本标识符与标准帧的标识符相同时,标准帧优先级高于扩展帧。

· IDE – 为隐性位表示标志位扩展帧,18位扩展标识符紧跟着IDE位。

·r1– 保留


CAN消息


仲裁

pYYBAGPkYd2AKmfbAACDJbb99MI720.png

反转的CAN总线逻辑


典型CAN的基本原理如上图所示,从图中可以看出,总线逻辑状态与驱动器输入和接收器输出逻辑是相反的。


正常情况下,逻辑高电平为1,逻辑低电平为0,但是CAN总线却是逻辑高电平为0,称为显性,逻辑低电平为1,称为隐性。


所以很多收发器的驱动器输入端都会内置上拉电阻,在没有任何输入时,CAN总线就会表现为隐性(逻辑低电平)。

总线空闲时,最先开始发送报文的节点获得发送权。


如果多个节点同时访问总线,CAN使用非破坏式、逐位仲裁的方式决定哪个节点使用总线:各发送节点从仲裁域(标识符和RTR域)的第1位开始进行仲裁,连续输出显性电平(0)最多的节点可以继续发送。


因此标识符数值越低的CAN报文,优先级越高。标识符数值为0的CAN报文,具有最高优先级,因为它输出的显性电平最多。


消息类型

CAN有四种不同的报文类型:数据帧、远程帧、错误指示帧超载帧

1、数据帧

CAN协议有两种数据帧类型:标准CAN和扩展CAN(见上文)。


一个数据帧中包括7个主要的域:

帧起始域——标志数据帧的开始,由一个显性位组成。

仲裁域——内容由标示符和远程传输请求位(RTR)组成,RTR用以表明此信息帧是数据帧还是不包含任何数据的远地请求帧。


标准CAN和扩展CAN的数据帧必须在同一条总线上传输时,首先判断其优先权,如果ID相同,则非扩展数据帧的优先权高于扩展数据帧。

控制域——r0、r1是保留位,作为扩展位,DLC表示一帧中数据字节的数目。

数据域——包含0~8字节的数据。

校验域——检验位错用的循环冗余校验域,共15位。

应答域——包括应答位和应答分隔符。正确接收到有效报文的接收站在应答期间将总线值为显性电平。


帧结束——由七位隐性电平组成。


2、远程帧

远程帧接受数据的节点可通过发远程帧请求源节点发送数据。


它由6个域组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束

3、错误指示帧

错误指示帧由错误标志错误分界两个域组成。


接收节点发现总线上的报文有误时,将自动发出“活动错误标志”其他节点检测到活动错误标志后发送“错误认可标志”。

4、超载帧

超载帧由超载标志超载分隔符组成。

超载帧只能在一个帧结束后开始。当接收方接收下一帧之前,需要过多的时间处理当前的数据,或在帧间空隙域检测到显性电平时,则导致发送超载帧。

帧间空隙位于数据帧和远地帧与前面的信息帧之间,由帧间空隙和总线空闲状态组成。帧间空隙是必要的,在此期间, CAN不进行新的帧发送,为的是CAN控制器在下次信息传递前有时间进行内部处理操作。当总线空闲时CAN控制器方可发送数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7469

    浏览量

    150914
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2702

    浏览量

    463201
  • ecu
    ecu
    +关注

    关注

    14

    文章

    877

    浏览量

    54368
  • 控制网络
    +关注

    关注

    0

    文章

    27

    浏览量

    9498
收藏 人收藏

    评论

    相关推荐

    高速CAN总线和低速CAN总线的特性

    在ISO 11898-2和ISO 11898-3中分别规定了两种CAN总线结构(在BOSCH CAN2.0规范中,并没有关于总线拓扑结构的说明):高速
    发表于 04-07 09:30 2740次阅读
    高速<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>和低速<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的特性

    CAN 总线错误检测机制#can总线

    CAN 总线
    北汇信息POLELINK
    发布于 :2023年05月26日 13:54:03

    CAN总线的位定时与同步机制#汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2023年07月17日 10:57:12

    一条口诀总结,汽车CAN总线使用权获取规则#汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2023年10月20日 12:15:34

    CAN总线访问与仲裁机制#汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2023年10月20日 15:33:02

    什么是CAN时钟?#CAN #汽车CAN总线  #CANoe

    CAN总线
    北汇信息POLELINK
    发布于 :2024年10月29日 12:23:36

    CAN总线是什么 CAN总线的作用

    现场总线VS工业以太网现场总线CAN总线(Control Area Network)一、CAN总线
    发表于 08-06 07:44

    CAN总线应用—汽车领域

    文中分析了CAN总线的发展和汽车CAN总线技术的特征,对CAN总线在汽车领域的应用进行了深入的探
    发表于 12-14 14:58 86次下载

    CAN总线概述及应用_CAN总线的应用案例(汽车CAN总线应用)

    CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,
    发表于 05-07 10:36 3.5w次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>概述及应用_<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的应用案例(汽车<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>应用)

    CAN总线教程之CAN总线快速入门资料免费下载

    本文档额度主要内容详细介绍的是CAN总线教程之CAN总线快速入门资料免费下载主要内容包括了:CAN总线
    发表于 12-07 17:20 213次下载

    高速CAN总线和低速CAN总线区别分析

    高速CAN总线上为显性电平(逻辑0)时,CAN_H为3.5V、CAN_L为1.5V,此时电压差是2V,显性状态的CAN
    发表于 09-13 16:57 4549次阅读

    认识CAN总线错误 CAN总线错误分析与解决

    认识CAN 总线错误的第一步就是了解认识CAN 总线协议和它的具体功能,这样才能更容易地理解CAN 总线
    发表于 08-14 15:18 5781次阅读
    认识<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>错误 <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>错误分析与解决

    can总线负载率多少合理

    can总线负载率多少合理  CAN总线是一种控制器区域网络,它是用于在不同设备之间进行通信的技术。CAN
    的头像 发表于 09-07 15:05 3782次阅读

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

    can总线为什么要用双绞线?can总线不用双绞线可以吗? CAN总线是一种数据通信协议,广泛用于
    的头像 发表于 09-14 16:48 5200次阅读

    高速CAN总线和低速CAN总线的特性

    高速CAN总线和低速CAN总线的特性 高速CAN总线和低速C
    的头像 发表于 01-31 14:09 2498次阅读