CAN总线详解

合集下载

CAN总线详解.pdf

CAN总线详解.pdf

CAN总线§1 CAN总线的性能特点§2 CAN总线的技术规范§3 CAN器件及开发
CAN(Controllor Area Network)总线技术,由于其高性能、高可靠性以及独特的设计,越来越受到人们的重视。

已被列入ISO国际标准,称为ISO11898。

CAN最初是由BOSCH公司为汽车监测、控制系统而设计的。

由于CAN总线本身的特点,其应用范围已不再局限于汽车工业,而向过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械等领域发展。

主要特点如下:
1、多主方式工作;
2、具有不同的优先级;
3、采用非破坏性总线仲裁技术
4、CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”;
5、节点数主要取决于总线驱动电路;
6、采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。

7、CAN的每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低。

8、CAN节点在错误严重的情况下具有自动关闭输
出的功能,以使总线上其他节点的操作不受影响。

9、直接通讯距离最远可达10km(速率在5Kbps以下);通信速率可达1Mbps(通信距离最长为
40m);
§2 CAN总线的技术规范§2.1 CAN的通信参考模型
§2.2 CAN总线介质装置
§2.3 报文传送与帧结构
§2.4 错误类型和界定
§2.5 位仲裁技术。

can总线知识点梳理

can总线知识点梳理

can总线知识点梳理CAN总线是一种串行通信网络,用于实现分布式实时控制。

它是由德国的BOSCH公司开发的,具有传输速度快、通信距离远、无损位仲裁机制、多主结构等优点。

CAN总线标准只规定了物理层和数据链路层,需要用户自定义应用层。

CAN总线采用差分电压传送,使用两条信号线(CAN_H和CAN_L),静态时均为2.5V左右,显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。

在CAN总线中,多个节点连接,只要有一个为低电平,总线就为低电平,只有所有节点输出高电平时,才为高电平。

CAN总线有5个连续相同位后,就插入一个相反位,产生跳变沿,用于同步,从而消除累积误差。

CAN总线的数据帧结构包括帧起始、仲裁段、控制段、数据段、CRC校验段、应答段和帧结束。

其中,仲裁段决定了报文的优先级,ID值越低,优先级越高。

控制段中包含数据长度代码(DLC),表示数据段的长度。

数据段包含发送的数据,可以有0~8个字节。

此外,CAN总线还支持扩展帧和标准帧两种格式,IDE位表示帧类型(0为标准帧,1为扩展帧),RTR位表示帧类型(0为数据帧,1为远程帧)。

在实际应用中,MCU负责实现对功能电路和CAN控制器的控制,包括初始化CAN控制器参数、通过CAN控制器读取和发送CAN 帧、处理CAN控制器的中断异常、根据接收到的数据输出控制信号等。

同时,接口管理逻辑解释MCU指令,寻址CAN控制器中的各功能模块的寄存器单元,向主控制器提供中断信息和状态信息。

在具体的CAN应用场景中,如汽车行业,现在每一辆汽车上都装有CAN总线。

同时,为了实现不同的功能,不同的CAN标准仅物理层不同,而应用层协议也有多种选择,如CANOpen、DeviceNet、J1939、iCAN等。

CAN总线简介(2024版)

CAN总线简介(2024版)
目前汽车上的网络连接方式主要采用2条CAN, 一条用于驱动系统的高速CAN,速率达到500kb/s; 另一条用于车身系统的低速CAN,速率是100kb/s。
驱动系统的高速CAN
• 驱动系统CAN主要连接对象是发动机控制器 (ECU)、ABS控制器、安全气囊控制器、 组合仪表等等,它们的基本特征相同,都是 控制与汽车行驶直接相关的系统。
倍。这种传统布线方法不能适应汽车的发展。CAN总线可有效减少线束,节省空间。
例如某车门-后视镜、摇窗机、门锁控制等的传统布线需要20-30 根,应用总线 CAN 则
只需要 2 根。(3)关联控制在一定事故下,需要对各ECU进行关联控制,而这是传统
汽车控制方法难以完成的表1 汽车部分电控单元数据发送、接受情况
• (5)直接通信距离最远可达10km(速率5Kbps以下)。
• (6)通信速率最高可达1MB/s(此时距离最长40m)。
• (7)节点数实际可达110个。
• (8)采用短帧结构,每一帧的有效字节数为8个。
• (9)每帧信息都有CRC校验及其他检错措施,数据出错 率极低。
• (10)通信介质可采用双绞线,同轴电缆和光导纤维,一 般采用廉价的双绞线即可,无特殊要求。
可靠性高:传输故障(不论是由内部还是外部引起 的)应能准确识别出来 使用方便:如果某一控制单元出现故障,其余系统 应尽可能保持原有功能,以便进行信息交换 数据密度大:所有控制单元在任一瞬时的信息状态 均相同,这样就使得两控制单元之间不会有数据偏 差。如果系统的某一处有故障,那么总线上所有连 接的元件都会得到通知。 数据传输快:连成网络的各元件之间的数据交换速 率必须很快,这样才能满足实时要求。
• (2)网络上的节点(信息)可分成不同的优先级,可以满 足不同的实时要求。

CAN总线基础知识总结(建议收藏)

CAN总线基础知识总结(建议收藏)

CAN总线基础知识总结(建议收藏)CAN总线基础知识总结一、CAN总线简介1、CAN总线(Controller Area Network,控制器局域网)是由德国BOSCH(博世)公司在1986年为汽车而设计的,它是一种串行通信总线,只需两根线CAN_H和CAN_L。

2、隐性(逻辑1)与显性(逻辑0)的概念:CAN总线在数据传输过程中,实际上传输的是CAN_H和CAN_L 之间的电位差。

CAN_H只能是高电平(3.5V)或悬浮状态(2.5V),CAN_L只能是低电平(1.5V)或悬浮状态(2.5)V,当CAN_H和CAN_L 都为2.5V 时,是隐性,表示逻辑1,当CAN_H为3.5V、CAN_L都为2.5V时,是显性,表示逻辑0。

表示隐性和显性逻辑的能力是CAN总线仲裁方法的基本先决条件,即所有节点都为隐性时,总线才处于隐性状态;只要有一个节点发送了显性,总线就呈现为显性状态。

3、120?电阻:必须在总线的每一节点的CAN_H和CAN_L之间接一个120?左右的电阻,以避免出现信号反射。

4、CAN技术规范CAN2.0A和CAN2.0B:CAN2.0A只有标准帧(标识符(ID)有11位);CAN2.0B除了标准帧,还有扩展帧(标识符(ID)有29位)。

5、CAN的国际标准ISO11898和ISO11519:CAN 协议经ISO 标准化后有ISO11898和ISO11519两种标准,它们对于数据链路层的定义相同,但物理层不同。

ISO11898 是波特率为125kbps-1Mbps 的CAN高速通信标准。

ISO11519 是波特率为125kbps 以下的CAN低速通信标准。

高速通信标准和低速通信标准的硬件规格也不一样,所以需要选用不同的收发器。

在收发器的规格书上都会注明高速通信用还是低速通信用,或者是符合ISO11898标准还是ISO11519标准。

6、CAN总线协议只定义了物理层和数据链路层,要将CAN总线应用于工程项目中必须制定上层的应用协议。

can总线用法 -回复

can总线用法 -回复

can总线用法-回复CAN总线用法CAN (Controller Area Network) 总线是一种广泛应用于汽车、工业控制和航空等领域的通信协议。

它的特点是高度可靠、实时性强以及适用于复杂环境。

CAN总线采用了多主从结构,允许多个节点同时传输数据,因此它是一种非常灵活的通信协议。

本文将详细介绍CAN总线的用法,并逐步回答中括号内的内容。

一、CAN总线基础1. 什么是CAN总线?CAN总线是一种串行通信协议,用于实现多个节点之间的数据传输。

它的结构包括单一的总线线路,连接多个节点,每个节点通过识别标识符来进行数据交换。

2. 为什么选择CAN总线?CAN总线具有以下几个优点:高度可靠性、实时性强、适用于复杂环境、支持多主从结构、能够进行错误检测和纠正等。

因此,在汽车、工业控制以及航空等领域中得到广泛的应用。

二、CAN总线的应用1. 汽车电子系统CAN总线在汽车电子系统中起着至关重要的作用。

它连接不同的电子控制单元(ECU),如引擎控制单元(ECU)、刹车控制单元(EBCU)、仪表盘等。

通过CAN总线,这些单元能够相互通信,实现数据共享和控制。

比如,ECU可以向仪表盘发送车速信息,以便驾驶员能够及时了解车速情况。

2. 工业控制系统CAN总线在工业控制系统中也得到广泛应用。

它可以连接各种传感器、执行器等设备,实现数据采集和控制。

比如,在一个自动化生产线中,通过CAN总线连接各种传感器,可以实时监测生产状态,并通过执行器控制设备的运行。

这样可以提高生产效率和质量。

3. 航空航天领域CAN总线在航空航天领域也是必不可少的。

它可以连接飞机上的各种航电设备,进行数据交换和控制。

比如,通过CAN总线,飞行控制系统可以与发动机控制系统进行数据交换,实现精确的飞行控制。

三、CAN总线的配置1. 物理连接CAN总线的物理层通常采用双绞线,其中一根线为CANH,另一根为CANL。

这两根线通过一个120欧姆的终端电阻连接在一起。

(完整版)CAN总线解析

(完整版)CAN总线解析

一、概述CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。

想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN 有很多优秀的特点,使得它能够被广泛的应用。

比如:传输速度最高到1Mbps,通信距离最远到10KM,无损位仲裁机制,多主结构。

近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。

现在每一辆汽车上都装有CAN总线。

一个典型的CAN应用场景:二、CAN总线标准CAN总线标准只规定了物理层和数据链路层,需要用户来自定义应用层。

不同的CAN标准仅物理层不同。

CAN收发器负责逻辑电平和物理信号之间的转换,将逻辑信号转换成物理信号(差分电平)或者将物理信号转换成逻辑电平。

CAN标准有两个,即IOS11898和IOS11519,两者差分电平特性不同。

(有信号时,CANH 3.5V,CANL 1.5V,即显性;没有信号时,CANH 2.5V,CANL 2.5V,即隐性)IOS11898高速CAN电平中,高低电平的幅度低,对应的传输速度快。

双绞线共模消除干扰,是因为电平同时变化,电压差不变。

2.1物理层CAN有三种接口器件多个节点连接,只要有一个为低电平,总线就为低电平,只有所有的节点都输出高电平时,才为高电平。

所谓“线与”。

CAN总线有5个连续性相同的位后,就会插入一个相反位,产生跳变沿,用于同步。

从而消除累计误差。

和485、232一样,CAN的传输速度与距离成反比。

CAN总线终端电阻的接法:特点:低速CAN在CANH和CANL上串入2.2kΩ的电阻;高速CAN在CANH和CANL 之间并入120Ω电阻。

为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。

(因为大多数双绞线电缆特性阻抗大约在100~120Ω。

)120欧姆只是为了保证阻抗完整性,消除回波反射,提升通信可靠性的,因此,其只需要在总线最远的两端接上120欧姆电阻即可,而中间节点并不需要接(接了反而有可能会引起问题)。

CAN总线详解

CAN总线详解

汽车CAN总线详解概述CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而广泛应用于工业自动化、船舶、医疗等其它领域。

相比于其它网络类型,如局域网(LAN, Local Area Network)、广域网(WAN, Wide Area Network)和个人网(PAN, Personal Area Network)等,CAN 更加适合应用于现场控制领域,因此得名。

CAN总线是一种多主控(Multi-Master)的总线系统,它不同于USB或以太网等传统总线系统是在总线控制器的协调下,实现A节点到B节点大量数据的传输,CAN网络的消息是广播式的,亦即在同一时刻网络上所有节点侦测的数据是一致的,因此比较适合传输诸如控制、温度、转速等短消息。

CAN起初由BOSCH提出,后经ISO组织确认为国际标准,根据特性差异又分不同子标准。

CAN国际标准只涉及到 OSI(开放式通信系统参考模型)的物理层和数据链路层。

上层协议是在CAN标准基础上定义的应用层,市场上有不同的应用层标准。

发展历史1983年,BOSCH开始着手开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第一款CAN控制器芯片;1991年,奔驰500E 是世界上第一款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:ISO 11898-1:数据链路层协议ISO 11898-2:高速CAN总线物理层协议ISO 11898-3:低速CAN总线物理层协议注意:ISO 11898-2和ISO 11898-3物理层协议不属于BOSCH CAN 2.0标准。

CAN总线的原理及使用教程

CAN总线的原理及使用教程

CAN总线的原理及使用教程一、CAN总线的原理1.数据链路层:CAN总线采用的是二进制多播通信方式,即发送方和接收方之间没有直接的连接关系,所有节点共享同一个总线。

在一个CAN总线系统中,每个节点都可以发送和接收信息。

当一个节点发送消息时,所有其他节点都能接收到该消息。

2.帧格式:CAN总线使用的是基于帧的通信方式,每个消息都被封装在一个CAN帧中。

帧由起始标志、ID、数据长度码、数据和校验字段组成。

其中,ID是唯一标识符,用来区分不同消息的发送者和接收者。

数据长度码指示了消息中数据的长度。

校验字段用于检测数据的完整性。

3. 传输速率:CAN总线的传输速率可根据需求进行配置,通常可选的速率有1Mbps、500Kbps、250Kbps等。

高速传输速率适用于对实时性要求较高的应用,而低速传输速率适用于对实时性要求不高的应用。

4.错误检测:CAN总线具有强大的错误检测能力,能够自动检测和纠正错误。

它采用了循环冗余校验(CRC)算法,通过对数据进行校验,确保数据的完整性。

如果数据传输过程中发生错误,接收方能够检测到错误,并通过重新请求发送来纠正错误。

二、CAN总线的使用教程1. 硬件连接:在使用CAN总线之前,需要先进行硬件连接。

将所有节点的CANH和CANL引脚连接到同一个总线上,并通过双终端电阻将CANH和CANL引脚与Vcc和地连接。

确保所有节点的通信速率和电气特性相匹配。

2.软件设置:使用相应的软件工具对CAN总线进行配置。

根据具体需求,设置通信速率、总线负载、数据帧格式等参数。

还需要为每个节点分配唯一的ID,用于区分发送者和接收者。

3.数据传输:使用软件工具编写代码,实现消息的发送和接收。

发送消息时,需要指定ID、数据长度和数据内容。

接收消息时,需要监听总线上的消息,并根据ID判断是否为自己需要的消息。

通过合理的逻辑处理,实现节点之间的数据交换和通信。

4.错误处理:CAN总线在数据传输过程中可能会发生错误,如位错误、帧错误等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAN总线§1 CAN总线的性能特点§2 CAN总线的技术规范§3 CAN器件及开发CAN(Controllor Area Network)总线技术,由于其高性能、高可靠性以及独特的设计,越来越受到人们的重视。

已被列入ISO国际标准,称为ISO11898。

CAN最初是由BOSCH公司为汽车监测、控制系统而设计的。

由于CAN总线本身的特点,其应用范围已不再局限于汽车工业,而向过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械等领域发展。

主要特点如下:1、多主方式工作;2、具有不同的优先级;3、采用非破坏性总线仲裁技术4、CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”;5、节点数主要取决于总线驱动电路;6、采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。

7、CAN的每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低。

8、CAN节点在错误严重的情况下具有自动关闭输出的功能,以使总线上其他节点的操作不受影响。

9、直接通讯距离最远可达10km(速率在5Kbps以下);通信速率可达1Mbps(通信距离最长为40m);§2 CAN总线的技术规范§2.1 CAN的通信参考模型§2.2 CAN总线介质装置§2.3 报文传送与帧结构§2.4 错误类型和界定§2.5 位仲裁技术1991年飞利浦半导体公司制定并发布了CAN技术规范。

CAN技术规范(Version2.0)包括A和B两部分:2.0A:CAN报文标准格式2.0B:标准的和扩展的两种格式CAN只采用了ISO/OSI模型中的物理层和数据链路层。

CAN通信模型的分层结构一、物理层CAN技术规范的物理层定义信号怎样进行发送,因而涉及电气连接、驱动器/接收器的特性、位编码/解码、位定时及同步等内容。

但对总线媒体装置,诸如驱动器/接收器特性未作规定,以便在具体应用中进行优化设计。

CAN物理层选择灵活,没有特殊的要求,可以采用共地的单线制、双线制、同轴电缆、双绞线、光缆等。

二、数据链路层1、逻辑链路控制子层为数据传送和远程数据请求提供服务,确认要发送的信息,确认接收到的信息,并为恢复管理和通知超载提供信息,主要功能是报文滤波、超载通知和恢复管理。

2、介质访问控制子层主要是传送规则,亦即控制帧结构、执行总线仲裁、错误检测、出错标定和故障界定。

MAC子层为开始一次新的发送确定总线是否开放或者是否马上接收。

MAC子层是CAN协议的核心,该子层特性不存在修改的灵活性。

CAN数据链路层由一个CAN控制器实现,采用了改进的CSMA/CD方式,但不同于普通的Ethernet,它采用非破坏性总线仲裁技术,网络上节点(信息)有高低优先级之分以满足不同的实时需要。

当总线上有两个节点同时向网上输送信息时,优先级高的节点继续传输数据,而优先级低的节点主动停止发送,有效地避免了总线冲突以及负载过重导致网络瘫痪的情况。

三、应用层协议CAN协议标准仅仅定义了物理层和数据链路层。

早期CAN应用层的种类比较多,可以说每个厂家都有自己的应用层标准。

Honeywell公司的SDS(智能分布系统)Rockwell公司的Devicenet§2.2 CAN总线介质装置在1993年形成的国际标准ISO11898中对基于双绞线的CAN总线介质装置特性做了建议。

总线可具有两种逻辑状态:隐性或显性。

显位能改写隐位。

“0”为显性位,“1”为隐性位。

§2.3 报文传送与帧结构报文中的位流按照非归零码(NRZ)方法编码。

报文传送由4种不同类型的帧表示和控制:❑数据帧携带数据由发送器至接收器;❑远程帧通过总线单元发送,以请求发送具有相同标识符的数据帧;❑出错帧由检测出总线错误的任何单元发送;❑超载帧用于提供当前的和后续的数据帧的附加延迟。

一、数据帧数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧尾。

数据场长度可为0。

在CAN 2.0B中存在两种不同的帧格式(标准格式和扩展格式)。

为使控制器设计相对简单,并不要求执行完全的扩展格式,但必须完全执行标准格式。

如何实现CAN技术规范兼容?每个控制器均支持标准格式,每个控制器均接受扩展格式报文,不至于因为格式而破坏扩展帧。

1、帧起始(SOF)标志数据帧和远程帧的开始,它仅由一个显位构成。

2、仲裁场对于CAN 2.0B,标准格式和扩展格式的仲裁场格式不同。

RTR——远程发送请求位;SRR——替代远程请求位。

标准:ID.28-ID.18;扩展:ID.28-ID.0(基本和扩展ID)注意点:(1)一般RTR位为显位,SRR位为隐位。

由于基本ID相同而造成的标准帧与扩展帧的仲裁冲突问题便得以解决。

原有的相同基本ID的标准数据帧优先级高于扩展数据帧。

(2)IDE位对于扩展格式居于仲裁场,对于标准格式属于控制场。

IDE在标准格式中以显性电平发送,而在扩展格式中为隐性电平。

3、控制场控制场由6位组成。

数据长度码DLC指出数据场的字节数目。

数据长度码为4 位,在控制场中被发送。

数据长度码中数据字节数目编码如表所列,其中:d表水显位,r表示隐位。

4、数据场数据场由数据帧中被发送的数据组成,它可包括0一8字节,每字节8位。

首先发送的是最高有效位。

5、CRC场包括CRC序列,后随CRC界定符。

CRC序列后面是CRC界定符,它只包括一个隐位。

被除的多项式系数由包括帧起始、仲裁场、控制场、数据场(若存在的话)在内的无填充的位流给出。

此多项式被发生器产生的下列多项式除6、应答场(ACK)包括应答间隙和应答界定符。

在应答场中,发送器送出两个隐位。

一个正确地接收到有效报文的接收器,将在应答间隙发送一个显位,以此来告知发送器。

应答界定符是应答场的第二位,并且必须是隐位,因此应答间隙被两个隐位(CRC界定符和应答界定符)包围。

7、帧结束每个数据帧和远程帧均以7个连续的隐位作为结束标志。

二、远程帧作为接收器的节点可以通过向相应的数据源节点发送一个远程帧来激活该源节点,让它把该源节点的数据发送给接收器。

远程帧由6个不同位场组成。

同数据帧相反,远程帧的RTR位是隐位。

远程帧不存在数据场。

DLC的数据值是独立的,它可以是0一8中的任何数值,这数值为对应数据帧的DLC。

三、出错帧出错帧由两个不同场组成,第一个场由来自各站的错误标志叠加得到,后随的第二个场是出错界定符。

错误标志具有两种形式:一种是活动出错标志;一种是认可出错标志。

活动出错标志由6个连续的显位组成;而认可出错标志由6个连续的隐位组成,它可被来自其他节点的显位改写。

出错界定符包括8个隐位。

四、超载帧超载帧包括两个位场:超载标志和超载界定符。

超载标志由6个显位组成。

超载界定符由8个隐位组成。

根据CAN2.0B,有3种超载的情况,这3种情况都会引发超载标志的传送:1、接收器内部情况,即此接收器在接收下一个数据帧或远程帧之前需要一个延时;2、在“间歇场”的第一或第二位检测到显位的情况;3、如果CAN节点在错误定界符或超载定界符的第8位(最后一位)采样到一个显位,则该节点会发送一个超载帧(不是出错帧),错误计数器不会增加。

五、帧间空间数据帧或远程帧,通过帧间空间与当前一帧分隔开,而不管前一帧是何种类型的帧(数据帧、远程帧、出错帧或超载帧)。

而在超载帧与出错帧前面不需要帧间空间,多个超载帧之间也不需要帧间空间来作分隔。

间歇场由3个隐位组成。

间歇期间,所有节点都不允许启动发送数据帧或远程帧,只能标示超载条件。

总线空闲时间可为任意长度。

如果“出错认可”节点是前一报文的发送器,则其帧间空间还包括一个“暂停发送场”。

暂停发送场是指:出错认可节点发完一个报文后,在开始下一次报文发送或认可总线空闲之前,紧随间歇场后送出8个隐位。

如果此时另一节点开始发送报文(由其他站引起),则本站将变为报文接收器。

在CAN总线中存在5种错误类型(它们并不互相排斥)。

1、位错误:节点在发送每一位的同时也对总线进行监视,当监视到总线的位值与送出的位值不同时,则在该位时间里检测到一个位错误。

例外情况是,在仲裁场的填充位流期间或应答间隙送出隐位而检测到显位时,不视为位错误。

节点在发送“出错认可标志”期间检测到显位,也不视为位错误。

2、填充错误:在应使用位填充方法进行编码的报文中,若出现了第6个连续相同的位电平时,则判断检出一个位填充错误。

3、CRC错误:CRC序列是由发送器CRC计算的结果组成的。

接收器以与发送器相同的方法计算出CRC序列。

若计算结果与接收到的CRC序列不相同,则检出一个CRC错误。

4、格式错误:若固定形式的位场中出现一个或多个非法位时,则检出一个格式错误。

5、应答错误:在应答间隙,若发送器未检测到显位,则由它检出一个应答错误。

当检测到CRC错误时,出错标志在应答界定符后面那一位开始发送,除非其他出错条件的错误标志在此之前已经开始发送。

在CAN总线中的故障状态有3种:错误激活(error activc)、错误认可(errorpassive)和总线关闭。

错误激活节点可以照常参与总线通信,当检测到错误时,送出一个活动错误标志。

当错误认可节点检测到错误时,只能送出认可错误标志。

总线关闭状态不允许节点对总线有任何影响为了界定故障,在每个总线单元中都设有两种计数:发送出错计数和接收出错计数。

例如:当发送错误计数大于或等于256时,节点进入总线关闭状态。

CAN总线使用的是一种叫做“载波监测,多主掌控/冲突避免”的通信模式。

这就允许在总线上的任一设备有一定的机会取得总线的控制权来向外发送信息。

如果在同一时刻有两个以上的设备欲发送信息,就会发生数据冲突,CAN总线能够实时地检测这些冲突情况并做出相应的仲裁,而使得获得仲裁的信息帧不受任何损坏的继续传送。

CAN总线当总线空闲时呈隐性电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。

如果有两个或两个以上的节点同时发送,就会产生竞争。

CAN做了改进,是按位对标识符进行仲裁。

各发送节点在向总线发送电平的同时,也对总线上的电平进行读取,并与自身发送的电平进行比较,如果电平相同则继续发送下一位,不同则停止发送,退出总线竞争。

剩余的节点则继续上述过程,直到总线上只剩下一个节点发送的电平,总线竞争结束,优先级最高的节点获得了总线的使用权。

§2.5 位仲裁技术例:3个CAN消息帧在总线上的竞争情况§3.1 CAN控制器SJA1000 §3.2 CAN驱动器82C250/1§3.3 节点开发实例§3.4 应用实例§3.1 CAN控制器SJA1000一、内部结构及管脚SJA1000 是一种独立控制器,是PHILIPS半导体PCA82C200 CAN 控制器(BasicCAN )的替代产品,而且它增加了一种新的工作模式PeliCAN,这种模式支持具有很多新特性的CAN 2.0B 协议。

相关文档
最新文档