最新型号:

微信扫一扫
关注我们

当前位置:首页 >> 技术资料 >> 接口/总线/驱动 >> can总线分层结构及报文传输

can总线分层结构及报文传输

文章出处:互联网 发布时间: 2017/11/10 | 73 次阅读

  CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。在建立之初,CAN总线就定位于汽车内部的现场总线,具有传输速度快、可靠性高、灵活性强等优点。上世纪90年代CAN总线开始在汽车电子行业内逐步推广,目前已成为汽车电子行业首选的通信协议,并且在医疗设备、工业生产、楼宇设施、交通运输等领域中取得了广泛的应用。

  CAN的分层结构

can总线分层结构及报文传输

  CAN的数据链路层是其核心内容,其中逻辑链路控制(Logical Link control,LLC)完成过滤、过载通知和管理恢复等功能,媒体访问控制(Medium Access Control,MAC)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。

  逻辑链路控制子层(LLC)的功能:为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文实际上已被接收,为恢复管理和通知超载提供信息。在定义目标处理时,存在许多灵活性。

  介质访问控制子层(MAC)的功能:主要是传送规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层也要确定当开始一次新的传送时,总线是否开放或者是否马上开始接收。位定时特性也是MAC子层的一部分。

  帧类型

  在CAN2.0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有11位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展帧。如CAN1.2版本协议所描述,两个版本的标准数据帧格式和远程帧格式分别是等效的,而扩展格式是CAN2.0B协议新增加的特性。为使控制器设计相对简单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的支持标准格式。但无论是哪种帧格式,在报文传输时都有以下四种不同类型的帧。

  在报文传输时,不同的帧具有不同的传输结构,下面将分别介绍四种传输帧的结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。

  (1)数据帧

  由七种不同的位域(Bit Field)组成:帧起始(Start of )、仲裁域(Arbitraon Field)、控制域(Control Field)、数据域(DataField)、CRC域(CRC Field)、应答域(ACK Field)和帧结尾(End of )。数据域的长度可以为0~8个字节。

can总线分层结构及报文传输

  1)帧起始(SOF):帧起始(SOF)标志着数据帧和远程帧的起始,仅由一个“显性”位组成。在CAN的同步规则中,当总线空闲时(处于隐性状态),才允许站点开始发送(信号)。所有的站点必须同步于首先开始发送报文的站点的帧起始前沿(该方式称为“硬同步”)。

can总线分层结构及报文传输

  2)仲裁域:仲裁域由标识符和RTR位组成,标准帧格式与扩展帧格式的仲裁域格式不同。标准格式里,仲裁域由1l位标识符和RTR位组成。标识符位有ID28~IDl8。扩展帧格式里,仲裁域包括29位标识符、SRR位、IDE(Idenfier Extension,标志符扩展)位、RTR位。其标识符有ID28~IDO。为了区别标准帧格式和扩展帧格式,CANl.0~1.2版本协议的保留位r1现表示为IDE位。IDE位为显性,表示数据帧为标准格式;IDE位为隐性,表示数据帧为扩展帧格式。在扩展帧中,替代远程请求(Substute Remote Request,SRR)位为隐性。仲裁域传输顺序为从最高位到最低位,其中最高7位不能全为零。RTR的全称为“远程发送请求(Remote TransmissionRequest)”。RTR位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”。它是区别数据帧和远程帧的标志。

can总线分层结构及报文传输

  3)控制域:控制域由6位组成,包括2个保留位(r0、r1同于CAN总线协议扩展)及4位数据长度码,允许的数据长度值为0~8字节。

can总线分层结构及报文传输

  4)数据域:发送缓冲区中的数据按照长度代码指示长度发送。对于接收的数据,同样如此。它可为0~8字节,每个字节包含8位,首先发送的是MSB(最高位)。

  5)CRC校验码域:它由CRC域(15位)及CRC边界符(一个隐性位)组成。CRC计算中,被除的多项式包括帧的起始域、仲裁域、控制域、数据域及15位为0的解除填充的位流给定。此多项式被下列多项式X15+X14+X10+X8+X7+X4+X3+1除(系数按模2计算),相除的余数即为发至总线的CRC序列。发送时,CRC序列的最高有效位被首先发送/接收。之所以选用这种帧校验方式,是由于这种CRC校验码对于少于127位的帧是最佳的。

can总线分层结构及报文传输

  6)应答域:应答域由发送方发出的两个(应答间隙及应答界定)隐性位组成,所有接收到正确的CRC序列的节点将在发送节点的应答间隙上将发送的这一隐性位改写为显性位。因此,发送节点将一直监视总线信号已确认网络中至少一个节点正确地接收到所发信息。应答界定符是应答域中第二个隐性位,由此可见,应答间隙两边有两个隐性位:CRC域和应答界定位。

can总线分层结构及报文传输

  7)帧结束域:每一个数据帧或远程帧均由一串七个隐性位的帧结束域结尾。这样,接收节点可以正确检测到一个帧的传输结束。

  (2)错误帧

  错误帧由两个不同的域组成:第一个域是来自控制器的错误标志;第二个域为错误分界符。

can总线分层结构及报文传输

  1)错误标志:有两种形式的错误标志。

  ①激活(Acve)错误标志。它由6个连续显性位组成。

  ②认可(Passive)错误标志。它由6个连续隐性位组成。

  它可由其他CAN总线协议控制器的显性位改写。

  2)错误界定:错误界定符由8个隐性位组成。传送了错误标志以后,每一站就发送一个隐性位,并一直监视总线直到检测出1个隐性位为止,然后就开始发送其余7个隐性位。

  (3)远程帧

can总线分层结构及报文传输

  远程帧也有标准格式和扩展格式,而且都由6个不同的位域组成:帧起始、仲裁域、控制域、CRC域、应答域、帧结尾。与数据帧相比,远程帧的RTR位为隐性,没有数据域,数据长度编码域可以是0~8个字节的任何值,这个值是远程帧请求发送的数据帧的数据域长度。当具有相同仲裁域的数据帧和远程帧同时发送时,由于数据帧的RTR位为显性,所以数据帧获得优先。发送远程帧的节点可以直接接收数据。

  (4)过载帧

can总线分层结构及报文传输

  过载帧由两个区域组成:过载标识域及过载界定符域。下述三种状态将导致过载帧发送:

  1)接收方在接收一帧之前需要过多的时间处理当前的数据(接收尚未准备好);

  2)在帧空隙域检测到显性位信号;

  3)如果CAN节点在错误界定符或过载界定符的第8位采样到一个显性位节点会发送一个过载帧。

技术资料出处:互联网
该文章仅供学习参考使用,版权归作者所有。
因本网站内容较多,未能及时联系上的作者,请按本网站显示的方式与我们联系。现在联系我们

 

基于CAN总线的并联液压混合动力车控制系统

目前,我国城市公共交通主要依赖公交车,站间距离一般在500~1000米。公交车在每站间有数次刹车和启动,在交通流量的高峰期,刹车和启动更加频繁,带来能源浪费、尾气污染...

上海通用汽车如何一分钟找到CAN总线的问题节点

上一篇《一分钟找到CAN总线的问题节点》引起了诸多CAN应用者的共鸣,上海通用汽车用这个功能,进行焊接机器人的日常维护,监测机器人CAN通信的信号质量,及时更换有隐患的...

基于FPGA的车电总线接口技术研究

导读:为提高集成架构中车电总线通信速率,结合综合化处理系统项目要求,采用双总线结合的方式,利用CAN总线和FlexRay总线实现功能及搭配上的互补,提出一种基于现场可编程...

一种CAN总线与以太网互连系统的设计方案

摘要:本文介绍了一种CAN总线与以太网互连系统的设计方案,设计方案在CAN总线物理层和数据链路层基础上实现了扩展的应用协议,使CAN总线系统具有良好的扩展性,并通过以太网...

总线技术及CAN总线技术简介

导读:CAN总线技术是国际上应该最为广泛的现场总线之一。CAN总线技术最初只是为了解决汽车工业在发展的过程中应用的线束过长,影响汽车内空间的使用率和信息传递的可靠性。...

顶我一下 0次

关闭】【推荐】【打印】【收藏此页

本文已有(0)篇评论

发表评论

验证码:  验证码,看不清楚?请点击刷新验证码

字符数不能超过255

用户评论

  • 暂且没有评论!
IC现货资源
PCB打样

每日推荐

一种基于FPGA的真随机数发生器设计与实现

真随机数发生器(TRNG)在统计学、信息安全等领域有着广泛的应用。在这些领域中,不仅要求数据序列分布均匀、彼此独立,而且要求其具有不可预测性,能够抵御针对随机性的攻击。B.Sunar,W.J.Marn和D.R.Snson提出,真随机数发生器的性能受3个因素的影响:熵源(Ent...[全文]

PDF资料