传递价值成就你我规范传递价值成就你我致远电子CAN-bus简介CAN-bus主要特性CAN-bus规范ISO/OSI网络模型帧格式帧类型总线仲裁位流编码目录位填充错误检测机制错误类型故障界定单元状态振荡器容差位定时同步传递价值成就你我致远电子控制器局域网CAN(ControllerAreaNetwork),最初是由德国Bosch公司设计的,应用于汽车的监测和控制。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus逐步被广泛应用到各种控制领域。1991年9月,Philips半导体公司制定并发布CAN技术规范:CAN2.0A/B。1993年11月,ISO组织正式颁布CAN国际标准ISO11898。CAN-bus是唯一成为国际标准的现场总线,也是国际上应用最广泛的现场总线之一。CAN-bus简介传递价值成就你我致远电子多主结构依据优先权进行总线访问无破坏性的基于优先权的逐位仲裁借助验收滤波器的多地址帧传递远程数据请求全系统数据相容性错误检测和出错信令很远的数据传输距离(长达10Km)高速的数据传输速率(高达1Mbps)高度实时性:每帧报文允许传输最高8个字节的数据发送期间丢失仲裁或出错而遭到破坏的帧可自动重发暂时错误和永久性故障节点的判别以及故障节点的自动脱离脱离总线的节点不影响总线的正常工作CAN-bus主要特性传递价值成就你我致远电子CAN-bus规范(Version2.0)CAN2.0A:CAN标准报文格式CAN2.0B:CAN标准报文格式和扩展报文格式ISO11898-1/2/3/4国际标准CAN-bus技术规范的目的定义数据链路层定义CAN协议在周围各层中所发挥的作用CAN-bus规范传递价值成就你我网络模型LLC:逻辑链路控制子层MAC:媒体访问控制子层传递价值成就你我(LLC)-AcceptanceFiltering-OverloadNotification-RecoverManagementMediumAccessControl(MAC)-DataEncapsulation/Decapsulation-FrameCoding(stuffing/destuffing)-ErrorDetection/Signaling-Serialization/DeserializationApplicationPresentationSessionTransportNetworkDataLinkLayerPhysicalLayerOSIReferenceLayersPhysicalSignaling(PLS)-BitEncoding/Decoding-BitTiming/SynchronizationPhysicalMediumAttachment(PMA)-Driver/ReceiverCharacteristicsMediumDependentInterface(MDI)-ConnectorsISO/OSI网络模型表述传递价值成就你我致远电子二种不同的CAN帧格式CAN规范2.0B中引入第二种报文格式标准帧和扩展帧具有11位标识符的CAN帧称为:标准帧具有29位标识符的CAN帧称为:扩展帧CAN控制器必须完全支持标准帧(收/发)CAN控制器必须支持接收扩展帧帧格式传递价值成就你我致远电子数据帧从发送节点向其它节点发送数据远程帧向其它节点请求发送具有同一识别符的数据帧错误帧指明已检测到总线错误过载帧过载帧用以在数据帧(或远程帧)之间提供一附加的延时帧类型传递价值成就你我致远电子数据帧组成帧起始(StartofFrame)仲裁场(ArbitrationFrame)控制场(ControlFrame)数据场(DataFrame)CRC场(CRCFrame)应答场(ACKFrame)帧结尾(EndofFrame)数据场的长度可以为0允许DLC8(*见协议实现指南)数据帧传递价值成就你我(Remote-Transimission-Request)DelimiterBits111160…8*81511173MessageIdentifierArbitrationFieldControlFieldDataFieldCRCSequenceCRCFieldACKSlotEndofFrameFieldIntermissionFieldAcknowledgementFieldStart-of-Frame-BitBitStuffingCANDataFrame标准数据帧结构RTR=0传递价值成就你我致远电子总线上“显性”电平支配“隐性”电平;逻辑“0”=“显性”电平;逻辑“1”=“隐性”电平。总线空闲时,任何节点可以开始发送报文;总线上每条报文都具有唯一的一个11位或29位标识符;报文标识符的值越小,报文具有越高的优先权;多个节点同时发送时,总线在“仲裁场”进行“逐位仲裁”;传送高优先级报文的节点赢得仲裁,并继续传输报文;失去仲裁的节点在总线空闲时重新传送。总线仲裁(BusArbitration)传递价值成就你我、2、3同时传送NODE2退出仲裁NODE1退出仲裁NODE3赢得仲裁,传送报文总线仲裁示意图ArbitrationField传递价值成就你我致远电子位流编码采用“不归零”(NRZ)方法编码在完整的位时间里,位电平要么为“显性”,要么为“隐性”;有足够的跳边沿利于总线各节点重新同步;要求采取“位填充”(BitStuffing)。位流编码(BitCoding)传递价值成就你我致远电子帧间空间通过帧间空间(InterframeSpacing)隔离数据帧(或远程帧)与先行帧;帧间空间的组成:3个隐性(“1”)的间歇场(INTERMISSION)长度不限的总线空闲位场(BUSIDLE)错误被动节点发出的挂起传送场(SUSPENDTRANSMISSION)传递价值成就你我致远电子当发送器检测到位流里有5个连续相同值的位,便会自动在位流里插入一补充位,接收器会自动删除这个补充位。最多经过5个位时间,各节点可以重同步;能够通过总线上的错误标志(ErrorFlag6个连续相同的位)反映发送错误。在固定的位场中不使用位填充。位填充(BitStuffing)传递价值成就你我致远电子11-Bit-IdentifierSOMRTRIDEr0DLC11-BitBaseIDSOMDLCRTRIDESSRr0r118-BitExtendIDArbitrationFieldControlFieldDataFieldArbitrationFieldControlFieldDataFieldID.10ID.28扩展数据帧结构RTR=0RTR=0扩展数据帧标准数据帧传递价值成就你我致远电子标准帧格式:具有11位标识符;扩展帧格式:具有29位标识符;两种帧格式的区别通过“控制场”(ControlFrame)中的“识别符扩展”位(IDEbit)来实现;两种帧格式可出现在同一总线上。扩展数据帧传递价值成就你我致远电子也有二种,标准远程帧、扩展远程帧;除了没有数据域(DataFrame),以及RTR位是隐性(“1”)以外,与数据帧完全一样。dominantCRCField11-BitBaseIDSOMDLCRTRIDESSRr0r118-BitExtendIDEndofFrameFieldAckFieldMessageIdentifierControlFieldrecessive远程帧扩展远程帧RTR=1传递价值成就你我标准所定义的错误时产生。由于错误叠加,最终表现在CAN-bus的ErrorFlag会有6-12bits不等。ErrorFlag6ErrorDelimiter86-12bitsSuperpositionofErrorFlags错误帧传递价值成就你我致远电子有三种情况会发送过载帧:1、上次接收的数据未被CPU读取就已经被再次滤波进来的CAN数据改写,接收的数据帧结束后马上发出。2、CAN节点检测到帧间隔的第一位或第二位为显性位,在检测到显性位后马上发出。3、CAN节点采样到错误帧的错误界定场或过载帧的过载界定场有显性位,在检测到显性位后马上发出。OverloadFlag6OverloadDelimiter86-12bitsSuperpositionofOverloadFlags过载帧传递价值成就你我致远电子进行检测错误,采取以下措施:监视(对发送位的电平与被监控的总线电平进行比较)循环冗余检查位填充报文格式检查错误检测机制传递价值成就你我致远电子CAN能够检测出如下类型错误位错误(BitError)填充错误(StuffError)形式错误(FormError)应答错误(AcknowledgmentError)CRC错误(CRCError)未检测报文错误率低于4.7*10-11错误检测机制传递价值成就你我致远电子位错误(BitError):发送的位值和总线监视的位值不相符合时,检测到一个位错误(除仲裁场、应答场外);错误类型传递价值成就你我致远电子填充错误(StuffError):如果在使用位填充编码的位流中,出现了第六个连续相同的位电平,将检测到一个位填充错误;错误类型传递价值成就你我h