CAN错误识别及处理.
CAN总线主要内容和CAN技术规范

接发电 机
底盘网 络M
M
仪表单元
车身中央 控制单元
空调 单元
前门 单元
前座 单元 顶窗 单元
前座 单元
左前门 单元
M
M
后门
M
单元
M
M
M
M
M
M
M
M M
后座 单元
M
M
M
后门 单元
M
M
后窗 单元
图例:
CAN
加热器
M
LIN
灯具
CAN数据传C输AN总舒线主适要内系容和统CAN技C术A规N范ZONGXIAN
CAN总线主要内容和CAN技术规范
编码规则
1)位填充:发送器监视发送位流,连续5个相同位 便自动插入一个补码位。(错误帧和过载帧以及 帧结束标志不执行位填充)
2)采用不归零(NRZ)编码 CAN总线主要内容和CAN技术规范
1. 数据帧
帧间空间
数据帧
帧间空间
仲裁场 控制场 数据场 CRC场 帧结束
CAN总线主要内容和CAN技术规范
• 基于CAN的应用层协议应用较通用的有两种:DeviceNet (适合于工厂底层自动化) 和 CANopen(适合于机械控 制的嵌入式应用)。
• 任何组织或个人都可以从DeviceNet供货商协会(ODVA) 获得DeviceNet规范。购买者将得到无限制的、真正免费 的开发DeviceNet产品的授权。
CAN总线主要内容和CAN技术规范
4.1.2 CAN的分层结构
根据ISO/OSI参考模型,CAN2.0规范细分为以下不同的 层次:数据链路层和物理层。在以前版本的CAN规范中 (2.0A版本),数据链路层的LLC子层和MAC子层的服务及功 能分别被解释为“对象层”和“传输层”。
CAN介绍及其技术规范

CAN总线CAN(Controller Area Network)即控制器局域网,可以归属于工业现场总线的范畴,通常称为CAN bus,即CAN总线,是目前国际上应用最广泛的开放式现场总线之一。
CAN 最初出现在汽车工业中,80年代由德国Bosch公司最先提出。
最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。
与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、volkswagen (大众)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。
1993年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。
CAN的规范从CAN 1.0 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A 为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。
由于CAN总线的特点,得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它广泛应用在离散控制领域,其应用范围目前已不仅局限于汽车行业,已经在自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域中得到了广泛应用。
CAN的工作原理、特点CAN总线标准包括物理层、数据链路层,其中链路层定义了不同的信息类型、总线访问的仲裁规则及故障检测与故障处理的方式。
当CAN 总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。
每组报文开头的11位字符为标识符(CAN2.0A),定义了报文的优先级,这种报文格式称为面向内容的编址方案。
当一个节点要向其它节点发送数据时,该节点的CPU 将要发送的数据和自己的标识符传送给本节点的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。
CAN技术规范

CAN技术规范篇一:CAN介绍及其技术规范CAN总线介绍及其技术规范CAN总线CAN(Controller Area Network)即控制器局域网,可以归属于工业现场总线的范畴,通常称为CAN bus,即CAN总线,是目前国际上应用最广泛的开放式现场总线之一。
CAN 最初出现在汽车工业中,80年代由德国Bosch公司最先提出。
最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。
与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、volkswagen (大众)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。
1993年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。
CAN的规范从CAN 1.0 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。
由于CAN总线的特点,得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它广泛应用在离散控制领域,其应用范围目前已不仅局限于汽车行业,已经在自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域中得到了广泛应用。
CAN的工作原理、特点CAN总线标准包括物理层、数据链路层,其中链路层定义了不同的信息类型、总线访问的仲裁规则及故障检测与故障处理的方式。
当CAN 总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。
每组报文开头的11位字符为标识符(CAN2.0A),定义了报文的优先级,这种报文格式称为面向内容的编址方案。
当一个节点要向其它节点发送数据时,该节点的CPU 将要发送的数据和自己的标识符传送给本节点的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。
CAN现场总线的概念和其相关协议

因为CAN总线旳特点,其应用范围目前已不但局限于汽车行业,已 经在自动控制、航空航天、航海、过程工业、机械工业、纺织机 械、农用机械、机器人、数控机床、医疗器械及传感器等领域中 得到了广泛应用。
8.故障界定
CAN 节点能够把永久故障和短暂扰动区别开来。故障旳节点会被关闭。
9.总线值
CAN总线具有两种逻辑状态,隐性和显性。显性表达逻辑”0”,隐性表达逻 辑”1”。显性状态下,VCAN-H和VCAN-L两者差分电压不小于2V。隐性状态下, VCAN-H和VCAN-L两者电压差为0。 “显性”位和“隐性”位同步传送时,总线旳 成果值为“显性”。例如,在总线旳“写与”执行时,逻辑0代表“显性”等级, 逻辑1代表“隐性”等级。
基本术语
6.仲裁
只要总线空闲,任何单元都能够开始发送报文。具有较高优 先权报文旳单元能够取得总线访问权。假如2个或2个以上旳单元 同步开始传送报文,那么就会有总线访问冲突。
仲裁旳机制确保了报文和时间均不损失。当具有相同辨认符 旳数据帧和远程帧同步初始化时,数据帧优先于远程帧。仲裁期 间,每一种发送器都对发送位旳电平与被监控旳总线电平进行比 较。假如电平相同,则这个单元能够继续发送。假如发送旳是一 “隐性”电平而监视旳是一“显性”电平(见总线值),那么单 元就失去了仲裁,必须退出发送状态。
速率最高可达1Mbps(此时通信距离最长为40m)。
CAN旳特点
节点数主要取决于总线驱动电路,目前可达110个;报 文标识符可达2032种(CAN2.0A),而扩展原则 (CAN2.0B)旳报文标识符几乎不受限制
CAN总线协议中文版

CAN总线协议中文版篇一:CAN总线协议篇二:CAN总线协议学习笔记(一)1,基本概念:(1),报文:总线上的信息以不同格式的报文发送,但长度有限。
当总线开放时,任何连接的单元均可开始发送一个新报文。
(2),信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息,这里包含一些重要的概念:系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。
报文通信——一个报文的内容由其标示符ID命名,ID并不指出报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。
成组——由于采用了报文滤波,所有节点均可接受报文,并同时被相同的报文激活。
数据相容性——在CAN网络中,可以确保报文同时被所有的节点或者没有节点接受,因此,系统的数据相容性是借助于成组和出错处理达到的。
(3),位速率:CAN的数据传输率在不同的系统中是不同的,而在一个系统中是固定的速率。
(4),优先权:在总线访问期间,标示符定义了一个报文静态的优先权。
(5),远程数据请求:通过发送一个远程帧,需要数据的节点可以请求另一个节点发送相应的数据帧,该数据帧与对应的远程帧以相同的标示符ID命名。
(6),多主站:当总线开放时,任何单元均可以开始发送报文,发送具有最高优先权报文的单元会赢得总线的访问权。
(7),仲裁:当总线开放时,任何单元均可以开始发送报文,若同时有两个或者更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标示符ID解决,这种仲裁规则可以使信息和时间均无损失,若具有相同标示符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧,仲裁期间,每个发送器都对发送位电平与总线上检测到的电平进行比较,若相同则该单元可以继续发送,当发送一个隐性电平,而在总线上检测为显性电平时,该单元退出仲裁,并不再传送后继位了。
(8),安全性:为了获得尽可能高的数据传输安全性,在每个CAN节点中均设有错误检测,标定和自检的强有力措施。
5 CAN总线

错误标志叠加序列的总长度最小为6位, 最大为12位。
5.3 CAN总线帧结构
(2)认可错误标志 当节点处于错误认可状态时,检测到一个 总线错误时,该节点将发送一个认可错误标志。 认可错误标志包含6个连续的隐性位。 2. 错误界定符 错误界定符由8个隐性位构成。
5.3 CAN总线帧结构
四、超载帧 1. 超载帧的产生
4)报文成功接收后,接收错误计数器值减少。
5.5 SJA1000 CAN控制器
SJA1000是PHILIPS半导体公司1997年研制的一 款独立CAN控制器。
(4)采样点(Sample Point)
采样点是读取总线电平并转换为一个对应 的位值的一个时间点 。
5.2 CAN总线通信模型
5.2 CAN总线通信模型
6. 同步
同步使 CAN 总线系统的收发两端在时间上 保持步调一致。 由于节点的振荡器漂移,传播延迟以及噪声 干扰等引起的位时间偏差称为相位误差。
RTR 位
2. 仲裁场 在帧起始之后是仲裁场。 标准帧:由12 个位组成,分别为11个识别位 (ID)和一个远程发送请求 (RTR)位。 RTR 位用于区分报文是数据帧 (RTR位为显 性)还是远程帧(RTR位为隐性状态)。 扩展帧:由11位基本ID、SRR位、IDE位和18 位扩展ID组成。SRR位和IDE位皆为隐性。
(1)硬同步 硬同步只在总线空闲时通过一个从“隐性位” 到“显性位”的跳变(帧起始)来完成,此时不 管有没有相位误差,所有节点的位时间重新开始。
5.2 CAN总线通信模型
5.2 CAN总线通信模型
(2)重同步
在报文的随后位中,每当有从“隐性位” 到“显性位”的跳变,并且该跳变落在了同步段 之外,就会引起一次重同步。重同步机制可以根 据跳变沿加长或者缩短位时间以调整采样点的位 置,保证正确采样。 重同步跳转宽度(SJW)定义为相位缓冲 段1可被加长或相位缓冲段2可被缩短的上限值。
CAN总线错误处理机制及Bus off问题现象分析
处理结果:由于该策略在控制器开发初期已同我厂检讨,我厂同意保持该策略,故后续车型 量产中维持该策略不变。
Bus off问题现象分析
此处以相似的Ford Bus off策略解析:
前10次Bus off恢复时间40ms,如持 续进入Bus off状态则后续Bus off恢 复时间为1s,直至Bus off条件被排 除
CAN节点可以区分常规错误和永久故障。有故障的发送节点将切换到离线状态。离线意味着 在逻辑上与总线断开,既不能发送也不能接收。
Error-active(主动错误) An error-active node shall normally take part in bus communication and send an active error flag when an error has been detected. The active error flag shall consist of six (6) consecutive dominant bits and shall violate the rule of bit stuffing and all fixed formats appearing in a regular frame .
CAN总线错误处理机制——错误通知
■
错误管理的重要概念(ISO11898)
节点的三种状态
CAN总线错误处理机制——错误通知
■
错误通知
总线通信错误以向总线上发送错误帧作为标志。
CANoe Trace窗口中的5种类型 的错误帧
CAN总线错误处理机制——错误通知
基于CAN总线的铝电解自动控制系统及通讯故障的原因及处理方法
基于CAN总线的铝电解自动控制系统及通讯故障的原因及处理方法黄群贤【期刊名称】《世界有色金属》【年(卷),期】2014(000)012【总页数】2页(P54-55)【作者】黄群贤【作者单位】山西华圣铝业公司【正文语种】中文本文介绍了CAN总线在铝电解控制系统中的应用,叙述了基于CAN总线的系统结构、组成及特点,重点介绍了槽控机通讯故障的原因及处理方法。
铝电解控制系统是一个较复杂的自动控制系统,系统既要对每台槽控机的几十个信号进行接收处理,同时还要面对整个系统上百台的槽控机信号进行接收处理,因此电解槽的控制与管理相当复杂。
现场总线作为铝电解工业生产数据通信网络的基础,沟通了现场控制设备与管理层之间的关系。
作为现场级的网络控制系统,它完成具体的生产及协调任务,其数据响应时间达到毫秒级。
在铝电解生产过程中,要求总线处理信息具有准确性、可靠性、实时性、灵活性。
铝电解自动控制系统采用先进的现场总线技术和网络通信技术将槽控机设计为多CPU网络体系结构,按照采样、操作、解析与显示个数相对独立的功能设计数个智能化的功能模块(电路板),各模块均有自己的CPU,可相对独立运行,并通过内部CAN总线网络实现彼此间的数据交换和多CPU协同工作。
多CPU网络体系中的CPU能并行运行、协同工作,因此综合数据处理能力强大,能很好地满足高度智能化控制的要求。
某公司铝电解自控系统采用的是国内一家高校开发研制的《铝电解智能模糊控制系统》,槽控机彼此数据交换是通过CAN总线来完成的,CAN总线即控制局域网络,是由德国Bosch公司为汽车的监测和控制系统而设计的总线式串行通讯网络,适用于工业过程控制主设备和监控设备之间的互联。
CAN可以多种方式工作,网络上任意节点均可主动向其它节点发送信息;网络节点可按系统实时性要求分成不同的优先级,一旦发生总线冲突,会减少总线仲裁时间。
CAN采用短帧结构,每一帧为8个字节,保证了数据的出错率极低,被公认为最有发展前途的现场总线之一。
CAN-bus总线错误及故障处理 V1[1].20
五种错误检测机制 错误标记及错误计数 错误帧及超载帧 错误等级划分 主动错误模式及被动错误模式 总线关闭模式 常见总线故障的硬件与软件处理
广州致远电子
专注的力量成就梦想
谢谢!
广州致远电子
广州致远电子专注的力量成就梦想 Nhomakorabea超载帧
超载帧
当控制器未能足够快地处理当前的信息时将发送 超载帧中断其他发送控制器发送过程以减缓发 送速度,加长发送帧间隔
组成
由超载标志场及 超载界定场组成
广州致远电子
专注的力量成就梦想
广州致远电子
专注的力量成就梦想
主动错误模式及被动错误模式
被动错误模式
当控制器错误计数超越错误警告限制时进入被 动错误模式(消极错误模式)
仅能发送错误认可标志,错误计数仍旧生效, 但不会破坏总线
广州致远电子
专注的力量成就梦想
总线关闭模式
错误标记及错误计数
错误计数
1. 每监测到一个接收错误其错误计数加1
2. 每监测到一个发送错误其错误计数加8,发送 错误更容易被察觉到
SJA1000相关寄存器介绍
1. error warning limit register 2. RX error counter register 3. TX error counter register
总线关闭模式,任意一个错误计数器超越 255导致控制器进入总线关闭模式
1. 持久的总线故障将导致总线关闭
2. 在总线故障清除,控制器检测到总线上连续 的11位隐性位发生128次后,总线关闭的节点 将返回到错误激活状态,错误寄存器状态清 零
广州致远电子
专注的力量成就梦想
CAN错误识别及处理
CAN错误处理
3.CAN错误处理
某个CAN节点识别到的每个错误都立即通过一 条错误信息(错误帧)提供给所有其他节点。因 此 所有总线设备不再将此前接收的信息继续发送给应用程序微控制器。在此通过自动重复传输有 错误的信息来校正错误。
为了在出现故障时不会因发送错误标志而造成各控制单元在总线上的所有数据交换失效,控制单 元根据一个确定的算法逐渐从总线事件中退出。因此,第一级复位后触发错误标志的CAN节点只 允许发送由高位启用(隐性)比特组成的被动错误标志。其结果是这个控制单元不会再阻碍总线 上的数据交换。但是,在这种状态下该控制单元可以继续 发送和接收信息。
因此,第一监级复视位后到触总发错线误标发志送的C出AN节的点比只允特许发接送收由高时位启逻用辑(隐值性)与比发特组送成的时被不动错一误标致志。。 仲裁字段(同时多次读取时覆盖隐性比
识别到5个以上连续相同的比特。
如识果别一 到个5个或特以多上)个连总续和线相设确同备的认多比次特时干。扰段系统(且通发送过错误另或一接收个错误总的线错误设计数备器的达到接规定收限确值,认就会覆将盖这个由或发这些送设备器与设总线置完全的断隐开。性比特)除外。
因此 所有总线设备不再将此前接收的信息继续发送给应用程序微控制器。
比特填充错误 识别到5个以上连续相同的比特。帧结束区域除外。
CAN错误识别
CAN错误识别
CRC错误 所发送的校验码和与计算出的校验码不一致。 格式错误 数据格式损坏,例如未将CRC定界符识别为隐性比特。 确认错误 发送器在确认时段中没有接收到低位启用(显 性)比特,也就是说其他总线设备未将信息识别为正确。
某个CAN节点识别到的每个错误都立即通过一 条错误信息(错误帧)提供给所有其他节点。
比特错误 因此 所有总线设备不再将此前接收的信息继续发送给应用程序微控制器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN错误处理
3.CAN错误处理 如果一个或多个总线设备多次干扰系统且发送错误或接收错误的错误计数器达到规定限值,就会 将这个或这些设备与总线完全断开。在这种总线关闭状态下,这些控制单元无法发送或接收信息。
■ 错误主动与错误被动状态之间的过渡通过CAN 控制器自动实现。只有通过相应的操作,例如软件 或硬件复位,才能撤消总线关闭状态。
CAN错误处理
3.CAN错误处理
某个CAN节点识别到的每个错误都立即通过一 条错误信息(错误帧)提供给所有其他节点。因 此 所有总线设备不再将此前接收的信息继续发送给应用程序微控制器。在此通过自动重复传输有 错误的信息来校正错误。
为了在出现故障时不会因发送错误标志而造成各控制单元在总线上的所有数据交换失效,控制单 元根据一个确定的算法逐渐从总线事件中退出。因此,第一级复位后触发错误标志的CAN节点只 允许发送由高位启用(隐性)比特组成的被动错误标志。其结果是这个控制单元不会再阻碍总线 上的数据交换。但是,在这种状态下该控制单元可以继续 发送和接收信息。
比特错误
监视到总线发送出的比特接收时逻辑值与发送时不一致。 仲裁字段(同时多次读取时覆盖隐性比 特)和确认时段(通过另一个总线设备的接收确认覆盖由发送器设到5个以上连续相同的比特。帧结束区域除外。
CAN错误识别
CAN错误识别
CRC错误 所发送的校验码和与计算出的校验码不一致。 格式错误 数据格式损坏,例如未将CRC定界符识别为隐性比特。 确认错误 发送器在确认时段中没有接收到低位启用(显 性)比特,也就是说其他总线设备未将信息识别为正确。
《总线与诊断系统》课程
CAN错误识别及处理
CAN错误识别
1.传输错误的因素
接触不良、短路、软件错误或者外部强电磁场可能会引起数据传输时的错误。
短路
外部强电磁场
CAN错误识别
2.CAN错误识别
每个CAN节点发送信息的同时监测总线电平, 此时会立即识别出所发送比特与所接收比特是否一
致。此外接收器还检查总线信号的逻辑性。 因此CAN可以识别出五种类型的错误。
Thank You