CAN总线白皮书.doc_第1页
CAN总线白皮书.doc_第2页
CAN总线白皮书.doc_第3页
CAN总线白皮书.doc_第4页
CAN总线白皮书.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

CAN 总线技术白皮书关键词:非破坏性总线,CAN2.0A,CAN2.0B,总线仲裁,位流编码,位填充,单元状态摘要:本文 CAN 总线工作原理、协议规范与帧格式等细节。缩略语:缩略语CAN RTR SRR IDE DLC DEL CRC SOF EOFREC TEC IAR IMR ACR AMR SJW MSB LSB 英文全名Control er Area Network Remote Transmission Request Substitute Remote Request Identifier Extension Data Length Code Delimiter Cyclic Redundancy Check Start Of Frame End Of FrameReceiver Error Counter Transmit Error Counter Identifier Acceptance Register Identifier Mask Register Acceptance Code Register Acceptance Mask Register Synchronization Jump Width Most Significant Bit Least Significant Bit 中文解释控制器局域网络远程发送请求替代远程请求身份标示符扩展数据长度代码界定符循环冗余检验帧起始帧结束接收错误计数器发送错误计数器标识符验收寄存器标识符屏蔽寄存器验收代码寄存器验收屏蔽寄存器同步跳转宽度最高有效位最低有效位目录1. 概述 . 1 1.1 技术优点 . 1 2. CAN 总线介绍 . 2 2.1 CAN 总线协议 . 2 2.2 CAN 总线物理特性 . 3 2.3 CAN 总线帧格式及帧类型 . 4 2.3.1 CAN 总线帧格式 . 4 2.3.2 CAN 总线帧类型 . 4 2.4 相关术语 . 7 2.4.1 CAN 总线仲裁机制 . 7 2.4.2 DLC . 8 2.4.3 帧间空间 . 8 2.4.4 位定时 . 9 2.4.5 同步 . 10 2.4.6 CAN 总线错误 . 11 3.参考文献 . 14 1. 概述CAN 是 Control er Area Network(控制器局域网络)的简称,最初是由德国 Bosch 公司设计的,应用于汽车的监测和控制。CAN总线作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,逐步被广泛应用到各种控制领域。1991 年 9 月,Philips 制定并发布 CAN 技术规范:CAN 2.0A 和 CAN2.0B。1993 年 11 月,ISO 组织正式颁布 CAN 国际标准 ISO11898。CAN 总线是唯一成为国际标准的现场总线。1.1 技术优点多主结构依据优先权进行总线访问;非破坏性的基于优先权的逐位仲裁,对于优先级最高的节点来说“发送时间”就是无损的;借助验收滤波器的多地址帧传递;远程数据请求;全系统数据相容性;错误检测和出错信令;很远的数据传输距离(长达 10KM);高速的数据传输速率(高达 1Mbps);高度实时性:每帧报文允许传输最高 8 个字节的数据;发送期间丢失仲裁或出错而遭到破坏的帧可自动重发;暂时错误和永久性故障节点的判别以及故障节点的自动脱离;脱离总线的节点不影响总线的正常工作 2. CAN 总线介绍2.1 CAN 总线协议CAN 总线规范分为两种 CAN2.0A 和 CAN2.0B:CAN2.0A:CAN 标准报文格式CAN2.0B:CAN 标准报文格式和扩展报文格式CAN 总线技术规范目的:定义数据链路层定义 CAN 协议在周围各层中所发挥的作用7.应用层6.表示层5.会话层4. 传 输层3.网络层2. 数 据链路层1. 物 理层LLC MAC 表 1 CAN 总线分层结构及定义事项 2.2 CAN 总线物理特性(1)CAN 总线电平信号图 1 CAN 总线电平信号CAN 总线上是差分信号,一个差分信号是用一个数值来表示两个物理量之间的差异:逻辑 0显性CAN_H对应是 3.5V,CAN_L 对应是 1.5V 逻辑 1隐性CAN_H对应是 2.5V,CAN_L 对应是 2.5V 正常情况下:CAN_H 标准电压:隐性为 2.6V 左右;显性为 3.8V 左右CAN_L 标准电压:隐性为 2.4V 左右;显性为 1.2V 左右(2)CAN 总线信号编码方式图 2 CAN 总线编码CAN 总线采用 NRZ(单极性不归零码)编码,相比曼彻斯特码具有更好的 EMC 性能。当发送器检测到位流里有连续 5 个相同极性的位就会插入一个填充位,接收器会删除这个填充位,然而在固定的位场中不使用位填充。 图 3 位填充示意图(3)CAN 总线速率与传输距离关系CAN 总线上任意两个节点之间的最大传输距离与其位速率关系如表 2:位速率/kbps 1000 500 250 125 100 50 20 10 5 最大距离/m 40 130 270 530 620 1300 3300 6700 10000 表 2 CAN 总线位速率与传输距离对应表2.3 CAN 总线帧格式及帧类型2.3.1 CAN总线帧格式CAN总线有二种不同的CAN帧格式,标准帧和扩展帧。CAN2.0A协议仅支持标准帧;CAN2.0B 协议引入第二种帧格式,它支持标准帧和扩展帧。具有 11 位标识符的 CAN 帧称为标准帧;具有 29 位标识符的 CAN 帧称为扩展帧。两种帧格式可出现在同一总线上。2.3.2 CAN总线帧类型CAN 总线报文传送主要有四种类型的帧:数据帧、远程帧、错误帧以及过载帧。(1)数据帧由 7 个不同的位场组成,分别是帧起始、仲裁场、控制场、数据场、CRC 场、应答场以及帧结束。数据帧用于从发送节点向其他节点发送数据。帧起始(SOF):表示数据帧和远程帧的起始,仅由 1 位显性位(0)组成帧结束(EOF):表示数据帧和远程帧的结束,由 7 位隐性位(1)组成。仲裁场:用于实现总线仲裁功能和设置冲突发生时的优先级。11 位标识符的是标准数据帧;29 位标识符的是扩展数据帧。远程发送请求位 RTR 用于区分数据帧和远程帧,在数据帧中 RTR 必须为显性电平(0);远程帧中该位为隐性电平(1)。 不管在数据帧中还是远程帧中,标准帧的 RTR 位被扩展帧的 SRR 位替代,SRR 位在扩展帧中必须为隐性位,扩展帧的 RTR 位被置于保留位 r1 前。控制场:控制场中的 IDE 位用于区分标准帧和扩展帧。在标准帧中该位为显性电平(0);扩展帧中该位为隐性电平(1),接收器检测位流序列的 IDE 位以识别接收的是标准帧还是扩展帧。数据长度代码(DLC),指示数据场的字节数目,共 4 个位 DLC0DLC3。DLC 可以设置08 的数字表示数据字节数(超过 8 的数字则认为是 8,这种情况并不视为出错)。两位保留位 r0 和 r1,用于扩展。保留位必须全部以显性电平发送,但接收方可以接收显性、隐性及其任意组合的电平。数据场:数据场可以为 08 个字节,首先发送 MSB(最高位),一般情况下都是 8 个字节,每个字节可以存储任意的数。CRC 场:CRC 校验仅仅是 CAN 通讯的一种错误检测,用于对帧起始、仲裁场、控制场、数据场上的位进行校验。CRC 码最适合于短帧报文,CRC 界定符为 1 位隐性位。应答场:应答场长度为 2 位,包含应答间隙和应答界定符。在应答域里,发送站发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答间隙期间发送 ACK 信号,向发送器发送一个“显性”的位以示应答。图 4 标准数据帧结构示意图图 5 扩展数据帧结构示意图(2)远程帧远程帧也有二种格式,标准远程帧和扩展远程帧,而且都由 6 个不同的位场组成:帧起始、仲裁场、控制场、CRC 场、应答场、帧结束。远程帧除了没有数据场,以及 RTR 位是隐形位(1)以外,与数据帧完全一样。远程帧中的数据长度代码表示的是所请求数据帧的数据长度代码。图 6 标准远程帧结构示意图图 7 扩展远程帧结构示意图(3)错误帧错误帧用于在接收和发送消息检测到错误时向总线通知错误,该帧由错误标志和错误界定符构成。错误标志包括主动错误标志和被动错误标志两种:主动错误标志为6位显性位构成,被动错误标志为 6 位隐性位构成。错误界定符由 8 位隐性位构成。为了能正确地终止错误帧,“错误认可”的节点要求总线至少有长度为 3 位的总线空闲。图 8 错误帧结构示意(4)过载帧过载帧用于接收方通知发送方尚未准备好接收数据,过载帧在先行和后续的数据帧(或远程帧)之间提供一个附加的延时。过载帧由过载标志和过载界定符构成。过载标志由 6 位显性位构成;过载界定符由 8 位隐性位构成。有三种过载的情况,这三种情况都会引发过载标志的传送:接收方的内部情况(接收方尚未准备好接收数据,对于下一个数据帧或远程帧需要有一个延时);在帧间空间间歇场的第一和第二字节检测到一个“显性”位;如果 CAN 节点在错误界定符或过载界定符的第 8 位(最后一位)采样到一个显性位,节点会发送一个过载帧(不是错误帧)。错误计数器不会增加。图 9 过载帧结构示意图2.4 相关术语2.4.1 CAN总线仲裁机制总线上显性电平支配隐性电平。逻辑“0”为显性电平;逻辑“1”为隐性电平; 总线空闲时,任何节点可以开始发送报文; 总线上每条报文都具有唯一的一个 11 位或 29 位标识符; 报文标识符的值越小,报文具有越高的优先权; 多个节点同时发送时,总线在“仲裁场”进行“逐位仲裁”; 传送高优先级报文的节点赢得仲裁,并继续传输报文; 失去仲裁的节点在总线空闲时重新传送 当一个扩展帧和一个标准帧同时出现在网络并且扩展帧的高 11 位与标准帧相同时:若该标准帧为数据帧,则 RTR 为显性而对应的扩展帧中 SSR 位为隐性,于是标准帧竞争总线成功继续发送而扩展帧对应节点竞争失败转为接收节点。若该标准帧为远程帧,RTR 位与 SRR 位同为隐性,不存在冲突两帧继续发送 IDE 位,标准帧中 IDE 位为显性而扩展帧中 IDE 位为隐性,同样标准帧竞争成功继续享用总线而扩展帧对应的节点竞争总线失败转为接收器。这也就是标准帧的优先级总高于扩展帧的原因。图10 CAN 总线仲裁示意图2.4.2 DLC数据长度代码指示了数据场里的字节数量,共4 个位DLC0DLC3。DLC 可以设置08的数字表示数据字节数(超过8 的数字则认为是8,这种情况并不视为出错)。2.4.3 帧间空间数据帧或远程帧与先行帧的隔离是通过帧间空间实现的,无论此先行帧类型如何(数据帧、远程帧、错误帧、过载帧)。不同的是,过载帧与错误帧之前没有帧间空间,多个过载帧之间不用帧间空间进行分隔。帧间空间包括间歇、总线空闲的位场。间歇场由3个隐性位组成,间歇场期间不允许启动发送数据帧或远程帧。总线空闲位场为隐性位,长度不限。此时,总线是开放的,任何站可随时发送。如果被动错误状态的节点已作为前一报文的发送器,则其帧间空间除了间歇、总线空闲外,还包括称做挂起传送(暂停发送,由 8 个隐性位组成)的位场。 图 11 帧间空间示意图2.4.4 位定时位定时相关名词有:标称位速率(Nominal Bit Rate):一理想发送器在没有重新同步的情况下每秒发送的位数量;标称位时间(Nominal Bit Time):1/标称位速率。标称位时间可分成几个不重叠的片段,分别是同步段、传输延时段、相位缓冲段 1、相位缓冲段 2;采样点(Sample Point):读总线电平并解释各位的值的一个时间点。采样点位于相位缓冲段 1 之后;时间份额(Time Quanta,以下简称 Tq):时间份额是派生于振荡器周期的固定时间单元,它是实现 CAN 协议的基准时钟;信息处理时间(Information Processing Time):信息处理时间是以一个采样点作为起始的时间段。采样点用于计算后续位的位电平。图 12 位时间示意图2.4.5 同步CAN协议采用的是不归零码(NRZ)通讯方式。在各位的起始处与结尾处不附加同步信号。发送单元与位时间同步开始发送数据。而接收单元按总线上的电平变化加以同步的同时,完成接收动作。但是,由于时钟的误差及传输线路(电缆、驱动器等)的相位延迟,发送单元与接收单元之间有时可能出现同步偏离,因此接收单元要进行硬同步或者是重同步,以对准时间进行接收。(1)硬同步硬同步一般用于帧的开始,即总线上的各个节点的内部位时间的起始位置(同步段)是由来自总线的一个报文帧的帧起始的前沿决定的,也就是说在总线空闲期间,有一个“隐性”到一个“显性”的跳变沿时,则硬同步就会被执行。(2)重同步在接受报文过程中,检测到总线上的电平跳变时,所进行的同步。每当检测到下降跳变沿时,则根据 SJW(同步跳转宽度)的值按误差加宽相位缓冲段 1,或者压缩相位缓冲段 2。但是,在误差大于 SJW 值时,则只能调整 SJW 的最大值。在帧的位流发送期间,节点内部的一个位时间内,如果检测到一个下降跳变沿,若此跳变沿在同步段内,则不需要重同步;若在传输延时段或相位缓冲段1内,则需要延长相位缓冲段1来重同步;若在相位缓冲段 2 内,则需要缩短相位缓冲段 2 来重同步。值得注意的是相位缓冲段只在当前的位时间内被延长或者缩短,在接下来的位时间内,只要没有重同步,各时间段将恢复编程预设值。 图 13 位同步示意图2.4.6 CAN总线错误(1)错误种类错误共有 5 种:位错误、填充错误、CRC 错误、格式错误和应答错误。2 个或 2 个以上的错误有可能同时出现。错误的种类、错误的内容、检测错误的帧及检测单元如表 5 所示。错误种类位错误填充错误CRC 错误格式错误应答错误错误的内容将输出电平与总线电 平加 以比较(不包括填充位),在两电平不一致的场合下,出现位错误按理应进行位填充的域中,检测出了连续 6 位的相同电平时,出现填充错误按接收数据计算出的CRC结果与接收到的CRC顺序不同时,出现CRC 错误在固定格式的位域中,检测出有违反格式的错误发送单元在应答间隙(ACK 槽)中检测隐性电平时发现的错误(没有发送出 ACK 时检测到的错误)检测错误的帧(域)数据帧(SOF-EOF);远程帧(SOF-EOF);错误帧;过载帧数据帧(SOF-CRC 顺序);远程帧(SOF-CRC 顺序)数据帧(CRC 顺序);远程帧(CRC 顺序)数据帧(CRC 界定符、ACK界定符、EOF);远程帧(CRC界定符、ACK 界定符、EOF);错误界定符;过载界定符数据帧(ACK 槽);远程帧(ACK 槽)检测单元发送单元接收单元发送单元接收单元接收单元接收单元发送单元(2)CAN 错误种类产生位置以扩展远程帧为例:表 5 错误种类介绍图 14 错误检测位置示意图 (3)错误帧的输出检测出错误条件的单元通过输出错误标志通知出现错误。错误激活状态单元输出的错误标志为激活错误

温馨提示

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

最新文档

评论

0/150

提交评论