光纤环路工业以太网交换机的设计
摘要:针对工业控制领域所采用的以太网交换机的具体需求,给出了一种实现冗余光纤环路的8端口10/100M工业以太网交换机的设计方案。详细介绍了以32位ARM内核微处理器为CPU的交换机硬件的设计思路,同时也给出了软件各模块的设计思路及实现的主要功能。
关键词:工业以太网 光纤环路 交换机 ARM
随着以太网技术的迅速发展及其在商用领域的应用日渐广泛,越来越多的工业控制设备也逐渐使用以太网并采用TCP/IP协议作为主要的通信标准。虽然应用于工业控制领域的以太网标准与商用以太网相同,但在工业控制领域,还需要网络能在比较恶劣的工作环境下稳定地工作。因此,用来连接工业设备的网络产品需要经过特别设计,才能提供工业级的可靠性,以满足长期连续运行的需求。另外,在工业控制领域,所需连接的设备分布较分散,单个地方连接设备少,这就对支持光纤冗余环路的8端口的光纤网络交换机产品有了较大需求。为了实现光纤冗余环路功能,需要采用高性能的微处理器实现网络的管理和控制功能,javascript:window.open(this.src);" style="cursor:pointer;"/>并采用高性能的网络交换芯片实现基本的10/100M以太网交换功能。
下面主要介绍CPU采用32位ARM内核微处理器、具有6个10/100M双绞线端口和两个100M光纤端口、可实现冗余环路功能的工业以太网交换机的软、硬件设计思路。
1 硬件设计
光纤环路工业以太网交换机硬件主要分成两个模块:CPU模块和交换模块。下面分别对这两个模块进行详细介绍。
1.1 CPU模块
CPU模块又可以划分为两部分,即电源部分和CPU及外围电路部分,原理框图见图1。
电源部分要求提供两路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。
2 软件设计
本交换机软件设计的主要任务是对交换芯片VT6510B的寄存器进行设置,使之能实现基本的交换功能;另外可以由上位机通过RS-232口或交换机上的网络端口对本交换机进行设置,实现网络端口的状态监视、冗余环路、虚拟局域网等各项高级管理功能。javascript:window.open(this.src);" style="cursor:pointer;"/>
根据产品的设计要求,交换机的软件可以划分为以下几部分:
(1)初始化
主要完成对CPU各寄存器的初始值设置和对交换芯片的各个寄存器的初始值设置,启动交换机开始工作。
(2)网络协议
实现802.1d、802.1w、