- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
PCI EXPRESS兼容性测试简述
2006年10月,100多名工程师来到地处台北闹市区的Westin酒店。他们不是为新游戏机的发布,而是为了一件最终对于游戏体验来说更重要的事情。他们齐聚一堂是为了参加PCI SIG第52次兼容性测试大会(见图3)亚太区第16次会议。大会刚开始的一整天用来培训最新发布的PCI Express规范,随后的四天进行兼容性测试。与会人员相互对照地测试产品和器件并分享多方面的PCI Express知识。这不仅仅是一个星期的测试,对于许多公司来说这是在大会召开几个月前就开始的兼容性测试过程的高潮。被认为通过测试的产品就有资格加入拥有200多位其它成员的PCI SIG产品集成商名单。这个名单是一个符合PCI规范兼容标准的部件目录。
像2006年10月举行的这样的兼容性测试大会在PCI SIG一致性和互操作性测试过程中只是最后的几步。对于互操作性产品的制造来说,有一个可靠的规范是第一需求。过去15年中许多市场广泛采用的PCI SIG互连规范是这些规范可靠性的最好佐证。尽管是由PCI SIG工作组成员产生并直接符合互连规范,测试规范仍不是那么显而易见。这是由于测试规范要服从于测试定义,该测试定义是确认某部件符合互连规范的过程的第一步。测试规范确定了,一系列硬件和软件工具就被创造出来以在真实环境中应用这些测试。这些工具针对成员开发的系统、插卡和芯片做了试运行,对其正确性做了仔细检查。最终,测试工具被认可正式用来决定产品兼容性,并成为后续兼容性测试工作的一部分。
在兼容性测试大会上对PCI Express有多达4个不同的重要方面需要进行测试。PCI SIG成员可以用三种不同的系列专用硬件电路板(见图1)和多款软件工具来验证他们产品的这些方面。
图1:从左至右分别是:确认PCI Express产品所需的兼容性测试基板(CBB),兼容性测试负载板(CLB)和协议测试卡(PTC)。
物理层:要对所有部件的物理层进行测试--电气信号位于PCI Express的中心。对于主板,用兼容性测试负载板(CLB)来连接示波器和任意不同宽度的PCI Express插槽。对于插卡,用兼容性测试基板 (CBB)来提供相应的连接。利用PCI SIG提供的软件对示波器捕获到的数据的眼图、抖动和部件比特率进行分析(见图2)。这些测试用于验证PCI Express部件具有互操作性所需的正确的发送眼图和信号幅度。
图2:SIGTEST软件在分析一个PCI Express部件。
链路和事务层:部件在包级别也要进行测试,注入各种各样的错误并分析其反应。各种协议细节和边界条件如保留字段、坏CRC、复制包等类似情况都要检查。图1所示协议测试卡(PTC)及其相关软件为主板和插卡提供这项功能。
配置空间:每个PCI Express都有特殊的地址空间专门用于配置和控制机制。PCI Express配置测试软件工具用于分析和测试每个PCI Express部件的这些方面。要检查特殊寄存器特性,并作为任意实现的可选功能(如高级错误报告,设备序号等)。检查每个部件以保证其支持所需的PCI电源管理功能。
平台BIOS测试:PCI Express主板要经过不止一组的测试,以验证其系统BIOS对PCI Express部件做了正确配置和设置。这里再次用到PTC及其软件,比起物理插入测试系统来说,该方法能模拟更为复杂的PCI Express设备等级。作为PCI Express开关的配置和设置,需要测试存储器和I/O地址空间分配。
在将产品带到兼容性测试大会前,所有上述的规范、程序和工具都可以提供给PCI SIG成员在其自己的实验室内使用。实际的兼容性测试大会的某一方面要在别处进行复制是非常困难和昂贵的--比如PCI产品和其它成员产品的互操作性测试。例如,2006年10月在台北举行的兼容性测试大会上,有16个不同系统和90种不同插卡参加兼容性测试!此外,PCI SIG还提供了一批“金牌”系统,这些系统已经被确定为完全兼容,并为插卡测试提供已确定良好的平台。
通常,兼容性测试大会上的测试是以系统为中心的--典型的方式是在宾馆的一个套房里设置一个系统,插卡轮流插入其中。预登记是这项活动必不可少的一步,这样PCI SIG可以制作一个时间表来计划相互测试的插卡和系统的最大数量。这项任务看上去很艰巨,PCI SIG已经在兼容性测试大会上运行了多于24个系统而仍能容纳所有需要的测试。没有这种测试结构,就不可能有这样的测试能力。PCI SIG“金牌”系统和插卡也加入到该时间表中,因此,能保证每个插卡和每个所需的“金牌”系统进行测试,并且保证每个系统都能和每个所需的“金牌”插卡进行测试。
当一个插卡来到系统套房进行互操作性测试时,装上卡,系统被导入Windows或Linux环境。参与测试的人员验证该卡获得检测和配置,并展示该卡的功能。这项功能性测试对每一类卡都是特定的,但是通常会包括一些基本的操作如文件拷贝、网络连接或厂商特定的例行诊断。每个系统和插卡都有一张测试单,上面有所有参与测试者的签字,并表明他们参与的每个测试的通过/未通过状态。活动结束时,PCI SIG分析该测试单来确定哪些产品有资格进入产品集成商名单。
兼容性测试大会另一个在实验室内部不可复制的方面是与其它公司的同事进行联网交流的机会。保密性当然是大家都关注的问题,会有适当的方法来确保未经授权的个人不会在测试期间出现。另外,所有与会者都受到PCI SIG保密性条约的约束。尽管会有一些未发布的原型进行测试,而且在同一幢大楼中有各种不同的竞争对手,但这些活动的环境是相当友好和积极的。从其它竞争对手公司寻找工程师来相互帮助的场面并不难见到。在这些场合中当互操作性测试失败时,参与者能够而且愿意附加额外的时间共同工作来确定失败的根本原因。
会员们可以期待在亚洲举办的下一次PCI SIG兼容性测试大会,预计大会将于2007年10月在台北召开。早一些的测试是计划于6月4日至8日和8月6日至10日在美国加州Milpitas市举行的美国兼容性测试大会。10月份将在东京和台北举行2007年APAC开发人员巡回研讨会,届时将会对PCI Express 2.0和其它PCI SIG规范作进一步的培训。要想早一点接受培训,请参加5月21至22日在加州圣何塞市举办的美国开发人员研讨会。
作者:Richard Solomon
副总裁
PCI-SIG