关键词:通道位置翻转、错序连接、链路初始化与训练、PCB导孔、阻抗不连续。
导读
PCIe总线可以支持多通道(Lane)的连接,常见的通道数量为x4,x8以及x16,而且链路(Link)两端的设备是依照通道位置依序连接。但在PCB layout设计上,常会受限于芯片以及连接器件的位置,而必须增加PCB导孔(Via),导致讯号质量降低。因此,PCIe规范允许链路两端的设备所使用的通道位置(Lane number)可以错序连接(Out of order),称该功能为通道位置翻转(Lane Reversal)。
PCIe通道位置翻转(Lane Reversal)的定义
PCIe链路两端的设备物理层电路连接,常见的连接方式是依照通道位置(lane number)依序连接,如图1所示。但是,PCB layout设计常会遇到芯片或是连接器的通道位置定义(Pin definition)不对称,有些零件是顺时钟排列,有些零件是逆时钟排列,导致PCIe走线交错的情况发生,如图2所示。因此,PCIe规范【1】允许通道位置可以错序连接(out of order), 如图3所示。当系统设备开机起电,PCIe链路两端的装置会进行链路初始化与训练(Link Initialization & Training),其中有项工作是对通道位置进行匹配,链路两端其中之一的装置会进行通道位置翻转,让装置的通道0连接另一端装置的通道0,装置的通道1连接另一端装置的通道1,后续通道依序配置。需注意,PCIe规范通道位置翻转功能属于可选择的(Optional),意即非PCIe装置的必备功能。
PCIe通道位置翻转技术可以提高PCB的讯号质量
图2所示的PCIe走线交错情况,若不进行通道位置翻转,则必须使用PCB导孔(Via)换层,才能顺利连接。但对于高速讯号而言,导孔产生的寄生电容效应,会导致走线发生阻抗不连续,如图4所示,阻抗从100欧姆掉到接近90欧姆,这会产生讯号反射与衰减。因此,采用通道位置翻转技术,可以降低导孔使用数量,提升讯号质量。
PXIe背板与外设卡的PCIe通道位置对应关系
PXIe背板的外设槽最高支持8个PCIe通道,与外设卡的通道对应关系,常见如图5与图6两种连接方式,市场上普遍的PCIe switch与FPGA皆支持这两种方式。但是若链路两端的通道数量不一致,而且采用通道位置翻转,如图7所示,这样的接连方式并非所有装置都可以支持,应用上需要格外小心。
PXIe背板是否支持PCIe通道位置翻转?
PXIe背板采用PCIe switch扩充通道数量,市场上常见的PCIe switch例如IDT、PLX、Microsemi等厂商,这些厂商全系列的芯片皆支持通道翻转功能,而且是所有通道排列组合的型式皆可支持。如图8所示IDT PES24N3芯片的支持能力【2】,总共有8种信道排列组合的型式。
FPGA是否支持PCIe通道位置翻转?
外设卡常用的FPGA常见如Altera与Xilinx,这两家厂商的芯片普遍支持通道位置翻转功能,如图9所示Altera FPGA Arria V Hard IP通道位置翻转能力,所有通道位置排列组合的型式都可以支持【3】。
Xilinx FPGA Zynq-7000通道翻转能力如图10所示【4】,可以发现并非所有通道位置排列组合型式都可以支持,当链路两端的通道数量不一致而且通道位置翻转情况下,是不支持这样的工作模式。Xilinx Ultra-scale与Ultra-scale+系列芯片也同样有相同的使用限制。
总结
PCIe通道位置翻转技术对于PCB layout设计带来便利性,提升高速讯号的质量。对于外设卡的PCB layout设计工程师而言,需要考虑更加周详,背板可以支持所有通道位置排列组合型式,但无从得知背板PCIe的通道位置。因此,设计时必须同时考虑所有的通道可能排列组合型式,确认FPGA芯片支持的能力是否满足,然后采用适合的接线方式,才能避免开机出现无法识别的窘境。
参考
Copyright © 2016-2024 JYTEK All Rights Reserved.