由CAN-bus网络和以太网构建远程监控/数据传输网络
扫描二维码
随时随地手机看文章
CAN(Controller Area Network——控制器局域网)是一种由CAN控制器组成的高性能串行数据局域通信网络,是国际上应用最广泛的现场总线之一。它最早由德国Bosch公司于1984年推出,最初用于汽车内部测量与执行部件之间的数据通信。CAN-bus总线模型符合OSI的7层结构;CAN-bus规范已被ISO估计标准组织制定为国际标准。由于其具有多主机方式、传输距离远(最远可达10km)、传输速度快(最快可达1Mbps)、抗干扰能力强、应用灵活等诸多优点,所以被认为是最有发展前途的现场总线之一。目前,除了应用于汽车电子领域中,CAN-bus总线现还被广泛应用于工业现场控制、电力通讯、小区安防、环境监控、航天航海等众多领域中。
以太网则是当前主流的网络信息传输媒体,也是TCP/IP使用最普遍的物理网络。TCP/IP(Transmission Control Protocol/Internet Protocol——传输控制协议/网络协议)是一个工业标准的协议集,包括IP、TCP、UDP等子协议,保证数据在网络上的正确传输。TCP/IP协议为四层模型:应用层、传输层、网络层和数据链路层。每层都有不同的功能,而且层和层之间在逻辑上是相互独立的。由于TCP/IP是世界上最大的Internet采用的协议组,而TCP/IP底层物理网络多数使用以太网协议,因此,“以太网+TCP/IP”成为互连网技术中应用最普遍的技术。以太网在工厂管理层、车间监控层将成为主流技术,与互连网技术结合是未来工厂网络通讯技术基础;但对一般工业网络要求实时性、确定性通信场合,现场总线技术还将处于主导地位,因此在今后一段时间内多种网络技术还会继续并存,我们必须根据实际需要采用合适的网络技术。
本文即介绍一种由CAN-bus网络构建设备网,由以太网构建信息网,通过两者的有机联接,从而构成一个中型/大型的远程监控/数据传输网络。
一、概述
某一个设计项目,需要考虑连接大约30,000个网络节点,并可以对每个节点实时地采样数据、输出控制;这些网络节点分布在不同的区域,每个区域(直径在1公里范围内)最多有近百个节点。而且该网络有一点比较重要的要求:单个区域内的网络节点对数据的实时性具有较高的要求。
按项目的以上要求,综合考虑设计成本、生产成本、可靠性、可维护性等多方面因素,我们考虑采用“设备网——信息网”的方式构建整个网络。
在单个区域内,由CAN-bus网络构建设备网,总体成本较低,满足实时性的要求,且应用可靠,维护方便;设备网的固定节点(地址为00号)同时作为网关,将CAN-bus网络连接至以太网,从而形成可以遍布全球的信息网,可以通过组态环境统一监控设备信息。
基于CAN-bus和以太网的区域信息管理系统的网络连接如图1所示。
图例 基于CAN-bus和以太网的区域信息管理系统
二、现场设备网的选择
现场设备网组网方式有多种选择,比如RS-485、CAN-bus、Lonworks、TCP/IP等;下面将各种方式进行比较,以考虑选择最合适的方式。
2.1 RS-485 总线
RS-485总线是采用差分传输方式的一种串行网络,也是目前国内应用较多的一种远距离串行数据方式。RS-485总线使用普通双绞线作为传输介质,采用直线拓朴结构,单条网络线路可连接32个节点(数据来自于MAXIM公司的MAX485数据手册),网络总长度最大可达1200米。
优点:对于单个节点,电路成本较低,设计容易,实现方便。
缺点:可靠性差,单个节点的故障有可能导致整个网络瘫痪;RS-485器件容易损坏;且不易界定网络中的故障节点,维护成本相对较高。
适用范围:节点数目较少,传输距离在1公里左右,安全性要求不高的场合。
2.2 CAN-bus方案
CAN-bus是国际上应用最广泛的现场总线之一,被广泛应用于欧洲的中高档汽车中,用作ECU单元的串行数据控制网络;近几年来,CAN-bus开始进入中国各个行业的实际应用,并于2002年被确定为电力通讯领域的国家标准,正被大家逐渐重视。与RS-485类似,CAN-bus网络使用普通双绞线作为传输介质,采用直线拓朴结构,单条网络线路至少可连接110个节点,网络总长度最大可达10公里(使用标准CAN收发器PCA82C250/251芯片)。在CAN-bus网络中,数据收发、硬件检错均由CAN控制器硬件完成,大大增强了CAN-bus网络的抗电磁干扰能力,即由硬件来保证CAN-bus网络运行的可靠性。
优点:可靠性高,可以支持硬件节点的即插即用;故障节点可自动关闭,不影响其他网络节点;采用芯片硬件ID方式管理网络,故障节点界定十分方便,网络维护成本比较低。而且,ZLG提供一系列开发CAN-bus网络的硬件、软件资源,设计工作的难度也降低了许多。
缺点:对于单个CAN-bus节点,硬件成本比RS-485节点要高大约20元;对于CAN控制芯片的编程比较复杂,但可以采用ZLG提供的BasicCAN模块或PeliCAN模块。
适用范围:可适用于节点数目很多,传输距离在10公里以内,安全性要求高的场合;也可适用于对实时性、安全性要求十分严格的机械控制网络。不适合于有大量数据需要传输(比如视频/音频信号)的场合。
下表列出了RS-485网络与CAN-bus网络的性能比较。
2.3 Lonworks方案
Lonworks总线由美国Echelon公司于1993年推出的一种现场总线,也是国内90年代末期比较流行的一种现场总线。Lonworks总线采用神经元芯片为核心技术设计基本节点,LonTalk通信协议支持7层网络协议,提供一个固化在神经元的网络操作系统。
Lonworks总线的规范、设计资料并不公开,决定其不是一个开放的总线系统;Lonworks总线采用的仲裁方式方式决定了可能会出现产生总线数据“死锁”现象,数据传输的实时性并不能够完全保证;Lonwork硬件成本相对较高,单个基本节点电路的硬件成本超过100元。国内的Lonworks总线应用也普遍集中于早先的智能楼宇领域。因此,基本上不予考虑Lonworks总线。
2.4 以太网方案
基于802.3规范的“以太网+TCP/IP”已成为互连网技术中应用最普遍的技术,可以实现数据的远程传输。但以太网的本质特点是采用CSMA/CD 的介质访问控制技术,容易产生“节点”碰撞,无法保证数据的实时性/有效性;而且,实现以太网节点的硬件成本、软件开发费用也大大高于其他各种方式。
国外正在研究与CAN-bus网络结合的以太网方案(EtherNET/IP,简称CIP),称为工业以太网,构建可以保证实时性能的网络传输方案。与底层的CAN-bus网络(设备网)结合,也是未来以太网发展的必然趋势。
2.5 方案选定
根据以上分析、比较,CAN-bus网络方案比较合理,具有较多的优势;另外,考虑系统将来的升级扩展能力、维护管理方式,CAN-bus的优势更加明显,可以优先考虑。
三、设备网与信息网的网关
连接设备网与信息网的网关可以采用2种方式实现:通用PC终端或嵌入式网关。
3.1 通用PC终端
在通用PC终端中安装1个标准以太网接口卡和1个PCI-5110接口卡(或USBCAN-I接口卡),即可以方便地实现一个连接设备网(CAN-bus网络)与信息网(以太网)的网关。
所有的程序开发工作可以在PC平台上完成,使用VC++、VB、Delphi、C++Builder等高级语言来实现。所有ZLGCAN接口卡均可以工作在Win98 /Win2K /WinXP /Linux 操作系统下,提供有OPC接口库、开发示范,支持在各种当前流行组态软件下直接运行。
应用程序是一个根据用户的具体要求而设计的用户层应用软件。它可以是一个Win32监控程序或网络数据库(记录CAN节点设备数据)软件等;甚至可能是CAN节点设备的服务器软件,为设备提供较复杂的数据处理工作。
所有的CAN-bus节点组成一个虚拟网段,CAN设备管理服务器是企业以太网中的任一控制节点。连在以太网上的WinNT 服务器安装专用网络管理软件,就可让合法的工程技术人员远程管理CAN-bus节点设备;通过以太网,可同CAN-bus节点设备进行数据通信。这样,服务器就可以使用WEB 发布方式,向网络客户提供动态交互式浏览网页等功能。
3.2 嵌入式网关
如果系统具有不断电运行或功耗等其他指标方面的要求,则使用嵌入式网关(CAN转以太网)将令系统具有更好的灵活性,不仅硬件成本低、而且运行更可靠。
嵌入式网关可以通过一个基于8bit/32bit MCU的平台实现。其基本硬件由基本CPU部分、CAN-bus接口、以太网接口组成,可以采用集成TCP/IP协议的单片机外加CAN收发器和控制器,也可采用集成CAN控制器的单片机外加CAN收发器和网络芯片。软件模块由CAN控制器协议转换模块、以太网控制器协议转换模块组成。
嵌入式网关的组成框图如下图所示。
四、基本功能的设备节点
一个CAN-bus网络中的节点由具体应用电路与CAN-bus接口组成。
CAN-bus接口将所有节点连接成一个完整的通讯网络,实时传输各运行参数、控制命令。设计CAN-bus通讯接口是很重要的一个环节,应用设备的正确运行与其密切相关。下面的图给出了一个实际系统的CAN-bus通讯单元电路图。电路结构为:
MCU(*P87C52X2)+CAN控制器(SJA1000)+CAN收发器(PCA82C250)
采用以上的电路结构,可使应用系统具有成本更低、配置灵活、工作可靠等优点。P87C52X2芯片是PHILIPS公司生产的标准80C51内核单片机,包含8KB OTPROM、256B RAM、32个I/O口、3个16位定时/计数器、双DPTR、1个UART口,可以工作在6CLK模式下,运行速度可以是标准80C51的2倍。另外,在部分特定的单元控制电路中,设计要求占用资源较多,则可以选择具有更多资源的MCU芯片,比如:P89C51RX2系列、P89C6xX2系列、P87C51MX系列,或选择适应度更高的其他元器件。
SJA1000芯片是一款独立CAN控制器,由PHILIPS公司设计并生产,具有优秀的EMI、EMC性能,适合用于汽车电子和工业环境中的控制器局域网络。而且,SJA1000是PCA82C200独立CAN控制器的升级产品,在引脚、电气上与PCA82C200控制器完全兼容,并具有更强功能的PeliCAN工作模式,完全支持具有很多新特性的CAN 2.0B协议。目前,已有数亿个CAN-bus节点正在使用SJA1000作为CAN控制器。
PCA82C250芯片是PHILIPS公司生产的标准CAN收发器,通讯速率可以设定在5kbps~1Mbps之间;在不需要CAN中继器的场合,支持长达10公里的远距离通讯,通讯节点数目可达110个节点。PCA82C250芯片具有良好的EMC性能,在不上电状态下有理想的无源性能,并集成有完善的总线保护功能。
在CAN-bus节点电路中,增加保护电路是必要的。另外,收发器板应尽可能放在接近PCB边沿连接器的位置。边沿连接器和收发器之间不允许有其他EC元件。CAN_H/L或Tx/Rx电路不应穿越总线或跳线。
将产品设计为分离终端的形式,这样可以使CAN总线实现要求更高的抗干扰/幅射性能。当然,在网络中允许混合单终端和分离终端。
依据应用的不同,具体应用电路的实现也不尽相同;但方法大致相同,可以考虑各种成熟的设计方法。
五、系统扩展能力
本系统的框架略作改动,即可适用于各种不同的应用领域。
比如,电表、水表、煤气表即“三表”,是居民日常家居生活的必需设备;在 “三表”领域的远程集抄系统中,将“三表”通过CAN-bus总线和以太网连接,可以提高工作效率,体现高科技的优势。让高新技术服务于人类,真正为大家造福,这也是“智能家居”的发展趋势。