CAN现场总线介绍资料课件

上传人:文**** 文档编号:240745272 上传时间:2024-05-04 格式:PPT 页数:135 大小:4.73MB
返回 下载 相关 举报
CAN现场总线介绍资料课件_第1页
第1页 / 共135页
CAN现场总线介绍资料课件_第2页
第2页 / 共135页
CAN现场总线介绍资料课件_第3页
第3页 / 共135页
点击查看更多>>
资源描述
内容介绍内容介绍CAN总线概述总线概述1CAN总线数据链路层总线数据链路层2CAN总线物理层总线物理层3CAN总线应用层协议总线应用层协议4CAN总线概述返回目录返回目录CAN总线概述总线概述CAN(ControllerAreaNetwork:控制器局域网)是二十世纪八十年代初德国Bosch公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发的一种串行通信协议。是交通运载工具电气系统中应用较广的总线。现在向过程工业,机械工业,机器人,数控机床,传感器等方面发展。1993年11月,ISO正式颁布CAN为国际标准ISO11898。支持CAN协议的公司有Intel、Motorola、Philips、Siemens、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正式颁布了道路交通运输工具数据信息交换高速通信控制器局域网(CAN)的国际标准ISO118982003年,Maybach发布带76个ECU的新车型(CAN,LIN,MOST)2003年,VW发布带35个ECU的新型Golf未来,CAN总线将部分被FlexRay所取代,但CAN总线将仍会被持续应用相当长的时间。CAN工作原理工作原理在CAN总线上传输的数据报文不包含发送节点和接收节点的信息每个报文的内容通过标识符识别,标识符在网络中是唯一的u标识符描述了数据的含义u某些特定的应用对标识符功能分配进行了标准化报文可以被所有节点同时接收可以进行相关性报文过滤,如果相关,就进行报文处理基本概念基本概念多主站结构节点数量不受协议限制无节点地址,由消息标识符指定消息内容与优先级节点容易连接或断开广播/多点传播能力基本概念(续)基本概念(续)复杂的错误监测与处理便于同步的NRZ编码方式与位填充每条消息最多可带8字节数据最高传输速率1Mbps通过CSMA/CD方式进行总线访问标识符标识符标识符是唯一的,它描述了数据的特定含义,也决定了报文的优先级:标识符数值越小,优先级越高最高优先级的报文获得总线访问权低优先级报文在下一个总线周期自动重发。NRZ编码编码采用不归零位编码(带位填充)数据以双线间差分电压表示NRZ编码确保报文紧凑,脉冲跳变最少,对外界扰动的抵抗能力强位填充位填充位编码和位填充NRZ编码不能保证足够的跳变延用于同步位填充是为了保证有足够的隐性到显性的跳变沿填充位出现在5个连续的相同极性的位之后填充位与其前面的位极性相反隐性和显性位隐性和显性位“线与线与”机制机制总线长度和波特率总线长度和波特率O.S.I.参考模型参考模型O.S.I.参考模型(续)参考模型(续)CAN规范定义了数据物理层和数据链路层CAN在汽车和工业自动化领域应用非常广泛CAN总线数据链路层返回目录返回目录介质访问控制介质访问控制CAN使用载波侦听和带冲突检测协议的多路访问(CSMA/CD)与以太网不同当多个数据帧同时在网络上传输时采用非破坏性位序列仲裁,最高优先级的报文获得总线访问权位序列仲裁位序列仲裁CAN报文的优先级由标识符值决定报文的标识符的数值在系统设计的初始阶段分配不同节点不允许发送相同ID报文(远程帧除外)标识符数值越小,优先级越高。总线冲突通过非破坏性位序列仲裁解决。位仲裁采用“线与”机制,显性位(0)覆盖隐性位(1)非破坏性总线仲裁非破坏性总线仲裁帧格式帧格式概述概述现有的帧格式帧格式帧格式 数据帧数据帧CRCCRC场为16位,其中15位CRC码用于错误检测,1个隐性位用作分隔符G(x)=x15+x14+x10+x8+x7+x4+x3+1应答场应答场任何正确收到报文的CAN控制器都会在报文结束时发送应答位u发送者在ackslot发送隐性位u任何接受者在ackslot发送显性位发送方检测是否存在应答位,如果没有将会重发报文帧结束(帧结束(7个隐性位)个隐性位)帧格式帧格式 远程帧远程帧帧格式帧格式 远程帧(续)远程帧(续)远程帧的使用示意帧格式帧格式 错误帧错误帧激活错误帧:用于错误的信号传输帧格式帧格式 过载帧过载帧过载帧用于延迟下CAN消息帧格式帧格式 帧间空间帧间空间帧间空间:作为任何消息帧与下一个数据帧或远程帧的分隔。错误检测错误检测 概述概述可检测的错误错误检测错误检测 循环冗余码校验(循环冗余码校验(CRC)计算出的校验值与接收到的校验值必须一致错误检测错误检测 循环冗余码校验(循环冗余码校验(CRC)(续)(续)否则消息帧没有被正确接收(CRCError)错误检测错误检测 应答应答一个帧必须被一个或几个节点应答,否则会出现应答错误错误检测错误检测 帧检测帧检测在CRC分隔符、ACK分隔符、帧结束、帧间隔中不允许出现显性位否则出现形式错误(FormError)。错误检测错误检测 位监测位监测所发送的位必须从总线上正确回读在仲裁域和应答间隙,隐性位可以被显性位重写错误检测错误检测 位填充检查位填充检查在帧起始位与CRC分隔符之间不允许存在6个连续的相同极性的位出现。错误处理错误处理错误处理(续)错误处理(续)错误计数器错误计数器1、在接收过程中发现一个错误,接收错误计数器加1例外:在错误帧Flag或过载帧Flag发送过程中的位错误不计数2、当接收节点发现错误帧Flag之后的第一个位为显性位,接收错误计数器加83、当一个发送节点发送一个错误帧,发送错误计数器加8例外1:如果发送节点为被动错误状态,则当作没有检测到显性应答或发送错误帧时没有检测到显性位例外2:如果发送节点发送错误帧是由于在仲裁过程中发生了位填充错误(这个填充位在RTR位之前,应该为隐性。这个填充位的确是被当作隐性发送出去的,但是通过对总线的检测发现是显性)4、如果发送节点在发送主动错误Flag或过载Flag的过程中发现一个位错误发送错误计数器加85、如果接收节点在接收主动错误Flag或过载Flag的过程中发现一个位错误,接收错误计数器加8错误计数器(续)错误计数器(续)6、任何节点在发送主动错误Flag,被动错误Flag或过载Flag之后最多能够容忍7个连续的显性位。如果出现了第8个显性位,则发送节点的发送错误计数器加8,接收节点的接收错误计数器加8:7、当成功发送一个报文,发送错误计数器减18、当成功接收一个报文接收错误计数器减1(如果接收错误计数器在1到127之间)。如果接收错误计数器大于127,则接收错误计数器被置为119到127之间的一个值。9、当节点进入Busoff状态时,如果总线上出现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的消息。CAN协议版本(续)协议版本(续)当多个版本的协议混合使用时,必须千万小心!CAN总线物理层返回目录返回目录CAN总线的同步机制总线的同步机制硬同步(SOF)重同步位构建位构建每个位时间分为4个时间段,包括825个时间份额(TimeQuantum)。时间份额来源于对晶振频率可编程的分频。CAN波特率可通过编程设置合适的时间份额长度与数量来确定。同步段(同步段(Synchronization Segment)一位的输出从同步段的开头启动(对于发送节点)如果总线状态要被改变,接收节点应在这个时间段内进行改变固定长度,1个时间份额。传播段(传播段(Propagation Segment)补偿信号传播延时(通过网络与节点)长度编程(18个时间份额)相位缓冲段相位缓冲段1(Phase Buffer Segment 1)允许通过重新同步对该段时间加长在这个时间段的末端进行总线状态的采样长度可编程(18个时间份额)相位缓冲段相位缓冲段2(Phase Buffer Segment 2)允许通过重新同步对该段时间缩短长度可编程(18个时间份额)相位缓冲段相位缓冲段2(Phase Buffer Segment 2)允许通过重新同步对该段时间缩短长度可编程(18个时间份额)位延长位延长位延长(续)位延长(续)位缩短位缩短位缩短(续)位缩短(续)同步跳转宽度同步跳转宽度在重新同步中,位长度可调整的时间份额数量定义为同步跳转宽度(Synchronization Jump Width)相位缓冲段1可以被延长的时间份额数量相位缓冲段2可以被缩短的时间份额数量同步跳转宽度是强制设置的:最短为1个时间份额,最长为4个时间份额位定时位定时为了方便编程许多CAN模块常常将传播时间段与相位缓冲段1合并为一个时间段(即,只有3个时间段)为什么要对采样位置编程?为什么要对采样位置编程?提前采样可以减小振荡器误差的敏感性便于使用价格低廉的振荡器(如陶瓷振荡器)为什么要对采样位置编程?(续)为什么要对采样位置编程?(续)延迟采样可以获取更多的信号传播时间便于处理更长的总线/不合理的总线拓扑结构ISO物理层物理层常用的ISO物理层:双绞线,两端连接终端电阻,典型阻值为120欧姆两线使用差分信号驱动(CAN_H,CAN_L)CAN与与EMICAN对于电磁干扰(EMI)不敏感标准化规定标准化规定高速高速CAN与低速与低速CAN的电平信号的电平信号高速高速CAN与低速与低速CAN网络拓扑网络拓扑ISO 11898ISO11898-1CAN总线数据链路层标准ISO11898-2高速CAN物理层标准ISO11898-3低速CAN物理层标准ISO11898-4TTCAN时间触发CANISO11898-5高速CANwithSleepModeISO-IS 11898规定的物理层规定的物理层ISO-IS 11898规定的总线电平规定的总线电平CiA-DS 102-1规定的规定的CAN总线连接器总线连接器Basic-CAN 控制器控制器一般只用于速率很低或消息量很少的CAN节点中Full-CAN 控制器控制器适用于高波特率及多种消息的高总线负载的总线系统CAN总线应用层协议返回目录返回目录CAN总线应用层协议总线应用层协议从OSI网络模型的角度来看,CAN现场总线仅仅定义了第1层、第2层。实际设计中,这两层完全由硬件实现。但是CAN总线没有定义应用层。因此,需要一个高层协议来定义CAN报文中的11/29位标识符、8位字节数据的使用。CAN总线应用层协议总线应用层协议常见的CAN应用层协议:CANopenDeviceNetSAEJ1939CANopen概述概述CAN和CANopen标准在OSI网络模型中的原理图CANopen概述概述应用层协议内容应用层提供一组服务和协议通讯规范提供配置设备的方法和通讯数据,定义了设备之间的数据如何通讯。设备规范为设备增加了设备相关的类行为CAL(CAN Application Layer)CAL(CANApplicationLayer)协议是目前基于CAN的高层通讯协议中的一种,提供了4种应用层服务功能CMS(CAN-basedMessageSpecification)CMS提供基于变量、事件、域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过8字节的一组数据(域),并且有终止传输的功能)。CAL(CAN Application Layer)NMT(NetworkManagemenT)提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模式(所以只有一个NMT主节点)来实现的。CAL(CAN Application Layer)DBT(DistriBuTor)提供动态分配CANID(正式名称为COB-ID,CommunicationObjectIdentifier)服务。这种服务是采用主从通讯模式(所以只有一个DBT主节点)来实现的。CAL(CAN Application Layer)LMT(LayerManagemenT)LMT提供修改层参数的服务:一个节点(LMTMaster)可以设置另外一个节点(LMTSlave)的某层参数(如改变一个节点的NMT地址,或改变CAN接口的位定时和波特率)。CAL(CAN Application Layer)CMS为它的消息定义了8个优先级,每个优先级拥有220个COB-ID,范围从1到1760。剩余的标志(0,1761-2031)保留给NMT,DBT和LMT。COB-ID越低优先级越高。CANopen协议介绍协议介绍通信接口和协议软件用于提供在总线上收发通信对象的服务,不同CANopen设备间的通信是通过交换通信对象来完成的。对象字典描述了设备使用的所有数据类型、通信对象和应用对象,对象字典位于通信程序和应用程序之间,用于向应用程序提供接口,应用程序对对象字典进行操作,即可实现CANopen通信。它包括功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen通信,而功能部分则根据应用要求来实现。CANopen协议介绍协议介绍CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型。而这正是CANopen切入点。CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen的核心概念是设备对象字典(OD:ObjectDictionary),对象字典不是CAL的一部分,而是在CANopen中实现的。对象字典对象字典(OD)对象字典(OD:ObjectDictionary)是一个有序的对象组;每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8位的子索引,CANopen网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。对象字典对象字典(OD)在使用对象字典来建立对象的描述时,要能够正确描述所建立的对象含义。例如,一个节点的两个模拟通道的对象字典的描述,如表2所示。对于这样的描述,可以通过建立包含所有对象信息的库文件来实现,以类似于C语言的方式来实现。表2对象字典的描述用于实现上述对象字典的C语言结构:typedefstructUNSIGNED8Entries_Number;UNSIGNED32An_Input1;UNSIGNED32An_Input2;Analog_Input;索引子索引访问变量数据变量6462h0Entries_NumberUnsigned86462h1An_InputUnsigned326462h2An_Input2Unsigned32对象字典对象字典(OD)OD通过通信对象描述了设备的所有功能,介于应用程序和通信接口之间在CANopen网络系统中每个节点都有唯一的一个对象字典,而且每个节点的对象字典都具有相同的结构,但具体的内容要根据不同的设备而定通信模型通信模型包括CANopen网络上的消息帧,以及其内容和功能。管理消息服务数据对象过程服务对象特殊功能对象管理消息管理消息层管理,网络管理和ID分配服务:如初始化,配置和网络管理(包括:节点保护)。Boot-up消息、Heartbeat消息、NMT消息服务和协议符合CAL中的LMT,NMT和DBT服务部分。这些服务都是基于主从通讯模式:在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节点发布Boot-up报文通知NMT-Master节点它已经从initialising状态进入pre-operational状态。Heartbeat消息消息Heartbeat协议是为了解决错误控制,显示节点当前状态而引入的。Heartbeat消息周期性地由节点发出,表示该节点目前仍然在工作。一个节点可被配置为产生周期性的被称作心跳报文(Heartbeat)的报文状态可为下表中的数值:NMT消息消息由NMT主节点发送,迫使从节点状态转换。使用2B数据单帧,第一个数据字节是命令,第二个字节是目标节点的IDNMT消息消息只有NMT-Master节点能够传送NMTModuleControl报文。NMTModuleControl消息不需要应答。NMT消息格式如下:一个节点可被配置为产生周期性的被称作心跳报文(Heartbeat)的报文当Node-ID=0,则所有的NMT设备被寻址。CS是命令字,可以取如下值:NMT消息消息通过节点保护服务,NMT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。NMTMaster节点发送如下报文应答:NMTMaster节点发送远程帧(无数据)消息格式如下:服务数据对象(服务数据对象(SDO)SDO提供客户访问服务器的对象字典(OD)的功能访问者被称作客户(client),对象字典被访问且提供所请求服务的CANopen设备则称作服务器(server)。通过SDO服务,可以访问对象字典的条目,这些条目可能包含有任意长度的数据和数据类型。客户的CAN报文和服务器的应答CAN报文总是包含8字节数据(尽管不是所有的数据字节都一定有意义)。一个客户的请求一定有来自服务器的应答。服务数据对象(服务数据对象(SDO)SDO有2种传送机制:加速传送(Expeditedtransfer):最多传输4字节数据分段传送(Segmentedtransfer):传输数据长度大于4字节服务数据对象(服务数据对象(SDO)为了进行标准的分段加速传送,SDO定义了6个确认服务(SDO下载,SDO上传,启动SDO上传,启动SDO下载,下载SDO段和上传SDO段)和一个非确认服务(中止SDO传送)。如:启动SDO下载协议与对象字典的关系服务数据对象(服务数据对象(SDO)一个节点向其它节点发送SDO时,所使用报文CANID为600h+NodeID例如将值0 x31FF写入节点0 x01的索引为0 x6012,子索引为2的对象字典中,对应的字节赋值,如图2所示。根据SDO协议,连接对象报文的标识符(COBID)为600h+01h=601h。Byte0为2B,表示客户向服务器发出下载请求。采用加速传送方式,并且显示字节长度。Bytel和2表示索引和子索引分别为6012h和2h。Byte3为02h,表示传送的数据为2个字节。Byte4和5表示传送数据值为0 x31FF。服务数据对象(服务数据对象(SDO)通过使用索引和子索引(在CAN报文的前几个字节),SDO使客户机能够访问设备(服务器)对象字典中的项(对象)。SDO通过CAL中多元域的CMS对象来实现,允许传送任何长度的数据协议是确认服务类型:为每个消息生成一个应答(一个SDO需要两个ID)。SDO请求和应答报文总是包含8个字节过程数据对象过程数据对象PDO用来传输实时数据,数据从一个生产者传到一个或多个消费者。数据传送限制在1到8个字节PDO通讯没有协议规定。PDO数据内容只由它的CANID定义,假定生产者和消费者知道这个PDO的数据内容。每个PDO在对象字典中用2个对象描述:PDO通信参数和PDO映射参数,所谓PDO的映射,就是将PDO的数据指向对象字典的某个位置PDO消息的内容是预定义的过程数据对象过程数据对象PDOPDO访问:由于PDO都是用来传送较短且实时性较高的控制数据和状态数据,因此,PDO数据在传送时,是不会像SDO一样,在数据包里指定要对哪个Index进行操作,PDO在进行数据交换之前,要先设定好是对哪个Index操作的,这个动作就是PDOMapping,映射好了PDO的数据对象,则PDO的数据就会被从站自动指向对象字典里的某个IndexSub-index上,这样就加快了数据交换的效率。过程数据对象过程数据对象PDO过程数据对象过程数据对象PDO同步(通过接收SYNC对象实现同步)非周期:由远程帧预触发传送,或者由设备子协议中规定的对象特定事件预触发传送。周期:传送在每1到240个SYNC消息后触发。异步 由远程帧触发传送。由设备子协议中规定的对象特定事件触发传送。预定义消息或者特殊功能对象预定义消息或者特殊功能对象同步:用来同步网络中节点,基于主从概念时间戳:为设备提供一个时间标准紧急事件:紧急事件由设备的内部错误触发,每个错误事件只发送一次,不重复发生。预定义的连接设置预定义的连接设置为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改缺省ID分配表是基于11位CANID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分。预定义报文或者特殊功能对象预定义报文或者特殊功能对象CANopen标识符分配标识符分配使用预定义的主从连接集。ID是缺省的,不需要配置。如果节点支持,PDO数据内容也可以配置。上电后修改PDO的ID(在预操作状态),使用(预定义的)SDO在节点的对象字典中适当位置进行修改。使用CAL DBT服务:节点或从节点最初由它们的配置ID指称。节点ID可以由设备上的拨码开关配置注意事项注意事项(1)在开发过程中不必要将CANopen协议中的各项内容都一一编写,只要根据应用的具体要求按照CANopen协议编写即可。对象字典都要通过软件实现,这是实现CANopen的关键。(2)组建对象字典时并没有必要把协议规定的所有项都包括进去,另外还要留出足够的空间,使得用户可以根据以后的具体需要向对象字典中添加功能项。(3)一般应用中,如果CANopen网络不复杂,使用预定义的标识符分配就能满足要求。对于特别大的系统,如果要制定标识符分配,这需要大量的软件编程。(4)对于CANopen网络中必须实现的管理功能,一般由一个节点来实现,但也可以由几个节点分别承担。尤其对于SYNC报文传输和标识符的分配,分开来实现会更好。DeviceNet概述概述DeviceNet是20世纪90年代中期发展起来的一种基于CAN技术的开放型、符合全球工业标准的低成本、高性能的通信网络。它通过一根电缆将PLC、传感器、光电开关、操作员终端、电动机、轴承座、变频器和软启动器等现场智能设备连接起来,是分布式控制系统减少现场I/O接口和布线、将控制功能下载到现场设备的理想解决方案DeviceNet概述概述DeviceNet不仅可以作为设备级的网络,还可以作为控制级的网络,通过DeviceNet提供的服务还可以实现以太网上的实时控制。较之其它的一些现场总线,DeviceNet不仅可以接入更多、更复杂的设备,还可以为上层提供更多的信息和服务DeviceNet最初由Rockwell公司设计,目前由ODVA(OpenDeviceNetVendorsAssociation)致力于支持DeviceNet产品和规范的进一步开发。此外,Rockwell,GE,ABB,Hitachi,Omron等公司也致力于DeviceNet的推广DeviceNet的主要特点的主要特点采用基于CAN的多主方式工作逐位仲裁模式的优先级对等通信建立了用于数据传输的生产者/消费者传输模型DeviceNet的直接通信距离最远为500m,通信速率最高可达500kb/sDeviceNet上可容纳64个节点地址,每个节点支持的I/O数量无限制采用短帧结构,传输时间短,受干扰的概率低,检错效果好通信介质为独立双绞总线,信号与电源承载于同一电缆支持设备的热插拔,无需网络断电DeviceNet的接入设备可选择光隔离设计,由外部供电设备与由总线供电的设备共享总线电缆DeviceNet协议规范协议规范沿用了CAN协议标准所规定的总线网络的物理层和数据链路层,定义了不同的报文格式、总线访问仲裁规则及故障检测和故障隔离的方法物理层和介质物理层和介质物理层规范定义了DeviceNet的总线拓扑结构以及网络元件,具体包括接地、粗缆和细缆混合结构、网络端接和电源分配采用的典型拓扑结构是干线分支结构线缆包括(干线)和细缆(分支线),总线线缆采用五线制电缆,包括了2条信号线,2条24V电源线和一条屏蔽线,支持总线供电设备连接可选用开放/封装端头两种提供125/250/500Kbps三种可选的通讯波特率,最大拓扑距离为500米,每个网络段最大可达64个节点数据链路层数据链路层遵循CAN协议规范,并由CAN控制器芯片实现CAN是基于广播方式的协议,支持多主形式传输。传输的帧被分配一个标识符,每个节点根据标识符确定是否接收这些帧提供数据帧、出错帧、远程帧和过载帧等多种帧格式,数据帧每帧信息都有CRC校验和其它校验措施,数据传输误码率极低,有严重故障的节点可自动从网络上切除采用非破坏性逐位仲裁的方法解决共享介质总线访问冲突问题。网络上每个节点拥有一个唯一的标识符,这个标识符的值决定了仲裁中优先级的大小,优先级值小的节点在竞争仲裁中为获胜的一方数据通信方式数据通信方式循环(Cyclic)方式:适用于一些模拟设备,可以根据设备的信号发生的速度,灵活设定循环进行数据通信的时间间隔状态改变(ChangeofState)方式:适用于离散的设备,采用事件触发方式,当设备状态发生改变时才发生通信选通(Strobed)方式:利用8B的报文广播,64个二进制位的值对应网络上64个可能的节点,通过位的标识,指定要求响应的从设备查询(Polled)方式:I/O报文直接依次发送到各个从设备DeviceNet的网络通信的网络通信DeviceNet是一个基于连接的通信网络系统。一个DeviceNet的连接提供了多个应用之间的路径。当建立连接时,与连接相关的传送会被分配一个连接ID(CID)。如果连接包含双向交换那么应当分配两个连接ID值。DeviceNet报文报文I/OI/O报文报文:适用于实时性要求较高和面向控制的数据,它提供了在报文发送过程和多个报文接收过程之间的专用通信路径,通常使用优先级高的连接标识符,通过一点或多点连接进行信息交换,连接标识符提供了I/O报文的相关信息,在I/O报文利用连接标识符发送之前,报文的发送和接收设备都必须先进行设定,设定的内容包括源和目的对象的属性,以及数据生产者和消费者的地址,IO数据通常不需要响应,用于控制数据的传输 显式报文显式报文:显示连接是Request/Response型的通信,即主站发一条命令,从站必须回复一条响应,才算完成一次通信,适用于两个设备间多用途的点对点报文传递,常用于节点的配置、问题诊断等CAN标识符使用标识符使用DeviceNet建立在标准CAN2.0A协议之上,并使用11位标准报文标识符,可分成4个单独的报文组DeviceNet对象模型对象模型DeviceNet应用层协议是以面向对象的方式进行描述的,对协议本身所要完成的功能进行抽象和定义,把协议功能划分为多个模块,每个模块抽象出它所具有的产品数据功能属性、所能完成的功能和动作以及与其他模块对象的接口(Interface),并把模块对象化。DeviceNet通过抽象的对象模型来描述网络中所有可见的数据和功能,一个DeviceNet设备可以定义成为一个对象的集合一个对象代表设备内一个部件的抽象描述。对象由它的数据或属性、功能或服务以及它所定义的行为决定。DeviceNet对象模型对象模型DeviceNet与与CANopen区别区别传输距离:传输距离:CANopen网络可实现远距离传输(10 km),工作速率可调(1 Mb/s 通讯速率 5 kb/s),因此,在实际应用中,要考虑到传输距离的限制而选择总线协议。如果用devicenet进行远距离传输,要使用网络中继器,现在市场上已经有很多这两种总线系统的中继器产品.DeviceNet与与CANopen区别区别标识符分配标识符分配:CANopen支持CAN2.0A11位和CAN2.0B29位标识符,而且报文的优先级只能通过它的大小来区分,通常节点地址比较小的COB-ID报文的优先级最高。如果要传送需要快速响应的事件,则要通过预定义和特殊功能对象,如同步(SYNC),时间标记对象(timestamp),紧急事件(emergency),PDO用来传输实时数据,优先级大于SDO,因为SDO的数据量大,通常用于设备初始化组态。而DeviceNET只用了CAN2.0A的11位标识符去分组定义报文的优先级,这种信息组设计方法使总线优先级可任意分布,而不仅和节点地址有关。还取决与它是I/O还是显示报文,报文的组号等。DeviceNet与与CANopen区别区别初始化组态不同初始化组态不同 :SAE J1939概述概述美国汽车工程学会SAE于2000提出的J1939,成为货车和客车中控制器局域网的通用标准J1939协议实质是将CAN扩展帧格式中未明确定义的11位ID,18位扩展ID进行了明确定义,紧随ID的是8个字节的数据。SAE J1939概述概述SAE是机车工程师协会(SocietyofAutomotiveEngineers)的缩写。SAEJ1939-71的应用层协议主要是适合那些以柴油机为动力的卡车、公共汽车以及非陆地的交通工具。ISO11992中设置的规范主要是用在卡车拖车中的通讯。ISO11783规范主要是应用在拖拉机等农业运输工具。NMEA是国家海洋电子协会(NationalMarineElectronicsAssociation)的缩写。NMEA2000的高层协议整合了SAEJ1939和ISO11783。基于J1939的协议主要应用在:卡车、公共汽车系统非陆地的交通工具载客或载货的火车海洋运输工具SAE J1939帧格式帧格式CAN扩展帧格式SOF11位标识符SRRIDE18位扩展标识符J1939帧格式帧起始位优先权3位R位(保)数据页DPPF格式6位SRR位扩展标识PFPS格式(8位)源地址(8位)CAN124567121314151617242532帧位置282625242318171615870CAN2.0的标准和扩展格式及J1939协议所定义的格式一个J1939协议报文单元PRIORITYRDPPDUFORMATPDUSPECIFICSOURCEADDRESSDATAFIELD311888064J1939协议报文单元的具体格式 高层协议应用范围DeviceNet协议和CANopen协议是真正占领市场的两个应用层协议。它们定位于不同市场。DeviceNet协议适合于工厂自动化控制;CANopen协议适合于所有机械的嵌入式网络。因此,CANOpen协议占领着欧洲市场的汽车电子领域;而DeviceNet协议已成为美洲、亚洲地区工业控制领域中的领导者CAN101测试情况CAN101还停留在基于一种基于W77E58的Ethernet-CAN转换器所设计的初代以太网CAN转换器,不提供配置软件函数库,并且配置软件和其它家的配置软完全一样,与市面上的非品牌同类产品没有任何优势。数据格式不统一,处理不方便;最大数据长度占用15字节,但13字节就可容纳;只支持标准帧和扩展帧的数据帧,不支持远程帧;纯数据模式,ID是使用配置软件中设定的固定值,因为的CAN设备的ID,很可能是随意变化的,实际意义不大。周立功CANET-100T数据格式周立功CAN转换器的数据格式1个CAN帧包含13个字节周立功CANET-100T数据格式帧信息:长度1个字节,用于标识该CAN帧的一些信息,如类型、长度等FF:标准帧和扩展帧的标识,1为扩展帧,0为标准帧。RTR:远程帧和数据帧的标识,1为远程帧,0为数据帧。保留值为0,不可写入1。D3D0:标识该CAN帧的数据长度。周立功CANET-100T数据格式帧ID:长度4个字节,标准帧有效位是11位,扩展帧有效位是29位。扩展帧ID号0 x12345678 标帧ID号0 x3FF 周立功CANET-100T数据格式帧数据:长度8个字节,有效长度由帧信息的D3D0的值决定。8个字节有效数据的表示方式6个字节有效数据的表示方式周立功CANET-100T数据格式周立功的CAN数据格式特点:支持标准帧和扩展帧,支持数据帧和远程帧;数据报文短,只有13字节,节省网络带宽;数据报文格式统一,方便PC端软件,特别是CAN转换器端的数据处理;适应性强,不用约定数据格式,数据格式信息,直接包含在报文中。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!