版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 CAN总线第第4 4章章 CAN CAN 总总 线线4.1 4.1 CANCAN的技术规范的技术规范4.2 4.2 CANCAN通通信控制器信控制器SJA1000SJA10004.3 4.3 CANCAN BUS BUS器件器件4.4 4.4 CANCAN应用节点设计应用节点设计4.5 4.5 基于基于PCIPCI总线的总线的CANCAN智能网络通信适配器的设计智能网络通信适配器的设计4.6 4.6 CANCAN智能节点的设计智能节点的设计第第4 4章章 CAN CAN 总总 线线 CAN CAN(Controller Area NetworkController Area Netwo
2、rk)即控制器局域网,可以)即控制器局域网,可以归属于工业现场总线的范畴,通常称为归属于工业现场总线的范畴,通常称为CAN busCAN bus,即,即CANCAN总线,总线,是目前国际上应用最广泛的开放式现场总线之一。是目前国际上应用最广泛的开放式现场总线之一。 与一般的通信总线相比,与一般的通信总线相比,CANCAN总线的数据通信具有突出的可总线的数据通信具有突出的可靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世界上一些著名的汽车制造厂商,如界上一些著名的汽车制造厂商,如BENZ(BENZ(奔驰奔驰) )、BMW(BMW(宝马宝
3、马) )、v volkswagen (olkswagen (大众大众) )等都采用了等都采用了CANCAN总线来实现汽车内部控制系总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。统与各检测和执行机构间的数据通信。 同时,由于同时,由于CANCAN总线的特点,其应用范围目前已不仅局限总线的特点,其应用范围目前已不仅局限于汽车行业,已经在自动控制、航空航天、航海、过程工业、于汽车行业,已经在自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域中得到了广泛应用。械及传感器等领域中得到
4、了广泛应用。 第第4 4章章 CAN CAN 总总 线线 CAN的发展概况: 20世纪80年代,Bosch的工程人员开始研究用于汽车的串行总线系统,因为当时还没有一个网络协议能完全满足汽车工程的要求。参加研究的还有Mercedes-Benz公司、Intel公司,还有德国两所大学的教授。 1986年, Bosch在SAE(汽车工程人员协会)大会上提出了CAN 1987年,INTEL就推出了第一片CAN控制芯片82526;随后Philips半导体推出了82C200。 1993年,CAN的国际标准ISO11898公布 从此CAN 协议被广泛的用于各类自动化控制领域。 CAN的发展概况: 1992年,
5、CIA(CAN in Automation)用户组织成立,之后制定了第一个CAN应用层“CAL”。 1994年开始有了国际CAN学术年会(ICC)。 1994年美国汽车工程师协会以CAN为基础制定了SAEJ1939标准,用于卡车和巴士控制和通信网络。 到今天,几乎每一辆欧洲生产的轿车上都有CAN;高级客车上有两套CAN,通过网关互联;1999年一年就有近6千万个CAN控制器投入使用;2000年销售1亿多CAN的芯片;2001年用在汽车上的CAN节点数目超过1亿个 。 但是轿车上基于CAN的控制网络至今仍是各大公司自成系统,没有一个统一标准。第第4 4章章 CAN CAN 总总 线线第第4 4章
6、章 CAN CAN 总总 线线 CAN的发展概况: 基于CAN的应用层协议应用较通用的有两种:DeviceNet(适合于工厂底层自动化) 和 CANopen(适合于机械控制的嵌入式应用)。 任何组织或个人都可以从DeviceNet供货商协会(ODVA)获得DeviceNet规范。购买者将得到无限制的、真正免费的开发DeviceNet产品的授权。 DviceNet自2002年被确立为中国国家标准以来,已在冶金、电力、水处理、乳品饮料、烟草、水泥、石化、矿山等各个行业得到成功应用,其低成本和高可靠性已经得到广泛认同。 CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的C
7、AN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。 第第4 4章章 CAN CAN 总总 线线 CANCAN总线特点如下:总线特点如下:(1 1)可以多主方式工作,网络上任意一个节点均可以在任)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。通信方式灵活。(2 2)网络上的节点(信息)可分成不同的优先级)网络上的节点(信息)可分成不同的优先级, ,可以满足可以满足不同的实时要求。不同的实时要求。 (3 3)采用非破
8、坏性位仲裁总线结构机制,当两个节点同时)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。而优先级高的节点可不受影响地继续传输数据。(4 4)可以点对点、一点对多点(成组)及全局广播几种传)可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。送方式接收数据。(5 5)直接通信距离最远可达)直接通信距离最远可达10km10km(速率(速率5Kbps5Kbps以下)。以下)。(6 6)通信速率最高可达)通信速率最高可达1MB/s1MB/s(此时距离
9、最长(此时距离最长40m40m)。)。第第4 4章章 CAN CAN 总总 线线 CANCAN总线特点如下:总线特点如下:(7 7)节点数实际可达)节点数实际可达110110个。个。(8 8)采用短帧结构,每一帧的有效字节数为)采用短帧结构,每一帧的有效字节数为8 8个。个。(9 9)每帧信息都有)每帧信息都有CRCCRC校验及其他检错措施,数据出错率极低。校验及其他检错措施,数据出错率极低。(1010)通信介质可采用双绞线,同轴电缆和光导纤维,一般采)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。用廉价的双绞线即可,无特殊要求。(1111)节点在错误严重的情
10、况下,具有自动关闭总线的功能,)节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。切断它与总线的联系,以使总线上的其他操作不受影响。CAN CAN 的工作原理的工作原理 当当CAN CAN 总线上的一个节点总线上的一个节点( (站站) )发送数据时,它以报文形发送数据时,它以报文形式广播给网络中所有节点。式广播给网络中所有节点。 每组报文开头的每组报文开头的1111位字符为标识符位字符为标识符(CAN2.0A)(CAN2.0A),定义了报,定义了报文的优先级,这种报文格式称为面向内容的编址方案。文的优先级,这种报文格式称为面向内容的编址方案。 当
11、一个节点要向其它节点发送数据时,该节点的当一个节点要向其它节点发送数据时,该节点的CPU CPU 将将要发送的数据和自己的标识符传送给本节点的要发送的数据和自己的标识符传送给本节点的CANCAN芯片,并处芯片,并处于准备状态;当于准备状态;当它收到总线分配时,转为发送报文状态。它收到总线分配时,转为发送报文状态。 CAN CAN 芯片将数据根据协议组织成一定的报文格式发出,芯片将数据根据协议组织成一定的报文格式发出,这时这时, ,网上的其它节点处于接收状态。网上的其它节点处于接收状态。 每个处于接收状态的节点对接收到的报文进行检测,每个处于接收状态的节点对接收到的报文进行检测,判断这些报文是否
12、是发给自己的,以确定是否接收它。判断这些报文是否是发给自己的,以确定是否接收它。 由于由于CANCAN总线是一种面向内容的编址方案,因此很容总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在容易地在CAN CAN 总线中加进一些新节点而无需在硬件或软件总线中加进一些新节点而无需在硬件或软件上进行修改。上进行修改。 当所提供的新节点是纯数据接收设备时,数据传输协当所提供的新节点是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同议不要求独立的部分有物理目的地址。它允许分布过
13、程同步化,即总线上控制器需要测量数据时,可由网上获得,步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。而无须每个控制器都有自己独立的传感器。 CANCAN的起源的起源 现代社会对汽车的要求不断提高,这些要求包括:极高的主动安全性和被动安全性;乘坐的舒适性;驾驶与使用的便捷和人性化;尤其是低排放和低油耗的要求等。 在汽车设计中运用微处理器及其电控技术是满足这些要求的最好方法,而且已经得到了广泛的运用。目前这些系统有:ABS(防抱系统)、EBDEBD(制动力分配系统)(制动力分配系统)、EMS(发动机管理系统)、多功能数字化仪表、主动悬架、导航系统、电子防盗
14、系统、自动空调和自动CD 机等。 这些系统由多个电控单元相互连接而成,可分为控制器、传感器、执行器等。同时各个系统之间也互相连接,进行着越来越多的数据交换。这样就需要使用大量的线束和插接器来实现互连,进行它们之间的数据交换。随着汽车电子技术的不断发展,这种需求的增长是惊人的(如图)。CANCAN的起源的起源 由于线束和插接器的数量不断增加,整车电子系统的复杂程度愈来愈高,其可靠性将难以保证,故障率会提高,维修会更加困难。 为了满足汽车内部信息交换量急剧增加的要求,有必要使用一种实现多路传输方式的车载网络系统。这种网络系统采用串行总线结构,通过总线信道共享,减少线束的数量。 车载网络除了要求采用
15、总线拓扑结构方式外,必须具有极好的抗干扰能力;极强的差错检测和处理能力;满足信息传输实时性要求;同时具备故障的诊断和处理能力等。另外考虑到成本因素,要求其控制接口结构简单,易于配置。 CANCAN的起源的起源一个典型的一个典型的CAN工程实例工程实例 一汽一汽- -大众汽车有限公司大众汽车有限公司20012001年年1212月上市的宝来(月上市的宝来(BoraBora)轿车,)轿车,在动力传动系统和舒适系统中就装用了两套在动力传动系统和舒适系统中就装用了两套CANCAN数据传输系统,数据传输系统,其中其中CANCAN数据传输舒适系统如数据传输舒适系统如下图所示。下图所示。接发电接发电机机底盘网
16、底盘网络络仪表单元仪表单元M MM MM MM MM MM MM MM MM MM MM MM M前门前门单元单元车身中央车身中央控制单元控制单元空调空调单元单元前座前座单元单元顶窗顶窗单元单元前座前座单元单元左前门左前门单元单元M MM MM M后门后门单元单元后门后门单元单元后座后座单元单元M MM M后窗后窗单元单元MM MM MCANCANMLINLIN电机电机加热器加热器灯具灯具控制面板控制面板图例图例:CANCAN数据传输舒适系统数据传输舒适系统CANZONGXIANCANZONGXIAN CAN CAN总线连接了传动装置控制中央单元、灯控单元、门控总线连接了传动装置控制中央单元、
17、灯控单元、门控单元、座椅控制单元、空调单元以及仪表盘控制单元等等。单元、座椅控制单元、空调单元以及仪表盘控制单元等等。 由由LINLIN总线构成的总线构成的LINLIN网络作为网络作为CANCAN网络的辅助网络,连接网络的辅助网络,连接了车窗控制单元、雨刷控制单元、天窗控制单元等低速设备了车窗控制单元、雨刷控制单元、天窗控制单元等低速设备 LIN LIN网络(网络(Local Interconnect NetworkLocal Interconnect Network),由汽车厂),由汽车厂商为汽车开发,作为商为汽车开发,作为CANCAN网络的辅助网络,目标应用在低端系网络的辅助网络,目标应用
18、在低端系统,不需要统,不需要CANCAN的性能、带宽以及复杂性。的性能、带宽以及复杂性。 LINLIN的工作方式是一主多从,单线双向低速传送数据(最的工作方式是一主多从,单线双向低速传送数据(最高高20K20K位位/ /秒),与秒),与CANCAN相比具有更低的成本,且基于相比具有更低的成本,且基于UARTUART接口,接口,无需硬件协议控制器,使系统成本更低。无需硬件协议控制器,使系统成本更低。 CANCAN数据传输舒适系统网络与动力传动系统网络通过网桥数据传输舒适系统网络与动力传动系统网络通过网桥相互通信。相互通信。 CAN的物理层的物理层 物理层被细分成物理层被细分成3 3个子层,它们分
19、别是:个子层,它们分别是:l l 物理信令物理信令位编码定时和同步位编码定时和同步l l 物理媒体连接物理媒体连接驱动器和接收器特性驱动器和接收器特性l l 媒体相关接口媒体相关接口总线连接器总线连接器 收发器实现物理媒体连接子层。物理信令子层和数据链路层收发器实现物理媒体连接子层。物理信令子层和数据链路层之间的连接是通过集成的协议控制器实现的,如:之间的连接是通过集成的协议控制器实现的,如:PCx82C200PCx82C200、SJA1000SJA1000等。而媒体相关接口负责连接传输媒体譬如将总线节点等。而媒体相关接口负责连接传输媒体譬如将总线节点连接到总线的连接器,如:连接到总线的连接器
20、,如:PCA82C250PCA82C250、TJA1050TJA1050等收发器。等收发器。 ISO11898ISO11898标准数据链路层和物理层结构图标准数据链路层和物理层结构图 CANCAN的网络拓扑的网络拓扑 CAN CAN以以多主方式多主方式工作,网络上任意一个节点均可以在工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。其网络拓扑形式大多是总线型结主从,通信方式灵活。其网络拓扑形式大多是总线型结构,拓扑示意图见构,拓扑示意图见下图下图。 节点节点1 1节点节点2 2节点节点3 3节点节
21、点4 4CANCAN总线总线CANCAN的总线型网的总线型网CANCAN的网络拓扑的网络拓扑CANCAN的物理层的物理层CANCAN的物理媒体连接的物理媒体连接 CAN CAN总线物理层的物理媒体连接比较灵活,可以采用共地总线物理层的物理媒体连接比较灵活,可以采用共地的单线式(汽车常用)、双线式、同轴电缆、双绞线、光缆的单线式(汽车常用)、双线式、同轴电缆、双绞线、光缆等,理论上节点数目没有限制,实际可达等,理论上节点数目没有限制,实际可达110110个。个。 电子信号在总线上会被信号线终端反射回来,避免信号电子信号在总线上会被信号线终端反射回来,避免信号的反射对节点正确读取总线电压非常重要。
22、在总线的两个终的反射对节点正确读取总线电压非常重要。在总线的两个终端加上终端电阻以终结总线,可以避免信号反射。端加上终端电阻以终结总线,可以避免信号反射。 CANCAN总线具有两种逻辑状态,隐性和显性。总线具有两种逻辑状态,隐性和显性。 隐性状态下,隐性状态下,VCAN-HVCAN-H和和VCAN-LVCAN-L被固定为平均电压电平,被固定为平均电压电平,两者电压差为两者电压差为0 0。 显性状态下,显性状态下,VCAN-HVCAN-H和和VCAN-LVCAN-L分别为分别为3.5V3.5V和和1.5V1.5V,两者,两者差分电压大于差分电压大于2V2V。如。如下图所示。下图所示。 隐性状态隐
23、性状态显性状态根据根据ISO 11898 ISO 11898 的的额定额定总线电平总线电平 4.1 CAN的技术规范的技术规范 CANCAN为串行通讯协议,能有效地支持具有很高安全等级的为串行通讯协议,能有效地支持具有很高安全等级的分布实时控制。分布实时控制。CANCAN的应用范围很广,从高速的网络到低价位的应用范围很广,从高速的网络到低价位的多路接线都可以使用的多路接线都可以使用CANCAN。在汽车电子行业里,使用。在汽车电子行业里,使用CANCAN连连接发动机控制单元、传感器、防刹车系统、等等,其传输速接发动机控制单元、传感器、防刹车系统、等等,其传输速度可达度可达1Mbit/s1Mbit
24、/s。同时,可以将。同时,可以将CANCAN安装在卡车本体的电子控安装在卡车本体的电子控制系统里,诸如车灯组、电气车窗等等,用以代替接线配线制系统里,诸如车灯组、电气车窗等等,用以代替接线配线装置。装置。 技术规范的目的是为了在任何两个技术规范的目的是为了在任何两个CANCAN仪器之间建立兼容仪器之间建立兼容性。可是,兼容性有不同的方面,比如电气特性和数据转换性。可是,兼容性有不同的方面,比如电气特性和数据转换的解释。为了达到设计透明度以及实现灵活性,根据的解释。为了达到设计透明度以及实现灵活性,根据ISO/OSIISO/OSI参考模型,参考模型,CAN 2.0CAN 2.0规范细分为以下不同
25、的层次:数据链路层规范细分为以下不同的层次:数据链路层和物理层和物理层( (如图如图4.4.1 1所示所示) )。 位编码位编码/解码解码 位定时位定时 同步同步 驱动器接收器特性驱动器接收器特性逻辑链路子层逻辑链路子层LLC 接收滤波接收滤波 超载通知超载通知 恢复管理恢复管理介质访问控制子层介质访问控制子层MAC 数据包装数据包装/解包解包 帧编码帧编码 介质访问管理介质访问管理 错误监测错误监测 出错标定出错标定 应答应答 串并转换串并转换数据链路层数据链路层物理层物理层故障界定故障界定总线故障管理总线故障管理监控器监控器图图4.1 CAN的分层结构和功能的分层结构和功能1.CAN的分层
26、结构的分层结构 在以前版本的在以前版本的CANCAN规范中,数据链路层的规范中,数据链路层的LLCLLC子层和子层和MACMAC子层的服务及功能分别被解释为子层的服务及功能分别被解释为“对象层对象层”和和“传输层传输层”。 逻辑链路控制子层逻辑链路控制子层(LLC)(LLC)的作用范围如下:的作用范围如下: 为远程数据请求以及数据传输提供服务。为远程数据请求以及数据传输提供服务。 确定由实际要使用的确定由实际要使用的LLCLLC子层接收哪一个报文。子层接收哪一个报文。 为恢复管理和过载通知提供手段。为恢复管理和过载通知提供手段。 MACMAC子层的作用主要是传送规则,也就是控制帧结构、执子层的
27、作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。位定时的一些普行仲裁、错误检测、出错标定、故障界定。位定时的一些普通功能也可以看作是通功能也可以看作是MACMAC子层的一部分。子层的一部分。 物理层的作用物理层的作用是在不同节点之间根据所有的电气属性进是在不同节点之间根据所有的电气属性进行位的实际传输。行位的实际传输。 CANCAN具有以下的属性:具有以下的属性: 报文的优先权报文的优先权 保证延迟时间保证延迟时间 设置灵活设置灵活 时间同步的多点接收时间同步的多点接收 系统内数据的连贯性系统内数据的连贯性 多主机多主机 错误检测和错误标定错误检测和错误标定 只要
28、总线一处于空闲,就自动将破坏的报文重新传输只要总线一处于空闲,就自动将破坏的报文重新传输 将节点的暂时性错误和永久性错误区分开来,并且可以自动将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭由关闭由OSI参考模型分层参考模型分层CAN结构的错误的节点。结构的错误的节点。依据依据ISO/OSIISO/OSI参考模型的层结构具有以下功能参考模型的层结构具有以下功能: : 物理层物理层定义信号是如何实际地传输的,因此涉及到位时定义信号是如何实际地传输的,因此涉及到位时间、位编码、同步的解释。技术规范没有定义物理层的驱动间、位编码、同步的解释。技术规范没有定义物理层的驱动器器/ /接收器特性,
29、以便允许根据它们的应用,对发送媒体和接收器特性,以便允许根据它们的应用,对发送媒体和信号电平进行优化。信号电平进行优化。 MACMAC子层是子层是CANCAN协议的核心。它把接收到的报文提供给协议的核心。它把接收到的报文提供给LLCLLC子层,并接收来自子层,并接收来自LLCLLC子层的报文。子层的报文。MACMAC子层负责报文分子层负责报文分帧、仲裁、应答、错误检测和标定。帧、仲裁、应答、错误检测和标定。MACMAC子层也被称作故障子层也被称作故障界定的管理实体监管。此故障界定为自检机制,以便把永久界定的管理实体监管。此故障界定为自检机制,以便把永久故障和短时扰动区别开来。故障和短时扰动区别
30、开来。 LLCLLC子层涉及报文滤波、过载通知、以及恢复管理。子层涉及报文滤波、过载通知、以及恢复管理。1 的基本概念的基本概念 (1 1)报文)报文 总线上的报文以不同的固定报文格式发送,但长度受限。总线上的报文以不同的固定报文格式发送,但长度受限。当总线空闲时任何连接的单元都可以开始发送新的报文。当总线空闲时任何连接的单元都可以开始发送新的报文。 (2 2)信息路由)信息路由 在在CANCAN系统里,系统里,CANCAN的节点不使用任何关于系统配置的报文的节点不使用任何关于系统配置的报文(比如,节点地址)。这样不用依赖应用层以及任何节点软件(比如,节点地址)。这样不用依赖应用层以及任何节点
31、软件和硬件的改变,就可以在和硬件的改变,就可以在CANCAN网络中直接添加节点,提高了系统网络中直接添加节点,提高了系统灵活性。报文的内容由识别符命名。识别符不指出报文的目的灵活性。报文的内容由识别符命名。识别符不指出报文的目的地,但解释数据的含义。因此,网络上所有的节点可以通过报地,但解释数据的含义。因此,网络上所有的节点可以通过报文滤波确定是否应对该数据做出反应。为确保报文在文滤波确定是否应对该数据做出反应。为确保报文在CAN CAN 网络网络里同时被所有的节点接收(或同时不被接收),要通过多播和里同时被所有的节点接收(或同时不被接收),要通过多播和错误处理的原理实现的。错误处理的原理实现
32、的。 (3 3)位速率)位速率 不同的系统,不同的系统,CANCAN的速度不同。在一个给定的系统里,位的速度不同。在一个给定的系统里,位速率是唯一的,并且是固定的。速率是唯一的,并且是固定的。 (4 4)优先权)优先权 在总线访问期间,识别符定义一个静态的报文优先权。在总线访问期间,识别符定义一个静态的报文优先权。 (5 5)远程数据请求)远程数据请求 通过发送远程帧,需要数据的节点可以请求另一节点发送通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符命相应的数据帧。数据帧和相应的远程帧是由相同的识别符命名的。名的。 (6 6)仲裁)仲裁 只要
33、总线空闲,任何单元都可以开始发送报文。具有较高只要总线空闲,任何单元都可以开始发送报文。具有较高优先权报文的单元可以获得总线访问权。如果优先权报文的单元可以获得总线访问权。如果2 2个或个或2 2个以上的个以上的单元同时开始传送报文,那么就会有总线访问冲突。单元同时开始传送报文,那么就会有总线访问冲突。 仲裁的仲裁的机制确保了报文和时间均不损失。当具有相同识别机制确保了报文和时间均不损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。 仲裁期间,每一个发送器都对发送位的电平与被监控的总仲裁期间,每一个发送器都对发送位的电平
34、与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一如果发送的是一“隐性隐性”电平而监视的是一电平而监视的是一“显性显性”电平(见电平(见总线值),那么单元就失去了仲裁,必须退出发送状态。总线值),那么单元就失去了仲裁,必须退出发送状态。 (7 7)错误检测)错误检测 1)1)要进行检测错误,必须采取以下措施:要进行检测错误,必须采取以下措施: 监视(发送器对发送位的电平与被监控的总线电平进监视(发送器对发送位的电平与被监控的总线电平进行比较)行比较) 循环冗余检查循环冗余检查 位填充位填充 报文格式检查报文格式
35、检查 2) 2) 错误检测的执行错误检测的执行.错误检测的机制要具有以下的属性:错误检测的机制要具有以下的属性: 检测到所有的全局错误检测到所有的全局错误 检测到发送器所有的局部错误检测到发送器所有的局部错误 可以检测到报文里多达可以检测到报文里多达5 5个任意分布的错误个任意分布的错误 检测到报文里长度低于检测到报文里长度低于1515(位)的突发性错误(位)的突发性错误 检测到报文里任一奇数个的错误检测到报文里任一奇数个的错误 3)3)错误标定和恢复时间错误标定和恢复时间 任何检测到错误的节点会标志出损坏的报文。此报文会失任何检测到错误的节点会标志出损坏的报文。此报文会失效并将自动地开始重新
36、传送。效并将自动地开始重新传送。如果不再出现错误的话,从检测如果不再出现错误的话,从检测到错误到下一报文的传送开始为止,恢复时间最多为到错误到下一报文的传送开始为止,恢复时间最多为31个位的个位的时间。时间。 (8 8)故障界定)故障界定 CAN CAN节点能够把永久故障和短暂扰动区别开来。故障的节节点能够把永久故障和短暂扰动区别开来。故障的节点会被关闭。点会被关闭。 (9 9)总线值)总线值 总线有二个互补的逻辑值:总线有二个互补的逻辑值:“显性显性”或或“隐性隐性”。“显性显性”位和位和“隐性隐性”位同时传送时,总线的结果值为位同时传送时,总线的结果值为“显性显性”。比如,。比如,在总线的
37、在总线的“写与写与”执行时,逻辑执行时,逻辑0 0代表代表“显性显性”等级,逻辑等级,逻辑1 1代代表表“隐性隐性”等级。等级。 (1010)应答)应答 所有的接收器检查报文的连贯性。对于连贯的报文,接收所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答,对于不连贯的报文,接收器作出标志。器应答,对于不连贯的报文,接收器作出标志。 3 CAN报文报文传送和帧结构传送和帧结构标准帧标准帧 11位标识符扩展帧扩展帧 29位标识符帧类型帧类型 数据帧、远程帧、错误帧和过载帧 数据帧数据帧:数据帧携带数据从发送器至接收器。总线上传输:数据帧携带数据从发送器至接收器。总线上传输的大多是这个帧。的大
38、多是这个帧。 远程帧远程帧:由总线单元发出,请求发送具有同一识别符的数:由总线单元发出,请求发送具有同一识别符的数据帧。数据帧(或远程帧)通过帧间空间与其他各帧分开。据帧。数据帧(或远程帧)通过帧间空间与其他各帧分开。 错误帧错误帧:任何单元一但检测到总线错误就发出错误帧。:任何单元一但检测到总线错误就发出错误帧。 过载帧过载帧:过载帧用以在先行的和后续的数据帧(或远程帧):过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。之间提供一附加的延时。 (1) 数据帧 由7个不同的场组成。数据场长度可为0 CAN2.0B存在标准和扩展两种帧格式 为了设计简单,可以对标准格式执行部分扩
39、展,不一定要完全扩展 可以用整个标识符进行报文滤波,也可以把标识符屏蔽一部分进行报文滤波仲裁场控制场数据场CRC场帧间空间帧结束帧起始ACK场帧间空间数据帧数据帧的标准格式和扩展格式 标准格式 扩展格式仲裁场控制场数据场11位标识符SOFRTRIDEr0DLC仲裁场控制场数据场11位标识符SOFRTRIDEDLC18位标识符 r1 r0SRR数据帧的标准格式和扩展格式 帧起始(帧起始(SOFSOF)仅由一显位构成。所有站都必须同步于首先发送的那个帧起始前沿 仲裁场(标准格式)仲裁场(标准格式)由11位标识符ID28 ID18、远程发送请求位RTR组成,其中ID高七位不可全为1(隐性)。 仲裁场
40、(扩展格式)仲裁场(扩展格式)由29位标识符ID28 ID0、SRR位、IDE位、RTR位组成 SRR是隐性位,它用于替代标准格式的RTR位。 IDE=1(隐性)代表扩展格式。IDE位在扩展格式中位于仲裁场而在标准格式中位于控制场。数据帧的标准格式和扩展格式 控制场控制场由6个位组成 数据长度码数据长度码DLC3DLC0指示数据场的字节数,08,其他数值不允许使用。 保留位保留位r1和r0必须为0,IDE(标准格式)=0 数据场:数据场:08个字节,8位/字节,MSB先发 CRCCRC场场由15位CRC序列和1位CRC界定符组成。CRC界定符为一隐性位。保留位控制场数据场或CRC场数据长度码仲
41、裁场IDE/r1r0DLC3DLC2DLC1DLC0数据帧的标准格式和扩展格式 应答场应答场为2位,包括应答间隙和应答界定符,不进行位填充。 在应答间隙时间,发送器发隐位;所有正确接收到有效报文的接收器发一个显位。 应答界定符为隐位(1)。 帧结束:帧结束:由7个隐位组成,不进行位填充。(2)远程帧需要数据的节点可以发送远程帧请求另一节点发送相应数据帧远程帧的RTR位是隐性的,它没有数据场,所以数据长度码没有意义。(3) 错误帧 错误帧由两个不同的场组成,第一个场是不同站提供的错误标志的叠加,第二个场是错误界定符。 错误标志错误标志分两种,主动错误标志(6个显性位)和被动错误标志(6个隐性位)
42、 检测到错误条件的“错误主动”站发送主动错误标志,这样一来所有其他站都会检测到错误条件并开始发送错误标志。叠加在一起最多12个显性位.错误标志的重叠错误界定符帧间空间或过载帧错误帧数据帧错误标志(3) 错误帧 检测到错误条件的“错误被动”站发送被动错误标志。从那时开始,等待6个相同极性的位,一旦等到,被动错误标志就算完成 错误界定符错误界定符包括8个隐性位。一个站发送错误标志以后,就发送一个隐性位,并一直监视总线,直到发现一个隐性位,就发送其余7个隐性位。(4) 过载帧 过载帧包括两个场:过载标志(6个显位及其叠加)和过载界定符(8个隐位) 导致发送过载标志的条件:导致发送过载标志的条件:接收
43、器内部要求延迟下一个数据帧或远程帧,在间歇场第一或第二位检测到一个显性位,如果CAN节点在错误界定符或过载界定符的第8位(最后一位)采样到一个显性位,节点会发送一个过载帧(不是错误帧)。错误计数器不会增加。过载标志的重叠过载界定符帧间空间或过载帧过载帧帧结束或错误界定符或过载界定符过载标志(4) 过载帧 过载标志过载标志的形式与主动错误标志一样 一个站发出过载标志,其他站都将检测到过载条件并发出过载标志。 过载界定符过载界定符的形式与错误界定符一样。过载标志发送后,站就监视总线直到发现从显位到隐位的跳变,然后发送其余7个隐性位。(5) 帧间空间间歇间歇场场 间歇场包括间歇场包括3 3个个“隐性
44、隐性”的位。间歇期间,所有的站均不允的位。间歇期间,所有的站均不允许传送数据帧或远程帧,唯一要做的是标示一个过载条件。许传送数据帧或远程帧,唯一要做的是标示一个过载条件。总线空闲总线空闲 总线空闲的时间是任意的。只要总线被认定为空闲,任总线空闲的时间是任意的。只要总线被认定为空闲,任何等待发送报文的站就会访问总线。在发送其他报文期间,有报文被何等待发送报文的站就会访问总线。在发送其他报文期间,有报文被挂起,对于这样的报文,其传送起始于间歇之后的第一个位。总线上挂起,对于这样的报文,其传送起始于间歇之后的第一个位。总线上检测到的检测到的“显性显性”的位可被解释为帧的起始。的位可被解释为帧的起始。
45、挂起传送挂起传送(暂停发送场)(暂停发送场) “ “错误被动错误被动”的站发送报文后,站就在下的站发送报文后,站就在下一报文开始传送之前或总线空闲之前发出一报文开始传送之前或总线空闲之前发出8 8个个“隐性隐性”的位跟随在间的位跟随在间歇的后面。如果与此同时另一站开始发送报文(由另一站引起),则歇的后面。如果与此同时另一站开始发送报文(由另一站引起),则此站就作为这个报文的接收器。此站就作为这个报文的接收器。间歇场总线空闲帧帧间空间帧CANCAN的位仲裁技术的位仲裁技术 01Arbi t rati on LostM odul e 1M odul e 2Bus Line显性隐性失去仲裁节点1节点
46、2线上可见站3报文站1报文站2报文01111110000报文标识符01001100000010011100001丢掉0100110000001001110000101001100000丢掉跟踪位仲裁示意图位仲裁示意图 注意,总线中的信号持续跟踪最后获得总线读取权的站的注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。报文。 这种非破坏性位仲裁方法的优点在于,在网络最终确定哪这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送一个站的报文被传送以前,报文的起始部分已经在网络上传送了。所有未获得总线读取权的站都成为具有最高优先权报文的了。所
47、有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。接收站,并且不会在总线再次空闲前发送报文。 CAN CAN具有较高的效率是因为总线仅仅被那些请求总线悬而具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。顺序处理的。4 4 错误类型和界定错误类型和界定 5种错误类型:n 位错误:发送器监视到总线位数值与发出的位数值不同。仲裁场填充位和应答间隙发出隐位而检测到显位则例外n 填充错误:应该使用位填充的地方出现第6个相同位。n CRC错误:计算结
48、果与收到的CRC不同n 形式错误:固定形式的位场中出现非法位(1)应答错误:在应答间隙,发送器未检测到显位4 4 错误类型和界定错误类型和界定 检测到CRC错误,应在应答界定符后发送错误标志;检测到其他错误应在下一位发送错误标志。 节点的3 3种故障状态种故障状态:错误主动,错误被动,总线关闭 正常情况下节点是“错误主动错误主动”站站,此类站检测到错误时发送主动错误标志 出现错误较多的节点转为“错误被动错误被动”站站,此类站检测到错误时只能发被动错误标志 出现太多错误时节点转为“总线关闭总线关闭”状态状态,此时节点不可对总线有任何影响(例如关闭输出驱动器)4 4 错误类型和界定错误类型和界定
49、为了界定故障,在每个节点中都有两种计数发送错误计数和接收错误计数,按照以下规则计数:n 接收器检出错误时,接收错误计数器加1n 接收器在送出错误标志后第一位检出一个显位,接收错误计数器加8n 发送器送出一个错误标志时,发送错误计数器加8n 送出一个错误标志或过载标志时检测到位错误,发送错误计数器加8(1)报文成功发送后发送错误计数器减14 4 错误类型和界定错误类型和界定n 报文成功接收后接收错误计数器减1,但若其127则将其置为119到127之间某数n 发送错误计数器127或接收错误计数器127,节点置“错误被动”状态n 发送错误计数器255,节点置“总线关闭”状态n 两个计数器均小于等于1
50、27,错误被动节点置为错误主动节点n 在检测到总线上连续11个隐位发生128次后,总线关闭节点变为错误主动节点且两个计数器清05 5 位定时与同步的基本概念位定时与同步的基本概念 一个标称的位时间分为:同步段、传播段、相位缓冲段1、相位缓冲段2。 同步段用于同步各节点,正常情况下跳变沿落在此段内 传播段用于补偿网络内的传输延时 采样点时刻读取的电平代表这个位的电平同步段4时间份额1时间份额1位时间=10时间份额传播段1时间份额4时间份额相位缓冲段1相位缓冲段2采样点5 5 位定时与同步的基本概念位定时与同步的基本概念 时间份额由振荡器周期分频而得 各时间段长度为:同步段1份额,传播段18份额,
51、相位缓冲段1,18份额,相位缓冲段2,Max(相位缓冲段1,信息处理时间),其中信息处理时间=2份额。一个位的总时间份额数为825,可以编程。 同步的规则:n 在总线空闲时,只要检测到一个隐性到显性的边沿,就执行一次硬同步(以该边沿作为同步段)n 在总线不空闲时,若边沿落在同步段以外,则按其与同步段之差执行再同步:5 5 位定时与同步的基本概念位定时与同步的基本概念n 再同步情况:边沿落在同步段以后,则把所差份额加到相位缓冲段1n 再同步情况 :边沿落在同步段以前,则从相位缓冲段2减去所差份额n 再同步所加减的份额有个上限,该上限可取值14个时间份额,但不可大于相位缓冲段1。因为有位填充规则,
52、所以可用于再同步的边沿在一定时间内总会出现。最大可能时间间隔是29个位。一个位时间内只能执行一次同步一般只把隐性到显性的边沿用于同步CAN控制器的作用 完成CAN规范所规定的物理层和数据链路层大部分功能 有微处理器接口,易于连接单片机 结构分两种类型,独立IC或与单片机集成在一起,SJA1000属于前者 属于后者的有:PHILIPS的87C591、LPC2119,西门子的C167C,INTEL的80C196CA等 都遵循CAN2.0规范,掌握其中一种就可触类旁通4 4 CAN CAN 通信控制器通信控制器 4.2 CAN通信控制器通信控制器 SJA1000 SJA1000SJA1000是一个独
53、立的是一个独立的CANCAN控制器,它在汽车和普通的工业应用控制器,它在汽车和普通的工业应用上有先进的特征,适合于多种应用特别在系统优化诊断和维护方面上有先进的特征,适合于多种应用特别在系统优化诊断和维护方面非常重要。非常重要。 SJA1000 SJA1000独立的独立的CANCAN控制器有控制器有2 2个不同的操作模式:个不同的操作模式: 1 1 BasicCANBasicCAN模式模式:和:和PCA82C200PCA82C200兼容。兼容。BasicCANBasicCAN模式是上电后默模式是上电后默认的操作模式,因此用认的操作模式,因此用PCA82C200PCA82C200开发的已有硬件和
54、软件,可以直接开发的已有硬件和软件,可以直接在在SJA1000SJA1000上使用而不用作任何修改。上使用而不用作任何修改。 2 PeliCAN2 PeliCAN模式模式:是新的操作模式。它能够处理所有:是新的操作模式。它能够处理所有CAN2.0BCAN2.0B规规范的帧类型。而且它还提供一些增强功能,使范的帧类型。而且它还提供一些增强功能,使SJA1000SJA1000能应用于更宽能应用于更宽的领域。的领域。 工作模式通过时钟分频寄存器中的工作模式通过时钟分频寄存器中的CANCAN模式位来选择,复位时默模式位来选择,复位时默认模式是认模式是Basic CANBasic CAN模式。模式。 B
55、asicCAN 模式:缓冲器长10 个字节 2 个标识符字节 最多8 个数据字节 PeliCAN 模式 这些缓冲器是13 个字节 1 字节帧信息 2 个或4 个标识符字节标准帧或扩展帧 最多8 个数据字节BasicCAN 模式接收缓冲器PeliCAN 模式接收缓冲器CAN控制器SJA1000在系统中的位置传感器执行元件MMI模块控制器CAN控制器CAN收发器TXRX传感器执行元件MMI微控制器SJA100082C250TXRXCAN总线分布模块1分布模块21.SJA1000控制器的结构发送缓冲区验收滤波器接收FIFOCAN2.0B核心模块接口管理逻辑主控制器收发器SJA1000CAN总线线路
56、CANCAN核心模块:核心模块:根据根据CANCAN规范控制规范控制CANCAN帧的发送和接收。帧的发送和接收。 接口管理逻辑:接口管理逻辑:用于连接外部主控制器。用于连接外部主控制器。SJA1000SJA1000通过复用的地通过复用的地址址/ /数据总线,与主控制器联系。数据总线,与主控制器联系。 发送缓冲器:发送缓冲器:用于存储一个完整的扩展的或标准的报文。当主控用于存储一个完整的扩展的或标准的报文。当主控制器初始发送时,接口管理逻辑会使制器初始发送时,接口管理逻辑会使CANCAN核心模块从发送缓冲器读核心模块从发送缓冲器读CANCAN报文。报文。 验收滤波器:验收滤波器:通过这个可编程的
57、滤波器能确定主控制器要接收哪通过这个可编程的滤波器能确定主控制器要接收哪些报文。些报文。 接收接收FIFOFIFO:用于存储所有收到的报文,储存报文的多少由工作模用于存储所有收到的报文,储存报文的多少由工作模式决定,最多能存储式决定,最多能存储3232个报文。个报文。 SJA1000发送缓冲器的布局CAN地址内容16TX帧信息17TX标识码118TX标识码219TX数据字节120TX数据字节221TX数据字节322TX数据字节423TX数据字节524TX数据字节625TX数据字节726TX数据字节827未用28未用标准帧格式CAN地址内容16TX帧信息17TX标识码118TX标识码219TX标
58、识码320TX标识码421TX数据字节122TX数据字节223TX数据字节324TX数据字节425TX数据字节526TX数据字节627TX数据字节728TX数据字节8扩展帧格式SJA1000接收缓冲器(FIFO)的布局地址内容(标准帧)内容(扩展帧)16RX帧信息RX帧信息17RX标识码1RX标识码118RX标识码2RX标识码219RX数据字节1RX标识码320RX数据字节2RX标识码421RX数据字节3RX数据字节122RX数据字节4RX数据字节223RX数据字节5RX数据字节324RX数据字节6RX数据字节425RX数据字节7RX数据字节526RX数据字节8RX数据字节627RX数据字节7
59、28RX数据字节8SJA1000接收标准帧报文的单滤波器配置SJA1000接收扩展帧报文的单滤波器配置SJA1000接收标准帧报文的双滤波器配置SJA1000接收扩展帧报文的双滤波器配置图图4.14.16 6 SJA1000 SJA1000 控制器功能框图控制器功能框图 2.SJA1000控制器功能框图控制器功能框图 2.SJA1000 2.SJA1000控制器功能框图控制器功能框图 (1)1) 接口管理逻辑(接口管理逻辑(IMLIML)接口管理逻辑解释来自接口管理逻辑解释来自CPU CPU 的的命令,控制命令,控制CAN CAN 寄存器的寻址,向主控制器提供中断信息寄存器的寻址,向主控制器提
60、供中断信息和状态信息。和状态信息。 (2)2) 发送缓冲器(发送缓冲器(TXBTXB) 发送缓冲器是发送缓冲器是CPU CPU 和和BSPBSP(位(位流处理器)之间的接口,能够存储发送到流处理器)之间的接口,能够存储发送到CANCAN网络上的完网络上的完整信息,缓冲器长整信息,缓冲器长1313个字节,由个字节,由CPU CPU 写入、写入、BSP BSP 读出。读出。 (3)3)接收缓冲器(接收缓冲器(RXBRXB,RXFIFORXFIFO) 接收缓冲器是验收接收缓冲器是验收滤波器和滤波器和CPUCPU之间的接口,用来储存从之间的接口,用来储存从CAN CAN 总线上接收的总线上接收的信息。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿古诗学习课件
- 《光生伏特器》课件
- 大学生职业规划公共服务
- 适老智能家居系统功能性需求
- 两位数加减一位数综合练习试题
- 《理科班监督权威》课件
- 医疗行业职业道德规范
- 正常妊娠妇女的护理
- 市妇幼保健院终末住院病历质量评价用表
- 临床治疗诊疗流程规范
- 生物技术在精准医疗领域的应用与研究
- XXX-工厂制造业绩效考核方案(内含岗位职责及KPI指标)
- 2024高考语文复习 文言文阅读 《史记》 专题练习( 解析)
- 建筑制图复习题及答案
- 公证服务开展法律知识讲座
- 消化科护士的危重病人护理技术
- 做好新形势下社会稳定工作的思考
- 培养小学生的科学实验和观察能力
- 养成良好睡眠习惯的十四个技巧
- 鲁教版英语七年级上册unit5单元知识点归纳总结
- 女性压力性尿失禁课件
评论
0/150
提交评论