当前位置:蚂蚁文档网 > 述职报告 > 用FPGA同步下一代网络

用FPGA同步下一代网络

时间:2022-05-13 09:40:05 浏览次数:

传统的电信网络从根本上说是为传输语音而配置的,如电话业务。互联网业务就是利用这种早期平台传输的。目前,设计人员正在开发下一代网络(NGN),用于同时传输数据、语音和视频,在降低总运营成本的同时提供透明度和可扩展性。NGN被视为从分离的网络基础设施到统一的多业务、高安全、基于分组的网络的逻辑演进,可实现电子通信解决方案服务质量(QoS)并为最终用户提供使用便利。大型电信提供商已开始向NGN转型,准备建设新的基于分组的以太网核心基础设施。这个过程将逐渐替换和升级网络,为新的和现有的服务解决方案提供支持。

这种升级带来了许多技术挑战,其中最主要的是网络的同步要求。像Sonet和SDH这样的传统电路交换网络会在整个网络中分配高质量的时钟与时序源,但以太网并不需要如此严格的时钟分层。不过,采用某种方式实现各个网络的同步正日益成为对电信运营商的一个具体要求。实现NGN的关键挑战就是要规范、实现并部署一种能够让所有现有网络和新建网络协调工作的高质量解决方案。时间和频率的对齐,也称为同步,对确保通过融合网络传输的无线、语音、实时视频和数据应用的QoS至关重要。将同步与时序功能和其他硬件共同嵌入FPGA中,可以开发出一种低成本、高灵活性的可编程解决方案,能够满足最为严格的电信设备标准。三种最具前景的选择

目前有三种最具前景的将准确的时序/同步信号分布到整个新建网络中的技术,它们分别是同步以太网、精密时间协议(IEEE1588)和GPS时钟。这三项技术满足了一系列国际推荐规范以及ITU-T和IEEE发布的标准的要求。具体要求列表较长,包括ITU-TG.8261(分组网络的时序-同步特性)、ITU-TG.8262(同步以太网设备从时钟的时序特性)、ITU-TG.811(主参考时钟的时序特性)以及IEEE1588等。

在分组交换网络中,宽带无线回程网代表着最具挑战性同步应用,因为要在高速移动条件下实现宝贵的无线资源的最佳使用给移动同步提出了严苛的要求。宽带无线网络使用最为广泛的两种双工方案是频分双工(FDD)技术和时分双工(TDD)。其中频分双工只要求网络频率同步,而时分双工则要求相位和频率均同步。表1归纳了移动网络在射频接口上对不同技术的要求。通过以太网提供的视频、电路仿真业务及许多其他应用也需要严格的同步。

大多数现有的设计采用专门的芯片器件来执行同步与时序功能。如果需要GPS时钟同步,设计人员能够在市场上找到仅OEM厂商提供的带特定功能的模块。所有这些组件一般都存在单位成本高、集成成本高、单个厂商依赖性强的弱点,而且有时在特性和性能上无法满足应用的要求。

高度的灵活性、可用的IP核和丰富的时钟资源使得赛灵思FPGA器件非常适用于实现同步和时序子系统。另外,大多数网络设备已在开发板上布置一个FPGA,有足够的空闲资源和逻辑用于实现能够完全满足特定应用要求的同步子系统。设计人员现在可以将通用和专有逻辑IP核结合起来,将复杂的同步电路连同现有的硬件嵌入到单个FPGA中。该电路可以结合同步以太网、IEEE1588和GPS时钟,以最低的成本实现尽可能高的时序性能。

同步以太网

在过去10年中,随着以太网在电信网络中的地位日渐突显,电信运营商一直在从传统的电路交换系统向基于分组的以太网系统转型。但以太网并非专门为传输同步信号而设计。而同步信号却是部分现有及未来应用,比如TDM仿真、移动回程和下一代移动网络的关键要求。根据ITU-TUG8262的描述,同步以太网(SyncE)代表着以太网向适用于电信广域网的电信级技术迈进了一大步。

在传统的以太网中,数据传输是连续的。物理层发射器的时钟源于低成本的±100ppm晶振,然后接收器锁定在这个晶振上。不同链路之间的频率无须保持长时间的稳定和一致,因为数据被分组并缓存。

SyscE设计用于在IEEE802.3以太网中分配参考频率,其运用的是使用同步物理层的分层同步法,类似于同步光网络(Sonet/SDH)。在SyncE中,物理层发射器时钟通过用可追溯到主参考时钟的频率源取代晶振,可从高质量参考频率中获取信号(见图1)。链路另一端的接收器自动锁定到接收到的信号的物理层时钟,故也能获取高精度高稳定性的参考频率。这个过程不会影响任何以太网层的运行。

从根本上说,通过提供一个带有主参考时钟(PRC)的以太网网元,并采用配备有类似Sonet/SDH网络使用的设计良好的时序恢复电路的以太网物理层,我们可以构建一个完全时间同步的网络。这种方法可以为有这种需要的应用提供高精度高稳定性的参考频率。虽然需要对设备硬件做出调整,但SyncE不受更高层网络技术带来的不良后果的影响,比如包丢失或包延迟变化。这与其他依靠通过非锁定物理层在包内发送时序信息的方法有明显的优势。因此,SyncE的频率精度和稳定性有望超过那些采用异步物理层的网络。

SyncE的时序-同步器件是一个数字锁相环(PLL),支持自由运行、锁定和保持三种模式,可生成多种同步时钟。内部状态引擎自动控制模式选择,当然也可从外部设置。器件不锁定于任一输入端,且输出精度取决于本地振荡器的额定精度(即±4.6ppm)时,选用自由运行模式。当SynCE器件失去参考输入,并使用存储的时序数据来控制输出频率,同时一般网络同步受到临时干扰的情况下就选用保持模式。

锁定模式指SyncE的输出锁相到任何选定的输入参考上。锁定模式一般在从时钟源同步到网络时采用。为了充分滤除参考输入的抖动和漂移,数字锁相环被设计为一种可编程的窄环路带宽器件。在模式切换过程中,其输出相位必须精确控制,以避免干扰和信号损耗。

SyncE器件会持续监控所有输入参考,便于掌握它们的存在及质量。如果系统需要冗余操作,SyncE器件应支持两个器件的主/从配置。根据具体应用,SyncE器件应支持不同的输出频率。

SyncE的典型FPGA实现方案由数字PLL、MicroBlaze系统和频率输出生成器构成(见图2)。通过采用外部VCXO,可实现极低抖动的输出信号。VCXO运行在设计人员锁定到选中的输入参考上的小数分频PLL上。锁定的方法是改变高精度西格玛德尔塔调制器的小数分频比。

就其本身而言,MicroBlaze系统内置一个CPU、BlockRAM、时钟、SPI或UART、I/O端口、高分辨率数字相位检测器和频率输出生成器。MicroBlaze负责运行多任务应用软件,包括SyncE状态机、参考监控、通信等。频率输出生成器使用数字PLL的输出,同时运用FPGA时钟资源(CMT)和可编程分频器生成多个新增频率。运用多个CMT模块可以综合一系列频率,包括标准T1、E1、Sonet/SDH和以太网。本地参考可采用外部TCXO或OCXO。

IEEE1588精密时间协议

IEEE1588精密时间协议(PTP)是一种用于高精度同步运行在分布式分组网络系统各个节点上的独立时钟的标准。该协议独立于网络技术,系统拓扑可自配置。最初PTP是设计用于工业自动化和仪器,或者要求精确同步的相对较小的本地网络。随着过去两年中下一代电信网络的兴起,设计人员正在重新审视PTP。IEEE1588精密时间协议第二版较广域分组网络性能更加优越,具体的改进之处包括透明时钟概念、边界时钟、增大最大信息传输速率、支持单播。IEEE1588的时钟位于网络节点中,按主-从层级结构组织。

主时钟通过以太网双向交换时序包,而嵌入在设备中的从时钟则要求同步。每个从时钟根据与主时钟之间交换的同步、跟进、延迟请求和延迟响应四项消息同步到自己的主时钟上。主时钟向从时钟发送组播消息,而从时钟向主时钟响应单播消息。在每个节点上,消息在接收和发送路径上都会被加上时间戳,而且时间戳嵌入在后续的消息中。为计算偏移量和延迟量(即相对于主时钟的时间差),从时钟使用四个时间戳,并假定消息在主从之间的传输延迟是相等的。

一般来说,有两类IEEE1588实现方案:纯软件和有硬件辅助的软件。在纯软件实现方案中,整个协议在应用层面执行,包括时间戳的处理和时钟的控制。由于操作系统和应用会给时间戳带来额外的时间误差,故这种实现方案的精度在数百微秒到数毫秒之间,对电信应用来说,这种精度往往不够。

为实现更高的精度,就需要采用硬件辅助的软件实现方案。由于这种方案中的硬件在靠近物理接口处进行时间标记,故精度可达数百纳秒。典型的硬件辅助的软件实现方案是在物理层(PHY)和MAC之间的介质无关接口(MII)处连上一个时戳单元(TSU)(见图3)。TSU负责识别PTP消息,在帧起始分隔符处给每个PTP消息进行时间标记,最后将时间戳及一些相关属性记录到存储器缓存区或寄存器中。

除了TSU,这种方法还用硬件实现IEEE1588时钟模块。该时钟的功能是以秒(48位值)和亚秒(32位值)为单位维持和分配当前时间。IEEE1588时钟随本地振荡器的每个周期更新,由运行在处理器上的PTP软件控制更新率。PTP软件运行多项任务,负责处理时间戳,控制时钟同步,接收和发送PTP消息,维护协议栈和状态机等。

IEEE1588实现方案的关键是选择本地振荡器。用户必须规定振荡器的稳定性,这样在PTP时钟两次校正之间能够容忍振荡器因温度和老化发生的漂移。振荡器的规格取决于成本和性能之间的权衡。

当今的电信网络包含许多交换机、路由器或其他网络设备,这不仅扩大了网络规模,同时也提高了网络的复杂性。每个网元都会给PTP消息交付带来延迟和波动。这些波动也称为分组延迟变化(PDV),会直接影响时钟同步的精度,因为同步算法包括传播延迟计算。部分路由器可能会导致数毫秒乃至更高的分组延迟变化,严重降低同步精度。如果PTP要完全满足电信应用的要求,系统就必须对PDV采取充分的滤波措施。一般来说,分组延迟变化由三个部分组成:传输延迟、处理延迟和缓存延迟。

传输延迟指因两端口之间的信号速度造成的延迟,而处理延迟指在网元中处理时序包造成的延迟。缓存延迟或队列延迟指时序包在给定网元中被处理前在各个缓存或队列中等待的总时间。这三个组成部分有不同的PDV范围。传输延迟的PDV在数亚微秒范围内,处理延迟的PDV范围介于1~10μs之间,而缓存延迟是引起PDV的主要原因,在10~10000μs之间。

有多种不同滤波技术可供从时钟用于最小化PDV。其中两种最常见的方法是使用移动平均法和指数加权移动平均法。这两种技术均根据对平均包到达时间的估算,并假定PDV的分布是固定、独立且均等的。这两种滤波算法的效率严重依赖网络流量负荷和拓扑。为让PDV滤波更有效,设计人员同时还使用其他网络管理技术,比如增加时序包的速率,围绕给定的均值随机化消息传输。

从硬件角度来看,用FPGA来实现IEEE1588协议相对直观。具体系统由一个MicroBlazeCPU、RAM、定时器、MAC、包识别模块、时戳单元和由外部振荡器驱动的时钟构成。MicroBlazeCPU负责运行包含滤波和时钟驯服算法在内的PTP协议栈软件。

PTP时钟、包识别模块和时戳单元(TSU)这三个硬件模块位于架构的中心,是标准赛灵思IPLogiCORE库中所没有的。PTP时钟采用三个累加器级联设计,如图4所示。RCNT寄存器可根据RATE寄存器的值累加亚秒级的小数部分,从而确定PTP时钟的平均速度。在每个时钟周期中,SUBS寄存器负责累加PHS寄存器的固定值和RCNT累加器的运行结果(carryout)。SUBS(30位)寄存器的运行结果最后累加到SEC寄存器中(32位)。

包识别模块负责监控MAC和PHY之间的MII总线,以识别IEEE1588包,然后向TSU发送信号。由于包监控同时在接收和发送路径上进行,设计采用了两个完全相同的包识别模块。为检测帧起始和生成时间戳信号,包识别模块的状态机负责计数、比较后续字节,并判断消息是否有效。该模块还会生成与特定IEEE1588消息有关的ID。最终,包识别模块向MCU发出DONE信号。该TSU模块的任务是采集时间戳信号被断言时PTP时钟的时间。为获得最佳性能,本地振荡器应采用TCXO或OCXO。

GPS时钟

世界各地的电信系统将全球定位系统(GPS)用于精确时序-同步已有一段时间。GPS共有24颗卫星布置在六个以地球为中心的轨道平面上,每颗卫星携带有四个原子钟。每颗卫星都能发送自己的位置信息。位置数据调制到载频上后,以原子钟高度精确控制的时间间隔重复发送。地面上的GPS接收器接收到信号后进行解码,然后有效地同步到卫星上的原子钟。电信同步使用的GPS时钟包括带天线的GPS接收器、带驯服软件的数字PLL、高质量的稳定振荡器。驯服软件用于控制和校准振荡器,以去除频率中的细小偏差。

GPS时钟能够同时实现系统时序与收发器频率的同步,而且基本上能够自动防范故障。只要有电力供应,它就能生成时序信号,且从不需要重新校准。这样就可以把GPS集成到众多需要高质量时序子系统或仅将GPS用作主参考源的装置中。在过去,GPS的使用成本相对较高,尤其是考虑到需要安装天线时,成本不菲。但随着价格的下降,将GPS时钟用作下一代网络系统的时序-同步解决方案已变得更加可行。

另外,还有其他的全球导航卫星系统(GNSS)可以有效地用于时序和同步应用,比如俄罗斯的GLONASS系统,欧盟的伽利略和中国的北斗星。市场上已经出现一些能够支持多个GNS系统的GPS接收器。这些多系统接收器能够有效地跟踪大量的卫星,提高时序精度。

图5是一个典型的GPS时钟实现方案。实际上,该方案就是一个数字PLL,其运用一个将GPS接收器的1pps信号用作一个时序参考的专用软件来驯服本地振荡器,并提供高质量的频率和时序参考。GPS时钟可以以三种模式运行:锁定模式、自由运行模式和保持模式。自由模式是指单元未锁定到参考输入时采用。自由运行模式一般在GSP信号和历史时序数据不可用的情况下使用,或者在系统刚刚加电,实现网络同步之前使用。在这种模式下,输出信号未同步到参考信号,它们的精度取决于本地振荡器。在锁定模式下,输出锁相到GPS的1pps参考信号,且输出频率跟随输入参考。

数字PLL具有极低的带宽,一般在几毫赫兹的范围内。它能够过滤GPS的1pps信号中的大部分噪声。一个采用优化的增益和带宽,并且有时采用时变环路参数的二阶甚或三阶环路滤波器通常是稳定跟踪的良好选择,足以过滤GPS1pps的参考信号。保持模式指设备已经丢失、或者无资格获取GPS1pps信号,并且使用存储的时序数据,即历史数据来控制输出频率。保持模式在GPS信号被暂时中断,且没有有效的参考可用的情况下启用。

为了最大限度地减少因振荡器老化和温度性能导致的频率和相位漂移,该模式采用了一种自适应算法。该种算法采用在锁定模式下采集的数据所创建的一个振荡器模型,能够预测计算出频率漂移状况。该数据集包括环境温度、频率和时间值。设计人员可以采用Kalman滤波的某种变化或者用线性回归的递归实施方案来实现自适应算法。

虽然GPS时钟可以采用自适应算法来补偿振荡器漂移,但保持模式下输出信号的稳定性在很大程度上取决于板上振荡器的稳定性。因此在选择振荡器的时候应该特别小心。为了充分满足大多数NGN的要求,用户需要一个恒温晶体振荡器(OCXO),虽然有时用户也可以选择使用较低成本的振荡器。此外,在选择GPS接收器的时候也需要特别小心,因为不是所有的接收器都能够提供足够精确的1pps信号。

采用FPGA实现GPS时钟相当直观。赛灵思FPGA可以将整个数字硬件实现为一个片上系统(SoC),并辅以GPS接收器、高稳定性本地振荡器(OCXO)和其他模拟电路,包括DAC、温度传感器等。MicroBlaze系统由CPU、BRAM、定时器、SPI、两个UART、I/O端口和高分辨率数字相位/频率检测器组成。为了实现高分辨率的相位检测器,采用一个DCM来生成300MHz的时钟。如此之高的频率可以保证在同时使用上下沿的时候有正负1.66ns的精度。如果需要,用户也可以在FPGA中通过采用抽头式延迟线设计一个TDC来实现更高的精度。

SPI负责为外部DAC和数字温度传感器之间提供一个接口。第一个UART用于控制GPS接收器,第二个则用于与主机通信。面向MicroBlaze系统、采用自适应算法的控制软件系使用C/C++编写。

随着电信数据的传输日益依赖下一代分组网络的传输,设计人员正在研究时间和频率传输的新方法。三种同步技术:同步以太网、精密时间协议和GPS时钟已经为业界广泛接受并成为业界标准。

推荐访问:同步 网络 FPGA

猜你喜欢