基于TLK10002的 SERDES FIFO 溢出解决方案

最新更新时间:2013-10-16来源: 互联网关键字:TLK10002  FIFO  溢出 手机看文章 扫描二维码
随时随地手机看文章

分布式基站系统中,RRU 通常会通过光纤拉远实现与 BBU 的远程互联。由于光纤自身的特性,传输过程中必然会引入抖动和漂移;尤其是漂移,因其低频特性,并且难于滤除,在SERDES 的 FIFO 深度不够的情况下有可能会造成 FIFO 的溢出。

  本文首先会对这个问题进行一般性地分析,在此基础上我们将以德州仪器公司 10G SERDES 器件 TLK10002 为例,提出一个新的解决方案,即采用双时钟模式提供 SERDES系统时钟,并且探讨了这种模式的具体实现方式。同时,为了验证双时钟方案的可行性,我们搭建了相应的测试平台,并给出了相应的测试结果。

  1、光纤漂移引起的 SERDES FIFO 溢出问题分析

  1.1 漂移及漂移形成的塬因

  漂移是一个数字信号的有效瞬时在时间上偏离其理想位置的,非累计性的偏离。所谓的“长期的偏离”是指偏离随时间较慢的变化,通常认为变化频率低于 10Hz 就属于较慢的变化。

  实际数字信号存在的相位噪声,抖动时相位噪声的高频成分,漂移是相位噪声的低频成分,工程中以10Hz 来划分高、低频。产生这两种频率成分的机理有所不同。产生低频成分,也就是产生漂移的主要塬因是传输媒质和设备中传输时延的变化,例如光纤白天受热变长,时延增加,信号迟到,相位滞后;光纤夜间受冷变短,时延减少,信号早到、相位超前。产生高频成分,也就是产生抖动的主要塬因是内部噪声引起的信号过零点随机变化,例如振荡器输出信号的相位噪声,数字逻辑开关时刻的不确定性等。

  漂移不会直接导致传输产生误码,因为传输设备的恢复时钟电路能跟踪相位的慢变化。漂移幅度变化虽慢,但长期累积幅度可能高达 1000UI[3]。

BBU/RRU系统级联方案

  1.2 漂移引起的 SERDES FIFO 溢出问题分析

  一个典型的 BBU 和 RRU 系统级联方案如图 1 所示,在 RRU 一侧,由于 JC PLL(主时钟芯片)会自动跟踪输入的串行数据流,当输入频率发生变化时,JC PLL 会调整输出频率以匹配输入频率的变化。在这个跳变瞬间,如果 SERDES 的 FIFO 的读写速率可能不一致,导致 FIFO 的冲突,从而造成溢出。但是,通过选择跳变速度足够快的 JC PLL,这种溢出是完全可以避免的,而一旦JC PLL 锁定到输入数据流,FIFO 读写工作在同一速率,就不会存在溢出问题。

  在 BBU 一侧,值得注意的是时钟信号的抖动,尤其是漂移引起的 FIFO 溢出。如果这种漂移来自于 BBU 自身的参考时钟,由于输入数据数率是与 BBU 速率匹配的,不会造成任何问题; 但是,如上节所阐述的,光纤的温漂等特性有可能引入新的漂移,如果 RX FIFO 两侧工作在不同的时钟域, 这种光纤引入漂移会造成 SERDES 内部 FIFO 的碰撞,FIFO 自身的深度如果不足以吸收这种碰撞,就会引起 FIFO 溢出。

  2、BBU SERDES 双系统时钟方案及具体实现

  2.1 TLK10002 内部时钟架构

  TLK10002 是德州仪器公司推出的双通道 10G SERDES 芯片,它可以支持目前所有的 CPRI 和OBSAI 速率,从 1.2288Gbps 到 9.8304Gbps,因而特别适合无线基站的应用。

  TLK10002 内部的时钟架构如图 2 所示,它的 A/B 通道可以通过 REFCLK0P/N 或者REFCLK1P/N 管脚来提供参考时钟,这两个参考时钟的选择可以通过 MDIO 或者REFCLKA_SEL 和 REFCLKB_SEL 管脚来实现。

  高速侧 SERDES 的 CDR 主要用于从输入串行数据中恢复时钟信号,恢复的时钟信号从CLKOUTAP/N 和 CLKOUTBP/N 输出。输出信号频率有多种选择:通过寄存器配置,用恢复时钟频率除以 1, 2, 4, 5, 8, 10, 16, 20, 或者 25 均可。

  对于每个通道而言,高速侧 SERDES 和低速侧 SERDES 可以工作在一个时钟域,即两者使用同一参考时钟;同时,TLK10002 也提供了另外一种时钟模式,即高速侧 SERDES 和低速侧SERDES 使用不同的参考时钟,这种情况下,高速侧锁相环和低速侧锁相环会工作在不同的时钟域。

  图 2 TLK10002 内部时钟架构

  图 2 TLK10002 内部时钟架构

  2.2 TLK10002 双时钟系统方案

  基于双时钟 TLK10002 构建的系统级联方案如图 3 所示。在这种方案中,TLK10002 高速侧SERDES 和低速侧 SERDES 采用不同的参考时钟。

  在 BBU 一侧,高速侧锁相环采用本地的参考时钟,一旦高速侧锁相环锁定,并且 BBU 和 RRU 之间建立稳定的链路,BBU 一侧 TLK10002 的 CDR 会有稳定输出,这个输出给 BBU 上的 Jitter Cleaner 提供参考输入。 一旦 Jitter Cleaner 正常锁定,它的输出又会作为低速侧锁相环的参考输入。

  采用这种配置,由于 SERDES 本身可以处理最高 200ppm 的频率偏移,发射和接收通道的速率是完全相互独立的。这样,FIFO 的两侧完全工作在同一时钟域,FIFO 就不会存在溢出的风险。在这种情况下,FIFO 仅仅用来吸收不同时钟之间的相位偏移和补偿 jitter cleaner 的跟踪能力。

  TLK10002双系统时钟方案

  2.3 双系统时钟方案的具体实现

  以 BBU 一侧为例,双系统时钟方案具体实现方式如下图 4 所示。在这个方案中,由于 LMK04808具有超低相位噪声特性,我们使用它作为抖动消除器。

  图 4 采用双时钟方案构建 BBU SERDES 系统

  图 4 采用双时钟方案构建 BBU SERDES 系统

  对图 4 所示的系统,系统配置及操作顺序如下:

  1) 正常配置 TLK10002 0X00 到 0X0D 寄存器。

  2) 等待 TLK10002 高速侧锁相环 HS PLL 正常锁定。//只要本地参考时钟准备就绪,高速侧锁相环即可锁定(此时并不需要建立稳定的 10G 链路)。

  3) 切换 TLK10002 ENRX:先置为 0,再置为 1。//使 HS SERDES 自适应链路状况。

  4) 等待 10ms。 //等待 HS SERDES 设置参数,确保 CDR 为 LMK04808 提供有效的参考时钟。

  5) 配置 LMK04808 确保其正常锁定。

  6) 等待 TLK10002 低速侧锁相环 LS PLL 正常锁定。//只要 LMK04808 锁定并且正常输出,LS PLL 就可以正常锁定

  7) 重启数据通路。//此时,低速侧和高速侧 SERDES 都具有有效时钟,重启数据通路可以优化 FIFO的指针位置和触发低速侧 Lane 重新对齐

  3、双系统时钟方案实际测试

  3.1 测试设置

  TLK10002 双系统时钟方案测试设置如图 5 所示。J-BERT 用来产生 9.8304Gbps 的 PRBS7 测试信号,在这个信号上会加载 45ps 的宽带随机抖动;VXI Clock Generator 用于产生 122.88MHz 的本地时钟,作为 TLK10002 高速侧锁相环的参考时钟;LMK04808 作为本地的 Jitter Cleaner,采用 LMK04808 评估板默认的配置,TLK10002 CDR 输出 122.88MHz 信号作为 LMK04808 参考输入,LMK04808 输出的 122.88MHz LVPECL 信号作为 TLK10002 低速侧锁相环的参考时钟;TLK10002 配置成 9.8304Gbps PRBS 测试模式,发射通道采用默认的设置;高速示波器用于观测 TLK10002 发射通道输出 9.8304Gbps 高速串行信号。

  在 A、B、C、D 四个测试点,我们将分别测试 TLK10002 串行输入信号眼图、TLK10002 恢复时钟信号相噪、LMK04808 输出信号相噪以及 TLK10002 发射机输出眼图。

  图 5 TLK10002 双时钟系统方案测试设置

  图 5 TLK10002 双时钟系统方案测试设置

  3.2 实测结果

  TLK10002 串行输入信号眼图如图 6 所示,它的随机抖动(Rj)为 2.98ps,确定抖动(Dj)为4.23ps,总的抖动(Tj)为 44.98ps,通常,这种类型的宽带随机抖动是很难通过均衡来消除的。

  TLK10002串行输入信号眼图

  TLK10002 恢复时钟输出相噪曲线如图 7 所示,采用图 6 所示的输入信号,TLK10002 的恢复时钟 RMS 抖动为 3.98ps(1KHz~20MHz)。

  TLK10002 CDR输出相噪

  LMK04808 输出相噪如图 8 所示,可以看到在通过 Jitter Cleaner(LMK04808)之后,由于LMK04808 的强劲抖动消除能力,其输出 RMS 抖动仅为 121fs(1KHz~20MHz)。

  LMK04808输出相噪

  TLK10002 发射通道输出眼图如图 9 所示,其随机抖动(Rj)为 1.02ps,确定抖动(Dj)为5.79ps,总的抖动(Tj)仅为 19.6ps,眼图清晰。

  TLK10002发射通道输出眼图

  4、结论

  由上述理论分析和实际测试结果可以清楚地看到由 TLK10002 、LMK04808 构建的双时钟系统方案完全可以避免因光纤引入漂移从而导致 SERDES FIFO 溢出的问题;同时,由于发射机眼图主要是由本地参考时钟的相噪决定,采用这种双时钟模式对眼图以及发射机输出噪声性能没有影响。

关键字:TLK10002  FIFO  溢出 编辑:神话 引用地址:基于TLK10002的 SERDES FIFO 溢出解决方案

上一篇:200W太阳能光伏并网逆变器控制设计方案
下一篇:IDT 推出业界首个 16 通道、8 GT/s PCI Express 3.0 信号调理重定时器

推荐阅读最新更新时间:2023-10-12 20:50

基于FPGA的MPEG-2复用器中FIFO的一种设计方案
      近几年基于MPEC-2的DVB普通数字电视在美国、南美、亚洲、大洋洲和非洲通过卫星进行广播。基于MPEG-2/DVB的多路节目复用器是数字电视传输系统的关键设备之一,因此,它的研发显得尤为重要。      目前,复用器的设计方案主要基于DSP(数字信号处理器)的实现技术,这种设计方法在理论上也能实现对传送流的复用,考虑到实现复用器诸多高速、复杂的逻辑功能,同时,FPGA(现场可编程门阵列)理论上可以无限次地重新配置,这样在一定程度上为系统的升级或局部功能的改进留下了余地。所以,从今后专用芯片的设计和开发的角度来讲,基于FPGA的设计无疑是最佳的选择。本文提出了一套基于FPGA的复用器输入部分的设计方案。    
[嵌入式]
STM8全局变量溢出问题解决
1、变量存储空间结构 STM8S105系列CPU的RAM地址范围为0~0x7FF的2K空间,其中默认将高512字节分配给堆栈,剩下0~0x5FF字节为变量存储空间 。在0~0x5FF的空间范围内,低256字节被定义为Zero page,其中包括.bsct,.ubsct,.bit,.share,各段的含义如下: 可见, 当segment .ubsct overflow错误出现时, 应该是低0~FF段空间出现溢出 cosmic默认将所有变量存储在zero page段, 如要将变量置于0x100~0x5FF的空间里, 需要将变量前添加@near的申明, 如同idata的功能 通常将所有全局变量都加上@near申明, 以放置在zero
[单片机]
一种8路串口转换PCI总线的设计方案
1 引言 随着Internet的发展,越来越多的计算机或设备通过串口通信方式接入网络,实现信息共享和设备的集中控制和管理。多端口扩展已成为通信设备接入的重要环节。利用串口进行通信具有结构简单,线路成本低的优点,广泛应用于各个领域。而PCI总线,即外围器件互连总线,是目前应用最广泛、最流行的一种高速同步总线。由于大部分I/O设备是没有PCI总线功能的,开发多端口通用串口和PCI总线的接口卡也就成为技术发展的必然要求。本系统采用专用芯片 XR17D158 开发了基于PCI总线的8路 RS-232 高速串行通讯卡,为通信设备提供额外的高性能串行接口,适用于连接各类串行设备。 2系统硬件设计 系统硬件主要包括主芯片 X
[嵌入式]
A7139 无线通信驱动(STM32) 增加FIFO扩展模式
A7139 拥有电磁波唤醒以及10mW的发射功率,非常容易实现长距离通信,目前测试有障碍物可以轻松达到300m以上. 通过几天的调试,目前可以发送任意大小的数据包,大小为1-16KB,全部使用中断收发,效率极高。 增加波特率设置2Kbps-100Kbps任意设置 增加通信信道设置0-255 增加发送功率设置0-7 底层代码 /************************************************************************************************************* * 文件名: A7139.c * 功能: STM32 A7139
[单片机]
A7139 无线通信驱动(STM32) 增加<font color='red'>FIFO</font>扩展模式
第18节:加法运算的溢出
从业十年,教你单片机入门 第18讲: 我前面介绍的三种数据类型unsigned char ,unsigned int ,unsigned long,都是有最大范围限制的,它们最大范围分别是255,65535,4294967295,如果加法运算的结果超过了参与运算的变量本身,会出现什么结果,有什么规律,这就是本节要讲解的溢出问题。 (1)何谓溢出?比如以下例子: unsigned char a; a=0x8536; 分析: 因为a是unsigned char变量,位数是8位,也就是1个字节,而0x8536是16位,2个字节,这种情况下,把0x8536赋值给单字节变量a,变量a只能接收到最低位的一个字节
[单片机]
东芝HD DVD播放器的音视频处理及逻辑控制设计探密
这是我做过的最复杂的设计揭密。我经手的大多数项目都是单功能设计,在大多数情况下,都有一个ASIC或高端CPU用于执行大部分处理功能。本例则是由每个子系统共用的一个处理器和用于连联接子系统的大量胶合逻辑组成。 本次揭密的对象是东芝的高清晰度(HD)DVD播放器HD-1A。这种DVD播放器已经面市很长时间了,是吗?技术很简单,是吗?只是一些大批量生产的ASIC,是吗?错了,错了,而且是大错特错。 首先,虽然标清(SD) DVD播放器面世已经很长时间了,但HD版还是比较新的。其次,技术可不简单。音频和视频方面必须处理的比特流相当巨大。第三,因为技术新,发展快,因此还没有转向ASIC,从电路板的照片中可以看出用到了大量的处理器
[焦点新闻]
FIFO实现高速模数转换器与TMS320C6000系列DSP的接口
在数字信号处理系统中,大多数高速模数转换器都不能直接与DSP相连接。FIFO恰好架起了DSP与ADC之间的一座桥梁,因为它能缓存大量的数据块。同时由于DSP访问外部存储器器件必须通过外部存储器接口External Memory InterfaceEMIF 而C6000系列DSP的EMIF具有很强的接口能力。它不仅具有很高的数据吞吐率(最高1200MB/s),而且可以与目前几乎所有类型的存储器直接接口。本文介绍了用FIFO 在DSPs和模拟前端(AFEs)之间进行数据缓存的实现方法。 1 AD9042高速模数转换器   AD9042是一款低功率12bit的41MSPS模数转换器。它的快速、高分辨率特点使其非常适合于视
[嵌入式]
MSP430的低功耗探讨
一、五种低功耗模式,层层递进。主要通过关闭时钟系统中的部件来实现。用LPM0到LPM4的宏定义来调用。 二、严格上讲AGND和DGND称之为“模拟地”和“数字地”是不科学的。模拟地:对地电位敏感的地线。数字地:对地电位不敏感的地线。 三、大电流,强干扰的地线可细分为“功率地”,单独对待,如LED数码管的GND单独拉一地线回到电源。数码管的大电流对电路的其他部分都不影响。 四、数据发送可以用FIFO来解决高速设备和低速设备之间的连接问题。高速运行的CPU就像一个粗水管,串口就像一个细水管。FIFO就像一个漏斗。CPU从头指针(写指针)来写入数据;串口从未指针(读指针);实现随时写入,不阻塞CPU运行的目的。在单片机中用指
[单片机]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved