1 / 11
文档名称:

CANopen协议之CAN总线简介.doc.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

CANopen协议之CAN总线简介.doc.doc

上传人:taqian55492 2016/3/14 文件大小:0 KB

下载得到文件列表

CANopen协议之CAN总线简介.doc.doc

文档介绍

文档介绍:CANopen 协议之 CAN 总线简介 1引言随着汽车工业的发展, 20 世纪 80 年代中期,率先由 *** 公司研发出新一代的汽车总线即控制器局域网 CAN(Controller work) 总线, CAN 总线具有布线简单、典型的总线型结构、可最大限度地节约布线与维护成本、稳定可靠、实时、抗干扰能力强、传输距离远等特点,这些都决定了 CAN 总线必定是一种成功的总线。 CAN 总线一经推出,不仅在汽车行业得到广泛的推广与应用,在诸如航天、电力、石化、冶金、纺织、造纸等领域也得到广泛应用。在自动化仪表、工业生产现场和数控机床等系统中也越来越多地使用了 CAN 总线, CAN 总线的未来发展依然充满活力,有着巨大的发展空间。由于 CA N 总线本身只定义 ISO/OS I 模型中的第一层(物理层)和第二层(数据链路层),通常情况下 CA N 总线网络都是独立的网络,所以没有网络层。在实际使用中,用户还需要自己定义应用层的协议,因此在 CAN 总线的发展过程中出现了各种版本的 CAN 应用层协议,现阶段最流行的 CAN 应用层协议主要有 CANopen 、 和 J1939 等协议。本系列文章主要介绍 CAN 总线、基于 CAN 总线的应用层协议—— CANopen ,以及 CANopen 设备的应用及组网方式。本文主要介绍 CAN 总线相关的概念及网络结构。 2 CAN 总线特点 CAN 总线采用差分信号传输, 通常情况下只需要两根信号线( CAN-H 和 CAN-L ) 就可以进行正常的通信。在干扰比较强的场合, 还需要用到屏蔽地即 CAN-G ( 主要功能是屏蔽干扰信号), CAN 协议推荐用户使用屏蔽双绞线作为 CAN 总线的传输线。在隐性状态下, CAN-H 与 CAN-L 的输入差分电压为 0 V(最大不超过 V) ,共模输入电压为 V 。在显性状态下, CAN-H 与 CAN-L 的输入差分电压为 2 V(最小不小于 V),如图 1所示。其物理传输层详细和高效的定义,使得 CAN 总线具有其他总线无法达到的优势,注定其在工业现场总线中占有不可动摇的地位, CAN 总线通信主要具有如下优势和特点。(1)CAN 总线上任意节点均可在任意时刻主动地向其他节点发起通信,节点没有主从之分,但在同一时刻优先级高的节点能获得总线的使用权,在高优先级的节点释放总线后,任意节点都可使用总线。(2)CA N 总线传输波特率为5 kb/s ~1 Mb/s ,在5 kb/ s 的通信波特率下最远传输距离可以达到 10 km , 即使在1 Mb/ s 的波特率下也能传输 40 m的距离。在1 Mb/ s 波特率下节点发送一帧数据最多需要 134 μ s。(3)CAN 总线采用载波监听多路访问、逐位仲裁的非破坏性总线仲裁技术。在节点需要发送信息时, 节点先监听总线是否空闲,只有节点监听到总线空闲时才能够发送数据,即载波监听多路访问方式。在总线出现两个以上的节点同时发送数据时, CAN 协议规定,按位进行仲裁,按照显性位优先级大于隐性位优先级的规则进行仲裁,最后高优先级的节点数据毫无破坏地被发送,其他节点停止发送数据(即逐位仲裁无破坏的传输技术)。这样能大大地提高总线的使用效率及实时性。(4)CAN 总线所挂接的节点数量主要取决于 CAN 总线收发器或驱动器,目前的驱动器一般都可以使同一网络容量达到 110 个节点。 CAN 报文分为两个标准即 标准帧和 扩展帧,两个标准最大的区别在于 只有 11 位标识符, 具有 29 位标识符。(5)CAN 总线定义使用了硬件报文滤波,可实现点对点及点对多点的通信方式,不需要软件来控制。数据采用短帧发送方式,每帧数据不超过 8B,抗干扰能力强, 每帧接收的数据都进行 CRC 校验,使得数据出错机率极大限度地降低。 CAN 节点在错误严重的情况下具有自动关闭功能,避免了对总线上其他节点的干扰。(6)CAN 总线通信介质可采用双绞线、同轴电缆或光纤,选择极为灵活,可大大节约组网成本。 3 CAN 控制器介绍随着 CAN 总线的不断发展壮大,符合 和 协议的独立芯片越来越多。如 NXP 公司推出的 SJA1000 及 SJA1000F ,可以直接与普通单片机组合,使该单片机具有 CAN 通信的能力。随着 CAN 需求的日益增大,芯片厂商也把 CAN 控制器直接集成到芯片内部,例如 NXP 公司的 LPC2119 、 LPC2294 、 LPC2378 等。以下主要以 LPC2378 的集成 CAN 控制器为例,对 CAN 控制器作一个介绍。 LPC2378 CAN 控制器结构如图 2 所示