车辆CAN总线概述(完整版)
- 格式:doc
- 大小:225.50 KB
- 文档页数:15
汽车CAN总线技术简单介绍CAN总线技术是一种用于汽车系统间通信的串行总线标准。
它最早由德国Bosch公司于1986年引入,现已成为各种车辆的标准通信接口。
CAN总线技术以其高可靠性、高带宽、易于开发和可扩展性等优点而受到广泛应用。
CAN总线技术采用串行通信方式,可以连接多个控制设备和传感器,实现车辆内各个电子控制单元(ECU)之间的数据交换。
CAN总线的主要特点是多主结构、分时共享和通信优先级控制。
在CAN总线技术中,每个ECU都被称为一个节点,节点之间通过双线(CAN_High和CAN_Low)进行通信。
CAN总线采用差分通信方式,即CAN_High与CAN_Low之间的电压差是数据传输的信号,这种方式使得CAN总线在工作距离较长时仍能保持良好的信号质量。
CAN总线技术中,节点之间的通信采用帧的形式。
CAN帧包括了ID(标识符)、数据段和帧检验序列(CRC校验)。
ID用于标识CAN帧的优先级和内容,数据段用于存储实际数据,CRC校验用于验证数据的完整性。
CAN总线技术支持两种通信模式:广播模式和点对点模式。
广播模式是指当一个节点发送了一帧数据后,其他节点都可以接收到该帧数据。
点对点模式则是指只有特定的节点才能接收到一些节点发送的数据帧。
CAN总线技术可以实现高速的数据传输,其传输速率可以达到1Mbps或更高。
此外,CAN总线支持实时数据传输,可以满足复杂的控制系统对低延迟的要求。
CAN总线技术的另一个优点是可靠性。
由于CAN总线采用了冲突检测和错误检测机制,能够及时发现和纠正数据传输中的错误。
当多个节点同时发送数据时,CAN总线会自动检测到冲突,并采用非破坏性的方式将发送冲突的帧标记为错误帧,从而保证数据传输的可靠性。
此外,CAN总线技术还具有良好的可扩展性。
对于需要添加新的传感器或控制设备的系统,只需添加新的节点并连接到CAN总线上即可实现数据交换,而无需进行其他的复杂改动。
总之,CAN总线技术是一种高可靠性、高带宽、易于开发和可扩展性的汽车系统间通信标准。
CAN总线技术介绍
CAN总线技术,也被称为Controller Area Network(CAN),是一种广泛使用的低层次的工业总线,是一种高效的低成本高性能的汽车总线。
主要应用于车辆对信息和控制来说非常重要的多个电子设备之间的连接,用于传输信息,控制信号和多媒体信号等。
是一种以多路复用网络技术技术为基础,可以实现节点间信息和控制的互连网络,这种网络经常被用来实现车辆各组件之间的联动,实现多媒体的信号传输和各类信号的交互。
CAN总线技术也是一种多路复用网络技术,它在不同类型的节点之间传输信号和控制信号,实现节点之间互连,实现多媒体的信号传输和各类信号的交互。
CAN总线采用两线总线结构,通信线缆一般采用双绞线、单绞线或者光纤。
它的通信特性具有低延时、高速率、低成本、可靠性高等优点,可以满足现代车辆对节能、安全、可靠性要求。
(1)硬件:包括CAN总线收发器(Transceiver)、CAN总线线缆(Cable)及CAN总线连接线(Connector)。
(2)软件:主要是CAN 控制器(Controller)和CAN驱动软件(Driver)。
一、概述CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。
想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN 有很多优秀的特点,使得它能够被广泛的应用。
比如:传输速度最高到1Mbps,通信距离最远到10KM,无损位仲裁机制,多主结构。
近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。
现在每一辆汽车上都装有CAN总线。
一个典型的CAN应用场景:二、CAN总线标准CAN总线标准只规定了物理层和数据链路层,需要用户来自定义应用层。
不同的CAN标准仅物理层不同。
CAN收发器负责逻辑电平和物理信号之间的转换,将逻辑信号转换成物理信号(差分电平)或者将物理信号转换成逻辑电平。
CAN标准有两个,即IOS11898和IOS11519,两者差分电平特性不同。
(有信号时,CANH 3.5V,CANL 1.5V,即显性;没有信号时,CANH 2.5V,CANL 2.5V,即隐性)IOS11898高速CAN电平中,高低电平的幅度低,对应的传输速度快。
双绞线共模消除干扰,是因为电平同时变化,电压差不变。
2.1物理层CAN有三种接口器件多个节点连接,只要有一个为低电平,总线就为低电平,只有所有的节点都输出高电平时,才为高电平。
所谓“线与”。
CAN总线有5个连续性相同的位后,就会插入一个相反位,产生跳变沿,用于同步。
从而消除累计误差。
和485、232一样,CAN的传输速度与距离成反比。
CAN总线终端电阻的接法:特点:低速CAN在CANH和CANL上串入2.2kΩ的电阻;高速CAN在CANH和CANL 之间并入120Ω电阻。
为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。
(因为大多数双绞线电缆特性阻抗大约在100~120Ω。
)120欧姆只是为了保证阻抗完整性,消除回波反射,提升通信可靠性的,因此,其只需要在总线最远的两端接上120欧姆电阻即可,而中间节点并不需要接(接了反而有可能会引起问题)。
车辆CAN 总线定义详解CAN总线技术简介CAN总线又称作汽车总线,其全称为“控制器局域网(CAN—Controller Area Network)”。
CAN总线是一种现场总线(区别于办公室总线),是德国Bosch公司为解决现代汽车中众多的电控模块(ECU)之间的数据交换而开发的一种串行通信协议。
汽车电子业最大的热点就是网络化。
”一位业内人士如此描述汽车网络的应用前景。
“汽车电子业最大的热点就是网络化。
”一位业内人士如此描述汽车网络的应用前景。
而控制器局域网(CAN)拥有的多主节点、开放式架构,以及错误检测及自恢复能力等优势,成为汽车网络应用的热门。
从以下一组数字中也印证了这一趋势,02年数据,全球市场上大约有一亿只CAN收发器,平均一辆车上有12个到15个低速CAN收发器,4到5个高速CAN收发器。
一些汽车专家认为,就像在20世纪70年代引入集成电路、80年代引入微处理器一样,近10年来数据总线技术的引入也将是汽车电子技术发展的一个里程碑。
车辆CAN 总线定义详解适应实时诊断与安全性需求CAN总线成必备装置CAN总线网络技术的应用可以说是躬逢其盛。
德尔福电子与安全部中国工程经理许向东指出,随着排放法规的驱动以其在线诊断的需要,通过CAN总线将各系统中的诊断总线连接在一起,通过ECU软件来实时诊断与维修。
并且,随着安全性能日益受到重视,安全气囊也将逐渐增多,以前是在驾驶员前面安装一个,今后侧面与后座都会安装安全气囊,这些气囊通过传感器感受碰撞信号,通过CAN总线将传感器信号传送到一个中央处理器内,控制各安全气囊的启动弹出动作。
同时,先进的防盗设计也正基于CAN总线网络技术。
首先,确认钥匙合法性的校验信息通过CAN网络进行传递,改进了加密算法,其校验的信息比以往的防盗系统更丰富;其次,车钥匙、防盗控制器和发动机控制器相互储存对方信息,而且在校验码中搀杂随机码,无法进行破译,从而提高防盗系统的安全性。
汽车CAN总线详解概述CAN(Controller Area Network)总线协议是由 BOSCH 发明的⼀种基于消息⼴播模式的串⾏通信总线,它起初⽤于实现汽车内ECU之间可靠的通信,后因其简单实⽤可靠等特点,⽽⼴泛应⽤于⼯业⾃动化、船舶、医疗等其它领域。
相⽐于其它⽹络类型,如局域⽹(LAN, Local Area Network)、⼴域⽹(WAN, Wide Area Network)和个⼈⽹(PAN, Personal Area Network)等,CAN 更加适合应⽤于现场控制领域,因此得名。
CAN总线是⼀种多主控(Multi-Master)的总线系统,它不同于USB或以太⽹等传统总线系统是在总线控制器的协调下,实现A节点到B节点⼤量数据的传输,CAN⽹络的消息是⼴播式的,亦即在同⼀时刻⽹络上所有节点侦测的数据是⼀致的,因此⽐较适合传输诸如控制、温度、转速等短消息。
CAN起初由BOSCH提出,后经ISO组织确认为国际标准,根据特性差异⼜分不同⼦标准。
CAN国际标准只涉及到 OSI(开放式通信系统参考模型)的物理层和数据链路层。
上层协议是在CAN标准基础上定义的应⽤层,市场上有不同的应⽤层标准。
发展历史1983年,BOSCH开始着⼿开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第⼀款CAN控制器芯⽚;1991年,奔驰 500E 是世界上第⼀款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:ISO 11898-1:数据链路层协议ISO 11898-2:⾼速CAN总线物理层协议ISO 11898-3:低速CAN总线物理层协议注意:ISO 11898-2和ISO 11898-3物理层协议不属于 BOSCH CAN 2.0标准。
汽车CAN基本原理介绍1.汽车CAN的概述CAN是一种串行通信协议,使用两根差分线(CAN_H和CAN_L)进行通信。
它最初是由德国公司Bosch开发用于汽车电子系统之间的通信,现在已广泛应用于汽车工业以及其他领域。
2.CAN的通信架构CAN网络由多个节点组成,每个节点都有一个唯一的标识符(ID)。
节点之间通过CAN总线进行通信。
CAN总线可以是单线或者多线的,多线的CAN总线可以提供更高的数据传输速率。
3.CAN的数据传输CAN使用基于优先级的非冲突访问控制机制。
每个节点都有一个优先级,优先级高的节点可以随时发送消息。
CAN的通信是基于消息的,消息由一个帧组成。
4.CAN的帧格式CAN帧由标识符(ID)、控制位(Control)、数据长度码(DLC)和数据域(Data)组成。
标识符用于标识消息的类型和发送方,控制位用于指示消息的类型,数据长度码用于指示数据域的长度,数据域包含实际的数据。
5.CAN的通信方式CAN的通信方式可以分为两种:广播方式和点对点方式。
在广播方式下,消息被发送到整个网络上的所有节点;在点对点方式下,消息只被发送到指定的节点。
6.CAN的错误检测和纠正CAN具有高度可靠性的特点,它可以检测和纠正错误。
CAN使用CRC 校验码来检测传输过程中发生的错误,并使用重发机制来纠正错误。
7.CAN的速率和距离CAN的传输速率可以根据具体需求进行选择,通常可以达到1Mbps。
CAN的最大传输距离可以达到数百米,如果需要更远的传输距离,可以使用CAN的中继器或者光纤转换器。
8.CAN的应用9.CAN的发展趋势随着汽车电子系统的不断发展,CAN也在不断演进。
CAN已经从最初的CAN 2.0发展到CAN FD(Flexible Data Rate),可以实现更高的数据传输速率和更大的数据负载。
总结:汽车CAN是一种高度可靠且高效的通信协议,它在汽车电子系统中起到了至关重要的作用。
它以其稳定的性能、优秀的错误检测和纠正能力以及广泛的应用领域而受到了广泛的认可和应用。
CAN总线介绍CAN(Controller Area Network)总线是一种广泛应用于汽车、工业控制等领域的数据通信协议。
CAN总线具有高可靠性、高实时性和高带宽等特点,被广泛应用于车辆电子控制系统、航空航天、机械设备等领域。
CAN总线最早由德国Bosch公司在上世纪80年代开发,用于车辆的电子控制。
由于CAN总线在汽车电子领域的成功应用,其优势同样得到了其他领域的认可,逐渐被应用于其他工业领域。
CAN总线采用串行通信方式,可以连接多个节点,实现节点间的数据交换和通信。
1.高可靠性:CAN总线采用差分信号传输,具有较强的抗干扰能力。
在电磁干扰、噪声和抗电气干扰等环境下,CAN总线能够保持正常的数据传输,确保数据的可靠性。
2.高实时性:CAN总线具有优异的实时性能,数据传输的延迟时间很短,一般在毫秒级别。
这使得CAN总线能够满足实时应用的需求,例如车辆的实时控制系统、工业自动化过程控制等。
3. 高带宽:CAN总线的传输速率可达到1Mbps,远远超过了一般串行数据通信协议的速率。
这使得CAN总线能够传输大量的数据,满足复杂系统的通信需求。
4.易于扩展:CAN总线的节点数可以达到数百个,能够方便地扩展系统。
不同的节点可以通过CAN总线进行数据交换,实现节点之间的通信和协作。
这使得CAN总线非常适合于复杂的系统中使用,例如车辆电子控制系统中的各个控制单元。
CAN总线的应用非常广泛,特别是在汽车电子领域。
在汽车中,CAN 总线用于车辆的电子控制系统,如发动机管理系统、制动系统、安全系统等,实现不同控制单元之间的数据传输和通信。
CAN总线可以使得不同控制单元之间实时交换数据,协调各个功能模块的工作,提高整个车辆系统的性能和安全性。
除了汽车电子领域,CAN总线还应用于其他工业控制领域。
例如,CAN总线可以用于机械设备的控制系统,实现各个执行机构之间的协调与控制。
此外,CAN总线还可以用于工业自动化系统,实现各个传感器和执行器之间的数据交换和控制。
车辆CAN 总线定义详解CAN总线技术简介CAN总线又称作汽车总线,其全称为“控制器局域网(CAN—Controller Area Network)”。
CAN总线是一种现场总线(区别于办公室总线),是德国Bosch公司为解决现代汽车中众多的电控模块(ECU)之间的数据交换而开发的一种串行通信协议。
汽车电子业最大的热点就是网络化。
”一位业内人士如此描述汽车网络的应用前景。
“汽车电子业最大的热点就是网络化。
”一位业内人士如此描述汽车网络的应用前景。
而控制器局域网(CAN)拥有的多主节点、开放式架构,以及错误检测及自恢复能力等优势,成为汽车网络应用的热门。
从以下一组数字中也印证了这一趋势,02年数据,全球市场上大约有一亿只CAN收发器,平均一辆车上有12个到15个低速CAN收发器,4到5个高速CAN收发器。
一些汽车专家认为,就像在20世纪70年代引入集成电路、80年代引入微处理器一样,近10年来数据总线技术的引入也将是汽车电子技术发展的一个里程碑。
车辆CAN 总线定义详解适应实时诊断与安全性需求CAN总线成必备装置CAN总线网络技术的应用可以说是躬逢其盛。
德尔福电子与安全部中国工程经理许向东指出,随着排放法规的驱动以其在线诊断的需要,通过CAN总线将各系统中的诊断总线连接在一起,通过ECU软件来实时诊断与维修。
并且,随着安全性能日益受到重视,安全气囊也将逐渐增多,以前是在驾驶员前面安装一个,今后侧面与后座都会安装安全气囊,这些气囊通过传感器感受碰撞信号,通过CAN总线将传感器信号传送到一个中央处理器内,控制各安全气囊的启动弹出动作。
同时,先进的防盗设计也正基于CAN总线网络技术。
首先,确认钥匙合法性的校验信息通过CAN网络进行传递,改进了加密算法,其校验的信息比以往的防盗系统更丰富;其次,车钥匙、防盗控制器和发动机控制器相互储存对方信息,而且在校验码中搀杂随机码,无法进行破译,从而提高防盗系统的安全性。
一.CAN总线简介1. CAN总线的发展历史20世纪80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提高。
当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。
为了解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线。
所以在1986年Bosch公司正式公布了这一总线,且命名为CAN总线。
CAN控制器局部网(CAN—Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词,CAN总线开始进入快速发展时期:1987年Intel公司生产出了首枚CAN控制器(82526)。
不久,Philips公司也推出了CAN 控制器82C200;1991年,Bosch颁布CAN 2.0技术规范,CAN2.0包括A和B两个部分为促进CAN以及CAN协议的发展,1992在欧洲成立了国际用户和厂商协会(CAN in Automation,简称CiA),在德国Erlangen注册,CiA总部位于Erlangen。
CiA提供服务包括:发布CAN的各类技术规范,免费下载CAN文献资料,提供CANopen规范DeviceNet规范;发布CAN产品数据库,CANopen产品指南;提供CANopen验证工具执行CANopen认证测试;开发CAN规范并发布为CiA 标准。
汽车级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,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。
CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。
该协议的健壮性使其用途延伸到其他自动化和工业应用。
CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
CAN总线发展控制器局域网CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。
是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。
而且能够检测出产生的任何错误。
当信号传输距离达到10km时,CAN仍可提供高达50kbit/s的数据传输速率。
CAN总线的工作原理CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。
[1]CAN与I2C总线的许多细节很类似,但也有一些明显的区别。
当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。
对每个节点来说,无论数据是否是发给自己的,都对其进行接收。
每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。
在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文.当几个站同时竞争总线读取时,这种配置十分重要。
当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。
CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。
每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
汽车CAN通讯总线全面解析一起解读CAN通讯总线:日新月异,随着时代的高速发展,汽车电子技术不断更新,所以我们要通过不断的学习来提高技术水平。
本期我们一起解读汽车CAN 通讯总线,从CAN的由来、原理、设计、应用以及维修,一篇文章全方面解析读懂CAN通讯!CAN通讯总线的由来由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。
提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。
CAN通讯的起源1983年首先由德国的博世BOSCH公司设计了CAN数据总线,越来越多的车辆采用了CAN数据总线,使车上的各个电脑可以被挂接在该总线上都能进行数据交流,形成车载网络系统。
“什么是CAN总线?”汽车不管有多少块电控单元,不管信息容量有多大,每块电控单元都只需引出两条线共同接在两个节点上,这两条导线就称作数据总线,亦称BUS线。
整个网络则称CAN,CAN是Controller Area Network(控制单元区域网络)的缩写,意思是控制单元通过网络交换数据。
CAN-BUS总线形象介绍:公交车:车辆通讯CAN总线:作一个比喻:总线系统又称作CAN-BUS,其实也是因为它的工作原理与运行中的公共汽车很类似。
其中每个站点相当于一个控制单元,而行驶路线则是CAN总线,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总线简介1. CAN总线的发展历史20世纪80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提高。
当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。
为了解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线。
所以在1986年Bosch公司正式公布了这一总线,且命名为CAN总线。
CAN控制器局部网(CAN—Controller Area Network)属于现场总线的畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词,CAN总线开始进入快速发展时期:1987年Intel公司生产出了首枚CAN控制器(82526)。
不久,Philips公司也推出了CAN 控制器82C200;1991年,Bosch颁布CAN 2.0技术规,CAN2.0包括A和B两个部分为促进CAN以与CAN协议的发展,1992在欧洲成立了国际用户和厂商协会(CAN in Automation,简称CiA),在德国Erlangen注册,CiA总部位于Erlangen。
CiA提供服务包括:发布CAN的各类技术规,免费下载CAN文献资料,提供CANopen规DeviceNet规;发布CAN产品数据库,CANopen产品指南;提供CANopen 验证工具执行CANopen认证测试;开发CAN规并发布为CiA标准。
1993 年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用);1993年,ISO颁布CAN国际标准 ISO-11898;1994年,SAE颁布基于CAN的J1939标准;2003年,Maybach发布带76个ECU的新车型(CAN,LIN,MOST);2003年,VW发布带35个ECU的新型Golf。
根据CiA组织统计,截止到2002年底,约有500多家公司加入了这个协会,协作开发和支持各类CAN高层协议;生产CAN控制器(独立或嵌)厂家,包括世界上主要半导体生产厂家在,已有20多家,CAN控制器产品的品种已达110多种,CAN控制器的数量已达210,000,000 枚。
CAN接口已经被公认为微控制器(Microcontroller)的标准串行接口,应用在各种分布式嵌系统。
该协会已经为全球应用CAN技术的权威。
2. CAN总线的特点CAN总线与一般的通信总线相比 ,它的数据通信具有突出的可靠性、实时性和灵活性。
其主要特性如下:1) 具有较高的性价比。
它结构简单,器件容易购置 ,每个节点的价格较低 ,而且开发过程中能充分利用现在的单片机开发工具;2) 是目前为止唯一有国际标准的现场总线;3) 为多主方式工作 ,网络上任一节点均可在任意时刻主动向网络上其他节点发送信息而不分主从 ,通信方式灵活 ,且无需站地址等节点信息4) 网络上的节点信息分成不同的优先级 ,可满足不同的实时要求 ,高优先级的数据最多可在 134μs得到传输;5) 采用非破坏性总线仲裁技术 ,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送 ,而最高优先级的节点不受影响地继续传输数据 ,从而大大节省了总线冲突仲裁时间。
尤其是在网络负载很重的情况下也不会出现网络瘫痪情况;6) 只需通过报文滤波即可实现点对点、一点对多点与全局广播等几种方式传送接收数据 ,无需专门的“调度”;7) 直接通信距离最远可达10 km (速率5 kb/s以下) ,通信速率最高可达 1 Mkb/ s (此时通信距离最长为 40 m) ;8) 节点数主要取决于总线驱动电路,目前可达成110个;9) 采用短帧结构 ,传输时间短 ,受干扰概率低 ,具有极好的检错效果;10) 每帧信息都有CRC校验与其他检错措施,保证了数据出错率低;11) 通信介质可为双绞线、同轴电缆或光纤,选择灵活;12) 节点在错误严重的情况下具有自动关闭输出功能 ,以使总线上其他节点的操作不受影响。
自CAN总线问世以来,为满足CAN总线协议的多种应用需求,相继出现了几种高层协议。
目前大多数基于CAN总线的网络都采用CAN总线的高层协议。
CANopen、DeviceNet和SDS是通常采用的高层协议,适用于任何类型的工业控制局域网应用场合,而CAL则应用于基于标准应用层通信协议的优化控制场合,SAEJ1939则应用于卡车和重型汽车计算机控制系统。
其总线规已被ISO国际标准化组织制定为国际标准,并被公认为是最有前途的现场总线之一。
CAN总线的应用围遍与从高速网络到低成本的多线路网络,广泛应用于控制系统中的各检测和执行机构之间的数据通信。
随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从现场设备到控制、管理的各个层次。
信息技术的发展引起自动化系统结构的变革,逐步形成以网络集成自动化系统为基础的企业信息系统。
现场总线(Fieldbus)就是顺应这一形势发展起来的新技术,成为当今自动化领域技术发展的热点,被誉为自动化领域的计算机局域网。
它的出现,标志着自动化领域的又一个新时代的开始,并对该领域的发展产生重要影响。
二、CAN总线基本原理1、CAN标准1)CAN总线的分层结构OSI(Open System Interconnection)开放系统互连参考模型将网络协议分为7层,由上至下分别为:应用层、表示层、会话层、传输层、网络层、链路层和物理层。
国际电工技术委员会定义现场总线模型分为三层:应用层、链路层和物理层。
CAN的分层定义与OSI模型一致,使用了七层模型中的应用层、链路层和物理层。
CAN技术规定义了模型最下面的两层:数据链路层和物理层,如图1所示。
图1 CAN总线分层结构2)CAN协议标准CAN总线协议现有CAN1.0、CAN1.2、CAN2.0A和CAN2.0B四个版本。
CAN2.0A 以与以下版本使用标准格式信息帧(11位),CAN2.0B使用扩展格式信息帧(29位)。
CAN2.0A 与以下版本在接收到扩展帧信息格式时认为出错;CAN2.0B被动版本接收时忽略29位扩展信息帧,不认为出错;CAN2.0B主动版本能够接收和发送标准格式信息帧和扩展格式信息帧。
3)CAN总线网络基本结构一般而言,CAN总线网络由若干个具有CAN通信功能的控制单元(又称节点)通过CAN_H和CAN_L两条数据线并联组成,CAN_H和CAN_L两条数据线的两端各安装一个120Ω电阻构成数据保护器,避免数据传输到终端被反射回来而产生反射波,影响数据的传送,如图2所示。
汽车CAN总线网络结构示意图如图3所示。
图2 CAN网络基本结构图3 汽车CAN总线网络结构示意图4)CAN总线节点硬件电路框图一个完整的CAN总线节点应该包含微控制器、CAN控制器和CAN收发器三部分。
其中微控制器负责完成CAN控制器的初始化,与CAN控制器的进行数据传递;CAN控制器负责将数据以CAN报文的形式传递,实现CAN协议数据链路层的功能;CAN收发器是CAN控制器与CAN物理总线的接口,为总线提供差动发送功能,也为控制器提供差动接收功能。
CAN节点的基本结构框图如图4所示。
部分微控制器集成有CAN控制器,因此,节点方案有两种。
图4 CAN节点基本结构框图5)CAN差分通信CAN总线的信号传输采用差分通信信号,差分通信具有较强的抗干扰能力。
CAN收发器的差动信号放大器在处理信号时,会用CAN_H数据线的电压减去CAN_L 数据上的电压,这两个数据线的电位差可对应两种不同逻辑状态进行编码。
在静止状态时,这两条导线上作用有相同预先设定值,该值称为静电平。
对于CAN驱动数据总线来说,这个值大约为2.5V。
静电平也称为隐性状态,因为连接的所有控制单元均可修改它。
在显性状态时,CAN_H线上的电压值会升高一个预定值(对CAN驱动数据总线来说,这个值至少为1V)。
而CAN_L线上的电压值会降低一个同样值(对CAN驱动数据总线来说,这个值至少为1V)。
于是在CAN 驱动数据总线上,CAN_H线就处于激活状态,其电压不低于3.5V(2.5V+1V=3.5V),而CAN_L线上的电压值最多可降至1.5V(2.5V-1V=1.5V)。
因此在隐性状态时,CAN_H线与CAN_L线上的电压差为0V,在显性状态时该差值最低为2V,如图5所示。
如果CAN_H–CAN_L > 2,那么比特为 0,为显性;如果CAN_H–CAN_L = 0,那么比特为 1,为隐性。
图5 CAN数据线的电平2、CAN总线通信原理当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。
对每个节点来说,无论数据是否是发给自己的,都对其进行接收。
每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向容的编址方案。
在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。
当一个站要向其它站发送数据时,该站CPU将要发送的数据和自己的标识符传送给本站的CAN控制器芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。
CAN控制器芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。
每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
当多个站点同时发送消息时,需要进行总线仲裁,每个控制单元在发送信息时通过发送发送标识符来识别。
所有的控制单元都是通过各自的RX线来跟踪总线上的一举一动并获知总线的状态。
每个发射器将TX线和RX线的状态一位一位地进行比较,采用“线与”机制,“显性”位可以覆盖“隐性”位;只有所有节点都发送“隐性”位,总线才处于“隐性”状态。
CAN是这样来进行调整的:TX 信号上加有一个“0”的控制单元的控制单元必须退出总线。
用标识符中位于前部的“0”的个数就可调整信息的重要程度,从而就可保证按重要程度的顺序来发送信息。
标识符中的越小,表示该信息越重要,优先级越高。
发送低优先级报文的节点退出仲裁后,在下次总线空闲时重发报文。
三个节点总线仲裁示意图如图6所示。
图6 总线仲裁示意图3、CAN报文帧结构CAN总线报文传输由以下4个不同的帧类型所表示和控制:数据帧:数据帧携带数据从发送器至接收器。