CAN总线详细教程,精心编制,不可错过
CAN总线呕心沥血教程
差,然后传到接收区。如下图
由上图可知,当有电压差,差动信号放大器放大传输,将相应的数据位任可为 0。 下面我们进入重点难点。报文 所谓报文,就是 CAN 总线上要传输的数据报,为了安全,我们要给我们传输的 数据报编码定一下协议,这样才能不容易出错,所以出现了很多的帧,以及仲 裁啊,CRC 效验。这些都是难点。 识别符的概念。 识别符顾名思义,就是为了区分不同报文的可以鉴别的好多字符位。有标准的, 和扩展的。标准的是 11 位,扩展的是 29 位。他有一个功能就是可以提供优先级, 也就是决定哪个报文优先被传输,报文标识符的值越小,报文具有越高的优先权。 CAN 的报文格式有两种,不同之处其实就是识别符长度不同,具有 11 位识别符 的帧称为标准帧,而还有 29 位识别符的帧为扩展帧,CAN 报文有以下 4 个不同 的帧类型。分别是 (1) 数据帧:数据帧将数据从发送器传输到接收器。 (2) 远程帧:总线节点发出远程帧,请求发送具有同一标识符的数据帧 (3) 错误帧:任何节点检测到总线错误就发出错误帧 (4) 过载帧:过载帧用已在先行的后续的数据帧(或远程帧)之间提供一
为了让所有的分站都同步于发送报文的发送站,好接收数据,有很多要考虑的地 方。 然后下一个场是仲裁场。这个仲裁场是个难点。但是不要怕,有我在,你会很明 白地搞定的。 这个仲裁很抽象,其实在这里就是为了解决一个问题。如果 2 个或 2 个以上的单 元同时开始传送报文,那么就会有总线访问冲突。那么仲裁机制就是用来根据标 识符优先级来一个一个的去掉低级别的数据。我们可以详细的描述这场生动的争 抢总线的战斗。 当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作 为帧的开始。2 个或 2 个以上的节点同时发送开始争抢总线,但是总线只能被一个人抢走。
CAN总线基础教程
CAN总线基础教程CAN(Controller Area Network)总线是一种串行通信协议,用于控制设备之间的通信。
它最初是由德国的BOSCH公司在1986年开发的,用于汽车电子系统中的通信。
随着时间的推移,CAN总线已在其他领域中得到广泛应用,如工业自动化、医疗设备和航空航天等。
CAN总线的基本组成包括控制器、节点和总线。
控制器是负责管理和控制通信的主要部分,它负责发送和接收数据,并处理错误。
节点是CAN总线上的设备,可以是传感器、执行器或其他装置。
总线是连接控制器和节点的物理介质,可以是双绞线、光纤或无线信号。
CAN总线的通信是基于消息的。
每个消息都有一个标识符,用于识别消息的发送者和接收者。
消息可以是数据或控制信息。
数据消息用于传输实际的数据,而控制消息用于发送命令和状态信息。
CAN总线使用优先级标识符来确定消息的发送顺序,以确保高优先级的消息优先被处理。
在CAN总线上进行通信通常涉及以下几个方面:1.消息帧格式:CAN总线使用两种不同的消息帧格式,即标准帧和扩展帧。
标准帧是11位标识符,用于较短的消息,而扩展帧是29位标识符,用于较长的消息。
2. 通信速率:CAN总线可以支持不同的通信速率,通常以位每秒(bps)为单位。
较高的通信速率可以提供更快的数据传输速度,但也可能导致较高的错误率。
3.错误检测和纠正:CAN总线具有内置的错误检测和纠正机制,以确保数据的可靠传输。
它可以检测错误帧,并采取相应的措施,如重传数据或将错误通知给其他节点。
4.总线拓扑:CAN总线可以采用不同的拓扑结构,如线性、星形或树状。
每种拓扑结构都有其优缺点,可以根据系统需求选择合适的拓扑结构。
5.错误处理:当通信中发生错误时,CAN总线可以采取一些措施来处理错误,如重传数据、更改通信速率或关闭故障节点。
总的来说,CAN总线是一种可靠且实时的通信协议,在许多应用领域中得到广泛应用。
它提供了一种可靠的通信方式,可以实现设备之间的数据传输和控制。
汽车CAN总线详细教程
◆1992年,CIA(CAN in Automation)用户组织成立,之 后制定了第一个CAN应用层“CAL”。 ◆ 1994年开始有了国际CAN学术年会(ICC)。 ◆ 1994年美国汽车工程师协会以CAN为基础制定了 SAEJ1939标准,用于卡车和巴士控制和通信网络。 ◆ 到今天,几乎每一辆欧洲生产的轿车上都有CAN;高级客 车上有两套CAN,通过网关互联;1999年一年就有近6千万个 CAN控制器投入使用;2000年销售1亿多CAN的芯片;2001 年用在汽车上的CAN节点数目超过1亿个 。 ◆ 但是轿车上基于CAN的控制网络至今仍是各大公司自成系 统,没有一个统一标准。
(6)通信速率最高可达1MB/s(此时距离最长40m)。
(7)节点数实际可达110个。
(8)采用短帧结构,每一帧的有效字节数为8个。
(9)每帧信息都有CRC校验及其他检错措施,数据出错率极低。
(10)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用 廉价的双绞线即可,无特殊要求。
(11) 节点在错误严重的情况下,具有自动关闭总线的功能,切 断它与总线的联系,以使总线上的其他操作不受影响。
带有三个中央控制单元和总线系统的车
带有三个中央控制单元的CAN驱动网络
车用网络发展原因
电子技术发展----线束增加 线控系统(X-BY-WIRE) 计算机网络的广泛应用 智能交通系统的应用
汽车发展带来的问题
(1)汽车电子技术的发展汽车上电子装置越来 越多汽车的整体布置空间缩小
(2)传统电器设备多为点到点通信导致了庞大 的线束
(3)大量的连接器导致可靠性降低。 粗大的线束与汽车中有限的可用空间之间的矛
盾越来越尖锐,电缆的体积、可靠性和重量成为越 来越突出的问题,而且也成为汽车轻量化和进一步 电子化的最大障碍,汽车的制造和安装也变得非常 困难。 (4)存在冗余的传感器。
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总线在数据传输过程中可能会发生错误,如位错误、帧错误等。
can总线编程实例 -回复
can总线编程实例-回复CAN总线编程实例如何实现?CAN总线是一种现代化的通信协议,被广泛应用于汽车、工业控制和航空等领域。
它可以实现多个节点之间的高效和可靠的数据传输。
在本文中,我将介绍CAN总线编程的基本原理和步骤,并通过一个实例详细解释如何实现CAN总线编程。
第一步:了解CAN总线基础知识在开始编程之前,了解CAN总线的基础知识非常重要。
CAN总线由两条线组成,分别是CAN_H和CAN_L线。
CAN总线使用差分信号进行通信,通过CAN_H和CAN_L线上的电位差来传输数据。
此外,CAN总线支持循环冗余校验(CRC)来确保数据的完整性。
第二步:选择合适的硬件和软件工具在进行CAN总线编程之前,我们需要选择合适的硬件和软件工具。
通常,我们可以选择CAN芯片集成到嵌入式硬件中,或者使用CAN适配器。
对于软件工具,我们可以选择使用CAN总线编程库和相应的编程语言来编写代码。
第三步:编写CAN总线初始化代码在进行CAN总线编程之前,我们需要初始化CAN控制器。
这包括设置波特率、CAN模式和中断等。
下面是一个示例代码片段,演示了如何初始化CAN总线:C++#include <stdio.h>#include <can.h>int main() {初始化CAN总线can_init(500000); 设置波特率为500 kbpscan_set_mode(MODE_NORMAL); 设置为正常模式return 0;}第四步:发送CAN消息一旦CAN总线初始化完成,我们就可以开始发送CAN消息。
下面是一个简单的示例代码,演示了如何发送CAN消息。
C++#include <stdio.h>#include <can.h>int main() {初始化CAN总线创建并设置CAN消息can_message_t msg;msg.id = 0x123; 设置CAN消息的IDmsg.dlc = 8; 设置数据长度msg.data[0] = 0xAA; 设置数据发送CAN消息can_send_message(&msg);return 0;}第五步:接收CAN消息除了发送CAN消息,我们还可以通过CAN总线接收消息。
汽车CAN总线详细教程
03
和纠正等功能。
CAN总线的优缺点
CAN总线的优点包括
实时性强、可靠性强、灵活性强、成 本低等。
CAN总线的缺点包括
对噪声和干扰敏感、节点数量有限、 对总线长度有限制等。
02
CAN总线基础知识
位时间与位编码
位时间
在CAN总线中,每一位的传输时间称为位时间。位时间与波特率有关,因为波特率定义了每秒传输的位数。
电源故障
检查CAN总线电源是否正常,以及电源分配 是否合理。
CAN总线维修与保养建议
定期检查
定期检查CAN总线的连接和终端电 阻,确保连接牢固、电阻正确。
备份数据
备份CAN总线的配置和故障码数据 ,以便在需要时进行恢复。
更换元件
如果发现故障元件,及时更换以确保 CAN总线的正常运行。
软件升级
及时升级CAN总线的软件版本,以 提高系统的稳定性和可靠性。
VS
连接方式
CAN总线可以以不同的方式连接,例如 串联、并联或混合连接。串联连接是最常 见的连接方式,其中每个节点串联连接在 总线上。
03
CAN总线在汽车上的应用
车载网络架构
车载网络
车载网络是汽车内部各个电子控制单元(ECU) 之间进行数据传输和信息共享所构成的通信系统 。
LIN总线
LIN总线是一种低速的串行通信协议,主要用于汽 车中的低速网络,如车门控制、座椅控制等。
错误检测与处理
错误检测
CAN总线使用循环冗余校验(CRC)来检测错误。CRC码附加在数据帧的尾部,用于验证数据的完整 性。
错误处理
如果检测到错误,CAN总线可以采取不同的错误处理策略,例如重新发送数据或忽略错误数据。
通信接口与连接方式
汽车级CAN总线详细教程_
汽车级CAN总线详细教程_CAN总线是Controller Area Network的缩写,是一种用于传输数据和控制信号的串行总线通信协议。
它最初是由德国Bosch公司开发的,广泛应用于汽车电子系统中,如发动机控制单元、车载娱乐系统、仪表板等。
CAN总线具有高可靠性、高传输速率和灵活性等特点,逐渐成为汽车电子系统的主要通信协议。
它采用双线结构,即CAN_H和CAN_L两根差分传输线,可以有效抵抗噪声干扰,并能够进行远距离通信。
CAN总线的工作原理是基于CSMA/CD(载波监听多点冲突检测)协议,即多个节点共享同一个总线,只有当总线空闲时才能发送数据。
如果多个节点同时发送数据,就会引发冲突,此时需要进行碰撞检测和重传。
CAN总线分为两种工作模式:标准模式和扩展模式。
标准模式下,每帧数据最多包含11位标识符,扩展模式下可以达到29位。
标识符用于区分不同的消息,数据帧包含了数据位和控制位,控制位用于错误检测和纠正。
CAN总线的通信速率取决于波特率,常用的波特率有125kbps、250kbps、500kbps和1Mbps等。
较低的波特率可以保证更高的可靠性,而较高的波特率可以实现更快的数据传输速度。
在CAN总线中,每个节点都有一个唯一的地址,可以通过地址来发送和接收数据。
节点之间的通信可以是点对点的,也可以是广播的。
点对点通信是指一个节点向另一个节点发送数据,广播通信是指一个节点向所有其他节点发送数据。
CAN总线的数据传输是基于消息的,每个消息都有一个特定的优先级,优先级高的消息会被优先发送。
优先级通过标识符来确定,标识符的前面几位表示优先级。
CAN总线还支持错误检测和纠正机制,可以检测和纠正传输过程中出现的错误。
常见的错误包括位错误、帧错误和CRC错误等。
对于发现错误的节点,可以通过错误帧重传机制来进行纠正。
在实际应用中,CAN总线通常由一个主控节点和多个从属节点组成。
主控节点负责整个系统的控制和管理,并与从属节点进行通信。
CAN总线的原理及使用教程
CAN总线的原理及使用教程CAN总线的基本原理是基于广播通信和多主机通信机制。
多个节点可以同时发送和接收消息,消息被广播到所有其他节点,每个节点根据消息中包含的标识符来判断该消息是否与自己相关。
如果消息与节点相关,节点将处理该消息;如果消息与节点不相关,节点将忽略该消息。
这种机制使得多个节点可以在同一个总线上同时进行通信,大大提高了总线的利用率。
CAN总线的传输速率通常为1Mbps或以上,并且支持长距离传输。
它采用差分信号线进行传输,其中CAN_H和CAN_L线分别携带正向和负向信号,通过比较CAN_H和CAN_L之间的电压差来判断数值。
差分信号线的使用可以有效地抑制电磁干扰和噪声,提高传输的可靠性。
在CAN总线中,每个节点都有一个唯一的标识符用于区分不同的节点。
当节点需要发送消息时,它会将消息封装成一个帧,包括标识符、数据和一些控制字段。
帧被发送到总线上,其他节点可以接收到该帧并进行相应的处理。
节点还可以发送错误帧来检测和纠正总线上的错误。
为了保证多个节点之间的通信顺序和优先级,CAN总线采用了基于优先级的仲裁机制。
当多个节点同时发送消息时,节点根据自己的标识符计算一个仲裁值,仲裁值越小的节点具有较高的优先级,可以发送消息。
其他节点将立即停止发送,并等待仲裁完成后再发送。
这种仲裁机制保证了消息的有序发送,避免了冲突。
除了基本的消息传输外,CAN总线还支持远程帧和错误帧等功能。
远程帧用于请求其他节点发送指定标识符的消息,而错误帧用于报告总线上的错误情况。
这些功能使得CAN总线更加灵活和可靠。
在使用CAN总线时,首先需要选取合适的硬件设备和控制器。
接下来,需要进行总线的布线和连接,保证差分信号线的正确连接和屏蔽的使用。
然后,需要编写相应的软件程序来控制节点的行为,包括发送和接收消息、处理错误等。
最后,进行系统的调试和测试,确保CAN总线的正常工作。
总之,CAN总线是一种高性能的串行通信协议,具有多节点同时通信、高速传输、抗干扰能力强等优势。
汽车级CAN总线详细教程看过了很好
汽车级CAN总线详细教程看过了很好第一部分:什么是CAN总线CAN(Controller Area Network)总线是一种用于车辆内部通信的串行总线系统。
它是一种多主机、实时、分布式通信系统,专门用于连接车辆中各种电子控制单元(ECU)之间的数据传输。
CAN总线的基本构成有两个部分,一是CAN控制器,负责发起消息和接收消息,二是CAN收发器,负责将数字信号转换为物理信号进行传输。
第二部分:CAN总线的特性和优势1. 带宽高:CAN总线的通信速率可以从几千bps到几百kbps不等,足以满足车辆内部各个电子控制单元(ECU)之间的数据传输需求。
2.抗干扰性强:CAN总线采用差分信号传输方式,能够有效抑制信号干扰,提高系统的可靠性和稳定性。
3.支持多主机:CAN总线支持多个ECU同时发送和接收数据,实现了分布式控制,增加了系统的灵活性和可扩展性。
4.实时性好:CAN总线具有很高的实时性能,能够在毫秒级的时间内完成数据传输,满足车辆内部各个系统之间的实时控制需求。
5.省电性高:CAN总线采用低功耗的差分传输方式,能够节省能量,并且具有很好的可靠性和稳定性。
6.故障诊断能力强:CAN总线具有自动故障检测和故障诊断功能,能够及时检测和排除系统故障,提高了整车的可靠性和安全性。
第三部分:CAN总线的应用领域CAN总线主要应用于车辆内部各种系统之间的数据传输,例如车载电子系统、发动机管理系统、传动系统、车身控制系统、底盘控制系统等。
通过CAN总线的连接,各个ECU之间可以实现数据的交换和共享,提高整车的性能和安全性。
第四部分:CAN总线的工作原理CAN总线的工作原理是基于基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)协议,即载波监听多路访问/冲突检测协议。
简单来说,发送数据的ECU首先会监听总线上的信号情况,如果检测到总线空闲,则可以发送数据。
CAN总线呕心沥血教程
哥很郁闷,为了CAN研究了不少,看了不少资料,现在我给大家总结一下先看看工作原理当CAN总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。
每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式成为面向内容的编制方案。
同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,当几个站同时竞争总线读取时,这种配置十分重要。
大体的工作原理我们搞清了,但是根本的协议我们还要花一番功夫。
下面介绍一个重要的名词,“显性“和”隐性“在我看到的很多文章里,有很多显性和隐性的地方,为此我头痛不已,最终我把它们彻底弄明白了。
首先CAN数据总线有两条导线,一条是黄色的,一条是绿色的。
分别是CAN_High线和CAN_Low线当静止状态时,这两条导线上的电平一样。
这个电平称为静电平。
大约为2.5伏。
这个静电平状态就是隐形状态,也称隐性电平。
也就是没有任何干扰的时候的状态称为隐性状态.当有信号修改时,CAN_High线上的电压值变高了,一般来说会升高至少1V,而CAN_Low线上的电压值会降低一个同样值,也是1v,那么这时候。
CAN_High就是2.5v+1v=3.5v,它就处于激活状态了。
而CAN_Low降为2.5v-1v=1.5v。
可以看看这个图由此我们得到在隐性状态下,CAN_High线与CAN_Low没有电压差,这样我们看到没有任何变化也就检测不到信号。
但是在显性状态时,改值最低为2V,我们就可以利用这种变化才传输数据了。
所以出现了那些帧,那些帧中的场,那些场中的位,云云~~~~~~~~~~~在总线上通常逻辑1表示隐性。
而0表示显性。
这些1啊,0啊,就可以利用起来为我们传数据了。
利用这种电压差,我们可以接收信号。
一般来说,控制单元通过收发器连接到CAN驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。
CAN总线基础详细教程
带有中央控制单元的车
带有三个中央控制单元的车
带有三个中央控制单元和总线系统的车
带有三个中央控制单元的CAN驱动网络
车用网络发展原因
电子技术发展----线束增加 线控系统(X-BY-WIRE) 计算机网络的广泛应用 智能交通系统的应用
汽车发展带来的问题 (1)汽车电子技术的发展汽车上电子装置越来 越多汽车的整体布置空间缩小 (2)传统电器设备多为点到点通信导致了庞大 的线束 (3)大量的连接器导致可靠性降低。 粗大的线束与汽车中有限的可用空间之间的矛 盾越来越尖锐,电缆的体积、可靠性和重量成为越 来越突出的问题,而且也成为汽车轻量化和进一步 电子化的最大障碍,汽车的制造和安装也变得非常 困难。 (4)存在冗余的传感器。
CAN收发器 CAN收发器
数据传输终端
数据传输线
数据传输终端
+1V
-1V
外界的干扰同时作用于两根导线
~0 产生的电磁波辐射相互抵消 V
基于CAN总线的汽车电器网络结构
发动机 ECU 自动变 速器ECU ABS/TCS ECU 安全气 囊ECU 电控悬 架ECU 巡航控 制ECU 动力转 向ECU 电机控 制ECU 电池管 理ECU
高速总线
整车控制器 整车控制器 ECU(网关)控 制ECU
2002年,大众集团在新PQ24平台上使用带 有车载网络控制单元的第三代Canbus。
2000年,大众公司在PASSAT和GOLF 采用了带有网关的第二代Canbus。
2003年,大众集团在新PQ35平台上使用五重结 构的Canbus系统,并且出现了单线的LIN-BUS。
CAN技术的发展
◆20世纪80年代,Bosch的工程人员开始研究用于汽车的串 行总线系统,因为当时还没有一个网络协议能完全满足汽车 工程的要求。参加研究的还有Mercedes-Benz公司、Intel 公司,还有德国两所大学的教授。 ◆ 1986年, Bosch在SAE(汽车工程人员协会)大会上提 出了CAN ◆ 1987年,INTEL就推出了第一片CAN控制芯片—82526; 随后Philips半导体推出了82C200。 ◆ 1993年,CAN的国际标准ISO11898公布 从此CAN 协议被广泛的用于各类自动化控制领域。
汽车CAN总线详细教程_精心编制_不可错过
汽车CAN总线详细教程_精心编制_不可错过CAN总线是一种广泛应用于汽车领域的通信协议,它可以实现车内各个控制单元之间的数据交换和通信。
本篇文章将详细介绍CAN总线的原理、应用以及常见问题解决方法,帮助读者更好地理解和应用CAN总线。
一、CAN总线原理CAN(Controller Area Network)总线是一种串行通信协议,由国际标准化组织(ISO)制定。
它采用了差分信号线,即CAN_H和CAN_L线,通过差值来表示数据位的状态,从而提高了抗干扰能力。
CAN总线主要包含两个基本元素:节点和总线。
在CAN总线中,每个节点都有唯一的地址,可以向总线上传输数据,也可以从总线上接收数据。
节点之间的通信是基于事件驱动的方式进行的。
当一个节点有数据要发送时,它会首先检查总线是否空闲,如果空闲则发送数据,否则等待。
二、CAN总线应用CAN总线在汽车领域应用广泛,其中最重要的应用之一是汽车电子控制单元(ECU)之间的通信。
通过CAN总线,不同的ECU可以传输各种信息,如引擎控制、传输控制、制动控制等。
这样可以实现各个系统之间的数据共享和协同工作,提高汽车性能和安全性。
此外,CAN总线还可以用于连接其他外设,如传感器、执行器等。
通过CAN总线,这些外设可以与其他ECU进行通信,实现数据的传输和处理。
三、CAN总线常见问题解决方法1.总线冲突:当多个节点同时发送数据时,可能会发生总线冲突。
解决方法是通过帧ID来确定优先级,具有较高优先级的节点可以打断正在发送数据的节点。
2.数据传输错误:由于CAN总线的差分信号线,抗干扰能力较强,但仍然有可能发生数据传输错误。
解决方法是使用CRC校验和来检测和纠正错误。
3.总线负载过高:当连接的节点数量过多或数据传输速率过高时,可能会导致总线负载过高。
解决方法是调整总线速率或分散数据传输。
4.总线错误报告:当一些节点发生错误时,可以通过CAN总线发送错误报告。
其他节点可以根据错误报告来采取相应措施。
汽车CAN总线详细教程-精心编制-不可错过119页PPT
56、死去何所道,托体同山阿。 57、春秋多佳日,登高赋新诗。 。道狭 草木长 ,夕露 沾我衣 。衣沾 不足惜 ,但使 愿无违 。 59、相见无杂言,但道桑麻长。 60、迢迢新秋夕,亭亭月将圆。
61、奢侈是舒适的,否则就不是奢侈 。——CocoCha nel 62、少而好学,如日出之阳;壮而好学 ,如日 中之光 ;志而 好学, 如炳烛 之光。 ——刘 向 63、三军可夺帅也,匹夫不可夺志也。 ——孔 丘 64、人生就是学校。在那里,与其说好 的教师 是幸福 ,不如 说好的 教师是 不幸。 ——海 贝尔 65、接受挑战,就可以享受胜利的喜悦 。——杰纳勒 尔·乔治·S·巴顿
谢谢!
汽车CAN总线详细教程-精心编制-不可错过119页文档
46、法律有权打破平静。——马·格林 47、在一千磅法律里,没有一盎司仁 爱。— —英国
48、法律一多,公正就少。——托·富 勒 49、犯罪总是以惩罚相补偿;只有处 罚才能 使犯罪 得到偿 还。— —达雷 尔
50、弱者比强者更能得到法律的领的就越加自命不凡。——邓拓 12、越是无能的人,越喜欢挑剔别人的错儿。——爱尔兰 13、知人者智,自知者明。胜人者有力,自胜者强。——老子 14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。——歌德 15、最具挑战性的挑战莫过于提升自我。——迈克尔·F·斯特利
CAN总线详细教程,精心编制,不可错过
◆1992年,CIA(CAN in Automation)用户组织成立,之 后制定了第一个CAN应用层“CAL”。
◆ 1994年开始有了国际CAN学术年会(ICC)。
◆ 1994年美国汽车工程师协会以CAN为基础制定了 SAEJ1939标准,用于卡车和巴士控制和通信网络。
◆ 到今天,几乎每一辆欧洲生产的轿车上都有CAN;高级客
Canbus的发展历史
大众公司首次在97年PASSAT的舒适系统上 2001年,大众公司提高了Canbus的设计标 采用了传送速率为62.5Kbit/m的Canbus。 准,将舒适系统Canbus提高到100Kbit/m, 驱动系统提高到500Kbit/m。
98年在PASSAT和GOLF的驱动系统上增 加了Canbus,传送速率为500Kbit/m 。
嵌入式应用)。 ◆ 任何组织或个人都可以从DeviceNet供货商协会(ODVA) 获得DeviceNet规范。购买者将得到无限制的、真正免费的开 发DeviceNet产品的授权。 ◆ DeviceNet自2002年被确立为中国国家标准以来,已在冶金、 电力、水处理、乳品饮料、烟草、水泥、石化、矿山等各个行 业得到成功应用,其低成本和高可靠性已经得到广泛认同。
车上有两套CAN,通过网关互联;1999年一年就有近6千万个 CAN控制器投入使用;2000年销售1亿多CAN的芯片;2001 年用在汽车上的CAN节点数目超过1亿个 。 ◆ 但是轿车上基于CAN的控制网络至今仍是各大公司自成系 统,没有一个统一标准。
◆ 基于CAN的应用层协议应用较通用的有两种:DeviceNet (适合于工厂底层自动化) 和 CANopen(适合于机械控制的
CAN-BUS系统组成:
CAN收发器: 安装在控制器内部,同时兼具接受和发送的功能,将控制器传 来的数据化为电信号并将其送入数据传输线。
手把手教你制作CAN总线系列讲座
手把手教你设计CAN总线系列讲座(1)—CAN实验设备和器材准备一.CAN实验设备和器材使用简介1. CAN总线简介(1)什么是CAN总线CAN(Controller Area Network,控制器局域网)是一种高性能、高可靠性、易开发和低成本的现场总线,在全球得到广泛应用,也是最早在我国应用的现场总线之一。
CAN 是20世纪80年代(1983)德国Bosch(博世)公司为解决众多的测量控制部件之间的数据交换问题而开发的一种串行数据通信总线。
最初,CAN作为汽车的监测、控制系统而设计,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。
比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
现在,由于CAN总线自身的特点,其应用领域已由汽车行业扩展到过程工业、机械工业、机器人和楼宇自动化等领域。
(2) CAN总线特点CAN与其他现场总线相比,具有突出的可靠性、实时性和灵活性,其技术特点如下:●CAN从本质上讲是一种多主或对等网络,网络上任一节点均可主动发送报文,不分主从,通信方式灵活。
●废除了传统的站地址编码,而代之以对通信数据进行编码;通过报文过滤,可实现点对点、多点播送(传送)、广播等几种数据传送方式。
●采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。
CAN 的每帧信息都有CRC及其他检错措施,降低了数据出错概率。
●具有多种检错措施及相应的处理功能,检错效果极好,处理功能很强,保证了通信的高可靠性。
位错误和位填充错误检测、CRC校验、报文格式检查和应答错误检测及相应的错误处理。
●通信介质(媒体)可为双绞线、同轴电缆或光纤,选择灵活。
●总线长度可达10km(速率为5kbps及其以下);网络速度可达1Mbps(总线长度为40m及其以下)。
●网络上的节点数主要取决于总线驱动电路,目前可达110个;标准格式的报文标识符可达2032个,而扩展格式的报文标识符的个数几乎不受限制●通过报文标识符来定义节点报文的优先级。
CAN总线呕心沥血教程
CAN总线呕心沥血教程哥很郁闷,为了can研究了不少,看了不少资料,现在我给大家总结一下先看看工作原理当can总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。
每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式成为面向内容的编制方案。
同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,当几个站同时竞争总线读取时,这种配置十分重要。
大体的工作原理我们厘清了,但是显然的协议我们还要花掉一番功夫。
下面了解一个关键的名词,“显性“和”隐性“在我看到的很多文章里,有很多显性和隐性的地方,为此我头痛不已,最终我把它们彻底弄明白了。
首先can数据总线存有两条导线,一条就是黄色的,一条就是绿色的。
分别就是can_high线和can_low线当静止状态时,这两条导线上的电平一样。
这个电平称作静电平。
大约为2.5伏。
这个静电平状态就是隐形状态,也表示隐性电平。
也就是没任何阻碍的时候的状态称作隐性状态.当存有信号修正时,can_high线上的电压值越来越低了,一般来说可以增高至少1v,而can_low线上的电压值减少一个同样值,也就是1v,那么这时候。
can_high就是2.5v+1v=3.5v,它就处在激活状态了。
而can_low升为2.5v-1v=1.5v。
可以看一看这个图由此我们得到在隐性状态下,can_high线与can_low没电压高,这样我们看见没任何变化也就检测没信号。
但是在显性状态时,纸钞最高为2v,我们就可以利用这种变化才传输数据了。
所以发生了那些帧,那些帧中的场,那些场中的位,云云~~~~~~~~~~~在总线上通常逻辑1表示隐性。
而0表示显性。
这些1啊,0啊,就可以利用起来为我们传数据了。
利用这种电压高,我们可以发送信号。
一般来说,控制单元通过收发器连接到can驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN-BUS系统组成:
CAN收发器: 安装在控制器内部,同时兼具接受和发送的功能,将控制器传 来的数据化为电信号并将其送入数据传输线。
数据传输终端:是一个电阻,防止数据在线端被反射,以回声的形式返回, 影响数据的传输。
数据传输线:双向数据线,由高低双绞线组成。
Canbus的收发器 Canbus上的控制器中发送信息的线路通过一个开路集电极 和总线相连。
汽车电子技术发展的特点:
汽车电子控制技术从单一的控制逐步发展到 综合控制,如点火时刻、燃油喷射、怠速控 制、排气再循环。
电子技术从发动机控制扩展到汽车的各个组 成部分,如制动防抱死系统、自动变速系统、 信息显示系统等。
从汽车本身到融入外部社会环境。
现代汽车电子技术的分类:
单独控制系统:由一个电子控制单元(ECU)控制 一个工作装置或系统的电子控制系统,如发动机控 制系统、自动变速器等。
目前汽车上的网络连接方式主要采用2条CAN:
一条用于驱动系统的高速CAN,速率达到 500kb/s。主要面向实时性要求较高的控制 单元,如发动机、电动机等
另一条用于车身系统的低速CAN,速率是 100kb/s。主要是针对车身控制的,如车灯、 车门、车窗等信号的采集以及反馈。其特征 是信号多但实时性要求低,因此实现成本要 求低。
带有三个中央控制单元和总线系统的车
带有三个中央控制单元的CAN驱动网络
车用网络发展原因
电子技术发展----线束增加 线控系统(X-BY-WIRE) 计算机网络的广泛应用 智能交通系统的应用
汽车发展带来的问题
(1)汽车电子技术的发展汽车上电子装置越来 越多汽车的整体布置空间缩小
(2)传统电器设备多为点到点通信导致了庞大 的线束
CAN的发展背景及其应用情况
CAN的起源
现代社会对汽车的要求不断提高,这些要求包括:极 高的主动安全性和被动安全性;乘坐的舒适性;驾驶与使 用的便捷和人性化;尤其是低排放和低油耗的要求等。
在汽车设计中运用微处理器及其电控技术是满足这些 要求的最好方法,而且已经得到了广泛的运用。目前这些 系统有:ABS(防抱系统)、EBD(制动力分配系统)、 EMS(发动机管理系统)、多功能数字化仪表、主动悬架、 导航系统、电子防盗系统、自动空调和自动CD 机等。
基本构造
Canbus采用双绞线自身校验的结构,既可以防止电磁干扰对传输信息的 影响,也可以防止本身对外界的干扰。系统中采用高低电平两根数据线, 控制器输出的信号同时向两根通讯线发送,高低电平互为镜像。并且每一 个控制器都增加了终端电阻,已减少数据传送时的过调效应。
CAN收发器
CAN收发器
数据传输终端
2001年,大众公司提高了Canbus的设计 标准,将舒适系统Canbus提高到 100Kbit/m, 驱动系统提高到500Kbit/m 。
98年在PASSAT和GOLF的驱动系统 上增加了Canbus,传送速率为 500Kbit/m。
2002年,大众集团在新PQ24平台上使用 带有车载网络控制单元的第三代Canbus 。
因此: 1.只要任何一个控制器激活,则总线激活 2.所有控制器关闭,总线处于未激活状态 激活的总线称为显性电平; 未激活的总线电平称为隐形电平
CAN构件通过RX-线来检查总线是否有源(是否正在交换别 的信息),必要时会等待,直至总线空闲下来为止。
(某一时间段内的电平1(无源))如果总线空闲下来,发 动机信息就会被发送出去。
求
总之,使用汽车网络不仅可以减少线束,而且 能够提高各控制系统的运行可靠性,减少冗余 的传感器及相应的软硬件配置,实现各子系统 之间的资源共享,便于集中实现各子系统的在 线故障诊断。
Canbus的发展历史
大众公司首次在97年PASSAT的舒适系统 上采用了传送速率为62.5Kbit/m的 Canbus。
◆ 基于CAN的应用层协议应用较通用的有两种:DeviceNet (适合于工厂底层自动化) 和 CANopen(适合于机械控制的 嵌入式应用)。 ◆ 任何组织或个人都可以从DeviceNet供货商协会(ODVA) 获得DeviceNet规范。购买者将得到无限制的、真正免费的开 发DeviceNet产品的授权。 ◆ DeviceNet自2002年被确立为中国国家标准以来,已在冶金、 电力、水处理、乳品饮料、烟草、水泥、石化、矿山等各个行 业得到成功应用,其低成本和高可靠性已经得到广泛认同。
基于CAN总线的汽车电器网络结构
发动机 自动变 ABS/TCS 安全气 电控悬 巡航控 动力转 电机控 电池管
ECU 速器ECU ECU
囊ECU 架ECU 制ECU 向ECU 制ECU 理ECU
高速总线
E整EC整CU车U(车(控网控网制关制关器)器)
低速总线
故障诊断 ECU
灯光控 刮雨洗涤 电动座 门锁防 电动车 后视镜 气候控 警告信 仪表显 制ECU 控制ECU 椅ECU 盗ECU 窗ECU 喇叭ECU 制ECU 号ECU 示ECU
(6)通信速率最高可达1MB/s(此时距离最长40m)。
(7)节点数实际可达110个。
(8)采用短帧结构,每一帧的有效字节数为8个。
(9)每帧信息都有CRC校验及其他检错措施,数据出错率极低。
(10)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用 廉价的双绞线即可,无特殊要求。
(11) 节点在错误严重的情况下,具有自动关闭总线的功能,切 断它与总线的联系,以使总线上的其他操作不受影响。
CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协 议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包 括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN总线特点如下:
(1)可以多主方式工作,网络上任意一个节点均可以在任意时刻 主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。
CAN总线布置、结构和基本特点
CAN总线系统上并联有多个元件。这就要求整个系统的布置 满足以下要求:
• 可靠性高:传输故障(不论是由内部还是外部引起的)应能 准确识别出来
• 使用方便:如果某一控制单元出现故障,其余系统应尽可能 保持原有功能,以便进行信息交换
• 数据密度大:所有控制单元在任一瞬时的信息状态均相同, 这样就使得两控制单元之间不会有数据偏差。如果系统的某一 处有故障,那么总线上所有连接的元件都会得到通知。
• 数据传输快:连成网络的各元件之间的数据交换速率必须 很快,这样才能满足实时要求。
CAN总线布置、结构和基本特点
考虑到信号的重复率及产生出的数据量,CAN总线系统分为 三个专门的系统
• CAN驱动总线(高速),500Kbit/s,可基本满足实时要求。 • CAN舒适总线(低速),100 Kbit/s,用于对时间要求不高 的情况。 • CAN“infotainment”总线(低速),100Kbit/s,用于对时 间要求不高的情况。
车用网络:通过总线将汽车上的各种电子装置与设 备连成一个网络,实现相互之间的信息共享,既减 少了线束,又可更好地控制和协调汽车的各个系统, 使汽车性能达到最佳。
汽车网络化的优点
布线简单,设计简化,节约铜材,降低成本。 可靠性提高,可维护性大为提高 实现信息共享,提高汽车性能 满足现代汽车电子设备种类功能越来越多的要
◆1992年,CIA(CAN in Automation)用户组织成立,之 后制定了第一个CAN应用层“CAL”。 ◆ 1994年开始有了国际CAN学术年会(ICC)。 ◆ 1994年美国汽车工程师协会以CAN为基础制定了 SAEJ1939标准,用于卡车和巴士控制和通信网络。 ◆ 到今天,几乎每一辆欧洲生产的轿车上都有CAN;高级客 车上有两套CAN,通过网关互联;1999年一年就有近6千万个 CAN控制器投入使用;2000年销售1亿多CAN的芯片;2001 年用在汽车上的CAN节点数目超过1亿个 。 ◆ 但是轿车上基于CAN的控制网络至今仍是各大公司自成系 统,没有一个统一标准。
(3)大量的连接器导致可靠性降低。 粗大的线束与汽车中有限的可用空间之间的矛
盾越来越尖锐,电缆的体积、可靠性和重量成为越 来越突出的问题,而且也成为汽车轻量化和进一步 电子化的最大障碍,汽车的制造和安装也变得非常 困难。 (4)存在冗余的传感器。
Vo l v o 汽车近三十年来线束增长的情况
集中控制系统:由一个电子控制单元(ECU)同时 控制多个工作装置或系统的电子控制系统。如汽车 底盘控制系统。
控制器局域网络系统(CAN总线系统):由多个电 子控制单元(ECU)同时控制多个工作装置或系统, 各控制单元(ECU)的共用信息通过总线互相传递。
带有中央控制单元的车
带有三个中央控制单元的车
状态0: 接通状态,晶体管ห้องสมุดไป่ตู้通(开关已接合) 有源: 总线电平=0,电阻低
功能
2个以上控制器所组成的Canbus系统 当用2个以上的控制器连接在Canbus总 线上(如图所示),用逻辑1来表示断开 和用逻辑0表示闭合。不考虑其他总线规 则情况下,总线会出现下图的情况: 1.任何开关闭合,总线上的电压为0伏 2.所有开关断开,总线上的电压为5伏
2000年,大众公司在PASSAT和 GOLF采用了带有网关的第二代 Canbus。
2003年,大众集团在新PQ35平台上使用五重 结构的Canbus系统,并且出现了单线的LINBUS。
CAN技术的发展
◆20世纪80年代,Bosch的工程人员开始研究用于汽车的串 行总线系统,因为当时还没有一个网络协议能完全满足汽车 工程的要求。参加研究的还有Mercedes-Benz公司、Intel 公司,还有德国两所大学的教授。 ◆ 1986年, Bosch在SAE(汽车工程人员协会)大会上提 出了CAN ◆ 1987年,INTEL就推出了第一片CAN控制芯片—82526; 随后Philips半导体推出了82C200。 ◆ 1993年,CAN的国际标准ISO11898公布 从此CAN 协议被广泛的用于各类自动化控制领域。