请问一般我们常用的can协议有哪些?
感谢题主的邀请,我来说说这个问题:
CAN总线也叫控制器局域网,是德国博世公司开发出来为汽车电子产品升级而服务的。CAN总线的运行要遵循专门的CAN协议,就如同我们在说话的时候要循序特定的语法一样,如果违背了相关协议,CAN总线是无法进行数据的传输的。一般我们常用的CAN总线协议有三种,分别是CANopen,device net和J 1939,它们的侧重点是不同的,具体的大家可以去百度百科分别查询,希望我的回答令您满意。
CAN通信协议
控制器局域网(CAN)为串行通讯协议,能有效地支持具有很高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。在汽车电子行业里,使用CAN连接发动机控制单元、传感器、防刹车系统、等等,其传输速度可达1 Mbit/s。同时,可以将CAN安装在卡车本体的电子控制系统里,诸如车灯组、电气车窗等等,用以代替接线配线装置。
为了达到设计透明度以及实现柔韧性,CAN被细分为以下不同的层次:
• CAN对象层(the object l***er)
• CAN传输层(the transfer l***er)
• 物理层(the phyical l***er)
对象层和传输层包括所有由ISO/OSI模型定义的数据链路层的服务和功能。
对象层的作用范围包括:
查找被发送的报文。
确定由实际要使用的传输层接收哪一个报文。
为应用层相关硬件提供接口。
在这里,定义对象处理较为灵活。传输层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。总线上什么时候开始发送新报文及什么时候开始接收报文,均在传输层里确定。位定时的一些普通功能也可以看作是传输层的一部分。理所当然,传输层的修改是受到限制的。 物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输。当然,同一网络内,物理层对于所有的节点必须是相同的。尽管如此,在选择物理层方面还是很自由的。
CAN具有以下的属性:
• 报文的优先权
• 保证延迟时间
• 设置灵活
• 时间同步的多点接收
• 系统宽数据的连贯性
• 多主机
• 错误检测和标定
• 只要总线一处于空闲,就自动将破坏的报文重新传输
• 将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭错误的节点
什么是CAN协议
CAN-BUS相关概念为了使各控制单元能够从CAN总线中识别出自己需要的信息,并提供信息到
CAN总线,各控制单元必须遵守相同的通信协议,这就是CAN协议。在CAN协议
的规范下,大量的信息在双绞线、同轴电缆或光导纤维等介质的CAN总线内高速
传递。
CAN总线协议的概述
控制器局域网CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域。而且能够检测出产生的任何错误。当信号传输距离达到10km时,CAN仍可提供高达50kbit/s的数据传输速率。由于CAN总线具有很高的实时性能和应用范围,从位速率***可达1Mbps的高速网络到低成本多线路的50Kbps网络都可以任意搭配。因此,CAN己经在汽车业、航空业、工业控制、安全防护等领域中得到了广泛应用。
随着CAN总线在各个行业和领域的广泛应用,对其的通信格式标准化也提出了更严格的要求。1991年CAN总线技术规范(Version2.0)制定并发布。该技术规范共包括A和B两个部分。其中2.0A给出了CAN报文标准格式,而2.0B给出了标准的和扩展的两种格式。美国的汽车工程学会SAE在2000年提出了J1939协议,此后该协议成为了货车和客车中控制器局域网的通用标准。CAN总线技术也在不断发展。传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺陷。当总线上传输消息密度较小时,这些缺陷对系统的实时性影响较小;但随着在总线上传输消息密度的增加,系统实时性能会急剧下降。为了满足汽车控制对实时性和传输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。于是,传统CAN与时间触发机制相结合产生了TTCAN(Time-Triggered CAN),ISO11898-4己包含了TTCAN。 TTCAN总线和传统CAN总线系统的区别是:总线上不同的消息定义了不同的时间槽(Timer Slot)。 CAN总线的工作原理
CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。 CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
CAN总线特征
(1)报文(Message)总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。
(2)信息路由(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。
(3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。
(4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。
(5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。
(6)优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。
(7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
(8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。
(9)总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。CAN总线采用二进制不归零(NRZ)编码方式,所以总线上不是“0”,就是“1”。但是CAN协议并没有具体定义这两种状态的具体实现方式。
(10)故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。
(11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。
(12)CAN通讯距离***是10公里(设速率为5Kbps),或***通信速率为1Mbps(设通信距离为40米)。
(13)CAN总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择。
(14)报文是短帧结构,短的传送时间使其受干扰概率低,CAN有很好的校验机制,这些都保证了CAN通信的可靠性。
CAN总线的特点
(1)具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;
(2)采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
(3)具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;
(4)可根据报文的ID决定接收或屏蔽该报文;
(5)可靠的错误处理和检错机制;
(6)发送的信息遭到破坏后,可自动重发;
(7)节点在错误严重的情况下具有自动退出总线的功能;
(8)报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
汽车国六can协议标准
汽车国六CAN协议标准为CAN2.0,它采用了面向位的和帧结构的传输、物理层的多种时序方式,是一种支持多个总线从机的环形总线系统。对于CAN协议标准,还有一些拓展如CAN2.1、CAN2.2和CAN2.3等,可以根据不同的应用场景进行选择。
关于can协议和can协议和canfd协议的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。