0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AT91R40008芯片和μC/OS-II实现EPA交换机的设计

电子设计 来源:电子设计应用 作者:王平;宁恋;王浩;华 2021-04-24 09:53 次阅读

作者:王平;宁恋;王浩;华晨 来源:电子设计应用

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47705

    浏览量

    408872
  • 操作系统
    +关注

    关注

    37

    文章

    6266

    浏览量

    121842
  • 交换机
    +关注

    关注

    19

    文章

    2422

    浏览量

    95584
收藏 人收藏

    评论

    相关推荐

    μC/OS-II的特点

    μC/OS-II的特点1.μC/OS-II是由Labrosse先生编写的一个开放式内核,最主要的特点就是源码公开。这一点对于用户来说可谓利弊各半,好处在于,一方面它是免费的,另一方面用
    发表于 07-15 14:51

    uC/OS-II简介

    的接口部分是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根
    发表于 10-08 09:11

    uC/OS-II简介

    的接口部分是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根
    发表于 10-15 11:03

    uC/OS-II简介

    的接口部分是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根
    发表于 10-20 09:35

    uC/OS-II简介

    的接口部分是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根
    发表于 10-27 09:29

    μCOS-II在总线式数据采集系统中有哪些应用?

    的多少),支持现有大多数型号的8位、16位、32位MCU/MPU,已被广泛应用于交换机、路由器、过程控制、汽车业、办公自动化、计算机外设以及民用消费类产品等,具有稳定的可靠性。把μC/OS-II应用在总线式
    发表于 10-10 07:11

    如何实现μC/OS-II的移植?

    μC/OS-II是一种代码公开、可裁剪的嵌入式实时多任务操作系统。该内核通过实现抢占式任务调度算法和多任务间通信等功能,使之具有执行效率高、实时性能优良等特点。
    发表于 11-01 07:01

    μC/OS-II的中断按键怎么处理?

    μC/OS-II是一个完整的、可移植、可裁减的占先式实时多任务内核。本文主要讨论了μC/OS-II环境下中断按键消抖处理及LCD多级菜单显示的实现
    发表于 03-23 08:13

    μC/OS-II是什么?μC/OS-II有哪些应用?

    μC/OS-II的原理是什么?如何去改进μC/OS-II的调度算法?μC/OS-II有哪些应用?
    发表于 04-26 07:17

    μC/OS-II在P89V51RD2上是怎样实现移植的?

    μC/OS-II是什么?μC/OS-II内核结构是由哪些组成的?什么是P89V51RD2微处理器?μC/
    发表于 04-27 06:18

    如何实现μC/OS-II系统的移植?

    如何实现μC/OS-II系统的移植?
    发表于 04-28 06:01

    怎么实现基于μC/OS-II的CAN总线驱动程序的设计?

    怎么实现基于μC/OS-II的CAN总线驱动程序的设计?
    发表于 06-08 06:51

    基于EPA的嵌入式控制器软件协议栈实现

    基于EPA的嵌入式控制器软件协议栈实现Implementation of EPA-based Embedded Controller Software Protocol Stack 摘要:首先提出基于
    发表于 01-11 12:04 12次下载

    EPA 通信协议在μC/OS-II嵌入式系统中的设计与实现

    本文提出了一种基于μC/OS-II 嵌入式系统的EPA 通信协议的实现方案。简要介绍了 EPA 通信协议和模型,针对在以μC/OS-I
    发表于 05-25 15:02 18次下载

    μC/OS-II在PC机上移植的设计与实现

    本文介绍了μC/OS-II移植到PC机上的过程,使μC/OS-II应用系统程序在PC机上脱离DOS或Windows环境运行。着重介绍了Bootloader引导程序和EXE程序启动代码的设计与实现,以及μC/
    发表于 09-02 08:51 14次下载