




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章控制器局域网CAN技术协议 5 1 CAN总线简介5 2 CAN总线通信模式5 3 CAN总线的性能特点5 4 CAN总线技术规范 5 1 CAN总线简介 控制器局域网络 ControllerAreaNetwork简称CAN 主要用于各种过程 设备 监测及控制 CAN最初是由德国的Bosch公司为汽车的监测与控制设计的 但由于CAN总线本身的突出特点 其应用领域目前已不再局限于汽车行业 而向过程工业 机械工业 机器人 数控机床 医疗器械及传感器等领域发展 由于其高性能 高可靠性及独特的设计 CAN总线越来越受到人们的重视 国际上已经有很多大公司的产品采用了这一技术 CAN已经形成国际标准 ISO11898 并已成为工业数据通信的主流技术之一 5 2CAN总线的通信模式 第一 载波监测 多主掌控 冲突避免这就允许在总线上的任一设备有同等的机会取得总线的控制权来向外发送信息 如果在同一时刻有两个以上的设备欲发送信息 就会发生数据冲突 CAN总线能够实时地检测这些冲突情况并作出相应的仲裁而不会破坏待传之信息 第二 信息报文在传送时不是基于目的站点地址 这就允许不同的信息以 广播 的形式发送到所有节点并且可在不改变信息格式的前提下对报文进行不同配置 第三 CAN总线是一种高速的 具备复杂的错误检测和恢复能力的高可靠性强有力的网络 5 2CAN总线的通信模式 一 CSMA CD 载波监测 多主掌控 冲突避免 载波监测 的意思是指在总线上的每个节点在发送信息报文前都必须监测到总线上有一段时间的空闲状态 多主掌控 的意思是一旦此一空闲状态被监测到 那么每个节点都有均等的机会来发送报文 冲突避免 是指在两上节点同时发送信息时 节点本身首先会检测到出现冲突 然后采取相应的措施来解决这一冲突情况 此时优先级高的报文先发送 低优先级的报文发送会暂停 在CAN总线协议中是通过一种非破坏性的仲裁方式来实现冲突检测 这也就意味着当总线出现发送冲突时 通过仲裁后原发送信息不会受到任何影响 所有的仲裁判别都不会破坏优先级高的报文信息内容 也不会对其发送产生任何的时延 5 2CAN总线的通信模式 如何实现非破坏性的位仲裁 为了达到这种 非破坏性的位仲裁方式 CAN总线协议必须满足一些前提条件 首先 必须定义两种逻辑状态 在这里叫作 支配位 DOMINANT 又称 显性 电平 和 顺从位 RECESSIVE 又称 隐性 电平 然后 节点在发送过程中必须检测刚刚发出的状态是否就是信息中所描述的内容 在CAN总线的定义中 逻辑0为支配位 逻辑1为顺从位 5 2CAN总线的通信模式 如何冲突仲裁 支配位一定会在和顺从位的判别过程中获胜 换句话说 报文标记区 报文仲裁专用区域 的值越小 其优先级就越高 举个例子 假定有两个节点在同一时刻发送一个报文 每个节点都会监测总线以便了解欲发送的信息状态是否确实出现在总线上 一个优先级较低的报文在某一时刻会发送一个 顺从位 但是检测回来的却是 支配位 此时这个节点被仲裁为发送权取消 立刻停止发送报文的工作 优先级较高的报文继续发送直到完整的报文发送完毕 在刚才冲突仲裁中被取消发送权的节点将等待总线的下一个空闲期并自动地再次尝试发送 5 2CAN总线的通信模式 二 基于报文的通讯CAN总线是一个基于报文而不是基于站点地址的协议 也就是说报文不是按照地址从一个节点传送到另一个节点 CAN总线上报文所包含的内容只有优先级标志区和欲传送的数据内容 所有节点都会接收到在总线上传送的报文 并在正确接后发出应答确认 至于该报文是否要做进一步的处理或被丢弃将完全取决于接收节点本身 同一个报文可以发送给特定的站点或许多站点 就看你怎样去设计你的网络和系统 基于报文的这种协议另外一个好处是新的节点可以随时方便地加入到现有的系统中 而不需对所有节点进行重新编程以便它们能识别这一新节点 一旦新节点加入到网络中 它就开始接收信息 判别信息标识 然后决定是否作处理或直接丢弃 如何去实现 5 2CAN总线的通信模式 CAN总协议另外一个有用的特性是一个节点可以主动要求其它节点发送信息 这种特性叫做 远端发送请求 RTR 和上例不同之处在于 节点并不等待信息的到来 而是主动去索取 如 汽车中的中央安全系统会频繁地更新一些象安全气袋等关键传感器的信息 但是有些信息如油压传感器或电池电压传感器可能不会也不需要经常收到 为了确保了解这些设备是否工作正常 系统必须定期地要求此类设备发送相关的信息以便检查整个系统的工作情况 设计人员就可以利用这一 远端发送请求 特性来减少网络的数据通讯量 同时维持整个系统的完整性 5 2CAN总线的通信模式 CAN总线定义了四种不同的帧 用于总线通讯 1 最常用的是 数据帧 用于一个节点传送信息到其它任一或所有节点 2 远端帧 基本上是一个数据帧但其中的RTR位被置1 表明这是一个 远端发送请求 用于一个节点主动要求其它节点发送信息 3 错误帧 如果节点在接收过程中检测到任一在CAN总线协议中定义了的错误信息 它就会发送一个错误帧 4 过载帧 当一个节点正忙于处理接收的信息 需要额外的等待时间接收下一报文时 可以发送过载帧 通知其它节点暂缓发送新报文 5 2CAN总线的通信模式 三 CAN总线是一种高速的 具备复杂的错误检测和恢复能力的高可靠性强有力的网络 1 高速性 CAN总线一开始是为汽车工业而设计的 如果要使这一市场能够接受它 一个能高效处理出错情况的通讯协议是至关重要的 在发布了2 0B版的CAN总线技术规范后 其最大的通讯速率已经比1 0版提高了8倍 达1M位 秒 在这种速率下 即便是对时间要求非常关键的参数也可以通过CAN总线传输而不必担心其时延 5 2CAN总线的通信模式 2 CAN总线协议有一套完整的差错管理机制能够自动地检测出这些错误信息 由此保证了被传信息的正确必性和完整性 错误类型发送错误可通过 CRC出错 检测到 普通接收错误可通过 应答出错 检测到 CAN报文格式错误可通过 格式出错 检测到 CAN总线信号错误可通过 位出错 检测到 同步和定时错误可通过 阻塞出错 检测到 5 2CAN总线的通信模式 每个CAN总线上的节点都有一个出错计数器用以记录各种错误发生的次数 取决于出错的严重性 通过这些计数器就可以确认这些节点是否应工作到降级模式 总线上的节点可以从正常工作模式 正常收发数据和出错信息 降级到消极工作模式 只有在总线空闲时才能取得控制权 或者到关断模式 和总线隔离 CAN总线上各节点还有能力监测是短期的干扰还是永久性的故障 并采取相关的应对措施 这种特性被叫做 故障界定隔离 采取了这种故障界定隔离措施后 故障节点将会被及时关断 不会永久占用总线 这一点对关键信息能在总线上畅通无阻地传送是非常重要的 5 3CAN总线的技术特点 由于其采用了许多新技术及独特的设计与一般的通信总线相比 CAN总线的数据通信具有突出的可靠性 实时性和灵活性 其特点可概括如下 1 CAN为多主工作方式 网络上任意以节点均可在任意时刻主动的地向网络上其它节点发送信息 而不分主从 2 CAN网络上的节点信息分为不同的优先级 可满足不同的实时要求 高优先级的数据最多可在134 s内得到传输 3 CAN采用非破坏性总线仲裁技术 当多个节点同时向总线发送信息时 优先级较低的节点会主动退出发送 而最高优先级的节点可不受影响的继续传输数据 4 CAN程序通过报文滤波即可实现点对点 一点对多点及全局广播等几种方式传送接收数据 无需专门的 调度 5 3CAN总线的技术特点 5 CAN的直线通信距离最长可达10km 速率5Kbps以下 通信速率最高可达1Mbps 此时通信距离最长为40m 6 CAN上的节点数主要取决于总线驱动电路 目前可达128个 报文标识符可达2032种 CAN2 0A 而扩展标准 CAN2 0B 的报文标识符几乎不受限制 7 采用短帧结构 传输时间短 受干扰概率低 具有良好的检错效果 5 3CAN总线的技术特点 8 CAN的每帧信息都有CRC校验及其它检错措施 保证了数据出错率极低 9 CAN的通信介质可为双绞线 同轴电缆或光纤 选择灵活 10 CAN节点在错误严重的情况下具有自动关闭输出的功能 以使总线上其它节点的操作不受限制 5 4CAN总线的技术规范 随着CAN在各种领域的应用和推广 对其通信格式的标准化提出了要求 为此 1991年9月PhilipsSemiconductors制定并发布了CAN技术规范 Version2 0 该技术规范包括A和B两部分 CAN技术规范2 0A给出了报文标准格式 CAN技术规范2 0B给出标准和扩展的两种报文格式 这里主要介绍CAN技术规范2 0B 5 4CAN总线的技术规范 5 4 1CAN的分层结构5 4 2CAN报文传送及总线上的位电平表示5 4 3CAN总线报文的帧结构5 4 4错误类型和界定5 4 5位定时与同步 5 4CAN总线的技术规范 5 4 1CAN的分层结构为了使设计透明和执行灵活 遵循ISO OSI标准模型 CAN分为数据链路层 包括逻辑链路层LLC和媒体访问控制层MAC 和物理层 在CAN技术规范2 0A的版本中 数据链路层的LLC和MAC子层的服务和功能被描述为 目标层 和 传输层 5 4CAN总线的技术规范 媒体访问控制子层MAC子层的功能主要是传送规则 以及控制帧结构 执行仲裁 错误检测 出错标定和故障界定 MAC子层也要确定为开始一次新的发送 总线是否开放或者是否马上开始接收 位定时也是MAC子层的一部分 物理层的功能是有关全部电气特性不同的节点间位的实际传送 逻辑链路子层LLC子层的主要功能是报文滤波 超载通知和恢复管理 5 4CAN总线的技术规范 图1 CAN的分层结构和功能 5 4CAN总线的技术规范 5 4 2CAN报文传送及总线上的位电平表示 1 进行数据传送时 发出报文的单元成为该报文的发送器 该单元在总线空闲或丢失仲裁前恒为发送器 2 如果一个单元不是报文发送器 并且总线不出现空闲状态 则该单元为接收器 对于报文接收器和发送器 报文的实际有效时刻是不同的 1 对于发送器而言 如果直到帧结束末尾一直未出错 则对于发送器报文有效 如果报文受损 将允许按照优先权顺序自动重发 为了能同其它总线访问竞争 总线一旦空闲 重发送立即开始 2 对于报文接收器而言 如果直到帧结束的最后一位一直未出错 则对于接收器报文有效 5 4CAN总线的技术规范 当发送器在发送的位流中检测到5为连续的相同数值时 将自动的在实际发送的位流中插入一个补码位 而数据帧和远程帧的其余位场则采用固定格式 不进行填充 出错帧和超载帧同样是固定格式 位填充规则构成一帧的帧起始 仲裁场 控制场 数据场和CRC序列均借助位填充规则进行编码 5 4CAN总线的技术规范 报文中的位流是按照非归零 NZR 码方法编码的 这意味着一个完整的位电平要么是显性 要么是隐性 在 隐性 状态下 Vcanh和Vcanl被固定于平均电压电平 Vdiff近似为零 在总线空闲或 隐性 位期间 发送 隐性 状态 显性 状态以大于最小阀值的差分电压表示 如图2所示 在 显性 位期间 显性 状态改写 隐性 状态并发送 5 3CAN总线的技术规范 图2 总线上的位电平表示 5 4CAN总线的技术规范 5 4 3CAN总线报文的帧结构CAN总线的报文传送由4种不同类型的帧表示和控制 数据帧携带数据由发送器至接收器 远程帧通过总线单元发送 以请求发送具有相同标识符的数据帧 出错帧由检测出总线错误的任何单元发送 超载帧用于提供当前的和后续的数据帧的附加延迟 数据帧和远程帧借助帧间空间和当前帧分开 5 4CAN总线的技术规范 1 数据帧数据帧由7个不同的位场组成 即帧起始 仲裁场 控制场 数据场 CRC场 应答场和帧结束 数据长度可为0 CAN技术规范2 0B数据帧的组成如图3所示 图3 数据帧的组成 5 4CAN总线的技术规范 在CAN技术规范2 0B中存在两种不同的帧格式 其主要区别在于标识符的长度 具有11位标识符的帧称为标准帧 而包括29位标识符的称为扩展帧 标准格式和扩展格式的数据帧结构如图4 图5所示 图4 标准格式的数据帧 5 4CAN总线的技术规范 图4 扩展格式的数据帧 SRR 替代远程请求IDE 标识位扩展位RTR 远程发送请求位 5 4CAN总线的技术规范 CAN技术规范2 0B对报文滤波特别加以描述 报文滤波器以整个标识符位基准 屏蔽寄存器可用于选择一组标识符 以便映像至接收缓存器中 屏蔽寄存器每一位都必须是可编程的 它的长度可以是整个标识符 也可以仅是其中一部分 5 4CAN总线的技术规范 1 帧起始 SOF 标志数据帧和远程帧的起始 它仅由一个显性位构成 只有在总线处于空闲状态时 才允许单元开始发送 所有单元都必须同步于首先开始发送的那个单元的帧起始前沿 5 4CAN总线的技术规范 图6 仲裁场组成 2 仲裁场由标识符和远程发送请求位 RTR 组成 如图6所示 5 4CAN总线的技术规范 对于CAN技术规范2 0A 标识符的长度为11位 这些位一从高位到低位的顺序发送 最低位为ID 0 其中最高7位不能全为隐性 RTR位在数据帧中必须为显性 而在远程帧中必须为隐性 CAN技术规范2 0A数据帧 5 4CAN总线的技术规范 对于CAN技术规范2 0B 标准格式和扩展格式的仲裁场不同 在标准格式中 11位标识符和远程发送请求位RTR组成 标识符位为ID 28 ID 18 RTR位在数据帧中必须为显性 而在远程帧中必须为隐性 为区别标准格式和扩展格式 将CAN技术规范2 0A中的r1改记为IDE位 CAN技术规范2 0B的标准格式 5 4CAN总线的技术规范 对于CAN技术规范2 0B 在扩展格式中 仲裁场 29位标识符ID 28 ID 0 替代远程请求SRR位 隐性位 标识位扩展位IDE 隐性位 远程发送请求位RTR 5 4CAN总线的技术规范 SRR的全称是 替代远程请求位 SubstituteRemoteRequestBIT SRR是一隐性位 它在扩展格式的标准帧RTR位上被发送 并代替标准帧的RTR位 因此 如果扩展帧的基本ID和标准帧的识别符相同 标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的 5 4CAN总线的技术规范 IDE的全称是 识别符扩展位 IdentifierExtensionBit 对于扩展格式 IDE位属于仲裁场 对于标准格式 IDE位属于控制场 标准格式里的IDE位为 显性 而扩展格式里的IDE位为 隐性 通过判别SRR和IDE是否均为隐性识别为扩展格式 而不是标准格式的数据帧或远程帧 5 4CAN总线的技术规范 CAN2 0B的扩展帧和CAN2 0A和CAN2 0B的标准帧一样 在数据帧中RTR位必须为显性 而在远程帧中必须为隐性 5 4CAN总线的技术规范 3 控制场由6位组成 由图可见 控制场包括数据长度码和两个保留位 这两个保留位必须发送显性位 但接收器认可显性和隐性的全部组合 数据长度码DLC指出数据场的字节数目 数据长度码为四位 在控制场中被发送 数据字节的允许使用数目为0 8 不能使用其它数值 图7 控制场的组成 5 4CAN总线的技术规范 4 数据场是又数据帧中被发送的数据组成 它可包括0 8个字节 每个字节8位 首先发送的是最高有效位 5 4CAN总线的技术规范 5 CRC场包括CRC序列 后随CRC界定符 CRC场结构如图8所示 CRC序列由循环冗余码求得的帧检查序列组成 最适用于位数小于127 BCH码 的帧 CRC序列之后是CRC界定符 包含一个单独的 隐性位 图8 CRC场结构 5 4CAN总线的技术规范 6 应答场 ACK 为两位 包括应答间隙和应答界定符 如图9所示 在应答场中 发送器送出两个隐性位 一个正确地接收到有效报文的接收器 在应答间隙 将此信息通过发送一个显性位报告给发送器 所有接收到匹配CRC序列的站 通过在应答间隙内把显性位写入发送器的隐性位来报告 应答界定符是应答场的第二位 并且必须是隐性位 5 4CAN总线的技术规范 7 帧结束 每个数据帧和远程帧均由7个隐性位组成的标志序列界定 5 4CAN总线的技术规范 2 远程帧激活为数据接收器的站可以借助于传送一个远程帧初始化各自源节点数据的发送 远程帧由6个不同位场组成 帧起始 仲裁场 控制场 CRC场 应答场和帧结束 远程帧和数据帧的结构基本相同 其RTR位为隐性位 且不存在数据场 远程帧组成如图10所示 图10 远程帧组成 5 4CAN总线的技术规范 3 出错帧出错帧由两个不同场组成 第一个由来自各站的错误标识迭加而得到 后随的第二个场是出错界定符 包括8个隐性位 图11 出错帧的组成 5 4CAN总线的技术规范 错误标志具有两种形式 1 激活错误标志 activeerrorflag 激活错误标志由6个连续的显性位组成 2 认可错误标志 passiveerrorflag 认可错误标志由6个连续的隐性位组成 除非被来自其它节点的显性位冲掉 5 4CAN总线的技术规范 检测到错误条件的 错误激活 站通过发送错误激活标志指示错误 错误标志的格式破坏了从帧起始到CRC界定符的位填充规则 也破坏了应答场或帧结束场的固定格式 因此 所有其他的站由此检测到错误条件并开始发送错误标志 因此 显性 位序列的形成就是各个站发送的不同错误标志加叠在一起的结果 这个序列的总长度最小为6个位 最大为12个位 检测到错误条件的 错误认可 的站试图通过发送错误认可标志指示错误 该 错误认可 站以错误认可标志为起点 等待6个相同极性的连续位 当这6个相同的位被检测到时 错误认可标志的发送就完成了 5 4CAN总线的技术规范 出错界定符包括8个隐性位 错误标志发送后 每个站都送出1个隐性位 并监视总线 直到检测到1个隐性位为止 然后开始发送剩余的7个隐性位 5 4CAN总线的技术规范 4 超载帧超载帧包括两个位场 超载标志和超载界定符 如图12所示 存在两种导致发送超载标志的超载条件 一个是要求延迟下一个数据帧或远程帧的接收器的内部条件 另一个是在间隙场检测到显性位 超载标志由6个显性位组成 超载界定符由8个隐性位组成 图12 超载帧的组成 5 4CAN总线的技术规范 5 帧间空间数据帧 远程帧 出错帧或超载帧 均以称之为帧间空间的位场分开 而在超载帧和出错帧前面没有帧间空间 并且多个超载帧前面也不被帧间空间分隔 5 4CAN总线的技术规范 帧间空间包括间歇场和总线空闲场 对于前面已经发送报文的 错误认可 站还有暂停发送场 如图13 图14所示 图13 非 错误认可 帧间空间 图14 错误认可 的站帧间空间 5 4CAN总线的技术规范 间歇场由3个隐性位组成 间歇期间 不允许启动发送数据帧或远程帧 它仅起标注超载条件的作用 总线空闲场周期可为任意长度 此时总线是开放的 因此任何需要发送的站均可访问总线 暂停发送场是指 错误认可站发送完一个报文后 在下一次报问发送认可总线空闲之前 它紧随间歇场后送出的8个隐性位 5 4CAN总线的技术规范 5 4 4错误类型和界定在CAN总线中存在5种错误类型 它们并不互相排斥1 位错误 向总线送出一位的某个单元同时也在监视总线 当检测到总线位数值与送出的位数值不同时 则在该位时刻检测到一个位错误 2 填充错误 在应使用位填充方法进行编码的报文中 出现了第六个连续相同的位电平时 将检出一个位填充错误 5 4CAN总线的技术规范 5 4 4错误类型和界定在CAN总线中存在5种错误类型 并不互相排斥 3 CRC错误 CRC序列是由发送器CRC计算的结果组成的 接收器以与发送器相同的方法计算CRC 如果计算结果与接收到的CRC序列不相同 则检出一个CRC错误 4 格式错误 当固定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊护理科普大赛
- 电商平台消费者债权转让及清收服务协议
- 植物人离婚监护权及子女抚养权共享协议
- 医疗资源整合远程会诊项目合作协议
- 智能停车管理系统租赁与智能停车场运营管理及增值服务合同
- 医院洁净手术部BIM管线施工与运维协议
- 草原牧场放牧权竞标与草原生态修复协议
- 世界杯羽毛球赛赞助商协议
- 家居装修工程设计与施工合同
- 影视拍摄场地消毒卫生保障协议
- 广东省广州市增城区2025届九年级下学期中考一模历史试卷(含答案)
- 大学班会课件
- 2025年云计算与大数据技术考试试题及答案
- 纳西族文化课件
- 矿石加工中的化学工艺安全技术考核试卷
- 中国共产主义青年团纪律处分条例试行解读学习
- 网络钓鱼攻击防范-第1篇-全面剖析
- 《环境设计中的天人合一》教学课件-2024-2025学年人美版(北京)(2024)初中美术七年级下册
- 采矿管理协议书范本
- 国家能源集团陆上风电项目通 用造价指标(2024年)
- 广西壮族自治区2025年4月高三毕业班诊断学考试数学试卷及答案(广西三模)
评论
0/150
提交评论