以太网交换机技术已经越来越成熟稳定,由于工业中的以太网交换机与我们平常使用的交换机有很多相同点,所以工业以太网交换机的设计也借用了商用交换机的原理。随着以太网技术的迅速发展及其在商用领域的应用日渐广泛,越来越多的工业控制设备也逐渐使用以太网并采用TCP/IP协议作为主要的通信标准。
虽然应用于工业控制领域的以太网标准与商用以太网相同,但在工业控制领域,还需要网络能在比较恶劣的工作环境下稳定地工作。因此,用来连接工业设备的网络产品需要经过特别设计,才能提供工业级的可靠性,以满足长期连续运行的需求。另外,在工业控制领域,所需连接的设备分布较分散,单个地方连接设备少,这就对支持光纤冗余环路的8端口的光纤网络交换机产品有了较大需求。为了实现光纤冗余环路功能,需要采用高性能的微处理器实现网络的管理和控制功能,并采用高性能的网络交换芯片实现基本的10/100M以太网交换功能。下面主要介绍CPU采用32位ARM内核微处理器、具有6个10/100M双绞线端口和两个100M光纤端口、可实现冗余环路功能的工业以太网交换机的软、硬件设计思路。
1 硬件设计
光纤环路工业以太网交换机硬件主要分成两个模块:CPU模块和交换模块。下面分别对这两个模块进行详细介绍。
1.1 CPU模块
CPU模块又可以划分为两部分,即电源部分和CPU及外围电路部分。电源部分要求提供两路10~40V的直流电源,这两路电源互为备份,只要其中一路电源是正常的即可使系统正常供电。另外,这两路电源的正常与否由连接到CPU上的两个LED发光管指示,CPU如果发现有一路不正常,就会驱动报警指示灯指示此路电源不正常,并驱动继电器接通另一路电源。如果两路同时不正常,由于继电器的报警输出为常闭触点,CPU无输出信号,继电器的触点是闭合的,因此可以向远端提供报警信息。
MAX788是开关稳压管,该稳压管的输出电压为3.3V,输出最大电流为5A,输入电压范围为8V~40V,内部开关频率为100kHz。以太网交换机的CPU选用Atmel公司的32位ARM内核微处理器芯片AT91M40800,RAM采用高速256K×16位的SRAM CY7C1041BV33。
FLASH存储器29W400用来保存程序和一些配置信息,它的容量为256K×16位。AT91M40800的串口扩展一个RS-232接口,PC机通过RS-232口直接对以太网交换机进行一些管理和设置。MAX823是一个带WATCHDOG功能的电源监视芯片,提供可靠的复位信号。CPU模块和交换模块之间通过40芯的插座进行连接,主要对交换芯片实现寄存器设置和网络数据读写功能。JTAG端口实现对AT91M40800的实时仿真和将程序下载到FLASH存储器中。
1.2 交换模块
交换模块主要由MAC层主交换芯片VT6510B和物理层芯片RTL8208组成。主交换芯片采用VIA公司生产的VT6510B,该芯片有9个10/100M端口和1个1G端口,内嵌384KB的控制RAM和包交换缓冲RAM,可以实现完整的交换功能;另外提供主机接口,以便外部CPU对本交换芯片进行初始化和管理。
8个10/100M端口通过RMII接口与Realtek公司生产的物理层芯片RTL8208连接。RTL8208芯片共集成了8个物理层的端口,这8个端口可以配置成采用10/100BASE-TX(双绞线接口)或100BASE-FX(光纤接口)。本系统采用了6个10/100BASE-TX端口和两个100BASE-FX端口。6个10/100BASE-TX端口需要通过隔离变压器HR604009与RJ-45接口连接,HR604009是一个提供4路RJ-45接口的隔离变压器。两个100BASE-FX端口可以直接与光纤收发器V23826连接,该收发器提供单模SC接口。
另外,物理层芯片RTL8208可以通过串行移位寄存器74HC164外接LED发光管输出显示每个网络端口的状态。由于VT6510B和RTL8208的核心工作电压是2.5V,所以还要采用低压降的稳压芯片MAX1818把3.3V的电压降到2.5V。
2 软件设计
本交换机软件设计的主要任务是对交换芯片VT6510B的寄存器进行设置,使之能实现基本的交换功能;另外可以由上位机通过RS-232口或以太网交换机上的网络端口对本交换机进行设置,实现网络端口的状态监视、冗余环路、虚拟局域网等各项高级管理功能。根据产品的设计要求,交换机的软件可以划分为以下几部分:
(1)初始化
主要完成对CPU各寄存器的初始值设置和对交换芯片的各个寄存器的初始值设置,启动交换机开始工作。
(2)网络协议
实现802.1d、802.1w、802.1q以及PING、ARP、BOOTP、IP、TCP、UDP等网络协议。
(3)网络管理及功能设置
通过RS-232口实现对交换机一些基本参数的设置和状态监视。另外在实现上述网络协议的基础上,也可以直接通过网络实现对以太网交换机的参数设置和实时状态监视。
(4)故障诊断及冗余环路实现
实现对电源及以太网交换机其它部件的故障自诊断和报警,按照所设定的冗余环路实现协议和策略,监视网络当前连接状态并实现网络的自愈功能。由于工业以太网交换机与通常的商用交换机有很多的共同点,又有一些不同点,因此在设计时借鉴了商用以太网交换机的原理,同时又兼顾到了工业以太网设备的特点。本设计选用了功能较强的交换芯片、网络物理层芯片和收发接口电路,并采用了基于ARM内核的32位嵌入式处理器来实现交换机的高级网络功能。