CAN,全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。
每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或 软件上进行修改。
当所提供的新站是纯数据接收设备时,数据传输协议不要求的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己的传感器。
CAN协议有两种数据帧类型标准2.0A和标准2.0B。两者本质的不同在于ID的长度不同。在2.0A类型中,ID的长度为l l位;在2.0B类型中ID为29位。一个信息震中包括7个主要的域: 帧起始域--标志数据帧的开始,由一个显性位组成。
仲裁域--内容由标示符和远程传输请求位(RTR)组成,RTR用以表明此信息帧是数据帧还是不包含任何数据的远地请求帧。当2.0A的数据帧和2.0B的数据帧必须在同一条总线上传输时,首先判断其优先权,如果ID相同,则非扩展数据帧的优先权高于扩展数据帧。
错误帧由错误标志和错误分界两个域组成。接收节点发现总线上的报文有误时,将自动发出活动错误标志其他节点检测到活动错误标志后发送错误认可标志。
帧间空隙位于数据帧和远地帧与前面的信息帧之间,由帧间空隙和总线空闲状态组成。帧间空隙是必要的,在此期间, CAN不进行新的帧发送,为的是CAN控制器在下次信息传递前有时间进行内部处理操作。当总线空闲时CAN控制器方可发送数据。
CAN总线 年的早些时候,Bosch 公司的工程师就开始论证当时的串行总线用于客车系统的可行性。因为没有一种现成的网络方案能够完全满足汽车工程师们的要求,于是,在 1983 年初,Uwe Kiencke 开始研究一种新的串行总线。
该错误检测也包括自动断开故障节点功能,以确保能继续进行剩余节点之间的通讯。传输的报文并非根据报文发送器/接收器的节点地址识别,而是根据报文的内容识别。同时,用于识别报文的标识符也了该报文在系统中的优先级。
当关于这种革新的通讯方案的大部分文字内容制定之后,于 1987 年中期,Intel 提前计划 2 个月交付了首枚 CAN 控制器:82526,这是 CAN 方案首次通过硬件实现。仅仅用了四年的时间,设想就变成了现实。
不久之后,Philips 半导体推出了 82C200。这两枚最先的 CAN 控制器在验收滤波和报文控制方面有许多不同。一方面,由Intel主推的FullCAN比由Philips主推的BasicCAN占用较少的CPU载荷;另一方面, FullCAN器件所能接收的报文数目相对受到,BasicCAN 控制器仅需较少的硅晶体。
在荷兰,Philips 医疗系统决定使用 CAN 构成 X 光机的内部网络,成为 CAN 的工业用户。大多数 CAN 的先行者使用单片电的方法,通讯功能、网络管理、应用代码组合在同一个软件之中。即使一些用户有较多的标准模块可供利用,但面对所有的解决方案,他们也一定存在着缺陷。
J1939,这也是一个基于 CAN 的应用子协议,由 SAE 的 Truck and Bus 协会制定。J1939是一个非模块化的方案,简单易学,但灵活性很差。当然,生产 CAN 模块集成器件的 15 家半导体厂商主要聚焦于汽车工业。
从 1992 年起,Mercedes-Benz开始在他们的高级客车中使用 CAN 技术。第一步使用电子控制器通过 CAN 对发动机进行管理;第二步使用控制器接收人们的操作信号。这就使用了 2 个物理上的CAN 总线系统,它们通过网关连接。其他的客车厂商也纷纷赶来斯图加特学习,在他们的客车上也使用 2套 CAN 总线系统。
尽管 CAN 协议已经有很长的历史,但它仍处在改进之中。一个由数家公司组成的 ISO任务组织定义了一种时间触发 CAN 报文传输的协议。现在,CAN 在全球市场上仍然处于起始点,汽车厂商将会在他们所生产汽车的串行部件上使用 CAN。
另外,大量潜在的新应用(例如:娱乐)正在呈现--不仅可用于汽车,也可用于家庭消费。同时,结合高层协议应用的特殊保安系统对 CAN 的需求也正在稳健增长。专业委员会 BIA 和安全标准权威 TÜV 已经对一些基于 CAN 的保安系统进行了认证。
MAC子层运行借助称之为故障界定实体(FCE)的管理实体进行。故障界定是使判别短暂干扰和永久性故障成为可能的一种自检机制。物理层可借助检测和管理物理故障实体进行(例如总线短或中断,总线故障管理)。
SDU是接口数据,对其识别预先在(N)层实体间进行,亦即,它表示逻辑数据单元由服务进行传送。CAN协议的数据链层既不提供分配一个SDU至多个PDU,也不提供分配多个SDU至一个PDU的方法,亦即,NPDU直接由相应的NSDU和层指定控制信息N-PCI构成。
在CAN协议中,所有发送的信息要满足预先定义的格式。当总线没有被占用的时候,连接在总线上的任何设备都能起动新信息的传输,如果两个或更多个设备在同时刻启动信息的传输,通过ID来决定优先级。ID并不是指明信息发送的目的地,而是信息的优先级。
如果2个或者更多的设备在同一时刻启动信息的传输,在总线上按照信息所包含的ID的每一位来竞争,赢得竞争的设备(也就是具有最高优先级的信息)能够继续发送,而失败者则立刻停止发送并进入接收操作。因为总线上同一时刻只可能有一个发送者,而其它均处于接收状态,所以,并不需要在底层协议中定址的概念。
所有单元均可以检测出错误(错误检测功能)。检测到错误的单元立刻同时通知其它所有的单元(错误通知功能)。如果一个单元发送信息时检测到一个错误,它会强制终止信息传输,并通知其它所有设备发生了错误,然后它会重传直到信息正常传输出去(错误恢复功能)。
在CAN总线上有两种类型的错误:暂时性的错误(总线上的数据由于受到噪声的影响而暂时出错);持续性的错误(由于设备内部出错(如驱动器坏了、连接有问题等)而导致的)。CAN能够区别这两种类型,一方面降低常出错单元的通讯优先级以对其它正常设备的影响,另一方面,如果是一种持续性的错误,将这个设备从总线、连接
CAN总线允许多个设备同时连接到总线上且在逻辑上没有数目上的。然而由于延迟和负载能力的,实际可连接得设备还是有的,可以通过降低通讯速度来增加连接的设备个数。相反,如果连接的设备少,通讯的速度可以增加。
在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。在第一种方法中,不管每个节点是否申请总线,都对每个节点按最大期间分配。由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。
这将在总线存取时有明确的总线分配。在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配。因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。为了分配总线,多于一个总线存取是必要的。
CAN实现总线分配的方法,可当不同的站申请总线存取时,明确地进行总线分配。这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。不同于Ethernet网络的消息仲裁,CAN的非性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。
甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。
不管在什么场合,它负担的是任一节点之间的实时通信,但是它具备结构简单、高速、抗干扰、可靠、价位低等优势。CAN总线最初是为汽车的电子控制系统而设计的,目前在欧洲生产的汽车中CAN的应用已非常普遍,不仅如此,这项技术已推广到火车、轮船等交通工具中。
CAN总线系统数据稳定可靠,CAN总线具间干扰小、抗干扰能力强的特点。CAN总线专为汽车量身定做,充分考虑到了汽车上恶劣工作,比如点火线圈点火时产生的强大的反充电压,电涡流缓冲器切断时产生的浪涌电流及汽车发动机仓100℃左右的高温。
随着安全性能日益受到重视,安全气囊也将逐渐增多,以前是在驾驶员前面安装一个,今后侧面与后座都会安装安全气囊,这些气囊通过传感器感受碰撞信号,通过CAN总线将传感器信号传送到一个中央处理器内,控制各安全气囊的启动弹出动作。
同时,先进的防盗设计也正基于CAN总线网络技术。首先,确认钥匙性的校验信息通过CAN网络进行传递,改进了加密算法,其校验的信息比以往的防盗系统更丰富;其次,车钥匙、防盗控制器和发动机控制器相互储存对方信息,而且在校验码中搀杂随机码,无法进行破译,从而提高防盗系统的安全性。而这些功能的实现无一不借助CAN总线来完成,CAN总线成为汽车智能化控制的定海神针。
在现代轿车的设计中,CAN已经成为必须采用的装置。奔驰、宝马、大众、沃尔沃、雷诺等汽车都采用了CAN作为控制器联网的手段。据报道,中国首辆CAN网络系统混合动力轿车已在奇瑞公司试装成功,并进行了初步试运行。
在上海大众的帕萨特和POLO汽车上也开始引入了CAN总线技术。但总的来说,目前CAN总线技术在我国汽车工业中的应用尚处于试验和起步阶段,绝大部分的汽车还没有采用汽车总线设计。国内在技术、设计和应用上进行网络总线的深造势在必行。
大型仪器设备是一种参照一定步骤对多种信息采集、处理、控制、输出等操作的复杂系统。过去这类仪器设备的电子系统往往是在结构和成本方面占据相当大的部分,而且可靠性不高。采用CAN总线技术后,在这方面有了明显改观。
以医疗设备为例,病理分布式系统分别由中央控制式的中央单元和现场采集单元。 现场采集单元对医院各室诊断测量仪器进行数据、图像的实时采集,同时完成数据统计、存贮; 中央单元可以定期或不定期地从现场采集单元获取数据并完成图像监测、数据统计、报表、打印及数据库管理。
中央单元和现场采集单元之间通过CAN总线连接在一起,在这个网络中,中央单元处于主控,而现场采集单元可以随时响应中央单元的命令。其现场采集单元由单片机8C552及采集、存储、显示、遥控和通信模块组成,每个现场采集单元可与10个测量仪器相接。
Can总线是针对测控领域设计的,所以一次传输的报文量很小,一次报文量最大能够承载的数据上限为8字节,这种小数据量的传输一方面能够使得低优先级事务的传输,另一方面也非常符合测控需求。针对can总线技术的诸多优点,非常适合应用于大型仪器系统模块化之间的互相通信,采用模块化组网的方式构建大型仪器系统。
随着计算机技术、通信技术和控制技术的发展,传统的工业控制领域正经历着一场前所未有的变革,而工业控制的网络化,更拓展了工业控制领域的发展空间,带来新的发展机遇。在广泛的工业领域,CAN总线可作为现场设备级的通信总线,而且与其他的总线相比,具有很高的可靠性和性能价格比。这将是CAN技术开发应用的一个主要的方向。
例如,一家公司开发的轴控制系统ACS-E就带有CAN接口。该系统可作为工业控制网络中的一个从站,用于控制机床、机器人等。一方面通过CAN总线上上位机通信,另一方面可通过CAN总线对数字式伺服电机进行控制。通过CAN总线台数字式伺服电机。
目前CAN总线技术在工程机械上的应用越来越普遍。国际上一些著名的工程机械大公司如CAT、VOLVO、利勃、海尔等都在自己的产品上广泛采用CAN总线技术,大大提高了整机的可靠性、可检测和可维修性,同时提高了智能化水平。而在国内,CAN总线控制系统也开始在工程汽车的控制系统中广泛应用,在工程机械行业中也正在逐步推广应用。
小区智能化是一个综合性系统工程,要从其功能、性能、成本、扩充能力及现代相关技术的应用等多方面来考虑。基于这样的需求,采用CAN技术所设计的家庭智能管理系统比较适合用于多表远传、防盗、防火、防可燃气体泄漏、紧急救援、家电控制等方面。
CAN总线是小区管理系统的一部分,负责将家庭中的一些数据和信号收集起来,并送到小区管理中心处理,CAN总线上的节点是每户的家庭控制器、小区的三表抄收系统和报警监测系统,每户的家庭控制系统可通过总线发送报警信号,定期向自动抄表系统发送三表数据,并接收小区管理系统的通告信息,如欠费通知、火警警报等。
制造车间底层设备自动化,近几年仍是我国开展新技术研究和新技术应用工程及产品开发的主要领域,其市场需求不断增大且越发活跃,竞争也日益激烈。伴随着工业机器人的产业化,目前机器人系统的应用大多要求采用机器人生产方式,这就要求多台机器人能通过网络进行互联。
随之而来的是,在实际生产过程中,这种连网的多机器人系统的调度、工作也变得尤为重要。制造车间底层电气装置联网是近几年内技术发展的重点。
其电器装置包括有:运动控制器、基于微处理器的传感器、专用设备控制器等底层设备;在这些装置所构成的网络上另有车间级管理机、机或生产单元控制器等非底层装置。结合实际情况和要求,将机器人控制器视为运动控制器。
把CAN总线技术充分应用于现有的控制器当中,将可开发出高性能的多机器人生产线系统。利用现有的控制技术,结合CAN技术和通信技术,通过对现有的机器人控制器进行硬件改进和软件开发,并相应地开发出上位机软件,从而实现多台机器人的网络互联。
最终实现基于CAN网络的机器人生产线集成系统。这样做的好处很多,例如实现单根电缆串接全部设备,节省安装开销;提高实时性,信息可共享;提高多控制器系统的检测、诊断和控制性能;通过离线的任务调度、作业的下载以及错误等技术,把一部分人从机器人工作的现场彻底脱离出来。
CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视,它在汽车领域上的应用是最广泛的。世界上一些著名的汽车制造厂商大都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。
同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被为几种最有前途的现场总线之一。
推荐: