微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 入门知识分享之CAN总线

入门知识分享之CAN总线

时间:12-06 来源:互联网 点击:

  一、CAN总线的概述

  CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。

  二、CAN总线的分层结构

  CAN遵从OSI模型,按照OSI基准模型,CAN结构划分为两层:数据链路层和物理层,如下图所示。

  

  1.按照IEEE 802.2和802.3 标准,数据链路层又划分为:

  1)逻辑链路控制(LLC-Logic Link Control)。

  2)媒体访问控制(MAC-Medium Access Control)。

  2.物理层又划分为:

  1)物理信令(PLS-Physical Signalling)。

  2)物理媒体附属装置(PMA-Physical Medium Attachment)。

  3)媒体相关接口(MDI-Medium Dependent Interface)。

  MAC子层运行借助称之为“故障界定实体(FCE)”的管理实体进行监控。故障界定是使判别短暂干扰和永久性故障成为可能的一种自检机制。物理层可借助检测和管理物理媒体故障实体进行监控(例如总线短路或中断,总线故障管理)。LLC和MAC两个同等的协议实体通过交换帧或协议数据单元(PDU-Protocol Data Unit)和(N)-用户数据组成,为传送一个NPDU,(N-1)层实体必须通过(N-1)服务访问点(SAP-Service Access Point)[(N-1)-SAP].NPDU借助于(N-1)层服务数据单元(SDU-Service Data U nit)[(N-1)-SDU]传至(N-1)层,其服务功能允许NPDU的传送。SDU是接口数据,对其识别预先在(N)层实体间进行,亦即,它表示逻辑数据单元由服务进行传送。CAN协议的数据链层既不提供分配一个SDU至多个PDU,也不提供分配多个SDU至一个PDU的方法,亦即,NPDU直接由相应的NSDU和层指定控制信息N-PCI构成。

  三、CAN总线的原理介绍

  当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时, 转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。

  由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。

  四、CAN总线的特点

  CAN具有十分优越的特点,使人们乐于选择。这些优越的特点包括:

  (1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。

  (2)网络各节点之间的数据通信实时性强。CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。

  (3)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mb/s.

  (4)CAN总线通信接口中集成了CAN协议的物理层和数据链路层作用,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等项工作。

  (5)CAN协议的一个最大特点是废除了传统的站地址编码,雨代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种数据块编码方式,还可使不同的节点同时接收到相同的数据,这一点在分步式控制中非常重要。

(6)数据段长度最多为8个字节,可

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top