《CAN数据链路层》课件资料_第1页
《CAN数据链路层》课件资料_第2页
《CAN数据链路层》课件资料_第3页
《CAN数据链路层》课件资料_第4页
《CAN数据链路层》课件资料_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CAN数据链路层详解本课程将深入探讨CAN数据链路层,涵盖帧结构、位时序、错误检测、仲裁机制等核心内容,并介绍CAN总线通信可靠性措施、测试与调试技巧以及发展趋势,帮助大家全面掌握CAN数据链路层的知识。课程介绍:CAN总线概述CAN总线控制器局域网络(ControllerAreaNetwork,简称CAN)是一种串行通信协议,用于汽车电子系统和其他工业自动化领域。它被设计成能够在恶劣的电磁环境中可靠地进行数据传输,并且支持多种节点之间的数据交换。总线类型CAN总线分为CAN2.0A和CAN2.0B两种类型,主要区别在于标识符的长度和数据帧格式。CAN2.0A支持11位标识符,而CAN2.0B支持29位标识符。CAN总线还支持多种不同的物理层标准,例如CAN-HS(高速)和CAN-LS(低速)。CAN总线历史与发展11983年德国博世公司首次提出CAN总线概念21986年发布CAN2.0A协议标准31991年发布CAN2.0B协议标准42012年发布CANFD协议标准,提高传输速率和数据容量CAN总线应用领域汽车电子发动机控制、车身控制、安全系统、信息娱乐系统等工业自动化机器控制、过程控制、机器人控制等航空航天飞行控制、导航系统、数据采集等医疗设备诊断设备、治疗设备、监护设备等CAN总线优势与特点1可靠性高:采用差分信号传输、错误检测机制、仲裁机制等技术2实时性强:支持高优先级报文优先传输,满足实时控制需求3灵活性强:支持多节点网络,方便扩展和维护4成本低廉:采用简单的物理层和协议,降低了硬件和软件成本CAN协议栈结构1应用层与应用相关的逻辑2网络层数据路由与管理3数据链路层帧结构、位时序、错误检测、仲裁等4物理层信号传输、电气特性数据链路层在协议栈中的位置物理层负责将数据转换为电信号并传输至总线。数据链路层则负责数据帧的结构、时序、错误检测、仲裁等功能,确保数据可靠地传输。数据链路层将物理层传输的电信号转换为数据帧,并在上层网络层和下层物理层之间进行数据转换和处理。数据链路层是CAN协议栈中非常重要的一层,它直接影响CAN总线的通信效率、可靠性和安全性。数据链路层的主要功能帧结构定义定义数据帧的格式和内容,包括帧起始、仲裁段、控制段、数据段、CRC段、应答段、帧结束等部分。位时序控制定义数据传输的时序,包括位时间、同步段、传播时间段、相位缓冲段等,确保节点之间同步。错误检测与处理采用CRC校验和错误标志等机制,检测数据传输过程中发生的错误,并进行相应的处理。优先级仲裁根据数据帧的标识符,进行优先级仲裁,确保高优先级报文能够优先传输。CAN帧结构详解帧起始标志帧的开始1仲裁段标识符和RTR位2控制段IDE位、r0位、DLC3数据段数据内容4CRC段循环冗余校验码5应答段ACK槽和ACK界定符6帧结束标志帧的结束7帧类型:数据帧、遥控帧、错误帧、过载帧数据帧用于传输数据内容,包括帧起始、仲裁段、控制段、数据段、CRC段、应答段、帧结束等部分。遥控帧用于请求数据,不包含数据段,用于请求其他节点发送特定数据。错误帧用于通知总线上的节点发生错误,包括错误标志、错误界定符等部分。过载帧用于处理总线过载情况,包括过载标志、过载界定符等部分。数据帧结构:帧起始、仲裁段、控制段、数据段、CRC段、应答段、帧结束帧起始表示帧的开始,由一个持续时间的显性位组成。仲裁段包含标识符和RTR位,用于标识帧的优先级和类型。控制段包含IDE位、r0位、DLC,用于指示帧类型、数据长度等信息。数据段包含数据内容,长度由DLC决定。CRC段包含循环冗余校验码,用于检测数据传输过程中发生的错误。应答段包含ACK槽和ACK界定符,用于确认节点是否收到数据。帧结束表示帧的结束,由一个持续时间的显性位组成。仲裁段详解:标识符、RTR位标识符标识符用于标识帧的优先级和类型,可以是11位或29位。标识符越小,优先级越高。相同标识符的帧,高优先级帧会覆盖低优先级帧。RTR位RTR位表示帧的类型:显性位表示数据帧,隐性位表示遥控帧。控制段详解:IDE位、r0位、DLC1IDE位IDE位表示标识符的长度:显性位表示11位标识符,隐性位表示29位标识符。2r0位r0位是保留位,通常为隐性位。3DLCDLC表示数据段的长度,范围为0-8字节。DLC为0表示数据段为空。数据段详解:数据长度与格式CRC段详解:CRC计算与校验CRC段包含一个15位的循环冗余校验码,用于检测数据传输过程中发生的错误。CRC码是根据仲裁段、控制段和数据段计算得到的,使用CRC-15算法进行计算。接收节点收到数据后,会重新计算CRC码,并与接收到的CRC码进行比较。如果两者一致,则说明数据传输正常。如果两者不一致,则说明数据传输过程中发生了错误。应答段详解:ACK槽、ACK界定符ACK槽ACK槽是一个5位的时隙,用于接收节点发送ACK信号,确认是否收到数据。ACK界定符ACK界定符是一个显性位,用于表示ACK槽的结束。遥控帧结构:无数据段帧起始表示帧的开始,由一个持续时间的显性位组成。仲裁段包含标识符和RTR位,用于标识帧的优先级和类型。控制段包含IDE位、r0位、DLC,用于指示帧类型、数据长度等信息。CRC段包含循环冗余校验码,用于检测数据传输过程中发生的错误。应答段包含ACK槽和ACK界定符,用于确认节点是否收到数据。帧结束表示帧的结束,由一个持续时间的显性位组成。错误帧结构:错误标志、错误界定符错误标志错误标志是一个显性位,用于表示发生了错误。错误界定符错误界定符是一个持续时间的显性位,用于表示错误帧的结束。过载帧结构:过载标志、过载界定符过载标志过载标志是一个显性位,用于表示总线发生了过载。过载界定符过载界定符是一个持续时间的显性位,用于表示过载帧的结束。位时序与同步1位时间每个数据位的传输时间,分为四个时段2同步段每个节点用于调整时序,确保同步3传播时间段信号传播至接收节点的时间4相位缓冲段用于缓冲采样时间,提高数据传输可靠性位时序基本概念:位时间、同步段、传播时间段、相位缓冲段1位时间每个数据位的传输时间,分为四个时段2同步段每个节点用于调整时序,确保同步3传播时间段信号传播至接收节点的时间4相位缓冲段用于缓冲采样时间,提高数据传输可靠性硬件同步每个节点的CAN控制器都包含一个同步电路,用于接收总线上的同步信号。同步信号是由总线上的第一个显性位产生的,所有节点都根据该信号进行同步。硬件同步确保所有节点都能够在相同的时间点进行数据的采样,提高数据传输的可靠性。重新同步重新同步过程如果节点检测到位时序错误,则会进行重新同步。重新同步过程会重新调整节点的时序,以确保与总线上的其他节点同步。同步误差重新同步过程可以有效地减少同步误差,提高数据传输的可靠性。位填充规则连续5个显性位当总线上出现连续5个显性位时,需要插入一个隐性位进行填充。填充位插入填充位插入到第5个显性位之后,用于防止数据帧过长,导致无法识别帧结束。填充位识别接收节点会根据位填充规则识别填充位,并将其删除,还原原始数据。位填充的原因1防止数据帧过长:连续的显性位可能导致数据帧过长,无法识别帧结束。2提高数据传输可靠性:插入填充位可以有效地降低数据传输过程中发生错误的概率。3简化帧结构:位填充规则简化了帧结构,使数据帧更容易识别。位填充过程1连续5个显性位检测到总线上传输的连续5个显性位。2插入隐性位在第5个显性位之后插入一个隐性位进行填充。3继续传输数据继续传输数据,填充位不会影响数据的完整性。错误检测机制CRC校验使用CRC-15算法对数据帧进行校验,检测数据传输过程中发生的错误。位错误数据位被错误传输,例如显性位被错误传输为隐性位。格式错误数据帧的格式错误,例如帧起始、帧结束标志错误,或者控制段信息错误。应答错误接收节点没有收到数据,或者没有发送ACK信号。CRC校验CRC校验是CAN总线中重要的错误检测机制,用于检测数据传输过程中发生的错误。CRC校验码是根据数据帧的内容计算得到的,接收节点会重新计算CRC码,并与接收到的CRC码进行比较。如果CRC码不匹配,则说明数据传输过程中发生了错误,接收节点会进行错误处理。位错误位错误类型数据位被错误传输,例如显性位被错误传输为隐性位,或者隐性位被错误传输为显性位。位错误影响位错误会导致数据内容错误,影响数据传输的可靠性。填充错误填充错误类型填充位插入错误,例如连续5个显性位后没有插入填充位,或者插入填充位的位置错误。填充错误影响填充错误会导致数据帧识别错误,影响数据传输的可靠性。格式错误格式错误类型数据帧的格式错误,例如帧起始、帧结束标志错误,或者控制段信息错误。格式错误影响格式错误会导致数据帧识别错误,影响数据传输的可靠性。应答错误应答错误类型接收节点没有收到数据,或者没有发送ACK信号。应答错误影响应答错误会导致数据传输失败,影响数据传输的可靠性。过载错误过载错误类型总线上的数据传输量过大,导致总线无法及时处理所有数据。过载错误影响过载错误会导致数据传输延迟,影响数据传输的效率。帧错误帧错误类型数据帧的长度错误,例如数据帧过长,或者数据帧过短。帧错误影响帧错误会导致数据帧识别错误,影响数据传输的可靠性。错误处理策略错误计数器用于记录节点发生的错误数量,包括发送错误计数器和接收错误计数器。总线关闭状态如果错误计数器超过阈值,节点会进入总线关闭状态,停止发送数据。仲裁机制通过仲裁机制,高优先级报文可以优先传输,减少错误发生的概率。错误计数器:发送错误计数器、接收错误计数器1发送错误计数器记录节点发送错误帧的数量,例如发送错误帧的标识符错误,或者数据帧的长度错误。2接收错误计数器记录节点接收错误帧的数量,例如接收到的CRC校验码错误,或者应答错误。总线关闭状态当节点的错误计数器超过阈值时,节点会进入总线关闭状态,停止发送数据。总线关闭状态可以防止节点继续发送错误帧,影响其他节点的通信。节点在总线关闭状态下,会停止发送数据,并监控总线上的数据传输,等待错误计数器清零后,重新进入正常模式。仲裁机制详解1优先级仲裁根据标识符的大小决定优先级,标识符越小,优先级越高。2位仲裁通过逐位比较标识符,确定优先级,优先级高的节点可以继续发送数据。优先级仲裁标识符大小标识符的大小决定了优先级,标识符越小,优先级越高。例如,标识符0x100比标识符0x200优先级高。数据传输顺序优先级高的节点可以优先发送数据,确保重要信息能够及时传输。位仲裁节点开始发送数据时,会逐位比较标识符,从最高位开始。如果两个节点发送的标识符相同,则继续比较下一位,直到出现不同的位。优先级高的节点,其对应位的显性位会覆盖低优先级节点的隐性位,从而获得总线访问权。隐性位与显性位隐性位隐性位表示逻辑“1”,在总线上保持高电平。显性位显性位表示逻辑“0”,在总线上保持低电平。总线访问冲突解决当多个节点同时尝试发送数据时,会发生总线访问冲突。通过位仲裁机制,优先级高的节点会获得总线访问权,其他节点则会暂停发送数据。仲裁机制确保总线上的数据传输秩序,防止多个节点同时发送数据导致冲突。CAN控制器工作模式正常模式节点可以发送和接收数据,并参与总线仲裁。监听模式节点只接收数据,不发送数据,也不参与总线仲裁。回环模式节点发送的数据直接回传给自身,用于测试节点的功能和性能。正常模式发送数据节点可以发送数据到总线上,并参与总线仲裁。接收数据节点可以接收来自其他节点发送的数据。监听模式接收数据节点可以接收来自其他节点发送的数据,但不能发送数据。不参与仲裁节点不参与总线仲裁,不会争夺总线访问权。回环模式数据回传节点发送的数据直接回传给自身,无需通过总线传输。测试功能回环模式用于测试节点的功能和性能,例如数据帧的发送和接收,以及CRC校验等功能。总线关闭恢复当节点的错误计数器超过阈值时,节点会进入总线关闭状态,停止发送数据。节点在总线关闭状态下,会监控总线上的数据传输,等待错误计数器清零后,重新进入正常模式。总线关闭恢复可以确保节点在发生错误后能够及时恢复正常工作,提高CAN总线的可靠性。报文过滤与接收验收滤波器用于过滤接收到的数据帧,只接收与节点感兴趣的标识符匹配的数据帧。屏蔽码与验收码屏蔽码和验收码用于定义验收滤波器的规则,每个节点可以使用多个验收滤波器。验收滤波器验收滤波器作用用于过滤接收到的数据帧,只接收与节点感兴趣的标识符匹配的数据帧,提高数据接收效率。验收滤波器配置每个节点可以使用多个验收滤波器,每个验收滤波器对应一个标识符范围。屏蔽码与验收码1屏蔽码屏蔽码用于定义验收滤波器的规则,每个屏蔽码对应一个标识符范围。2验收码验收码用于指定节点要接收的标识符,只有与验收码匹配的数据帧才会被接收。提高CAN总线通信可靠性措施1采用差分信号传输:差分信号传输可以有效地抑制电磁干扰,提高数据传输的可靠性。2使用CRC校验:CRC校验可以有效地检测数据传输过程中发生的错误,提高数据传输的可靠性。3使用应答机制:应答机制可以确认节点是否收到数据,提高数据传输的可靠性。4使用错误处理机制:错误处理机制可以处理数据传输过程中发生的错误,提高数据传输的可靠性。物理层影响因素电缆长度电缆长度会影响信号传输速度和信号质量,过长的电缆会导致信号衰减和噪声。电磁干扰电磁干扰会影响信号传输的质量,导致数据传输错误。接地线接地线质量会影响信号的完整性和抗干扰能力,良好的接地线可以有效地抑制电磁干扰。电源电源质量会影响信号的稳定性,电源波动会导致数据传输错误。软件层优化策略代码优化优化代码逻辑,减少数据传输量,提高数据传输效率。任务调度合理安排任务调度,避免数据传输冲突,提高数据传输效率。缓冲区管理合理管理缓冲区,避免缓冲区溢出或不足,提高数据传输效率和可靠性。CAN总线测试与调试1使用逻辑分析仪:逻辑分析仪可以捕捉总线上的数据信号,用于分析数据帧的结构、时序、错误等信息。2使用CAN总线协议测试软件:CAN总线协议测试软件可以发送和接收数据帧,并进行数据分析和处理。3使用模拟器:模拟器可以模拟不同的CAN节点,用于测试CAN总线的性能和可靠性。常用测试工具逻辑分析仪可以捕获总线上的数据信号,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论