CAN总线百科
继续接收报文,以确保通过网络的数据连贯性,一个错误的报文传送被取消后,发送者自动重新尝试发送(自动重发),并重新进行总线访问权的竞争。
CAN-Bus特点
作为ISO11898CAN标准的CAN-Bus(ControLLer Area Net-work Bus),是制造厂中连接现场设备(传感器、执行器、控制器等)、面向广播的串行总线系统,最初由美国通用汽车公司(GM)开发用于汽车工业,后日渐增多地出现在制造自动化行业中。
1、CAN-Bus系统组成及性能
CAN-Bus系统通过相应的CAN接口连接工业设备(如限位开关、光电传感器、管道阀门、电机启动器、过程传感器、变频器、显示板、PLC和PCI作站等)构成低成本网络。直接连接不仅提供了设备级故障诊断方法,而且提高了通信效率和设备的互换性。CAN-Bus数据传输速率为1Mbit/s,线路距离lkm,基本站点数64,传输媒体是屏蔽双绞线或光纤。
2、CAN-Bus数据链路控制特点
CAN-Bus数据链路层协议采用平等式(Peer to peer)通信方式,即使主机出现故障,系统其余部分仍可运行(当然性能受一定影响)。当一个站点状态改变时,它可广播发送信息到所有站点。
CAN-Bus的信息传输通过报文进行,报文帧有4种类型:数据帧、远程帧、出错帧和超载帧,其中数据帧格式如图8所示。CAN-Bus帧的数据场较短,小于8B,数据长度在控制场中给出。短帧发送一方面降低了报文出错率,同时也有利于减少其他站点的发送延迟时间。帧发送的确认由发送站与接收站共同完成,发送站发出的ACK场包含两个“空闲”位(recessive bit),接收站在收到正确的CRC场后,立即发送一个“占有”位(dominant bit),给发送站一个确认的回答。CAN-Bus还提供很强的错误处理能力,可区分位错误、填充错误、CRC错误、形式错误和应答错误等。
CAN-Bus应用一种面向位型的损伤仲裁方法来解决媒体多路访问带来的冲突问题。其仲裁过程是:当总线空闲时,线路表现为“闲置”电平(recessive level),此时任何站均可发送报文。发送站发出的帧起始字段产生一个“占有”电平(dominant level),标志发送开始。所有站以首先开始发送站的帧起始前沿来同步。若有多个站同时发送,那么在发送的仲裁场进行逐位比较。仲裁场包含标识符ID(标准为llbit),对应其优先级。每个站在发送仲裁场时,将发送位与线路电平比较,若相同则发送;若不同则得知优先级低而退出仲裁,不再发送。系统响应时间与站点数无关,只取决于安排的优先权。可以看出,这种媒体访问控制方式不像Ethetnet的CSMA/CDCA协议那样会造成数据与信道带宽受损。
3、CANopen协议
CAN-Bus除配置设备网(DeviceNet)协议外,还提供基于CAL(CANA pllicationlayer) 的CANopen协议(CiA DS-301),即支持设备参数的直接访问,又可实现有苛刻时间要求的过程数据通信。
CAN-Bus的DeviceNet协议具有开放性,用户无须购买加入系统所需的硬件、软件和允许权,多厂家设备能够在单一网络上相互操作。CANhs也允许与Ethernet或其他局域网相连,接人控制算法组态及管理信息PC系统,从而形成管控一体化的工业网络。
CAN-Bus应用
CAN-Bus的通讯协议建立在国际标准组织的开放系统互联参考模型基础上,主要工作在数据链路层和物理层,用户可在其基础上开发适应系统实际需要的应用层通信协议。CAN的信号传输采用短帧结构,每一帧的有效字节数为8个,因而传输时间短,受干扰的概率低。当节点严重错误时,具有自动关闭的功能,以切断该节点与总线的联系,使总线上的其他节点及通信不受影响,故具有较强的抗干扰能力。
典型应用
● 现有RS232设备连接CAN-Bus网络
● 扩展标准RS232网络通讯长度
● PLC设备连接CAN-Bus网络通讯
● CAN-Bus与串行总线之间的网关网桥
● 工业现场网络数据监控
● CAN教学应用远程通讯
● CAN工业自动化控制系统
● 低速CAN网络数据采集数据分析
● 智能楼宇控制数据广播系统等CAN-Bus应用系统。
现场总线技术以其独有的技术优势和特点,在现代分布式测量与控制技术领域中应用已愈来愈广泛。各种现场总线的主控制器一般都内嵌有相当完善的、开放式的互联通信协议,它具有通信速度快、误码率低、开发设计简单及网络使用维护方便等诸多特点,是实现网络化现场测量与控制技术的一个发展方向。但目前的许多现场已投入使用的测量与控制系统中,各仪器设备或装置之间通信所使用的仍是传统的RS-485或RS-422总线。在不断投入新型现场总线系统的同时,要在短期内改造或淘汰那些旧系统是不现实的。况且,在许多应用场合,新老系统中主机的控制算法及功
CAN总线控制器局域网 相关文章:
- CAN总线应用简介(12-20)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)