通常,传输协议的处理都是隶属于上层的逻辑处理。然而,正确的“Probing”也是不可欠缺的工程环节。PCI Express与PCI总线两者本质上大不相同。PCI总线的传输协议是由“信号传送+传输协议”构成,而PCI Express却是“物理层+数据链接层+数据交易层”的组合。由此可见,PCI Express总线协议比较接近通信上的协议方式,也说明PCI Express这样的高速串行总线在传输协议上的测定与评估方式与过去PCI的并行式总线截然不同。
无论是LSI设计者还是机器装置的开发人员,在进行高速串行接口传输协议的分析时,有必要了解一些关键的验证概念与方法。
对于各个协议阶层的动作验证
如前所提及,PCI总线的内涵是信号与传输协议纠结在一起,优点是协议构造本身单纯,缺点是在延伸扩张位幅度情况下,自由度会受到限制。通常,只需要借助于逻辑分析仪(Logic Analyzer)、总线分析工具(Bus Analyzer),逐一检查总线上动作信号的信号电平(Signal level)就可以检查、验证传输协议。
PCI Express的传输协议采用了“物理层+数据链接层+数据交易层”的构造。那么将传输协议切割成分层的概念究竟会带来什么好处呢?最简单的答案就是会带来扩充性、延伸性。未来需要更快的传输速度,这时仅需要针对物理层设计,采用新的传输媒介或是使用新的编码手段,而专门用来处理传输协议的上位逻辑层,根本无须去变动。
PCI Express的逻辑层分别由“数据链接层+数据交易层”组成进行传输协议的处理,而做好各层动作的评估与验证是非常重要的。当然,其他类似的高速总线也具有这样的概念。
依据开发对象协议动作验证项目不同
依据各个处理层的顺序,高速串行总线的协议验证主要项目整理如下:
物理层的逻辑部分
◆符号(Symbol)的编码、解码以及口令转换(Scrambling)
◆传输线路链接(Link)的创建(Training)与初始化
◆有源电源管理(Link State的管理)
数据链接层
◆数据打包的格式
◆ACK/NAK的应答机制
◆打包的错误检测、遗失、重复等
数据交易层
◆访问请求(Request)与完了(Completion)基本动作
◆打包、虚拟通道间的流程控制(Flow Control)
◆消息(Message)的动作,诸如中断、电源管理、Hot Swap等
以上各个项目的评估到验证会随着实际开发的样品而有所差异。举例来说,如果是开发具有PCI Express接口的LSI或IP,协议堆栈(Protocol Stack)内部详细的动作必须要做彻底的验证,这个验证的动作是相当耗费时间与心力的。
另一方面,若是开发的产品属于已经被验证合格的PCI Express接口,则只要做好上层软件协议处理的动作,使其合乎规范即可。
在任何场合都要遵守涵盖PCI-SIG组织所规范的兼容性测试(Compliance Test)准则,此为描述PCI Express接口协议的基本动作。
探测务必要慎重小心
采用评估板来验证PCI Express接口的传输协议与物理层的检验,基本概念是一致的,对于测定对象能够正确取出探测技术(Probing)是根本方法。差异在于物理层的测量,它涉及到模拟信号的波形。而逻辑层面的评估是逻辑信号“1”与“0”的判断。在此种情况下,注意对测定对象的影响要控制在最小范围内。
不能因为探测技术而造成测定对象的信号混乱,因此,为完成高速接口的信号测定,必须寻求合乎规范又精确的探测技术。
高速串行总线用来验证传输协议的探测工具(Probe)大致有以下几类:
第一类,称为“开槽插入式——Slot Interposer”(Passive)无源式与有源式(Active)两种类型。开槽插入式探测技术是对高速激活的微处理器的输入/出总线作信号动作验证时所生成的测试技术。当电脑主板上安装标准连接器时,扩充接口板与连接器间就可以引入开槽插入式探测方式。对于无源场合是将差动信号配线以分岔形式取出。为了使探测端不会因为“线脚─Stub”效应引起信号混乱,在分岔部分的附近会安装有绝缘阻抗。线脚效应会导致特性阻抗的变化而生成信号反射现象,这种结果很可能使得测定对象的原来波形产生变化。
而有源形式无论是外型或功能都复杂许多。它们不仅具有分析仪(Analyzer),有些还可以输入来自信号发生器(Protocol Exerciser)的信号,安装了4×4矩阵式开关切换与缓冲器,可以对应差动信号通道(Lane)信号传送方向的各种测定条件。
第二类,特别称为“中途总线─Mid Bus Probe”(图2)。
第三类,即是“引线导向型─Lead Probe”。如果电路板的安装密度相当高而又没有连接器,即使空间狭窄,也可以完成探测任务。
物理层测定中无源或是有源探测工具的选择极为重要。一般来说,为了确保电阻阻抗负荷与电容量负荷的平衡,都会采用有源的方式。但是,从逻辑信号电平测定的角度来看,使用有源或无源探测工具的差异并不大。因此,选择探测工具时,从尺寸大小、散热对策与使用安装的容易程度等方面考虑更为实际。
综合以上探讨不难得知,在不具备标准连接器的情况下,测定方法的选择不外乎中途总线和引线导向型两种探测技术。
英特尔公司已公开中途总线的设计准则,并确立了标准的探测手法。当设计嵌入式机器或是芯片间的接续,又没有安装标准的PCI Express连接器时,中途总线探测方式就显得非常有用。使用的方法就是在设计阶段在电路配线基板上事先接入连接座的器件作为探测点(Probe Point),方便探测器的插入。为了使探测点对差动信号的影响程度最低,当没有连接探棒的时候,设定负荷约0.2pF。连接上探棒时,最大负荷所引起的信号损失估计为1.5dB,信号抖动为10pS。实际探测工具(Probe)的形状与负荷数值,要查阅仪器厂家所公开的设计向导(PCI Express Logic Analyzer Probing Design Guide)。
如果通过阻尼(Damping)连接直接测量配线基板上的差动信号,就必须采用引线导向型探测技术,用宽带域示波器来测量信号波形。此时配线基板上就无须配置任何连接器了。
适当选用测试装置
就PCI Express总线的场合来说,用来验证接口协议的测试装置主要有4种:
◆使用通用型逻辑分析仪分析协议的装置(图3)可应用于硬件开发。逻辑分析仪一向是数字电路与接口总线分析的常用工具,但面对复杂的高速串行总线时,触发(Trigger)的设置相当繁琐,通常的对策是追加专用的打包辨识前端(Frontend)。
◆针对PCI Express专用的协议分析仪装置用于软件开发。此种装置的最大好处就是具备优秀的触发功能,可以处理复杂的传输协议。同时,由于PCI Express的数据链接幅度有x1、x2、x4、x8、x16、x32等多种变化,专用型的协议分析仪装置使用弹性较佳。
◆Protocol Exerciser(图4),能够仿真装置传送、接收打包,验证具备PCI Express接口的LSI或系统,也可以作为负载试验用。Protocol Exerciser的使用型态非常有弹性,一是可以连接到开发装置,插入错误打包或各式各样的边界值进行传输试验;二是仿真开发中的装置来验证上层的传输协议,BIOS、装置驱动程序的除错(Debug)也可以完成;三是可以针对利用PCI Express的系统作为其负载试验。比如未来的服务器,其系统状态必须满足多样负荷条件,虚拟通道的负荷、传输信号质量QoS的确立都是重要的(图5)。通常,Protocol Exerciser的内部会拥有配置空间(Configuration),在这个范围内可以自由地设置机能。
◆Protocol Test Card,通称为“PTC卡”(图6)。此工具是Intel与Agilent共同开发的,完全是针对兼容性测试(Compliance Test)目的而开发的专用装置。“数据链接层”、“数据交易层”与“系统配置”的检验就要借助于这块PTC卡。传输协议的验证可以涉及主板的检验、扩充接口板的检验与开关装置(Switch)的检验等。
仔细来看PTC卡上的器件构成,可以看到负载有FPGA、EEPROM闪存、SRAM内存以及USB接口。采用FPGA器件的最大理由是当规格变更时,对应的更改比较容易,其中的USB接口就是用做测试的追踪与控制。
PTC卡是针对传输协议的检验而设计的工具,固定采用x1的连接器。PTC卡本身仅能够判断检验的合格与不合格。因此,在电路板的两端分别配置了中途总线的接续点,用来详细测量传输协议的动作。系统配置的检验,就是要确定BIOS是否能够就所有连接的PCI Express装置正常地辨识,也就是检验“Enumeration”是否能够顺利完成(图7)。
总之,依据装置对象、配合检验的项目来选择最合适的测试装置,一定可以减少工程师的重担并缩短开发时间。目前,市场上已经可以找到针对PCI Express协议做测试验证的完整解决方案(图8)。同时,各家仪器厂商也都会提供LAI(Logic Analyzer Interface)的设计指导文献,主要针对中途总线的接续点做清楚的说明。 作者:陈乃塘
|