利用FPGA实现工业以太网交换机设计优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用FPGA实现工业以太网交换机设计优化
基于以太网的组网技术是工业市场中增长最快的技术之一。
大多数工业以太网标准使用IEEE 802.3标准以太网协议,因此这些网络能够传输标准的网络业务和实时数据。
但每个标准都采用不同的技术来提供实时性能,一些采用定制硬件,一些利用定制软件,还有的采用完全标准的以太网/TCP/IP实现。
结果就出现了众多不同等级性能、不同成本的互不兼容标准。
针对以太网协议非确定性通信时间的一个越来越普及的对策是在每个设备内实现一个本地时钟。
由于大多数设备都有微处理器及(相对)高速度的时钟,因此这种方法比较容易实现。
若能在整个网络范围内实现和保持精确的时钟同步,同时控制整个系统的精确运作时序,那么该方法的唯一限制就是通信延时以及系统范围内的时钟同步精度。
这种系统控制方法不适合精确运动控制(如对负荷不断变化的电机转速的精确控制)等应用,因为它们要求控制器和设备间的通信延时很短,但它对需要高度同步系统级控制(如速度变化)的整个系统(比如一家大型印刷厂或一条很长的自动化生产线)的精确控制很有用。
如果有足够的时间给每台设备发一条指令,则对这种基于时钟的控制精度的唯一制约就是系统范围内的时钟同步精度。
几个工业网络标准(不仅仅是基于互联网的标准)正在采用IEEE 1588标准来提供这种控制能力。
IEEE 1588提供了高度精确的主时钟及经过验证的时钟同步机制,可用来生成所有本地时钟,并与主时钟保持非常精确的系统级同步。
基于以太网的网络因其低成本以及以太网的易于实现而备受青睐。
以太网交换机是有助于发挥这些优势的关键部件,而企业系统也非常依赖它们实现高性能和易于维护的基础架构。
交换机的这一巨大企业市场意味着它们很容易实现,而且成本低廉,但目前市场上的大多数交换机不是针对低延时性能或确定性路由时间设计的,因此很难用于工业环境。
IEEE 1588系统通过检测主机和从机间通信延时来同步主机和从机的时钟。
在主机和从机时钟之间安放一个交换机会引入额外延时,因为交换机必须分析数据包然后再行路由。
增加的延时不是好事,但对它可以进行延时修正,所以它并非主要问题。
最大的问题是,当流量增加时,路由数据包所需的时间将急剧增加。
这是由于缓存、分析并将数据包路由至众多目的地所需的时间引起的。
这种变化极大降低了1588时钟同步的精度,从而显著恶化了对整个系统的实时控制性能。
对1588主和从时钟间延时的测量也依赖于两个方向上通信时间的对称,因为采用的测量方法是统计一个加有时间标记的信息由从时钟到主时钟
再从主时钟返回从时钟所用的时间再除以2。
在大多数交换机和以太网网络实现中,这种对称性不太可能出现,从而进一步降低了时钟同步的精度。
图1:典型的边界时钟应用框图。
不过IEEE 1588标准提供了该问题的解决之道:若交换机本身也有时钟(图1所示),则可测量数据包路由所需的时间并将其整合进同步计算中。
由于系统不需要这种功能,所以包含这类…边界‟时钟的交换机很难看到,即使有一般也很贵,并且通常是为特定网络实现定制的。
随着基于IEEE 1588的网络的迅速普及,针对如何在产品和网络基础架构中高效且高性价比地实现IEEE 1588功能,制造商面临着艰巨挑战。
开发定制ASIC方案是可能的,但随着ASIC开发成本的上升以及工业以太网标准的迅速变化,开发此类方案速度慢、风险高且不具成本效益。
也可以采用微处理器和针对特定网络协议的第三方ASIC或ASSP为每个协议开发解决方案,但此举意味着为每种网络标准实现单独的解决方案,这样做同样既昂贵又没效率。
这些解决方案还可能面临缺少灵活性和设备很快过时的问题。
目前,设计师只能通过仔细地实现网络,尽量减少交换机的使用,或尽量减少实时性强的网络流量来规避上述限制。
这种网络隔离措施可达到对某些应用来说能接受的性能水平,但它们难以实现或维护。
节省开发时间
用FPGA实现支持IEEE 1588的交换机是解决该问题的理想方案。
Altera、国家半导体和MorethanIP公司各展所长,这三家公司联合为工业以太网设计师提供了一个优化的八端口交换机设计,采用该设计可使工程开发时间缩短六到九个月。
开发时间上的节省将使设备制造商在产品上市时间上抢得先机。
图2:具有IEEE 1588时序控制功能的八端口交换机开发板。
图2显示的是MorethanIP企业系统基于Altera的Stratix II FPGA开发的带嵌入式IEEE 1588功能的开发板。
该开发板所附的参考设计通过一种简单高性价比的方式实现了支持IEEE 1588的交换机,并且很容易修改而迎合其它系统及快速变化的市场需求。
这些优势是都是凭借FPGA的灵活性以及FPGA 设计内集成的一个32位RISC处理器实现的。
具有1588定时控制和可编程上行链路功能的以太网MAC内核和交换矩阵内核知识产权(IP)是由MorethanIP GmbH开发的。
MorethanIP企业系统还提供了可在32位AlteraNios II RISC处理器软核上运行的UDP和1588软件协议栈。
为了提供最佳的物理接口,该八端口交换机设计选用了国家半导体企业系统的4个双端口PHY收发器。
参考设计具有小于100ns的时钟同步能力,可用于各种应用。
这种等级的精度对满足工业连接所需的苛刻通信延时和服务质量(QoS)要求来说是关键。
目标应用包括采用Ethernet/IP、ProfiNet、Ethernet Powerlink及其它以太网协议等不同工业标准的交换机。
延长产品生命周期
FPGA的可编程能力是上述设计优势的关键。
从单一硬件平台出发,设计师可以很容易地实现支持不同工业以太网协议(如EtherCAT、ProfiNet等)的交换机。
该开发板可支持同一系统内或来自相同以太网端口的不同工业以太网协议。
这是借助实现不同的媒体接入控制器(MAC)硬件模块和嵌入式处理器软件以支持不同以太网标准和IEEE 1588功能来实现的。
能方便地再利用以前设计的能力以及现成IP的可用性意味着与采用ASIC或ASSP器件的设计相比,基于FPGA的设计可在很短时间内生成一个支持新特性的配置。
FPGA从一个串行闪存内加载硬件配置和嵌入式处理器软件。
在生产过程中甚至设备被交付到现场后,都可方便地通过改写闪存内容来改变FPGA的硬件和软件功能。
FPGA内的可编程硬件和软件处理能力意味着设计师可以通过作为硬件或软件的应用程序来整合所需的额外功能。
通过简单地再编程FPGA就可实现新功能的能力是对产品未来的保证(如支持IEEE 1588 v2.0),还能非常快速地将新特性呈献给客户。
因为FPGA的生命周期很长,设备制造商完全不用担心潜在的器件终息风险。
由于设计是基于IP的,所以将设计移植到下一代FPGA也比较方便,从而使设计师有可能从下一代FPGA产品可能更低的成本或更强的性能方面受益。
加之容易进行现场升级的能力,使得FPGA实现成为很容易在整个产品周期内获得支持的产品开发的最佳方式。
该参考设计采用Altera的Stratix II FPGA,允许将全部Nios II处理器代码储存在片上存储器内,不过成本更低的系统可以采用Altera企业系统的Cyclone III系列FPGA器件实现。
嵌入式交换矩阵IP
图3显示的是MorethanIP GmbH企业系统的嵌入式八端口交换矩阵,它包含8个符合以太网802.3规范的10/100Mbps MAC,每个MAC都支持IEEE 1588,这意味着它可以采用来自可编程定时器的本地同步高精度时钟给每个进来的1588数据帧“盖”以时间标记。
图3:符合IEEE 1588标准的MorethanIP公司八端口交换机架构框图。
为实现边界时钟应用,交换机设计同时实现了IEEE 1588 V1主应用和从应用。
与主机通信的端口被自动配置为从端口。
嵌入式1588应用程序经从端口生成一个精确时钟,并将该时钟信息前转送到被自动配置为主端口的其它端口。
与可编程定时器的紧密整合确保了该时钟与主时钟的同步精度在100ns 以内。
在交换机内,每端口可最多实现两个按优先级排列的队列,以便为关键服务提供服务质量(QoS)保证。
交换机还能通过编程并利用3位VLAN优先级字段、6位DiffServ第三层代码点(IPv4)或8位服务类别(IPv6)对流量进行识别和分配优先级。
交换机设计支持IEEE 1588版本1边界和版本2透明时钟应用。
可对该设计作进一步修改和强化以增加定制逻辑,例如在传统协议或PCI等不同系统接口上增加桥接应用软件,从而方便将交换机集成进现有系统。
图4:包括软件和硬件在内的IEEE 1588框图。
在该设计中,Nios II嵌入式处理器支持交换机的IP配置和管理,并能运行用户数据报协议(UDP)栈、IEEE 1588协议栈和精确的时序同步,并支持双路10/100 PHY收发器的PHY管理和线路诊断功能(如图4所示)。
嵌入式处理器还可用于高层组网功能,如运行生成树和快速生成树算法以及终结TCP/IP 链接。
生成树协议(STP)和快速生成树协议(RSTP)是链路管理协议,它们支持路径冗余,可防止网络内出现不需要的环路(要使工业以太网络正常工作,两个节点间只能有一条有效路径)。
PHY收发器
图5:美国国家半导体公司的PHY收发器框图。
每个收发器都有两个完全独立的10/100Mbps端口供多端口应用使用,如图5所示。
该收发器的端口切换还允许两个端口经配置提供完全集成的范围扩展、介质转换、基于硬件的快达ns级的故障切换(fail-over)以及端口监测功能。
该器件整合了用于公共工业以太网拓扑的多端口支持。
特别是设计师要获得对不同应用的冗余支持,需要具备在各种条件下处理故障切换的能力。
从一个网络栈切换到另一个网络栈需要不短于几百毫秒的时间,但一些应用(如安全应用)需要极其迅速地、最好是在PHY层实现的故障切换。
该参考设计内的收发器从一个端口切换至另一个端口的时间是ns级,即使主机仍管理着控制路径。
收发器信号路径中的架构改进使性能远远超过了最低PHY层规范要求,完全可以解决抖动和延时等设计问题。
每个以太网PHY层由一个参考时钟驱动。
为了尽量减小抖动,PHY层规范要求采用极其精确的时钟,其精度要在收发器25MHz参考时钟的50PPM以内。
另外,为了满足规范要求,起始抖动必须非常小。
为了解决这个问题,架构内整合了一个容忍更大抖动的机制。
器件架构还针对实时以太网操作优化了延时性能,以确保把交换机延时降至最小。
在许多实时系统实现中,以太网包数据传输延时对正常的系统运作来说是个重要参数,而以太网PHY内固定或可变的发送或接收延时将成为系统延时计算中的重要组成部分。
PHY收发器的设计以限制接收数据延时的变化为出发点,这样就可提供非常确定的系统延时。
因为接收数据与接收时钟对齐,所以规避了器件接收数据时通常会遇到的非确定性因素。
因此在MII和RMII模式时器件可以提供极具确定性的接收数据延时。
另外,收发器能够减少发送RMII延时中常见的非确定可能性。
另一个重要的设计特性是内置的电缆诊断功能,该特性给收发器采用的传统时域反射(TDR)方法增加了前瞻性的诊断功能。
新创的故障隔离功能可以借助收发器的强大信号处理能力在数据传送的同时跟踪链路质量。
这种极具鲁棒性的TDR实现方法是将脉冲从接收或发送导线对送出,并观察这两个线对上的结果。
通过观察每对线上的反射信号类型和强度,并通过软件计算即可确定电缆的短路和开路状况、故障点的距离,并确定哪一对有问题以及线对偏移。
积极主动地监测并修正变化或恶化的链接质量可缩短系统的停歇时间,节省昂贵的维修费用。
该功能还可检测安装时发生的故障,节省大量的调试工时。
本文小结
工业以太网技术一直在进步,并越来越普及,而设计师面临着对高性价比工业交换机日益强劲的需求。
基于ASIC和ASSP的交换机因其架构固定,所以实际上没有余地定制出新的系统特性。
为了增加特性设计一般要推倒重来,此举会导致额外的设计时间和成本支出。
但如上所述的支持IEEE 1588交换机的FPGA设计可节省6到9个月的工程时间,并提供给设计师梦寐以求的灵活性,帮助他们实现精确定时协议(PTP)、支持多个工业以太网标准、额外的标准接口或者其它可能的定制特性。
作者:Francois Balay 首席执行官MorethanIP公司Andrew J. McLean
亚特兰大设计中心主任美国国家半导体公司James Adams
工业事业部工程师Altera公司。