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

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

    关注

    455

    文章

    50732

    浏览量

    423270
  • 操作系统
    +关注

    关注

    37

    文章

    6808

    浏览量

    123291
  • 交换机
    +关注

    关注

    21

    文章

    2638

    浏览量

    99550
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    基于μC/OS-II的嵌入式音频系统设计

    基于μC/OS-II的嵌入式音频系统设计 Design of Embedded Audio Frequency System Based on μC/OS-II
    发表于 03-16 11:10 19次下载

    μC/OS-II 在Nios上的移植

    首先介绍嵌入式实时操作系统μC/OS-II 和Nios 嵌入式处理器, 分析μC/OS-II 移植对目标处理器的要求, 重点介绍μ
    发表于 03-08 09:31 90次下载

    μC OS-II 在Nios 上的移植1

    首先介绍嵌入式实时操作系统μC/OS-II 和Nios 嵌入式处理器, 分析μC/OS-II 移植对目标处理器的要求, 重点介绍μC/
    发表于 05-16 14:32 28次下载

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

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

    轻型PPP协议在μC/OS-II操作系统中的实现

    针对实时操作系统μC/OS-II 没有自己的网络协议栈,提出了基于ARM7TDMI 处理器的μC/OS-II 操作系统上轻型PPP 协议的设计与实现
    发表于 08-13 09:05 15次下载

    基于μC/OS-II的无线调度策略分析与实现

    介绍了基于嵌入式实时操作系统μC/OS-II 的无线调度平台调度机制,根据μC/OS-II的特点对调度任务进行了合理划分,并对多任务优先级进行了有效裁决,从而解决了无线调度策略的
    发表于 08-31 10:42 12次下载

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

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

    μC/OS-II任务栈处理的改进设计

    已经有不少的文章介绍了有关μC/OS-II这个实时内核及其应用。在很多的处理器上,μC/OS-II都得到了应用。μC/
    发表于 04-18 22:12 1133次阅读

    μC/OS-II实时性能测试与分析

    μC/OS-II实时性能测试与分析 任务切换时间和中断响应时间是嵌入式实时操作系统实时性能的重要指标。本文对μC/OS-II的上述指标进行
    发表于 03-29 15:14 1535次阅读
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>实时性能测试与分析

    μC/OS-II在EP7312上的移植

    μC/OS-II在EP7312上的移植首先介绍μC/OS-II操作系统的特点,重点分析μC/OS-II
    发表于 06-16 11:24 1144次阅读
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>在EP7312上的移植

    缩短实时操作系统μC/OS-II中断关闭时间的方法

    该方面的实现,提高了μC/OS-II的性能,扩大了μC/OS-II的应用范围,使得单边及工程师能更好的利用μ
    发表于 05-06 11:43 1164次阅读
    缩短实时操作系统μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>中断关闭时间的方法

    μC/OS-II中缩短中断关闭时间方法

    笔者将以μC/OS-II实时内核为例,通过对μC/OS-II的改进,向读者描述一种缩短实时操作系统中断关闭时间的方法。
    发表于 05-23 11:15 1192次阅读
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>中缩短中断关闭时间方法