CAN现场总线介绍解析ppt课件.ppt
《CAN现场总线介绍解析ppt课件.ppt》由会员分享,可在线阅读,更多相关《CAN现场总线介绍解析ppt课件.ppt(135页珍藏版)》请在三一办公上搜索。
1、内容介绍,CAN总线概述,1,CAN总线数据链路层,2,CAN总线物理层,3,CAN总线应用层协议,4,CAN总线概述,返回目录,CAN总线概述,CAN(Controller Area Network:控制器局域网)是二十世纪八十年代初德国Bosch公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发的一种串行通信协议。是交通运载工具电气系统中应用较广的总线。现在向过程工业,机械工业,机器人,数控机床,传感器等方面发展。1993 年11 月, ISO 正式颁布CAN 为国际标准ISO11898。支持CAN协议的公司有Intel 、Motorola 、Philips 、Siemen
2、s、NEC、Honeywell等公司。,与其它现场总线比较,CAN总线特点,通信方式灵活。通讯距离最大10KM(5Kbps);通信速度最高达1Mbps(40M)。非破坏性仲裁,节省了总线冲突仲裁时间。短帧结构,出错严重时可自动关闭节点。芯片制造商支持。,CAN的发展历史,1981年Bosch和Intel公司共同开发了CAN协议1991年Bosch公司正式颁布CAN技术规范(2.0版) 包括2.0A和2.0B两部分: 2.0A规范了11位标准帧的各项定义 2.0B规范了29位扩展帧的各项定义1991年,Mercedes发布第一款带CAN总线的轿车:Sclass1993年,ISO正式颁布了道路交通
3、运输工具数据信息交换高速通信控制器局域网(CAN)的国际标准ISO118982003年,Maybach发布带76个ECU的新车型(CAN,LIN,MOST)2003年,VW发布带35个ECU的新型Golf未来,CAN总线将部分被FlexRay所取代,但CAN总线将仍会被持续应用相当长的时间。,CAN工作原理,在CAN总线上传输的数据报文不包含发送节点和接收节点的信息每个报文的内容通过标识符识别,标识符在网络中是唯一的标识符描述了数据的含义某些特定的应用对标识符功能分配进行了标准化报文可以被所有节点同时接收可以进行相关性报文过滤,如果相关,就进行报文处理,基本概念,多主站结构节点数量不受协议限制
4、 无节点地址,由消息标识符指定消息内容与优先级,节点容易连接或断开广播/多点传播能力,基本概念(续),复杂的错误监测与处理便于同步的NRZ编码方式与位填充每条消息最多可带8字节数据最高传输速率1Mbps通过CSMA/CD方式进行总线访问,标识符,标识符是唯一的,它描述了数据的特定含义,也决定了报文的优先级:标识符数值越小,优先级越高最高优先级的报文获得总线访问权低优先级报文在下一个总线周期自动重发。,NRZ编码,采用不归零位编码(带位填充) 数据以双线间差分电压表示NRZ编码确保报文紧凑,脉冲跳变最少,对外界扰动的抵抗能力强,位填充,位编码和位填充 NRZ编码不能保证足够的跳变延用于同步位填充
5、是为了保证有足够的隐性到显性的跳变沿 填充位出现在5个连续的相同极性的位之后 填充位与其前面的位极性相反,隐性和显性位,“线与”机制,总线长度和波特率,O.S.I.参考模型,O.S.I.参考模型(续),CAN规范定义了数据物理层和数据链路层CAN在汽车和工业自动化领域应用非常广泛,CAN总线数据链路层,返回目录,介质访问控制,CAN使用载波侦听和带冲突检测协议的多路访问(CSMA/CD)与以太网不同当多个数据帧同时在网络上传输时采用非破坏 性位序列仲裁,最高优先级的报文获得总线访问权,位序列仲裁,CAN报文的优先级由标识符值决定报文的标识符的数值在系统设计的初始阶段分配 不同节点不允许发送相同
6、ID报文(远程帧除外)标识符数值越小,优先级越高。总线冲突通过非破坏性位序列仲裁解决。位仲裁采用“线与”机制,显性位(0)覆盖隐性位(1),非破坏性总线仲裁,帧格式概述,现有的帧格式,帧格式 数据帧,CRC,CRC场为16位,其中15位CRC码用于错误检测,1个隐性位用作分隔符G(x) = x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1,应答场,任何正确收到报文的CAN控制器都会在报文结束时发送应答位发送者在ack slot发送隐性位任何接受者在ack slot发送显性位发送方检测是否存在应答位,如果没有将会重发报文,帧结束(7个隐性位),帧格式 远程帧,帧格式
7、 远程帧(续),远程帧的使用示意,帧格式 错误帧,激活错误帧:用于错误的信号传输,帧格式 过载帧,过载帧用于延迟下CAN消息,帧格式 帧间空间,帧间空间:作为任何消息帧与下一个数据帧或远程帧的分隔。,错误检测 概述,可检测的错误,错误检测 循环冗余码校验(CRC),计算出的校验值与接收到的校验值必须一致,错误检测 循环冗余码校验(CRC)(续),否则消息帧没有被正确接收(CRC Error),错误检测 应答,一个帧必须被一个或几个节点应答,否则会出现应答错误,错误检测 帧检测,在CRC分隔符、ACK分隔符、帧结束、帧间隔中不允许出现显性位否则出现形式错误(Form Error)。,错误检测 位
8、监测,所发送的位必须从总线上正确回读在仲裁域和应答间隙,隐性位可以被显性位重写,错误检测 位填充检查,在帧起始位与CRC分隔符之间不允许存在6个连续的相同极性的位出现。,错误处理,错误处理(续),错误计数器,1、在接收过程中发现一个错误,接收错误计数器加1例外:在错误帧Flag或过载帧Flag发送过程中的位错误不计数2、当接收节点发现错误帧Flag之后的第一个位为显性位,接收错误计数器加83、当一个发送节点发送一个错误帧,发送错误计数器加8 例外1:如果发送节点为被动错误状态,则当作没有检测到显性应答或发送错误帧时没有检测到显性位 例外2:如果发送节点发送错误帧是由于在仲裁过程中发生了位填充错
9、误(这个填充位在RTR位之前,应该为隐性。这个填充位的确是被当作隐性发送出去的,但是通过对总线的检测发现是显性)4、如果发送节点在发送主动错误Flag或过载Flag的过程中发现一个位错误发送错误计数器加85、如果接收节点在接收主动错误Flag或过载Flag的过程中发现一个位错误,接收错误计数器加8,错误计数器(续),6、任何节点在发送主动错误Flag,被动错误Flag或过载Flag之后最多能够容忍7个连续的显性位。如果出现了第8个显性位,则发送节点的发送错误计数器加8,接收节点的接收错误计数器加8:7、当成功发送一个报文,发送错误计数器减18、当成功接收一个报文接收错误计数器减1(如果接收错误
10、计数器在1到127之间)。如果接收错误计数器大于127,则接收错误计数器被置为119到127之间的一个值。9、当节点进入Bus off状态时,如果总线上出现128个连续的11位隐性位,发送错误计数器和接收错误计数器被清零。,CAN协议版本,具有两个适用的CAN协议版本V2.0A(标准)11位消息ID最多2048种消息ID号,V2.0B(扩展)29位消息ID超过536x106种消息ID号,CAN协议版本,CAN协议版本(续),可用的CAN模块有三种不同类型(均可处理11位ID):2.0A 将29位ID视为错误2.0B 被动 忽略29位ID的消息2.0B 主动 可处理11位与29位两种ID的消息。
11、,CAN协议版本(续),当多个版本的协议混合使用时,必须千万小心!,CAN总线物理层,返回目录,CAN总线的同步机制,硬同步(SOF),重同步,位构建,每个位时间分为4个时间段,包括825个时间份额(Time Quantum)。时间份额来源于对晶振频率可编程的分频。CAN波特率可通过编程设置合适的时间份额长度与数量来确定。,同步段(Synchronization Segment),一位的输出从同步段的开头启动(对于发送节点)如果总线状态要被改变,接收节点应在这个时间段内进行改变固定长度,1个时间份额。,传播段(Propagation Segment),补偿信号传播延时(通过网络与节点)长度编程
12、( 1 8个时间份额),相位缓冲段1(Phase Buffer Segment 1),允许通过重新同步对该段时间加长在这个时间段的末端进行总线状态的采样长度可编程(1 8个时间份额),相位缓冲段2(Phase Buffer Segment 2),允许通过重新同步对该段时间缩短长度可编程(18个时间份额),相位缓冲段2(Phase Buffer Segment 2),允许通过重新同步对该段时间缩短长度可编程(18个时间份额),位延长,位延长(续),位缩短,位缩短(续),同步跳转宽度,在重新同步中,位长度可调整的时间份额数量定义为同步跳转宽度(Synchronization Jump Width)
13、相位缓冲段1可以被延长的时间份额数量相位缓冲段2可以被缩短的时间份额数量同步跳转宽度是强制设置的:最短为1个时间份额,最长为4个时间份额,位定时,为了方便编程许多CAN模块常常将传播时间段与相位缓冲段1合并为一个时间段(即,只有3个时间段),为什么要对采样位置编程?,提前采样可以减小振荡器误差的敏感性便于使用价格低廉的振荡器(如陶瓷振荡器),为什么要对采样位置编程?(续),延迟采样可以获取更多的信号传播时间便于处理更长的总线/不合理的总线拓扑结构,ISO物理层,常用的ISO物理层:双绞线,两端连接终端电阻,典型阻值为120欧姆两线使用差分信号驱动(CAN_H,CAN_L),CAN与EMI,CA
14、N对于电磁干扰(EMI)不敏感,标准化规定,高速CAN与低速CAN的电平信号,高速CAN与低速CAN网络拓扑,ISO 11898,ISO 11898-1CAN总线数据链路层标准ISO 11898-2高速CAN物理层标准ISO 11898-3低速CAN物理层标准ISO 11898-4TTCAN时间触发CANISO 11898-5高速CAN with Sleep Mode,ISO-IS 11898规定的物理层,ISO-IS 11898规定的总线电平,CiA-DS 102-1规定的CAN总线连接器,Basic-CAN 控制器,一般只用于速率很低或消息量很少的CAN节点中,Full-CAN 控制器,适
15、用于高波特率及多种消息的高总线负载的总线系统,CAN总线应用层协议,返回目录,CAN总线应用层协议,从OSI网络模型的角度来看,CAN现场总线仅仅定义了第1层、第2层。实际设计中,这两层完全由硬件实现。但是CAN总线没有定义应用层。因此,需要一个高层协议来定义CAN报文中的11/29位标识符、8位字节数据的使用。,CAN总线应用层协议,常见的CAN应用层协议:CANopenDeviceNetSAE J1939,CANopen概述,CAN和CANopen标准在OSI网络模型中的原理图,CANopen概述,应用层协议内容应用层提供一组服务和协议通讯规范提供配置设备的方法和通讯数据,定义了设备之间的
16、数据如何通讯。设备规范为设备增加了设备相关的类行为,CAL(CAN Application Layer),CAL(CAN Application Layer)协议是目前基于CAN的高层通讯协议中的一种,提供了4种应用层服务功能CMS (CAN-based Message Specification)CMS提供基于变量、事件、域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过8字节的一组数据(域),并且有终止传输的功能)。,CAL(CAN Application Layer),NMT (Network ManagemenT)提供网络管理(如初始化、启动和停止节点,
17、侦测失效节点)服务。这种服务是采用主从通讯模式(所以只有一个NMT主节点)来实现的。,CAL(CAN Application Layer),DBT (DistriBuTor)提供动态分配CAN ID(正式名称为COB-ID,Communication Object Identifier)服务。这种服务是采用主从通讯模式(所以只有一个DBT主节点)来实现的。,CAL(CAN Application Layer),LMT (Layer ManagemenT)LMT提供修改层参数的服务:一个节点(LMT Master)可以设置另外一个节点(LMT Slave)的某层参数(如改变一个节点的NMT地址,
18、或改变CAN接口的位定时和波特率)。,CAL(CAN Application Layer),CMS为它的消息定义了8个优先级,每个优先级拥有220个COB-ID,范围从1到1760。剩余的标志(0,1761-2031)保留给NMT,DBT和LMT。 COB-ID越低优先级越高。,CANopen协议介绍,通信接 口和协议软件用于提供在总线上收发通信对象的服务,不同CANopen设备间的通信是通过交换通信对象来完成的。 对象字典描述了设备使用的所有数据类型、通信对象和应用对象,对象字典位于通信程序和应用程序之间,用于向应用程序提供接口,应用程序对对象字典进行操 作,即可实现CANopen通信。它包
19、括功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen通信,而功能部分则根据应用要求来实现。,CANopen协议介绍,CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型。而这正是CANopen切入点。 CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen的核心概念是设备对象字典(OD:Object Dictionary),对象字典不是CAL的一部分,而是在CANopen中实现的。,对象字典(OD),对象字典(OD:Object Dictionary)是一个有序的对
20、象组;每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8位的子索引,CANopen网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。,对象字典(OD),在使用对象字典来建立对象的描述时,要能够正确描述所建立的对象含义。例如,一个节点的两个模拟通道的对象字典的描述,如表2所示。对于这样的描述,可以通过建立包含所有对象信息的库文件来实现,以类似于C语言的方式来实现。 表2 对象字典的描述用于实现上述对象字典的C语言结构:typedef struct UNSIGNED8 Entries_Number;UNSIGNED32 An_
21、Input1;UNSIGNED32 An_Input2;Analog_Input;,对象字典(OD),OD通过通信对象描述了设备的所有功能,介于应用程序和通信接口之间在CANopen 网络系统中每个节点都有唯一的一个对象字典,而且每个节点的对象字典都具有相同的结构,但具体的内容要根据不同的设备而定,通信模型,包括CANopen网络上的消息帧,以及其内容和功能。管理消息服务数据对象过程服务对象特殊功能对象,管理消息,层管理,网络管理和ID分配服务:如初始化,配置和网络管理(包括:节点保护)。 Boot-up消息、Heartbeat消息、NMT消息服务和协议符合CAL中的LMT,NMT和DBT服务
22、部分。这些服务都是基于主从通讯模式:在CAN网络中,只能有一个LMT,NMT或DBT主节点以及一个或多个从节点。,Boot-up消息,1: Start_Remote_node (0 x01) 2:Stop_Remote_Node (0 x02) 3: Enter_Pre-Operational_State (0 x80) 4: Reset_Node (0 x81) 5:Reset_Communication (0 x82) 6:设备初始化结束,自动进入Pre_Operational状态,发送Boot-up消息 通知NMT主节点已经到就绪状态,Boot-up消息,NMT-slave节点发布Boo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN 现场总线 介绍 解析 ppt 课件
链接地址:https://www.31ppt.com/p-2004009.html