用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

基于RocketI/O模块的高速工I/O设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:30:32
8B/10B编码集合中包括数据字串部分和控制字串部分[1]。数据字串包括256个可能的数值,其中包括可作为控制字串(K23.7、K28.0~K28.7、K27.7、K29.7、K30.7)的码字。当传送字串作为控制字时,由Rocket I/O模块相应的控制字标志输入引脚(如TX_CHARISK)指定该字为控制字串。

2.4 通道绑定

通道绑定是指将多个串行通道组合在一起构成一个并行通道,以此来提高收发的数据吞吐率。由于每个通道在收发器互连、时钟再生和数据接收延迟上各不相同,会使接收到的数据产生“错位”的情况(如图3所示), 因此要在发送端数据流中加入一个特殊的序列——通道绑定序列,如图中的“P”字符。每个绑定通道都设定“P”字符为通道绑定序列,在接收端指定一个通道为主通道,其余通道都依据主通道的CHBONDO有效指示进入绑定状态,进而锁定本通道在Elastic Buffer中接收到通道绑定序列的位置。由Elastic Buffer向内部逻辑电路输出数据时,所有经过绑定的通道都以绑定序列指定的Elastic Buffer中的偏移位置进行对齐输出。通道绑定完成后,为了使绑定维持在稳定状态,各通道收发器也要以主通道收发器为基准进行时钟修正操作。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    Rocket I/O模块通道绑定互连的一种参考方案如图4所示。FPGA布线原则是使绑定指示信号在模块间传输的延迟尽量小,尽量使两个互连模块间的连线不要穿越整个芯片。在FPGA布线时要对绑定指示互连线设置严格的时延约束参数[1]。

2.5 PCB设计

PCB设计中差分线的线型可选为微波传输线和带状线,它们都有较好的性能。微波传输线一般有更高的差分阻抗,不需要额外的过孔;而带状线在信号间提供了更好的屏蔽。PCB差分线模型如图5所示。在通常的铜介质、环氧—玻璃纤维基材(FR4)条件下,布线要求为:(1)差分线对内两条线间的距离应尽量小于两倍线宽,即S<2W;(2)PCB板材厚度应大于差分线对内两条线之间的距离,即B>S;(3)相邻差分对之间的距离应大于两倍的差分线对的距离,即D>2S。

出于对信号线的屏蔽的考虑,设计的线型选用带状线,计算公式[2]为:

javascript:window.open(this.src);" style="cursor:pointer;"/>

当介电常数εr=4.3、T=1mil、W=6mil、S=10mil、B=20mil时,由(1)式得Z0≈54.4Ω≈。由(2)式得差分线阻抗ZDIFF≈100Ω,以适配Rocket I/O模块设定的50Ω差分输入阻抗。PCB布线时应注意以下几点:

(1)差分线对内的长度相互匹配以减少信号扭曲。为使设计传输速率达到2.5Gbaud,在差分线对内部每个走线区间内的实际布线公差应控制在5mil内。

(2)差分线对内两条线之间的距离应尽可能小,以使外部干扰为共模特征。差分线对间的距离应尽可能保持一致,以降低差分阻抗分布的不连续性。

(3)采用电源层作为差分线的信号回路,因为电源平面有最小的传输阻抗,从而减小噪声。

(4)由于每个过孔可带来0.5~1.0dB的损耗,应尽量减少过孔数目。过孔的通孔和焊盘应有尽量小的物理尺寸,并且在通孔穿越的未连接层不加焊盘。差分对内的过孔不仅在数量上要匹配,而且在放置的位置上也要接近,以使阻抗分布尽量一致。

(5)避免导致阻抗不连续的90°走线,而要用圆弧或45°折线来代替。走线时应使向左、向右折角的数量接近,这样可减少信号经差分线传输引起的扭曲。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    在采用图3所示的交流耦合方式时,可以使Rocket I/0适配更多的高速I/O接口标准。设计中要注意耦合电容选用75-500nF的无极性电容,尽量选择体积、ESR和ESL小的贴片封装方式,并且应放置在差分线靠近接收器一侧邻近位置上,同时布线要保证差分线对间不能交错。

3 系统架构

系统架构如图6所示,在两片FPGA间有4个通道共8对直流耦合差分互连线,每个通道可提供双向2.5Gbaud的线路传输速率。通道绑定模块将每片FPGA的4个Rocket I/O模块绑定在一起,在.采用8B/10B编码条件下提供64x125Mbps双向速率。每片的通道绑定模块还提供8x2位的控制接口,指示当前正在发送或接收到的是控制字还是数据。系统的时钟源选用ICS8442差分输出(LVDS)。频率合成器,它可以提供31.25MHz~700MHz的频率合成范围和低的抖动 (RMS period:2.7ps;Cycle-to-cycle:18ps),可满足设计中Rocket I/O模块对参考时钟性能的要求。设计中由ICS8442的两路差分输出驱动器将合成后的时钟送至两片FPGA的差分时钟输人端。四个通道Rocket I/O模块发端采用20%颐加重,以减小信号高频分量因介质损耗而在收端引起的信号畸变,从而改善接收效果。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    图7所示为发送控制状态机,两片FPGA以主、从方式工作,主设备在复位后连续发送用于修正接收锁相环时钟的特定“K”字符,同时从设备判断是否成功接收到“K”字符。如从设备成功接收则表明接收时钟正确恢复,然后从设备发送“K”字符以使主设备的接收时钟同步。主设备判断每个通道是否都进入接收时钟同步状态,若是则开始发送通道绑定序列。从设备确定接收通道绑定完成后,停止向主设备发送“K”字符而改发通道绑定序列,使主设备也完成接收绑定。此时主、从设备都维持在通道绑定状态,并且间歇发送锁相环同步“K”字符以维持接收时钟同步。若此时有一侧进入失同步状态,以上同步、绑定过程将由主设备再次发起。在设计中帧的数据段长度固定为1K(8Byte),数据段结束后为4字节的CRC校验值,如接收CRC错误则将该帧丢弃。任何一方要发送数据帧时便在帧的首尾各插入一个空闲时隙,并在发送完成后继续维持同步状态。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 板级设计仿真

由于Rocket I/O收发器工作在2.5Gbaud的速率下,基于IBIS模型的仿真难以提供足够的精度。为了精确仿真RocketI/O收发器在板级设计中的性能,采用收发器HSPICE模型进行接收效果仿真。仿真中选择测试图样为1428.5’D21A'D215,D21.5’D28.2'D28.2'D 15.1’D15.4’D10.5’D10.5,仿真时长为110ns。图8所示依次为发送端输入、差分输出和接收端差分输入的60~85ns波形图,其中Rocket I/O发送器输入信号Vtx_in的tsetup=66.7ps。

分别对发送端差分输出和接收端差分输入信号进行眼图分析,得到如图9所示的眼图。图中测得发端抖动为0.203UI,接收端抖动为0.227UI,但这只是仿真得到的电路固有抖动,在实际情况下的随机抖动对性能的影响并未在仿真中考虑。由图中可以看出,在发端采用20%预加重后接收端眼图的宽度和张开程度都有所改善,因而可以较好地恢复发送信号。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    由系统的实测效果证明,应用Rocket I/O模块设计通信系统中片间、背板的高速接口,是一种高性能的简化的解决方案。通过采用更加精确的HSPICE模型进行分析,可及早地发现板级设计中的信号完整性问题,降低设计风险。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:30,765.63000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号