《CAN总线错误及故障处理.ppt》由会员分享,可在线阅读,更多相关《CAN总线错误及故障处理.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子2006年5月总线错误及故障处理总线错误及故障处理传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子本节主要内容本节主要内容l五种错误检测机制l错误标记及错误计数l错误帧及超载帧l错误等级划分l主动错误模式及被动错误模式l总线关闭模式l常见总线故障原因及处理传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子五种错误检测机制五种错误检测机制CAN实现以下5种错误检测机制l其中基于信息流级别的错误检测有1.CRC校验2.帧格式检测3.应答错误检测 l基于位(bit)级别错误检测
2、有1.位检测2.位填充传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子基于信息流级别的错误检测基于信息流级别的错误检测lCRC校验错误1.15位的CRC通过发送端根据发送信息的内容计算产生2.接收端根据接收内容重新计算CRC并于发送端发送过来的CRC数值进行比较3.当两个数字不一致时候CRC错误标记产生传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子基于信息帧级别的错误检测基于信息帧级别的错误检测l帧格式错误检测,当接收端在以下位置检测到非法的位时格式错误标记1.CRC认可位2.ACK认可位3.帧结束位传递价值传递价值 成就你我成就你我htt
3、p:/http:/致远电子致远电子基于信息帧级别的错误检测基于信息帧级别的错误检测l应答错误检测1.每一个接收端都回在ACK场向总线回应一个显性位2.如果发送端在ACK场检测不到一个ACK应答将产生应答错误标记3.常见的应答错误多数由于总线上没有一个活跃的节点引起,即孤立节点的情况传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子基于位(基于位(bit)级别错误检测)级别错误检测l位检测1.在发送过程中发送器通过接收端监视总线上每一位发送出去的电平是否与发送驱动的一致2.当发监视位电平与发送驱动的不一致将产生一个位错误标记3.在仲裁场和ACK场不执行填充位错误检测传递价
4、值传递价值 成就你我成就你我http:/http:/致远电子致远电子基于位(基于位(bit)级别错误检测)级别错误检测l位填充1.发送端根据发送内容每5个相同的位插入一个反向电平进行填充2.接收端自动消除填充位保重信息透明传输及恢复3.当接收检测到连续6个相同的位是将出发位填充错误标记l补充1.位填充用于保证在NRZ位流中有足够的边沿用于从同步2.错误帧违背位填充规则传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子错误标记及错误计数错误标记及错误计数l错误标记1.当节点最少检测到一个错误时将马上终止总线上的传输并发送一个错误帧l错误帧的组成1.错误帧由两个场组成,错误
5、标志及错误界定场,其中包含6位的显性位2.帧结构图(续)传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子错误帧的组成错误帧的组成l错误帧结构(续)ErrorFlag6Superposition of Error Flags6-12 bitsErrorDelimiter8111111111000000000000传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子超载帧超载帧l超载帧当控制器未能足够快地处理当前的信息时将发送超载帧中断其他发送控制器发送过程以减缓发送速度,加长发送帧间隔l组成由超载标志场及超载界定场组成传递价值传递价值 成就你我成就
6、你我http:/http:/致远电子致远电子错误标记及错误计数错误标记及错误计数l错误计数1.每监测到一个接收错误其错误计数加12.每监测到一个发送错误其错误计数加8,发送错误更容易被察觉到lSJA1000相关寄存器介绍1.error warning limit register2.RX error counter register3.TX error counter register传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子错误等级划分错误等级划分l划分标准1.主动错误 Error Counter 1274.总线关闭 Error Counter=255l错误警
7、告门限默认数值为96传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子主动错误模式主动错误模式l主动错误模式(错误激活模式)1.在错误激活模式下控制器能执行的所有功能(正常模式)2.当发送或者接收到一个正确的信息帧时相应的错误计数器递减13.当所有的错误计数寄存器返回0时控制器返回正常模式传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子主动错误模式及被动错误模式主动错误模式及被动错误模式l被动错误模式n当控制器错误计数超越错误警告限制时进入被动错误模式(消极错误模式)n仅能发送错误认可标志,错误计数仍旧生效,但不会破坏总线传递价值传递价值 成就
8、你我成就你我http:/http:/致远电子致远电子总线关闭模式总线关闭模式l总线关闭模式,任意一个错误计数器超越255导致控制器进入总线关闭模式1.持久的总线故障将导致总线关闭2.在总线故障清除,控制器检测到总线上连续的11位隐性位发生128次后,总线关闭的节点将返回到错误激活状态,错误寄存器状态清零传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子常见总线故障原因及处理常见总线故障原因及处理l硬件故障1.波特率不一致。2.终端电阻失配。l软件故障1.CAN错误中断类型。2.错误中断处理。传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子CAN
9、错误中断类型错误中断类型(SJA1000)lCAN错误中断类型1.总线错误中断 EBI。2.数据溢出中断 DOI。3.出错警告中断 EI。4.错误认可中断 EPI。5.仲裁丢失中断 ALI。传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子错误中断处理错误中断处理(SJA1000)l总线错误,检查是否总线已经关闭,为保证总线保持在工作模式,应该尝试重新进入总线工作模式。l数据溢出中断,对于应用中应该通过提升软件处理效率及处理器性能解决接收速度引起的瓶颈;程序务必向CAN控制器发送清除溢出命令,否则将一直引起数据一处中断。l其他错误中断一般可以不加处理,不过在调试过程中应
10、该打开所有中断以监视网络质量。传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子错误中断处理错误中断处理(SJA1000)l总线错误入口ninline void KSJA1000T:INT_BusError(void)nnif(UCHAR)m_rMode&RM_BIT)!=0)nnStartCAN();nnm_TraceCode|=INT_BUS_ERROR;n传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子错误中断处理错误中断处理(SJA1000)l数据溢出中断处理ninline void KSJA1000T:INT_DataOverrun(
11、void)nnif(UCHAR)m_rMode&RM_BIT)!=0)nnStartCAN();nnif(UCHAR)m_rStatus&DOS_BIT)!=0)nn/数据溢出处理nm_rCommand=(UCHAR)CMD_CLR_DATA_OVER;nnm_TraceCode|=INT_DATA_OVERFLOW;n传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子内容回顾内容回顾l五种错误检测机制l错误标记及错误计数l错误帧及超载帧l错误等级划分l主动错误模式及被动错误模式l总线关闭模式l常见总线故障原因及处理传递价值传递价值 成就你我成就你我http:/http:/致远电子致远电子谢谢!谢谢!