作者:王平;宁恋;王浩;华晨 来源:电子设计应用
EPA交换机工作原理和功能
EPA实时以太网是一种全新的适用于工业现场设备的开放性以太网标准。EPA交换机位于现场设备层和过程监控层的边界上,作为下层网络与上层网络的入口,它不仅要实现EPA交换机的基本功能,还要实现相关的安全机制、冗余机制,是EPA安全网络中必不可少的一个环节。因此,EPA交换机应具备转发、链路冗余、组态、设备定位与隔离以及安全保护五种功能。
EPA交换机的转发功能不仅能够转发自己独立的协议类型(0X88BC)帧,而且也能够转发TCP/IP协议中的0X0800、0X0806等协议类型帧。EPA交换机基于MAC地址表来转发数据,经过一次广播,多次查MAC地址表来实现,主要通过EPA交换机交换芯片硬件来完成。
EPA交换机链路冗余功能保证了EPA工业现场网络的高可靠运行。采用MRP协议(Media Redundancy Protocol),在EPA网络中,一个EPA交换机充当MRM(Media Redundancy Manager)角色,两个或以上交换机充当MRC(Media Redundancy Client)角色,通过对通信链路的管理,保证EPA工业现场设备层以及过程监控层之间EPA数据传输的可靠性。
EPA安全交换机是一个可组态的设备,因此在每个EPA安全交换机中拥有独立的EPA协议栈用来与上位机的组态软件进行通信。
对于设备定位与隔离功能,组态软件用不同的ID标识不同的EPA交换机,设备发送的报文经过EPA交换机转发到达上位机组态软件前,EPA交换机会将其本身的ID加到报文的特殊字段中(可在报文保留的位置处定义),组态软件通过解析该字段,即可知道其设备是从属于哪个EPA交换机。这样,当现场设备工作异常时,能在组态软件中对该设备进行故障定位和隔离。
安全保护功能是指EPA交换机提供了相关的安全机制,如访问控制、设备鉴别、用户认证、数据加密以及数据校验和包过滤技术等。
嵌入式EPA交换机的模块结构
嵌入式EPA交换机功能决定了它的模块结构。结合操作系统μc/os,EPA交换机将每个模块划分为相对独立的模块,采用任务分配的机制,即将每一个模块抽象为一个任务,并结合实际的情况赋予不同的优先级,根据报文的不同调用相应的任务(即相应的模块)进行报文处理,各个进程之间采用的是消息队列或邮箱的通信机制,其模块结构如图1所示。
图1 EPA交换机模块结构
EPA交换机硬件设计
嵌入式EPA交换机的硬件设计主要有3个部分:CPU控制部分、以太网控制器处理部分和电源模块。本交换机采用AT91R40008作为核心控制器,该芯片属于AT91 16/32位处理器家族,它以ARM7TDMI内核为基础。以太网控制器(MAC控制器)VT6512芯片是Layer2+层的单芯片。交换机硬件结构图如图2所示。
图2 交换机硬件结构图
IEEE 802.3af标准定义了一种允许通过以太网在传输数据的同时输送直流电源的方法,它能安全可靠地将以太网供电(PoE)技术引入现有的网络基础设施中,并且和原有的网络设备相兼容,这样小型网路设备就可以通过以太网连接供电而无需使用外接电源。图3所示为交换机某一端口总线供电的电路图。
图3 总线供电电路图
通过开关电源模块提供24V的直流电源。F1是一个自恢复保险丝,起到过流保护的作用。D9二极管是防止电源反接的保护,F9为压敏电阻,起过压保护的作用。C15、C141为一对旁路电容,使POW-A得到一个干净的直流电源输出。当接上负载时,LED点亮,表示供电正常。
交换机软件设计
根据EPA工业控制网络的特点,本文采用EPA交换机底层驱动部分、EPA安全部分和EPA交换机冗余功能部分来实现EPA交换机报文转发;采用 μC/OS-II操作系统模块为EPA交换机中的多任务提供调度和通信功能;采用TCP/IP模块部分实现EPA交换机中对TCP/IP报文进行接收解析和发送的功能;采用EPA应用层通信协议栈部分实现EPA交换机的组态功能。交换机软件功能模块如图4所示。
图4 EPA交换机软件功能模块组成图
EPA交换机报文接收转发处理具体过程为:当EPA交换机某端口接收到网络中的数据报文时,交与第二层交换引擎(MAC层处理芯片)处理。交换引擎根据报文中的源MAC地址更新MAC地址表,同时根据目的MAC地址作相应的处理。
交换机配置管理模块的设计
交换机配置管理模块主要是针对EPA交换机硬件平台以及二层应用协议的管理与配置,其中包括生成树协议(IEEE 802.1D)、GARP/GMRP/GVRP(IEEE 802.1D,IEEE 802.1Q)、链路聚合(IEEE 802.3ad)、流量控制(IEEE 802.3x)以及交换芯片的MAC地址、交换机端口速率使能等。该模块的作用是使用户根据需要配置使用EPA交换机的功能。EPA用户通过上位机屏蔽或打开EPA交换机的某项功能,完成EPA网络的数据通信。
底层驱动模块
EPA交换机底层驱动模块主要分为三个子模块:BSP模块、SSP模块和定时器驱动模块。
BSP模块实现了对嵌入式实时操作系统的支持,使其能够更好地运行于EPA交换机硬件之上。它具体负责上电时的硬件初始化、启动嵌入式操作系统和应用程序模块、提供底层硬件驱动,为上层软件提供访问底层硬件的手段。
SSP模块主要实现了CPU与交换芯片的软件接口,实现报文的发送与接收功能,对上层屏蔽了底层硬件具体的实现细节,为上层提供了应用接口。
定时器驱动为实现二层应用协议帧的发送与接收,设备声明、设备鉴别等报文的定时重发以及EPA报文的调度和时间同步等系统所需要的定时提供了准确的时间。
TCP(UDP)/IP协议模块和EPA协议栈模块
EPA标准中规定EPA报文是封装在UDP/IP协议之上的,而且具有自己独立的帧协议类型号0x88BC,因此还需要设计与实现适用于EPA交换机的TCP(UDP)/IP协议栈模块;设计EPA协议栈模块的主要功能是完成过程监控层设备对EPA交换机的组态监控功能。
EPA网络安全与功能安全模块
安全机制模块的主要作用是提供相关的安全机制,只有通过了安全机制的报文才能向上层传送进行进一步的报文处理。否则将该报文丢弃。
在整个软件系统中,各个模块是通过嵌入式实时操作系统μC/OS-II提供的消息机制完成任务切换。
EPA安全交换机的测试
EPA交换机的安全转发能力是其整体功能的重要体现,其性能好坏直接影响网络的规模、稳定性以及扩展性。本文中测试环境由EPA安全交换机连接若干现场设备和测试机组成。测试系统如图5所示。
图5 EPA交换机测试系统
测试的性能指标包括吞吐量、丢包率、延迟测试。吞吐量测试用Sniffer按指定速率将不同长度包发送给EPA交换机,在发送端和接收端用 Ethereal统计接收到的包。如果发送和接收数据包数量相等,增加发包速率,如果不等则减少发包速率,然后测试重新开始。每次测试时长约为120s。在本文中,只是在最大传输速率下测试EPA路由设备的丢包率,即在最大传输速率情况下,按照指定字节数,用Sniffer持续发送指定长度字节数的数据报文,同时在发送端用Ethereal记录发送数据包数量,在接收端统计接收到端口收到的包数量。EPA交换机延迟测试是在指定的帧大小情况下,用 Sniffer以被测设备的吞吐率连续发送一组帧,Ethereal会纪录发送报文的时间以及数据报文通过EPA交换机并且转发出去的时间,被测设备的延迟就是这两个时间之差。测试结果表明,EPA安全交换机能够有效实现转发功能,并具有较低的转发延迟,同时转发丢包率满足EPA协议的要求。
结语
作为现场设备层和过程控制监控层的连接设备,嵌入式EPA安全交换机扮演着重要角色。EPA安全交换机通过EPA协议以及软件功能模块的细化确保了数据通信的可靠传输,同时,它对网络的级联和现场低功耗设备供电也起到重要作用。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !