恒润科技公司总线标准OSI参考模型底层标准化高层协议CAN2.011898CANopenDeviceNetJ1939SDS……CAN北京经纬恒润科技有限公司总线标准底层标准CAN2.02.0A--将29位ID视为错误2.0BPassive--仅识别11位ID数据帧2.0BActive--可识别11位和29位两种ID数据帧北京经纬恒润科技有限公司总线标准底层标准ISO1189821PLSPMAMDILLCMACOSICAN2.0CANISO11898-1ISO11898-2ISO11898-3CANCANCANISO11898CANRoadvehicles--Controllerareanetwork(CAN)ISO11898-1:2003Part1:DatalinklayerandphysicalsignallingISO11898-2:2003Part2:High-speedmediumaccessunitISO11898-3:2006Part3:Low-speed,fault-tolerant,medium-dependentinterfaceISO11898-4:2004Part4:Time-triggeredcommunicationISO11898-5:2007Part5:High-speedmediumaccessunitwithlow-powermode北京经纬恒润科技有限公司总线标准各层执行功能北京经纬恒润科技有限公司数据链路层多主的基于优先级的总线访问非破坏性的基于竞争的仲裁远程数据请求配置灵活性错误检测报文自动重发临时与永久错误界定北京经纬恒润科技有限公司数据链路层缩写缩写英文全称中文全称SOF帧起始StartofFrameRTR远程发送请求RemoteTransmissionRequestIDE标识符扩展IdentifierExtensionDLC数据长度代码DataLengthCodeACK应答AcknowledgementEOF帧结束EndofFrameITM间歇场IntermissionSRR代替远程请求SubstituteRemoteRequestDEL界定符DelimeterREC接收错误计数器ReceiveErrorCounterTEC发送错误技术器TransmitErrorCounterSJW同步跳转宽度SynchronizationJumpWidth北京经纬恒润科技有限公司数据链路层通信机制数据帧错误检测帧格式位定时与同步北京经纬恒润科技有限公司通信机制报文发送节点发送报文时要检测总线状态只有总线处于空闲,节点才能发送报文在发送报文过程中进行“回读”,判断送出的位与回读的位是否一致北京经纬恒润科技有限公司通信机制报文发送“线与”机制通过ID进行仲裁显性位能够覆盖隐性位ÎID值越小,报文优先级越高只听只听节点A节点B节点CCAN总线北京经纬恒润科技有限公司通信机制报文发送非破坏性仲裁退出仲裁后进入“只听”状态在总线空闲时进行报文重发北京经纬恒润科技有限公司通信机制报文接收过滤通过滤波器对接收的报文进行过滤如果相关Î接收;如果不相关Î过滤100101101100XX1X01X00X00110010001CANCANCANCANCANIDDataCAN报文滤波器报文过滤的过程北京经纬恒润科技有限公司通信机制NRZ编码与位填充NRZ编码确保报文紧凑Î相同带宽下信息量更大不能保证足够的跳变延用于同步,带来节点间计时器误差的累计Î位填充NRZ编码与曼彻斯特编码比较北京经纬恒润科技有限公司通信机制NRZ编码与位填充位填充发送节点进行位填充发送5个连续的相同极性位后,自动插入一个极性相反的位接收节点清除填充CAN1112345112345123451北京经纬恒润科技有限公司数据链路层通信机制数据帧错误检测帧格式位定时与同步北京经纬恒润科技有限公司数据帧数据帧的两种帧格式标准帧扩展帧SOFEOFITMDELACKDELCRCDataFieldDLCrIDERTRIDBusIdleBusIdle11111141511170-64ACKCRC3ExtendedIDIDESRRSOFEOFITMDELACKDELCRCDataFieldDLCr0r1RTRIDBusIdleBusIdle11111141511170-64ACKCRC31118北京经纬恒润科技有限公司数据帧帧起始标识一个数据帧的开始,用于同步一个显性位只有在总线空闲期间节点才能够发送SOF北京经纬恒润科技有限公司ID唯一确定一条报文表明报文的含义,可以包含报文的源地址和目标地址确定报文的仲裁优先级,ID数值越小,优先级越高标准帧Î11位;扩展帧Î29位数据帧北京经纬恒润科技有限公司RTR位用于区分数据帧和远程帧数据帧,RTR=0;远程帧,RTR=1;数据帧远程帧的帧格式北京经纬恒润科技有限公司IDE位用于区分标准帧和扩展帧标准帧,IDE=0(11位ID)扩展帧,IDE=1(29位ID)数据帧标准数据帧的帧格式北京经纬恒润科技有限公司SRR位表明在改位代替了标准帧中的RTR该位无实际意义SRR永远置1数据帧北京经纬恒润科技有限公司数据帧r0、r1位两个保留位当前置0北京经纬恒润科技有限公司数据帧DLC包含4位,表示数据场包含数据的字节数DLC=0-8DLC=9-15ÎDLC=8北京经纬恒润科技有限公司数据帧数据场具有0-8个字节长度,由DLC确定包含CAN数据帧发送的内容北京经纬恒润科技有限公司数据帧CRC用于进行CRC校验发送节点根据接收的序列,计算一个CRC接收节点根据发送的序列,计算一个CRC接收到的CRC判断数据帧是否有效北京经纬恒润科技有限公司数据帧CRC界定符界定CRC序列固定格式,1个隐性位CRC界定符之前进行位填充位填充北京经纬恒润科技有限公司数据帧ACK确定报文被至少一个节点正确接收发送节点在ACK发送隐性接收节点正确接收到报文用显性覆盖隐性回读显性表示报文被正确接收北京经纬恒润科技有限公司EOF表示数据帧结束固定格式,7个连续的隐性位数据帧北京经纬恒润科技有限公司ITM固定格式3个连续的隐性位ITM之后进入总线空闲状态,此时节点可以发送报文数据帧节点检测到11个连续隐性位认为总线进入空闲阶段北京经纬恒润科技有限公司数据链路层通信机制数据帧错误检测帧格式位定时与同步北京经纬恒润科技有限公司错误检测错误检测的类型位检测Î位错误检测到总线位状态与自身送出的位不同仲裁或ACK位期间送出“隐性”位除外填充检测Î填充错误检测到违背位填充规则填充检测位检测北京经纬恒润科技有限公司错误检测错误检测的类型CRC检测ÎCRC错误节点计算的CRC序列与接收到的CRC序列不同格式检测Î格式错误固定格式位场(如CRC界定符、ACK界定符、帧结束等)含有一个或更多非法位ACK检测ÎACK错误发送节点在ACK位期间未检测到“显性”位CRC检测填充检测位检测格式检测ACK检测北京经纬恒润科技有限公司错误检测错误检测发送节点Î位错误、格式错误、ACK错误接收节点Î填充错误、格式错误、CRC错误检测到错误后,发送错误标志位错误、填充错误、格式错误或ACK错误产生后Î错误标志在下一位发送CRC错误Î错误标志在ACK界定符后发送CRC检测填充检测位检测格式检测ACK检测2000小时/年,500kbps,25%总线负载每1000年才漏检一个错误北京经纬恒润科技有限公司错误检测错误界定接收错误产生时,REC增加;正确接收到数据帧,REC减少TEC也是同样REC、TEC的数值会引发节点状态改变北京经纬恒润科技有限公司错误检测节点的状态ErrorActive正常的进行总线通信错误产生时,发送主动错误标志(6个连续显性位)ErrorPassive能够进行总线通信错误产生时,发送被动错误标志(6个连续隐性位)限制(连续2次报文发送)BusOff不能收发任何报文北京经纬恒润科技有限公司错误检测错误帧的格式包括错误标志与错误界定符错误标志Active:6个显性位;Passive:6个隐性位错误标志违背“位填充规则”,其他节点也会发送错误标志Î错误标志6-12位长度错误界定符8个连续隐性位节点发送错误标志后,发送隐性位,直至检测到总线上出现隐性位,之后发送7个剩余隐性位北京经纬恒润科技有限公司错误检测错误帧的发送LocalError位错误位填充错误北京经纬恒润科技有限公司错误检测错误帧的发送GlobalErrorSOF公共错误格式错误北京经纬恒润科技有限公司错误检测错误帧的发送接收节点检测到CRC错误格式错误北京经纬恒润科技有限公司错误检测ErrorPassive发送节点发送的被动错误标志,会诱发接收节点发送错误标志特例,仲裁期间和ACK期间由接收节点引起的被动错误标志不会诱发其它节点发送错误标志被动错误节点检测到总线上6个连续相同的极性位后,认为错误标志已经送出北京经纬恒润科技有限公司数据链路层通信机制数据帧错误检测帧格式位定时与同步北京经纬恒润科技有限公司帧格式CAN的帧格式数据帧Î携带从发送节点至接收节点的数据远程帧Î向其他节点请求发送具有同一标识符的数据