[信息与通信]第五章 CAN总线技术第1部分.ppt
Part 5: Controller Area Networks,CAN主讲内容,CAN总线发展历史 CAN总线的特点 CAN总线的通信协议体系结构 CAN报文的帧结构 CAN总线的位仲裁技术 通信错误以及处理机制,CAN总线发展历史,1986年2月,Robert Bosch 公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线CAN控制器局域网,那是CAN诞生的时刻。 于1987年中期,Intel提前计划2个月交付了首枚CAN控制器:82526(FullCan)。不久之后,Philips 半导体推出了82C200(BasicCAN)。 在1990年早些时候,Bosch CAN 规范(CAN 2.0版)被提交给国际标准化组织,并于1993年11月出版了CAN的国际标准ISO11898 。,CAN总线发展历史,当前,修订的CAN规范正在标准化中。ISO11898-1称为“CAN数据链路层”,ISO11898-2称为“非容错CAN物理层”,ISO11898-3称为“容错CAN物理层”。国际标准ISO11992(卡车和拖车接口)和ISO11783(农业和森林机械)都在美国标准J1939的基础上定义了基于CAN应用的子协议,但是它们并不完整。,CAN总线发展历史,尽管当初研究CAN总线的目的是为了应用客车系统, 但是CAN的第一个市场应用确来自于其他领域。目前 CAN在北欧已经得到了广泛的使用。瑞士工程办公室 Kvaser将其应用于纺织机械厂,由于CAN只是物理层和数 据链路层,他们探讨机器间的通信协议,1989年研制出通 信规范,1990年建立了CANKingdom开发环境,这就是最初 的CAN高层协议的原型。 在荷兰,Philips医疗系统决定使用CAN构成X光机的 内部网络,成为CAN的工业用户。主要由Tom Suters发 表的“Philips报文规范PMS”提出了CAN网络的第一 个应用层。,CAN总线发展历史,1992年5月,CiA(CAN In Automaiton)用户集团 正式成立,随后发布了CAL(CAN Application Layer)。 1994年,美国Allen-Bradley公司研究基于CAN 的通讯与控制,形成了DeviceNet规范。 在1992年,奔驰公司开始在高级轿车使用了 CAN总线。,CAN总线的特点,CAN CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。,CAN总线的特点,特点: 通信方式灵活 CAN上节点信息分成不同的优先级 CAN采用非破坏性总线仲裁技术 只需通过报文滤波即可实现点对点通信 直接通信距离可达10KM,速率可达1Mbps CAN节点数取决于总线驱动能力,目前可达110个. 通信格式采用短帧格式 每帧信息都有CRC校验及其检错措施 CAN总线通信接口集成了CAN协议的物理层和数据链路层. 通信介质,可以是双绞线, 同轴电缆或光纤 CAN节点在错误严重的情况下具有自动关闭的功能.,CAN总线的通信协议体系结构,CAN通信参考模型,CAN总线的通信协议体系结构,CAN的分层结构,CAN总线的通信协议体系结构,物理层 介质:可以是双绞线, 同轴电缆或光纤 编码: Non Return to Zero (NRZ),CAN总线的通信协议体系结构,物理层 位填充,CAN总线的通信协议体系结构,CAN总线基于以下5条基本规则进行通信: 总线访问:CAN是共享媒体的总线,它对媒体的访问机制类似于以太网的CSMA/CD方式。 只有当网络上至少有3个隐性位时,才能开始发送。 仲裁:当总线空闲时呈隐性电平,此时任何一个节点都可以发送一个显性的电平作为一个帧的开始。 各发送节点在发送电平的同时,也对总线上的电平进行读取。 如果与自身的电平相同,则发送下一位,不同就停止发送,说明网上有优先级更高的信息帧在发送。 编码/解码:帧起始域,仲裁域,数据域,以及CRC域均使用了位填充技术,出现5个连续的同状态电平,就插入一个与它互补的电平。,CAN总线的通信协议体系结构,出错标记: 当检查到位错误,填充错误,形式错误,或应答错误时,检查出出错条件的CAN控制器将发送一个出错标记。 超载标记:一些CAN控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。,CAN报文的帧结构,数据帧 远程帧 错误帧 超载帧,CAN的标准数据帧,SOF标志着数据帧和远程帧的开始 EOF每个数据帧和远程帧由7个隐性位组成的标志序列组成 Arbitration由11位标识符和1位RTR(远程请求发送)组成,CAN的标准数据帧,Control包括数据长度码和两个保留位,见下图,Data由被发送的数据组成,它可以包括08个字节,CAN的标准数据帧,CRC包括CRC序列和CRC界定符,见下图,ACK由应答间隙和应答界定符组成,CAN的扩展数据帧,Arbitration Field 32 bits,CAN Extended Data Frame Maximum frame length with bit stuffing = 150 bits,S O F,Identifier,S R R,I D E,Identifier Ext.,R T R,R0,R1,DLC,Data Field,CRC,ACK Field,E O F,Control Field 6 bits,Data Field,No Bit Stuffing,Bit Stuffing,CAN的远程帧,CAN的差错帧,CAN的超载帧,CAN总线的位仲裁技术,CAN总线使用的是一种叫做”载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模型。这就容许总线上面的任何设备有一定的机会获取总线的控制权来向外发送信息,如果同一时刻有两个以上的设备欲发送信息,就会发生数据冲突,CAN总线能够实时地监测这些冲突情况并作出相应地位仲裁,而使获得仲裁的信息帧不受任何损坏的继续传送。如下图:,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,CAN总线的位仲裁技术举例,通信错误以及处理机制,CAN总线中存在5种错误类型。 位错误: 某节点送一位信息到总线上, 监听到总线位值与其不一致 填充错误: 报文中出现了连续6个相同的位电平 CRC错误: 接收器计算的CRC值与接收的CRC值不一致 形式错误: 固定形式的位域出现一个或多个非法位 应答错误: 在应答间隙,发送器未能监测到显位时,通信错误以及处理机制,当监测到出错条件的节点通过发送错误标志进行标定. 在CAN总线中,任何一个单元可能处于以下三列故障状态 之一: 错误激活状态,错误认可状态和总线关闭状态. 错误激活单元可以照常参与总线通信,并且检查送出一 个活动错误标记,错误认可单元可以参与总线通信,但是 不容许送出活动错误标记,监测到错误时,只送出认可错 误标记,并且发送后仍处于认可错误标记状态,直到下一 次初始化,本章小节,了解CAN总线的技术特征 CAN总线标准格式和扩展格式 重点掌握CAN总线的位仲裁技术 熟悉CAN总线的通信体系结构,本章习题,1. 分析CAN标准形式和扩展格式的异同, 并画出结构图。 2. 阐述CAN总线的位仲裁技术,并画出 A,B,C三个CAN节点总线竞争图 (A,B,C的标识符为01100110001,0110011000,01110001100). 3. 思考位仲裁与实时以太网确定性通信的优劣性?,参考文献,CAN Specification 2.0 BOSCH 现场总线技术及应用 阳宪慧,