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

    文章

    6812

    浏览量

    147653
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2470

    浏览量

    459290
  • ecu
    ecu
    +关注

    关注

    14

    文章

    822

    浏览量

    53888
  • 控制网络
    +关注

    关注

    0

    文章

    25

    浏览量

    9416
收藏 人收藏

    评论

    相关推荐

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

    在ISO 11898-2和ISO 11898-3中分别规定了两种CAN总线结构(在BOSCH CAN2.0规范中,并没有关于总线拓扑结构的说明):高速
    发表于 04-07 09:30 2023次阅读
    高速<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总线控制器总线/接
    学习电子知识
    发布于 :2022年09月23日 14:32:10

    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总线的作用

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

    CAN总线应用—汽车领域

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

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

    CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,
    发表于 05-07 10:36 3.4w次阅读
    <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的全称是Controller Area Network,中文名称是控制器局域网络,是由德国BOSCH公司开发的,并且最后成为国际标准,这是目前应用最多的现场总线
    的头像 发表于 08-07 16:37 1.8w次阅读

    CAN总线为什么这么火,CAN总线是什么

    很多的司机朋友以及工控圈的朋友都有听到过“CAN总线”一词,今天我们就来一起看一下CAN总线为什么这么火? CAN
    发表于 01-15 17:04 5832次阅读

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

    认识CAN 总线错误的第一步就是了解认识CAN 总线协议和它的具体功能,这样才能更容易地理解CAN 总线
    发表于 08-14 15:18 3621次阅读
    认识<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总线是一种数据通信协议,广泛用于
    的头像 发表于 09-14 16:48 4035次阅读

    CAN总线共模电感选型

    CAN总线共模电感是应用于CAN总线通信中的一种电子元件,用于解决CAN总线通信中的共模干扰问题
    的头像 发表于 01-05 13:42 1153次阅读

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

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