CAN总线控制器局域网
- 格式:doc
- 大小:56.00 KB
- 文档页数:7
can总线的国际标准CAN总线,全称为控制器局域网总线(Controller Area Network),是一种用于实时应用的串行通讯协议总线。
由于其高性能、高可靠性、以及灵活的通讯方式,CAN总线在工业自动化、船舶、医疗设备、航空航天等领域得到了广泛应用。
CAN总线的国际标准,具体为ISO 11898系列。
这一系列标准详细规定了CAN 总线的物理层、数据链路层以及应用层的规范。
1.物理层:ISO 11898-1至-3规定了CAN总线的物理层。
这部分标准主要定义了CAN总线的基本电气特性,如位速率、位编码、位同步等。
同时,这些标准还对CAN总线的物理接口,包括连接方式、信号幅度和阻抗等进行了规定。
2.数据链路层:ISO 11898-4至-7规定了CAN总线的数据链路层。
这部分标准主要定义了如何实现节点间的数据传输和错误检测。
标准中规定了如何使用标识符来标识信息,如何发送和接收数据,以及如何处理错误和故障等。
3.应用层:ISO 11898-8至-10规定了CAN总线的应用层。
这部分标准主要定义了如何实现节点间的信息交互和通讯控制。
标准中规定了如何定义通讯协议、如何进行信息交互、如何处理异常情况等。
此外,CAN总线还有几个子标准,包括CAN 2.0、CAN FD(快速数据)等。
这些子标准在原有的CAN总线基础上进行了扩展和改进,以适应更高的数据传输速率和更复杂的应用需求。
总的来说,CAN总线的国际标准为各种不同领域的应用提供了一个通用的通讯平台。
通过遵循这些标准,不同的设备和应用可以方便地实现相互之间的通讯和控制,从而提高了系统的效率和可靠性。
CAN总线协议CAN总线协议是指控制器局域网(Controller Area Network)的通信协议。
CAN总线协议最初是由德国的博世公司和美国的英特尔公司在20世纪80年代开发出来的。
其主要目的是用于汽车中各种电子系统的通信,例如电子控制单元(ECU)。
但是,现在这种协议已经被广泛应用于其他领域,如航空航天、医疗设备、机器人和工业自动化等。
总线结构:一个CAN总线可以被分为总线主控器(Bus Master)和多个从设备(Slave Device)。
总线主控器通常是一个集成了处理器和CAN总线通信控制器的电子控制器。
每个从设备包含一个CAN总线通信控制器、一些传感器和执行器。
CAN总线协议定义了一个基于广播方式的分布式通信系统,可以使总线上的所有设备相互交流。
CAN总线的特性:1. 抗干扰能力高。
CAN总线协议使用差分信号的方式进行通信,具有较强的抗干扰能力。
2. 速度快。
CAN总线协议的通信速度高达1Mbps,使得其适用于高速通信系统。
3. 数据可靠。
CAN总线协议采用了CRC(循环冗余校验)和ACK(确认)机制,保证数据的可靠性。
4. 支持多设备接入。
CAN总线协议支持多个设备接入总线,这使得它非常适合于大型控制系统的应用。
5. 简单易用。
CAN总线协议的编程接口简单明了,易于使用。
CAN总线协议的数据格式:CAN总线协议定义了两种数据帧:数据帧(Data Frame)和远程帧(Remote Frame)。
1. 数据帧:数据帧是一种常见的CAN总线数据格式,用于发送数据。
数据帧由以下组成部分:a) 比特时间:用于标志一个数据帧的开始。
b) 报文ID标识符:用于标识一个CAN总线上的数据帧。
c) 控制域:包含两个控制比特,分别用于控制CAN总线数据帧的传输。
d) 数据域:用于传输数据。
e) CRC(循环冗余校验):用于检测数据传输中的位错误。
f) 结束位:标志一个数据帧的结束。
2. 远程帧:远程帧用于在总线上请求数据,而不是实际传输数据。
can总线的标准(一)CAN总线的标准1. 简介CAN(Controller Area Network,控制器局域网)总线是一种常用于汽车电子系统的通信协议。
它广泛应用于汽车领域,并逐渐渗透到其他领域。
CAN总线的标准化使得不同厂商的设备能够互联互通,提高了系统的可靠性和稳定性。
2. 标准化过程ISO 11898ISO 11898标准是CAN总线的基础标准,规定了物理层和数据链路层的要求。
它定义了CAN总线的传输速率、信号电平、线缆类型等关键参数,确保了不同设备之间的兼容性。
ISO 16845ISO 16845标准是CAN总线的高层协议标准,定义了CANopen协议的物理层和数据链路层。
CANopen是一种在CAN总线上实现的通信协议,用于设备之间的数据交换和控制。
ISO 16845确保了不同厂商的CANopen设备的互操作性。
SAE J1939是一种基于CAN总线的通信协议,广泛应用于商用车辆领域。
它定义了CAN总线上节点之间的消息格式、ID分配和协议规则等内容,使得不同厂商的商用车辆能够实现互联互通。
3. CAN总线的优势•高可靠性:CAN总线采用冗余机制和差错校验,能够在数据传输过程中检测和纠正错误,提高了系统的可靠性。
•高扩展性:CAN总线支持节点的动态增减和消息的动态分配,使得系统的扩展更加灵活。
•高实时性:CAN总线的通信速率较高,能够满足实时控制和数据传输的要求。
•简化布线:CAN总线使用双线传输,相对于传统的点对点连接,减少了线缆的使用量和布线的复杂性。
4. CAN总线的应用•汽车电子系统:CAN总线广泛应用于汽车中的电子控制单元(ECU)之间的通信,如发动机控制单元、刹车系统等。
•工业自动化:CAN总线可用于连接不同的工业设备,实现数据交换和控制,提高生产效率。
•医疗设备:CAN总线能够连接医疗设备,如监护仪、输液泵等,实现数据的传输和设备的控制。
CAN总线的标准化使得不同厂商的设备能够互联互通,提高了系统的可靠性和稳定性。
CAN总线系统概述CAN总线全称为“控制器局域网”,是德国搏世公司为解决现代汽车系统中众多电控单元(ECU)之间的数据交换而开发的一种串行通信协议;增加了控制器总线串行系统后,把车上相关控制器都联系起来,实现了各种控制器的相互通信,做到全车信息及时共享。
CAN总线系统不仅减少车上直接线束连接,使整车线束布置紧凑,车辆更安全,同时也确保整车在行驶过程中各个部件之间的匹配达到最佳状态,使故障率大大降低,整体安全性能大大提高。
CAN总线系统优点:•数据共享减少了数据的重复处理,节省成本。
例如。
在传统布线形式中,自动变速器、巡航定速控制等都会用到车速数据,结果这些电控单元内部都有一套车速处理电路,浪费了资源。
采用CAN总线技术以后,模块之间的数据信号可以从总线上直接下载共享,减少了车身布线,进一步节省成本。
采用总线技术,模块之间信号传递仅需要两条信号线,使布线局部化,除掉总线,其它横贯车身的线束都不需要了•具有诊断错误的能力和自动恢复能力,节省维护成本。
适当的CAN系统,分析模块可以对总线系统进行判断,如传感器故障判断、车身故障诊断、各个模块诊断以及线路故障诊断等。
对于内部错误,系统可以通过自身软件进行自动恢复。
•各电控单元对连接的CAN总线实时监控,出现故障时电控单元会存储故障码。
•可使用小型控制单元和小型插头,可节省空间。
•总线利用率高。
数据传输距离较长,可长达10km,数据的传输速度可达到1Mbit/s。
•CAN总线具有抗干扰能力强的优点。
•成本优势。
随着CAN总线技术发展,成本会进一步降低。
•CAN总线符合国际标准,因此可应用于不同型号控制单元间的传输。
CAN总线数据传输系统构成;CAN数据传输系统中每组控制单元内部都有一个CAN控制器,一个CAN收发器。
每组控制器外部连接了两条CAN数据总线。
如图:OBD车载自诊断系统与CAN总线:OBD是英文On-Board Diagnostics的缩写,中文翻译为“车载自动诊断系统”。
can总线的工作原理CAN(Controller Area Network,控制器局域网)总线是一种多节点、分布式的串行通信协议,用于在不同的设备(如汽车电子控制单元)之间进行通信。
其工作原理如下:1. 总线结构:CAN总线包括两个主要组成部分:控制器和节点。
控制器负责管理总线上的通信,而节点则是实际的设备。
2. 通信速率:CAN总线使用串行通信方式,在一个时间周期内传输一位的数据。
通信速率可以根据需求进行调整,常见的有125kbps、250kbps和500kbps等。
3. 帧格式:CAN通信使用帧格式进行数据传输。
一个帧包括标识符、控制位、数据段和校验位等。
标识符用于确定帧的优先级和发送者的身份,控制位用于控制数据的传输方式,数据段用于传输实际的数据,校验位用于检查数据的完整性。
4. 预定位位:CAN总线使用预定位位来确保总线上的节点在发送数据之前处于同一状态。
当节点准备好发送数据时,首先发送一个断开位(Dominant),然后等待总线上所有节点一起发送一个随机位(Arbitration)。
节点在发送随机位时会检测总线上的信号,如果发现有其他节点同时发送了同样的位,则会停止发送,并等待下一个时间周期再次发送。
5. 碰撞检测:如果两个或多个节点同时发送数据,会发生碰撞(Collision)。
CAN总线通过监听总线上的信号来检测碰撞,并使用位优先级来解决冲突。
发送高优先级的节点会优先发送数据,低优先级的节点则会停止发送。
6. 增强型CAN(CAN FD):为了提高数据传输速率,增强型CAN通过增加数据段长度和引入一些新的特性来实现更高的传输速率。
总的来说,CAN总线的工作原理是通过预定位位和碰撞检测来保证多个节点间的通信正常进行,从而实现数据的可靠传输。
CAN总线的介绍CAN总线是指控制器局域网络(Controller Area Network)的缩写,是一种被广泛应用于汽车电子系统的通信总线。
它最初由德国汽车制造商BOSCH于1983年开发,用于解决传统有线电缆在多个控制单元之间进行数据传输过程中所遇到的问题。
CAN总线的设计目标是提供高可靠性的实时通信,优化汽车电子系统的性能,并节省系统成本。
CAN总线的特点之一是在一个相对短的物理线路上能实现高速数据传输。
它的传输速率通常为1 Mbps,且可在特殊情况下扩展至10 Mbps。
CAN总线可以支持多达110个节点连接在同一总线上,并且在同一车辆或系统内部的多个子网之间提供通信。
CAN总线使用了一种全双工的通信方式,即任何节点都可以同时发送和接收数据。
这也意味着不同的节点可以通过总线实时地进行数据沟通。
此外,CAN总线还具备高度容错性和冗余性,即使在总线上存在故障或节点故障的情况下,仍能保持通信稳定和可靠。
CAN总线的传输机制采用了一种基于优先级的非中断方式。
当一个节点想要发送数据时,它会使用一个帧来尝试传输。
如果总线上没有其他节点正在发送数据,则该帧可以立即传输。
如果有多个节点同时发送数据,CAN总线会根据每个节点的优先级来确定哪个节点能够成功发送,从而实现数据的有序传输。
CAN总线还支持多种类型的帧结构,包括数据帧、远程帧和错误帧。
其中,数据帧用于发送实际数据,远程帧用于请求其他节点发送数据,而错误帧则用于报告数据传输过程中的错误情况。
这些帧结构使得CAN总线能够满足不同类型的通信需求。
在汽车电子系统中,CAN总线被广泛应用于各种控制单元之间的通信,例如引擎控制单元、变速器控制单元、车身电子控制单元等。
它能够实现这些控制单元之间的实时数据交换,提高整车系统的性能和安全性。
此外,CAN总线还可以支持诊断和配置功能,让技术人员能够对车辆的电子系统进行故障排查和参数调整。
总之,CAN总线是一种可靠、高效的通信总线,被广泛应用于汽车电子系统。
简述can控制器工作原理
CAN(Controller Area Network,控制器局域网)是一种在电
子设备中用于通信的高级总线系统。
CAN控制器是实现CAN
通信的核心部分,它负责CAN网络中信息的发送和接收。
CAN控制器工作原理如下:
1. 发送数据:当CAN控制器要发送数据时,它首先检查总线
上的状态。
如果总线空闲,控制器将发送帧信息(包括标识符、数据和其他控制信息)到总线上。
发送完成后,控制器会等待确认信号,如果收到来自其他节点的确认信号,说明数据已成功发送。
2. 接收数据:当总线上有其他节点发送数据时,CAN控制器
会监听总线状态。
如果控制器检测到总线上有数据帧,它会读取并解析该帧的信息,包括标识符、数据和其他控制信息。
然后,控制器将数据帧传递给接收缓冲区,供主机或其他应用程序处理。
3. 错误处理:CAN控制器还负责处理错误。
当控制器检测到
错误时(如总线冲突、位错误或校验错误),它会发送错误信号,并根据错误类型执行相应的错误处理机制,如重传数据或转发错误信息给其他节点。
总之,CAN控制器是CAN通信的关键组件,负责数据的发送、接收和错误处理。
它通过监听总线上的状态,并根据协议规定的规则执行相应的操作,实现可靠的高效通信。
CAN总线介绍CAN全名为控制器局域网(Controller Area Network),为一种现场总线,主要用于工业环境监视控制系统通信。
其特性介绍如下串行总线,仅有两根通信线。
短报文。
数据以称为报文的数据帧为单位收发,报文有效数据可为0至8字节。
短报文减少了错误后重发的时间,可提高通信的实时性。
多主通信。
不必专设主机轮询,可提高通信效率。
非破坏的基于优先级的仲裁。
当发生总线争用时,高优先级报文正常发送;低优先级报文自动退出争用,等待总线空闲后重发。
仲裁退出和通信错误报文可由硬件控制自动重发,可提高工作效率。
多种检错纠错方式,很高的数据可靠性。
暂时错误、故障状态自动判别,故障节点有硬件控制自动脱离总线。
可提高系统工作的可靠性。
X 通信速度与传输距离对应表125Kbps 530m100Kbps 620m50Kbps 1300m20Kbps 3300m10Kbps 6700m5Kbps 10kmX CAN总线数据位传输特性CAN总线通信线有两根,通常分别称之为CANH、CANL。
当CANH与CANL电平差高于一定幅值,称总线状态为显性(Daminant),表示为逻辑“0”;否则称为隐性(Recessive),表示为逻辑“1”。
当总线上多个节点分别同时发送显性数据位与隐性数据位时,总线总是呈现显性状态。
可理解为多个节点的发送数据位通过总线进行逻辑与运算,只要有任一节点发送逻辑0,则总线状态为逻辑0。
X 报文格式介绍1 CAN总线数据帧1) 介绍CAN数据报文中含有标识符,标识符用于标识报文,并在多个节点同时发送而争用总线时、发送节点依据标识符进行仲裁。
系统设计应保证系统中任一报文的标识符是唯一的。
CAN技术规范标2.0包括两个版本:CAN2.0A和CAN2.0B。
版本2.0A中标识符长度为11位。
版本2.0B中标识符长度可为11位或29位。
标志符为11位的数据帧称为标准格式,标志符为29位的数据帧称为扩展格式。
CAN总线控制器局域网CAN,全称为“CONtroller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。
最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。
比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。
实际应用中,节点数目受网络硬件的电气特性所限制。
例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。
CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。
另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
CAN总线特性o CA N具有十分优越的特点,使人们乐于选择。
这些特性包括:1、低成本;2、极高的总线利用率;3、很远的数据传输距离(长达10Km);4、高速的数据传输速率(高达1Mbit/s);5、可根据报文的ID决定接收或屏蔽该报文;6、可靠的错误处理和检错机制;7、发送的信息遭到破坏后,可自动重发;8、节点在错误严重的情况下具有自动退出总线的功能;9、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
CAN总线特点o(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。
(2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mb/s。
(3)通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。
(4)CAN协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行编码。
采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中非常重要。
(5)数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而倮证了通信的实时性。
(6)CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN总线所具有的卓越性能、极高的可靠性和独特设计,特别适合工业设各测控单元互连。
因此备受工业界的重视,并已公认为最有前途的现场总线之一。
CAN总线数据格式o所有CAN总线通信在应用上都是一致的,但有两种硬件和两个版本的数据格式,分为基本型和完全型,如图1所示。
几乎所有新的处理器内部嵌入的CAN总线模块都支持这两种操作模式,其中基本型主要用于对成本要求比较敏感的系统中。
基本型(BASIC—CAN)主要有以下特点:●MCU内核和CAN总线模块采用闭环连接方式;●有1个发送缓冲;●有2个接收缓冲;●需要使用软件选择输入的消息。
完全型(FULL—CAN)主要有以下特点:●提供消息服务;●对输人消息进行更大范围的接收滤波;●邮箱允许用户配置;●邮箱的存储区以及邮箱的大小与具体的芯片有关;●先进的错误识别功能。
此外,CAN2.OB总线规范定义了2种不同的数据格式(标准帧和扩展帧),其主要区别在于标识符域的长度不同:标准帧有II位的标识符,扩展帧有29位的标识符,如图1所示。
CAN总线的标准数据帧的长度是44~108位,而扩展数据帧的长度是64~128位。
根据数据流代码的不同,标准数据帧可以插入28位填充位,扩展数据帧可以插人28位填充位。
因此,标准数据帧最长为131位,扩展数据帧最长为156位。
图1 CAN总线应用类型图2 数据格式类型图1给出了构成标准/扩展数据帧各位在整个数据帧中的位置,主要包括:●帧起始位;●包含标识符和发送消息类型的仲裁域;●包含数据位数的控制域;ELTMS320X281x∶DSP jffilE&C柳;ffilBTT,荃∶●最多8字节的数据域;●循环冗余检查位(CRC);●应答位;●帧结束位。
图3 数据帧格式CAN总线消息主要由仲裁区、数据区、CRC校验区以及帧结束区荃部分构成。
各区主要情况如下。
●仲裁区:◇定义消息的优先级;◇消息的逻辑地址(标识符);◇标准帧11位标识符;◇扩展帧29位标识符。
●数据区:◇每个消息最多可以包含8字节的数据;◇允许不包含数据帧的帧存在(数据区长度为0字节)。
●CRC校验区:包含循环冗余校验位。
●帧结束区:帧结束区消息响应标识、错误消息、消息结束。
图3给出的数据帧包含起始位、标识符、远程传输请求、标识扩展等,所有相关的仲裁、数据、CRC校验以及帧结束构成了完整的CAN总线消息帧,各部分的具体含义如下。
起始位(1 bit)标识一个消息帧的开始,在空闲时间的下降沿同步所有的总线模块;标识符(11 bits):定义消息的逻辑地址和优先级,优先级的数字越小优先级越高;RTR(1 bit):远程传输请求,如果RTR=1表示在数据帧中没有有效数据,请求远程节点向发出请求帧的节点发送数据;IDE(1 bit):标识符扩展,如果IDE=1,则采用扩展的数据帧传送数据;r0 保留;DLC(4 bits):数据长度代码,数据帧长度允许的数据字节数为{0~8),其他长度数值不允许使用;数据(0~8字节):消息数据;CRC(15 bits):循环冗余校验码”只用于检测错误而不能校正;ACK(2 bits)每一个接听者接收到消息后必须发送响应位(ACK):EOF(7 bits=1,recesslve):帧的结束;IFS(3 bits=1,recessive):内部帧空间,将接收到的消息从总线处理单元复制到缓冲,只有扩展模式有该位;SRR(1 bit=recesslve): 替代标准帧中的远程帧请求位(RTR);r0:保留。
CAN总线的仲裁o CAN总线采用的是一种叫做“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。
这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。
如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。
当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。
如果2个或2个以上同时发送就会产生竞争。
CAN总线解决竞争的方法同以太网的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1所示。
此外,CAN总线做了改进并采用CSMA/CA(Carrier SenseMultiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁。
各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。
剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。
图1 Ethernet采用的CSMA/CD总线访问过程CAN总线以报文为单位进行数据传输,报文的优先级结合在44位标识符中(扩展帧的标识符29位),具有最小二进制数的标识符的节点具有最高的优先级。
这种优先级一旦在系统设计时确定就不能随意地更改,总线读取产生的冲突主要靠这些位仲裁解决。
之所以CAN总线不采用以太网使用的延时避免冲突,主要是为了保证具有更高优先级的节点能够完整地实时传输,而且CSMA/CA可以有效地避免冲突。
如图2所示,节点A和节点B的标识符的第lO、9、8位电平相同,因此两个节点侦听到的信息和它们发出的信息相同。
第7位节点B发出一个“1”,但从节点上接收到的消息却是“0”,说明有更高优先级的节点占用总线发送消息。
节点B会退出发送处于单纯监听方式而不发送数据;节点A成功发送仲裁位从而获得总线的控制权,继而发送全部消息。
总线中的信号持续跟踪最后获得总线控制权发出的报文,本例中节点A的报文将被跟踪。
这种非破坏性位仲裁方法的优点在于,在网络最终确定哪个节点被传送前,报文的起始部分已经在网络中传输了,因此具有高优先级的节点的数据传输没有任何延时。
在获得总线控制权的节点发送数据过程中,其他节点成为报文的接收节点,并且不会在总线再次空闲之前发送报文。
图3为CAN总线上节点的电平逻辑,总线上的节点电平对于总线电平而言是相与的关系,只有当3个节点的电压都等于1(隐性电平),总线才会保持在ycc(隐性电平)状态。
只要有1个节点切换到0状态(显性电平),总线就会被强制在显性状态(0)。
这种避免总线冲突的仲裁方式能够使具有高优先级的消息没有延时地占用总线传输。
图3 CAN总线上节点的电平逻辑CAN总线的物理连接o CAN总线采用的是一种叫做“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。
这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。
如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。
当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。
如果2个或2个以上同时发送就会产生竞争。
CAN总线解决竞争的方法同以太网的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1所示。
此外,CAN总线做了改进并采用CSMA/CA(Carrier SenseMultiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁。
各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。
剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。
图1 Ethernet采用的CSMA/CD总线访问过程CAN总线以报文为单位进行数据传输,报文的优先级结合在44位标识符中(扩展帧的标识符29位),具有最小二进制数的标识符的节点具有最高的优先级。
这种优先级一旦在系统设计时确定就不能随意地更改,总线读取产生的冲突主要靠这些位仲裁解决。
之所以CAN总线不采用以太网使用的延时避免冲突,主要是为了保证具有更高优先级的节点能够完整地实时传输,而且CSMA/CA可以有效地避免冲突。