CAN总线及其终端配置方法

发布者:Huanle最新更新时间:2016-04-06 来源: eefocus关键字:CAN总线  终端配置 手机看文章 扫描二维码
随时随地手机看文章
CAN是控制器局域网络(ControllerArea Network, CAN)的简称,是国际上应用最广泛的现场总线之一。当前,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。 CAN有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性

一、CAN总线

CAN是控制器局域网络(ControllerArea Network, CAN)的简称,是国际上应用最广泛的现场总线之一。当前,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。

CAN有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:

1、网络各节点之间的数据通信实时性强

CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;

2、缩短了开发周期

CAN总线通过CAN收发器接口的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。

二、CAN的报文格式

在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。

在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位 (RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。

控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位 (ro),为将来扩展使用。它的最后四个位用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。

应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。

报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。

CAN通信数据帧的结构

三、CAN总线终端配置方法

CAN总线的测试和使用过程中,为了保证信号反射不至导致通讯失败,传输线上必须添加匹配终端。有多种方法配置CAN硬件,主要取决于你硬件的物理层:高速,低速,单线还是软件可配的。

使用CAN组成网络示例

1、高速CAN

对于高速CAN,一对信号线的每根线(CAN_H和CAN_L)都必须添加120欧姆的匹配电阻,这是因为CAN总线两个方向都有数据流。具体做法就是在每一个CAN终端(多个设备时只需在最终端的设备)的CAN_H和CAN_L上跨接一个120欧姆电阻(实际操作时我试过120欧姆左右的都可用)。

2、低速CAN

对于低速CAN,网络上每个设备的每条数据线都需要一个终端电阻:R(RTH)接在CAN_H上,R(RTL)接在CAN_L上,每个电阻的阻值需要参考低速CAN的使用手册进行计算。

3、单线CAN

一般单线CAN(如NI)硬件内置一个9.9K欧姆的负载电阻,这就是网络要求的负载阻值,不需额外的电阻。

 

4、软件配置

软件可配置CAN硬件可以通过软件来配置设备是工作在高速下,低速下或是单线接口。所需的终端电阻取决于被配置在哪个物理层。

关键字:CAN总线  终端配置 引用地址:CAN总线及其终端配置方法

上一篇:CAN总线研究及应用
下一篇:解析CAN—BUS数据总线

推荐阅读最新更新时间:2024-05-03 00:18

PIC单片机can总线协议收发编程
//该程序运行在pic单片机p18f458上实现发送缓冲器0向接收缓冲器0发送数据的自测试模式,其中接收采用中断方式 //发送采用查询方式 #include "p18f458.h" int CAN_FLAG; //定义标志寄存器 //**************初始化子程序*************** // http://www.51hei.com单片机网提供有问题请联系我们 void initcan() { TRISB=(TRISB|0X08)&0XFB; //设置CANRX/RB3为输入,CANTX/RB2为输出 //设置CAN的波特率为125K,在Fosc=4M时,Tbit=8us,假设BRP=01h //则TQ= /
[单片机]
基于C的CAN总线切换方案
引言: CAN(Control Area Network)总线最初是由德国Bosch公司开发的,它是一种支持分步式实时控制系统的串行通信局域网,具有如下优点:   a. 通信方式灵活,可以多主方式工作,网络上任意节点均可以在任意时刻主动地向总线上其他节点发送信息,而不为主从。 b. 采用非破坏性总线仲裁技术,当2个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,避免了总线冲突。 c. 总线上的节点信息可以分成不同的优先级,以满足不同的实时要求。 d. 可以用点对点、一点对多点及全局广播等几种方式发送和接收数据。 e. CAN 的直接通信距离最远可达10km(速率5kb
[嵌入式]
基于CAN总线的嵌入式设备状态监测平台设计
引言 实验室中关键设备的信息需要及时采集、反馈到主控室中,又因为设备类型多,促使设计者开发主节点、从节点的结构,总线通信的监测平台。同时,平台的用户界面需具有二次开发能力。因此,本文设计了一种设备状态监测平台。 本文设计的系统硬件基于STM32F103芯片,是基于ARM的Cortex—M3架构,其外设单元资源丰富,能够达到系统需求的性能指标。配备了一块4.3寸TFT显示、触摸屏,可直观地显示与操作,体现了与用户的互动。 1 硬件架构 以STM32F103为主控芯片,主要包含了5个外围电路模块:实时时钟、模数处理、数据存储、数据传输和界面显示。模数处理是A/D模块加预处理电路,数据存储采用一片2 MB SPI Flash,数
[单片机]
基于<font color='red'>CAN总线</font>的嵌入式设备状态监测平台设计
解读CAN总线行车记录仪系统电路
  系统整体结构设计   由于CAN串行通讯总线的良好特性,被广泛地应用于现场数据采集系统、汽车制造业和航空工业等领域。本文所设计的基于CAN总线数据记录仪是应用在奇瑞汽车A5车型上的,对整车CAN网络上的节点数据进行采集和存储。A5是第一款应用CAN bus总线系统的自主品牌国产轿车,其CAN bus主要应用在传动部,在车身部、ITS部和信息部等也有少量的应用。对A5这款首次使用CAN技术的车型进行实时数据采集,可了解汽车运行期问各种数据信息变化,对A5乃至后续所有车款的研发来说,都有着非常重要的意义。   CAN总线行车记录仪工作时应挂接到汽车CAN总线上成为一个CAN节点,以便采集CAN数据信息。由图1所示,该系统不仅采集车
[单片机]
解读<font color='red'>CAN总线</font>行车记录仪系统电路
基于ADE7755的带CAN总线的工业用电度表设计
引言   随着计算机网络技术、专用集成芯片技术和现场总线技术的不断发展,对工业用电度表的计量精度和电量数据传输实时性的要求在不断提高。我国目前电力机车上装备的电度表基本上都是传统的机械式电度表,虽然机械式电度表存在抗干扰和抗震动性好的优点,但是其精度差,电量数据需要人为读数不能实时传输等弊端。 ADE7755 ($1.6200)是AD7755的增强版,解决了AD7755的F1、F2与CF端输出不同步以及低功率下无输出的问题。也即AD7755在负载在8-13mA时F1、F2无输出而CF有输出,在小于8mA的负载下两者均无输出,造成较大计量误差。两者在其他方面基本没有差别,先AD7755已经停产,ADE7755的数据手册基本沿用以前的A
[单片机]
基于ADE7755的带<font color='red'>CAN总线</font>的工业用电度表设计
基于80C196KC的CAN总线智能数据采集模块设计
引言 基于集中管理、分散控制的分散控制系统(distributed control system)解决了集中式直接数字控制系统对控制器处理能力和可靠性要求过高的缺陷,但由于其具有一定的封闭性、各分散控制系统之间的不兼容性,集散控制系统难以实现网络互连和信息共享。 现场总线的出现使得全数字化,全开放式,具有可互操作性,彻底分散的现场总线控制系统(fieldbus control system)得以实现,现场总线控制系统已成为自动化领域中的一个热点,也将成为工业过程控制的一个重要发展方向。 控制器局域网CAN(controller areanet work)是德国Bosch公司在现代汽车电子技术领域中推出的一种多主控制器局域网络
[单片机]
基于80C196KC的<font color='red'>CAN总线</font>智能数据采集模块设计
基于STC89C51的CAN总线点对点通信模块设计
摘要:随着人们对总线对总线各方面要求的不断提高,总线上的系统数量越来越多,继而出现电路的复杂性提高、可靠性下降、成本增加等问题。为解决上述问题,文中阐述了基于SJAl000的CAN总线通信模块的实现方法,该方法以PCA82C250作为通信模块的总线收发器,以SITA-l000作为网络控制器。并以STCSTC89C5l单片机来完成基于STC89C5l的CAN通信硬件设计。文章还就平台的初始化、模块的发送和接收进行了设计和分析。通过测试分析证明,该系统可以达到CAN的通信要求,整个系统具有较高的实用性。 关键词:CAN总线;SJAl000;82C250;STC89C51 O 引言 现场总线是应用在生产最底层的一种总线型拓扑网络,
[单片机]
基于STC89C51的<font color='red'>CAN总线</font>点对点通信模块设计
CAN总线技术在智能汽车系统中的应用
摘 要: 智能汽车是一种具有自动驾驶功能的汽车,它综合应用了计算机、控制、信息处理、通讯以及传感器等多种技术。使用CAN总线保证了系统内部数据交换的高速性和可靠性。引入了一种带有CAN总线接口的单片机--PIC18F258,介绍了它CAN模块的结构及其在完成通信任务时的工作原理。该方法在人工智能和工业测控领域具有一定的应用价值。 关键词: 智能控制 CAN总线 PIC18F258 中断接收 1 引言 CAN总线是控制局域网络(Control Area Network)的简称,它最早由德国BOSCH公司提出。由于它具有传输速率高,抗干扰能力强,硬件连接方便等突出特点,非常适合用于汽车系统中,解决众多
[汽车电子]
<font color='red'>CAN总线</font>技术在智能汽车系统中的应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved