
传感器与传感网技术应用课件—-CAN总线数据抓包与分析.pptx
17页项目七 基于CAN总线的汽车监测系统传感网应用开发(初级)任务三 CAN总线数据抓包与分析职业能力:u了解CAN总线的通信帧类型u掌握CAN总线数据的抓包的方法一、CAN通信帧类型CAN总线上传输的帧是CAN帧,CAN的通信帧通常分为以下五种类型,具体如表7-3-1所示序号序号帧类型帧类型帧用途帧用途1数据帧用来节点之间收发数据,是使用最多的帧2遥控帧(远程帧)接收节点向发送节点接收数据3错误帧某节点发现帧错误时用来向其他节点通知的帧4过载帧接收节点用来向发送节点告知自身接收能力的帧5帧间隔将数据帧、远程帧与前面帧间隔的帧表7-3-1 CAN通信帧的类型和用途二、数据帧一个数据帧由7个段构成,分别为帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束数据帧又分为标准帧和扩展帧两种,如图7-3-1所示图7-3-1 CAN数据帧结构 帧起始由一个显性位(低电平)组成,发送节点发送帧起始,其他节点同步于帧起始;只有当总线处于空闲状态(总线电平呈现隐形状态)时,才允许站点开始发送信号1、帧起始 CAN总线是如何解决多点竞争即同一时间段有多个节点需要同时发送数据谁将最终发送的问题,即需要由数据帧的仲裁段来进行仲裁。
CAN总线控制器在发送数据的同时监控总线电平,如果电平不同,则停止发送并做其他处理CAN总线上同一时间段只能有1个节点为发送数据,其余的节点均为接收数据显性电平的优先级大于隐形电平优先级具体案例如图7-3-2 所示2、仲裁段图7-3-2 三个节点竞争CAN总线全过程标准帧与扩展帧的仲裁段格式有所不同:标准帧的仲裁段由11bit的标识符ID和RTR(Remote Transmission Request,远程发送请求)位构成;扩展帧的仲裁段由29bit的标识符ID和SRR(Substitute Remote Request,替代远程请求)位、IDE位和RTR位构成帧ID越小,优先级越高由于数据帧的RTR位为显性电平,扩展帧为隐性电平,所以帧格式和帧ID相同的情况下,数据帧优先于扩展帧;由于标准帧的IDE位为显性电平,扩展帧的IDE位为隐形电平,对于前11位ID相同的标准帧和扩展帧,标准帧优先级比扩展帧高控制段是表示数据的字节数和保留位的段,标准帧和扩展帧的控制段格式不同共6位,标准帧的控制段由扩展帧标志位IDE、保留位r0和数据长度代码DLC组成;扩展帧控制段则由IDE、r1、r0和DLC组成。
3、控制段图7-3-3 CAN总线数据帧控制段4、数据段用于承载数据的内容,为0-8个字节,短帧结构,实时性好,适合汽车和工控领域;图7-3-4 CAN总线数据帧数据段5、CRC段CRC校验段由15位CRC值和CRC界定符组成图7-3-5 CAN总线数据帧CRC段6、ACK段当接收节点接收到的帧起始到CRC段都没错误时,它将在ACK段发送一个显性电平,发送节点发送隐性电平,线与结果为显性电平7、帧结束帧结束(EOF)用于表示数据帧的结束,由7个隐形位(高电平)组成三、遥控(远程)帧遥控(远程)帧分为6个段,也分为标准帧和扩展帧,且RTR位为1(隐性电平),如表7-3-2所示比较内容比较内容数据帧数据帧遥控(远程)帧遥控(远程)帧ID发送节点的ID被请求发送节点的IDSRR0(显性电平)1(隐形电平)RTR0(显性电平)1(隐形电平)DLC发送数据长度请求的数据长度是否有数据段是否CRC校验范围帧起始+仲裁段+控制段+数据段帧起始+仲裁段+控制段表7-3-2 CAN总线遥控帧结构四、错误帧CAN是可靠性很高的总线,但是它也有五种错误当发生这五种错误之一时,发送节点或接受节点将发送错误帧为防止某些节点自身出错而一直发送错误帧,干扰其他节点通信,CAN协议规定了节点的3种状态及行为,CAN总线错误帧类型及用途如表7-3-3所示。
序号序号错误帧类型错误帧类型错误帧用途错误帧用途1CRC错误发送与接收的CRC值不同发生该错误2格式错误帧格式不合法发生该错误3应答错误发送节点在ACK阶段没有收到应答信息发生该错误4位发送错误发送节点在发送信息时发现总线电平与发送电平不符发生该错误5位填充错误通信线缆上违反通信规则时发生该错误表7-3-3 CAN总线错误帧类型与用途五、过载帧当某节点没有做好接收的准备时,将发送过载帧,以通知发送节点图7-3-6 CAN总线过载帧结构六、帧间隔用来隔离数据帧、远程帧与他们前面的帧,错误帧和过载帧前面不加帧间隔图7-3-7 CAN总线帧间隔课程小结CAN总线数据抓包与分析谢谢大家学习汇报人:XXX汇报时间:XX年XX。












