CAN总线
- 格式:pdf
- 大小:263.43 KB
- 文档页数:4
can总线标准CAN总线标准。
CAN(Controller Area Network)总线是一种串行通信协议,最初由Bosch公司在1986年提出,用于汽车内部的通信。
CAN总线标准已经成为工业控制和汽车领域中最常用的一种通信协议,它具有高可靠性、高抗干扰能力和灵活的拓扑结构等优点,被广泛应用于汽车、工业控制、航空航天等领域。
CAN总线标准的特点:1. 高可靠性,CAN总线采用了差分信号传输技术,能够有效抵抗电磁干扰,保证数据传输的可靠性。
此外,CAN总线还具有冗余性,即使某个节点发生故障,整个系统仍然可以正常工作。
2. 高速传输,CAN总线的通信速率可达到1Mbps,能够满足大部分实时性要求较高的应用场景。
3. 灵活的拓扑结构,CAN总线支持多主机系统,节点之间采用分布式控制,可以实现灵活的拓扑结构,适应不同的应用环境。
4. 标准化协议,CAN总线的通信协议严格标准化,各厂家生产的CAN设备可以相互兼容,便于系统集成和维护。
CAN总线标准的应用领域:1. 汽车电子控制系统,CAN总线最初是为了解决汽车内部各种传感器和执行器之间的通信而设计的,如发动机控制单元、防抱死制动系统、空调控制系统等。
2. 工业控制领域,CAN总线在工业领域的应用也非常广泛,例如工厂自动化生产线、机器人控制系统、智能仓储系统等。
3. 航空航天领域,由于CAN总线具有高可靠性和抗干扰能力,因此在航空航天领域也得到了广泛应用,如飞行控制系统、航空发动机控制系统等。
总的来说,CAN总线标准作为一种成熟的通信协议,已经在各个领域得到了广泛的应用。
随着物联网和智能制造的发展,CAN总线标准将继续发挥重要作用,为各种设备和系统之间的通信提供可靠的解决方案。
1.CAN总线是什么?CAN(Controller Area Network)是ISO国际标准化的串行通信协议。
广泛应用于汽车、船舶等。
具有已经被大家认可的高性能和可靠性。
CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。
“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。
(显性电平比隐性电平更强)。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
下图显示了一个典型的CAN拓扑连接图。
连接在总线上的所有单元都能够发送信息,如果有超过一个单元在同一时刻发送信息,有最高优先级的单元获得发送的资格,所有其它单元执行接收操作。
2.CAN总线的特点CAN总线协议具有下面的特点:1) 多主控制当总线空闲时,连接到总线上的所有单元都可以启动发送信息,这就是所谓的多主控制的概念。
先占有总线的设备获得在总线上进行发送信息的资格。
这就是所谓的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)方法如果多个设备同时开始发送信息,那么发送最高优先级ID消息的设备获得发送资格。
2) 信息的发送在CAN协议中,所有发送的信息要满足预先定义的格式。
当总线没有被占用的时候,连接在总线上的任何设备都能起动新信息的传输,如果两个或更多个设备在同时刻启动信息的传输,通过ID来决定优先级。
ID并不是指明信息发送的目的地,而是指示信息的优先级。
如果2个或者更多的设备在同一时刻启动信息的传输,在总线上按照信息所包含的ID的每一位来竞争,赢得竞争的设备(也就是具有最高优先级的信息)能够继续发送,而失败者则立刻停止发送并进入接收操作。
因为总线上同一时刻只可能有一个发送者,而其它均处于接收状态,所以,并不需要在底层协议中定义地址的概念。
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总线,即控制器区域网络(Controller Area Network),是一种国际标准的串行通信协议,用于在汽车和工业领域中进行高速数据传输。
CAN总线的设计目标是提供一个可靠、高效、实时的通信方式,以满足复杂系统的需求。
下面将详细介绍CAN总线的特点、结构、工作原理以及应用领域。
一、CAN总线的特点:1.高可靠性:CAN总线采用差分信号传输,具有较强的抗干扰能力,能够在恶劣的工作环境下保持稳定的通信质量。
2.高效性:CAN总线采用了固定格式的数据帧和强大的错误检测与修复机制,使得数据传输更加高效可靠。
3.实时性:CAN总线支持实时性要求较高的应用,可以实现微秒级的数据传输延迟。
4.灵活性:CAN总线可以连接多个节点,节点之间可以通过CAN总线进行双向通信,同时支持错误检测与错误恢复。
5.易于应用:CAN总线采用了开放式的标准协议,有着广泛的支持和应用经验,易于集成和开发。
二、CAN总线的结构:1. 主控器(Master):负责总线管理,包括数据的发送和接收、帧结构的解析、错误处理等。
2. 从控器(Slave):负责接收主控器发送的数据帧,并根据需要进行相应的处理和响应。
3.总线线缆:用于在各个节点之间传输数据和控制信息的物理介质。
4. 高速传输率:CAN总线通常有两种速率可选,分别是高速CAN(1Mbps)和低速CAN(125kbps)。
三、CAN总线的工作原理:1.数据帧格式:CAN总线的数据帧包括了4个主要部分:起始符、控制字段、数据字段和结束符。
其中,控制字段包括了帧类型、帧长度、帧优先级、帧标识符等信息。
2.帧结构与地址:CAN总线通过帧标识符来区分不同的数据帧,并根据优先级进行数据传输,同时可以通过标识符来实现多个不同类型的数据帧。
3.错误检测与修复:CAN总线采用循环冗余校验(CRC)方法进行错误检测和修复,可以检测到传输过程中的位错误、帧错误等,并进行相应的错误恢复措施。
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-bus)是一种串行通信总线系统,被广泛应用于汽车和工业自动化领域,CAN总线的物理层定义了总线的位速率、位定时、电气特性、传输介质等。
CAN总线的位速率可以根据实际需要进行设置,常见的有500Kbps和250Kbps等。
CAN总线的位定时决定了通信的可靠性和稳定性,需要满足一定的时序要求。
数据链路层是CAN总线的重要组成部分,包括逻辑链路控制、媒体访问控制和差错控制等子层。
逻辑链路控制子层负责建立和维护通信节点之间的逻辑连接;媒体访问控制子层采用CSMA/CD协议,实现总线访问控制和数据传输;差错控制子层用于检测和处理总线上的错误。
在实际应用中,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总线知识点(原创版)目录1.CAN 总线的概述2.CAN 总线的基本原理3.CAN 总线的主要特点4.CAN 总线的应用领域5.CAN 总线的发展前景正文一、CAN 总线的概述CAN 总线,全称为控制器局域网(Controller Area Network),是一种用于实时控制的串行通信总线。
它最初由德国的 Robert Bosch GmbH 公司于 1980 年代研发,用于汽车电子设备的通信。
后来,CAN 总线逐渐被广泛应用于各种工业自动化领域。
二、CAN 总线的基本原理CAN 总线采用多主控制器结构,所有连接在总线上的节点(设备)都可以发送和接收信息。
总线上的节点通过消息帧进行通信,消息帧包含标识符、数据长度码、数据字段、CRC 字段和应答位等。
CAN 总线采用非同步传输方式,节点间的通信不依赖于固定的时间基准,而是通过消息帧中的定时器来同步。
三、CAN 总线的主要特点1.高速通信:CAN 总线的通信速率最高可达 1Mbps,适用于实时控制系统。
2.多主控制器:总线上的每个节点都可以主动发送信息,不存在固定的主从关系。
3.错误检测与纠正:CAN 总线具有 CRC 校验和应答位机制,可以检测到错误并进行纠正。
4.强抗干扰能力:CAN 总线采用差分信号传输,具有较强的抗干扰能力。
5.扩展性强:CAN 总线可以连接大量节点,最多可达 256 个。
四、CAN 总线的应用领域CAN 总线广泛应用于汽车电子、工业自动化、机器人控制、智能家居等领域。
例如,在汽车电子中,CAN 总线用于连接发动机控制单元、底盘控制单元、仪表盘等设备;在工业自动化中,CAN 总线可以用于传感器数据采集、机床控制等场景。
五、CAN 总线的发展前景随着物联网、工业 4.0 等技术的发展,CAN 总线在未来将发挥更大的作用。
同时,CAN 总线也在不断升级,如 CAN FD(CAN with Flexible Data rate)等新标准已经推出,以满足更高的通信速率和性能要求。
CAN总线用法一、简介CAN(Controller Area Network)总线是一种用于汽车和其他工业领域的通讯协议。
它最初由德国BOSCH公司开发,作为汽车内部电子控制器之间的通讯总线。
CAN总线以其高可靠性、灵活性和良好的扩展性而受到广泛应用。
二、CAN总线的特点1.灵活性:CAN总线支持多种传输速率和传输距离,可以在不同节点之间进行实时通讯。
2.高可靠性:CAN总线采用CRC校验和其它错误检测机制,保证了数据传输的可靠性。
3.扩展性:CAN总线可以挂接多个节点,方便扩展网络规模。
4.实时性:CAN总线支持多主工作模式,保证了对时间敏感的数据的实时传输。
5.成本效益:CAN总线硬件成本相对较低,易于集成到现有系统中。
三、CAN总线的硬件要求1.CAN控制器:CAN控制器是CAN总线系统的核心部件,负责管理总线的通讯。
常用的CAN控制器包括Microchip的MCP2515、NXP的TJA1050等。
2.CAN收发器:CAN收发器是用于连接CAN控制器和物理总线的设备。
常用的CAN收发器包括Philips的TJA1040、NXP的TJA1042等。
3.CAN线缆:用于连接CAN节点之间的物理线路,需使用双绞线电缆,以保证信号的可靠传输。
四、CAN总线的软件配置1.CAN驱动程序:每个CAN节点都需要安装相应的驱动程序,以便与CAN 控制器进行通讯。
驱动程序需根据具体的CAN控制器型号进行选择和配置。
2.CAN协议栈:CAN协议栈是一组软件层,用于实现CAN协议的各种功能,如数据帧管理、错误处理等。
常用的CAN协议栈包括开源的SocketCAN(Linux 环境下)和PCAN-Basic API(PEAK-System环境下)。
3.CAN应用程序:应用程序通过调用CAN协议栈提供的API函数,实现具体的CAN通讯功能。
应用程序需根据具体的CAN节点需求进行编写和配置。
五、应用示例以汽车电子控制系统为例,说明CAN总线的应用。
CAN总线综述邵旻 0120030007(同济大学 机械电子研究所,上海 200092)摘要:本文介绍了CAN总线的发展历史,并对其优点及主要技术指标进行了详述,最后就其具体应用给出了实例。
关键词: CAN总线;通信;协议;Extensive Introduction of CAN BusShao –min(Department of mechanical electrical Engineering, Tongji University, Shanghai 200092,China)Abstract: In the article , the developing history of CAN bus is introduced. And the article is mainly focused on the advantage and main technique index of CAN bus. At the end of article, a practical application of CAN bus is described. Keywords: CAN bus; communication; protocol1. CAN总线的产生与发展控制器局部网(CAN-CONTROLLER AREA NETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。
控制器局部网将在我国迅速普及推广。
随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。
由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。
分散式工业控制系统就是为适应这种需要而发展起来的。
这类系统是以微型机为核心,将 5C技术--COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION (通信技术)、CRT(显示技术)和 CHANGE(转换技术)紧密结合的产物。
它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。
典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。
现场总线(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。
现场总线的研究与应用已成为工业数据总线领域的热点。
尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。
同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。
控制器局部网 CAN (CONTROLLER AERANETWORK)正是在这种背景下应运而生的。
由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。
为此,1991年9月 PHILIPS SEMICONDUCTORS制订并发布了 CAN技术规范(VERSION 2.0)。
该技术规范包括A和B两部分。
2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。
此后,1993年11月ISO正式颁布了道路交通运载工具--数字信息交换--高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。
2. CAN总线特点CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可达1MBPS。
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。
采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。
CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。
CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。
CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。
CAN总线插卡可以任意插在PC AT XT兼容机上,方便地构成分布式监控系统。
3. CAN总线技术介绍3.1位仲裁要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。
在几个站同时需要发送数据时,要求快速地进行总线分配。
实时处理通过网络交换的紧急数据有较大的不同。
一个快速变化的物理量,如汽车引擎负载,将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。
CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。
这种优先级一旦在系统设计时被确立后就不能再被更改。
总线读取中的冲突可通过位仲裁解决。
如图2所示,当几个站同时发送报文时,站1的报文标识符为011111;站2的报文标识符为0100110;站3的报文标识符为0100111。
所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。
站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。
注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。
在此例中,站2的报文被跟踪。
这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。
所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。
CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。
这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。
对于主站的可靠性,由于CAN协议执行非集中化总线控制,所有主要通信,包括总线读取(许可)控制,在系统中分几次完成。
这是实现有较高可靠性的通信系统的唯一方法3.2 CAN与其它通信方案的比较在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。
在第一种方法中,不管每个节点是否申请总线,都对每个节点按最大期间分配。
由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。
这将保证在总线存取时有明确的总线分配。
在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配(如:Ethernet CSMA/CD)。
因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。
为了分配总线,多于一个总线存取是必要的。
CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。
这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。
不同于Ethernet网络的消息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。
甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。
虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。
在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。
3.3 CAN的报文格式在总线中传送的报文,每帧由7部分组成,见图3。
CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。
在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。
RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。
它还包括一个保留位 (ro),为将来扩展使用。
它的最后四个字节用来指明数据场中数据的长度(DLC)。
数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。
应答场(ACK)包括应答位和应答分隔符。
发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。
用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。
报文的尾部由帧结束标出。
在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。
3.4 数据错误检测不同于其它总线,CAN协议不能使用应答信息。
事实上,它可以将发生的任何错误用信号发出。
CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。
3.4.1 循环冗余检查(CRC)在一帧报文中加入冗余检查位可保证报文正确。
接收站通过CRC可判断报文是否有错。
3.4.2 帧检查这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。
3.4.3.应答错误如前所述,被接收到的帧由接收站通过明确的应答来确认。
如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收。
CAN协议也可通过位检查的方法探测错误。
3.4.4 总线检测有时,CAN中的一个节点可监测自己发出的信号。
因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。
3.4.5 位填充一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。
然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。