TI(德州仪器)推出一系列高性能的通用SERDES,满足高带宽、高性能的应用要求,广泛应用在WI系统、接入设备、传送网络、数据通信等通信产品,以及工业控制系统。本文以TLK3132为例,详细介绍了SERDES工作原理和器件特点,并以WI系统中的CPRI应用需求为例,提供TLK3132的设计方法等。
2 TLK3132工作原理
TLK3132是TI推出的一款通用两通道串行器/解串器(SERDES),采用90nm工艺,能满足一些低功耗的应用需求,内部功能模块如图1所示。SERDES Core的发送部分用于实现8位、9位或10位宽字的并串转换,然后通过一根电缆或印刷板(PCB)走线发送出去,而接收部分则将串行数据进行串并转换为8位、9位或10位宽的并行字。
图1 TLK3132内部功能框图
下面详细介绍了6个功能模块及其应用特点:并行接口、串行接口、时钟分布电路、8B/10B编解码电路、PRBS测试以及相关寄存器访问控制接口MDIO。
2.1 并行接口
TLK3132器件每个通道并行收发侧分别包含8位数据位和两位灵活的控制位,支持各种通用的并行接口,如千兆以太网的介质无关接口RGMII、GMII、RTBI、TBI,以及RNBI、NBI、REBI、EBI、TBID和NBID等多种工作模式。对于DDR模式而言,既支持位边沿采样(采样时钟边沿与数据位翻转边沿同步),也可支持位中间采样(采样时钟边沿处于数据位的中间位置);对于SDR模式而言,既支持上升沿采样并行口数据,也支持下降沿采样数据。由于使用同步时钟,在布线时时钟线和数据线必须等长且时钟线尽量不要分叉,此外通过配置不同的数据采样边沿,可以降低系统互连设计的风险,提高系统设计的鲁棒性。
并行接口采用单端的HSTL Class1电平接口,遵循EIA/JESD8-6标准电气指标规格,同时支持1.5V或1.8V的电源电压。为了提高HSTL高速接口的SI性能,TLK3132并行接收侧集成了可寄存器配置的匹配电阻,采用戴维南等效电路匹配方式,等效于加一个匹配电阻到VDDQ/2,同时也可关闭内部的阻抗匹配电路,如图2所示;并行发送侧可通过寄存器配置4种不同的边沿速率。
图2 并行口等效框图
2.2 串行接口
TLK3132支持的串行接口速率从600Mbps到3.75Gbps,不同通道可独立地工作于全速率、半速率以及1/4速率模式。为了补偿高速信号传输的介电损耗和趋肤效应,TLK3132高速串行接口发送端具有强大的去加重能力,共支持15级调节能力(达到10.87dB补偿),同时支持8级的输出摆幅设置(从125mV到1375mV);接收端包含有自适应均衡器,最大补偿能力得到12dB以上,保证高速串行接口的SI性能。在3.072Gbps速率下可支持50inches的FR4传输或30m的电缆传输(特性阻抗50欧姆),解决了高速信号在背板侧或前基板的设计难题。
图3是TLK3132高速串行接口的AC耦合框图,采用CML高速电平接口,发送侧内部集成了50欧姆的匹配电阻。接收端支持DC和AC耦合,若采用直流耦合时,共模电压由发送侧决定,匹配电阻直接上拉到VDDT,若采用交流耦合,为得到最优的共模偏置电压,选择芯片内部0.8VDDT的偏置电压。在实际电路设计中,推荐采用交流耦合方式,容易实现不同接口的电平转换,并可去除共模噪声,避免外界噪声对接收端的影响。
图3 串行接口AC耦合
2.3 8B/10B编解码及通道同步
在串行链路通信中,为了实现信号时钟的恢复,需要避免出现长串0和长串1,同时保持电路上正负电平平衡,能正确地交流耦合避免信号失真,需要传输信号中的0和1数量数目相等,因此业界广泛应用8B/10B编解码方法:实现8B到10B的映射(图4),即一个字节(8bits)用10bits来表示,从中挑选出连续0或者1个数不会超过3个,0和1的个数差不大于2 (最多6个’0’或’1’)。
为了实现信号流中0和1的个数相等,在设计编码时,针对每个原码设计了两个编码,如:十六进制字节0x3B,对应两个编码分别为110110 1001(1的个数多于0)和001001 1001(0的个数多于1),在发送过程中不断统计当前数据流中0和1的个数差,如果0的个数大于1的个数,则发送0X3B字节时取前面一种编码;反之,则取后面一种编码,这样就不断平衡数据流中0和1的个数,保持串行数据中0和1的数量相同。
图 4 8B/10B映射
串行通信中,除了有效数据外,还需要一些控制字符传送某些控制协议。因此,在8B/10编码中,包含下面两种信息:
1)D分组,用于传递有效业务数据;
2)K分组,用于传递控制信息等,如K28.5控制字符10B编码包含0011111010或1100000101(连续5个’1’或’0’,称为Comma,千兆以太网使用的8B/10B编码方案中Comma是唯一的),用于定位串行数据流中每10个bits组的边界,避免数据流出现错误时无法界定每10bit的边界,导致链路中断。
TLK3132内部兼容了IEEE802.3-2005中关于1000BASE-X物理编码子层(PCS)技术(注:不支持自协商功能),如CTC FIFO、8B/10B编解码电路等模块,同时这些模块设计时非常灵活,通过MDIO口进行寄存器设置可以使能或关闭。此外,TLK3132通过检测Comma进行通道同步判断,内部的状态机也是参考1000BASE-X规定的链路同步和链路失步建立机制,因此TLK3132能被广泛应用在WI、数据网络、以太网等不同领域。
2.4 时钟电路
SERDES实现的一个关键技术是时钟的产生和分布,图5是TLK3132芯片内部的时钟架构。时钟配置非常灵活,支持单端或差分参考时钟输入,同时包括多个高频锁相环电路:
1)高速SERDES Core包含了一个高频倍频器(用于产生高速串行数据)和一个基于相位内插的CDR(在接收端用于从串行数据中恢复时钟)。
2)由于串并模块里的高频倍频器环路带宽很大,最大可达30MHz左右。故TLK3132内部集成了一颗基于LC振荡器的抖动滤除锁相环,环路带宽通常设置在几百KHz以内,可以对输入参考时钟进行滤除,降低参考时钟对几百KHz 以上抖动性能的要求,图6是TLK3132发送链路在抖动滤除器打开和关闭下的环路传递函数。此外,抖动滤除器也可对链路恢复的时钟(只可接收CH0通道的恢复时钟RXBCLK(0))进行抖动滤除,提高恢复时钟的信号质量。
3)PLL1、PLL2、PLL3和PLL4作为倍频器,和前级抖动滤除锁相环电路配合,分别产生适合的时钟频率以满足系统各个模块的需求。
图5 内部时钟架构
图6 TLK3132内部锁相环环路带宽
2.5 PRBS测试
TLK3132支持PRBS码的产生和验证,便于系统定位链路故障,提高设备的可维护性。TLK3132内部有两套PRBS测试方法,一个在SERDES Core内部(通过寄存器0x9011/0x9012配置),该测试一般是只针对生产测试,且控制性能受限,在电路设计中一般不用该功能;另一个是SERDES Core外面(图1所示),支持 PRBS测试多项式是,可以通过寄存器配置(0x10)或外部引脚PRBSEN逻辑控制打开或关闭。此外,PRBS验证时可通过GPO[1:0]管脚监控PRBS测试误码情况,也可访问寄存器0x1D读取误码数(当读取该寄存器后,将从新开始误码计数)。
2.6 MDIO接口和寄存器访问
TLK3132内部寄存器访问通过MDIO管理接口实现(遵循IEEE 802.3 Clause 22规格),包括管理数据时钟(MDC)和管理数据输入输出(MDIO)。由于Clause 22直接寻址寄存器空间限制,TLK3132增加了一些扩展寄存器,故支持两种寻址方式:
1)直接寻址:主要包括与物理层相关的链路配置,地址空间分布在0x00~0x1F,PA[0]的高低电平决定对TLK3132的CH0通道或CH1通道进行操作;
2)间接寻址:TLK3132的一些扩展功能访问,如内部时钟配置、I/O性能配置等。地址空间分布在0x9000~0x9900,不同通道的功能有独立的寄存器进行配置。通过间接地址访问寄存器,需要先把寄存器地址写到0x1E地址,然后把相应的控制字写到0x1F地址或从0x1F地址读取相应的寄存器值。