EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 alexwang 于 2018-7-3 11:14 编辑
1 A$ d2 v5 v# q* h7 g
5 y% }% T& W+ h6 ^' O% X; c) u5 O+ Y7 e7 u
前言 PCI-E总线是个复杂的总线,也是很多计算机类高速总线的基础,具体的测试可能涉及到从信号质量层面到协议层面的验证。下面根据笔者的经验,对一些PCI-E测试中经常出现的问题做一下列举和总结。
) u! T# w0 Z/ o' O$ i) t: |2 L2 q n/ N; s
' _/ n7 A8 i$ Z6 w7 O6 l$ K6 {/ D
) {4 s8 e7 N8 V: e* h
( Z1 w7 c, e* G5 A
Question 我的被测件不是标准的PCI-E插槽的金手指的接口,怎么进行PCI-E的测试? Answer 如果是标准的PCI-E插槽的金手指的接口,可以连接PCI-E协议提供的标准的PCI-E夹具进行测试,信号要求按照PCI-E的CEM规范;如果不是标准的PCI-E插槽接口,用点测或焊接探头在信号的发送或接收端进行测试,信号要求可以参考PCI-E的BASE规范。
' B: p: w) N4 |7 b8 y' K/ u+ H8 O& T! X0 g% [
0 G+ |! k- } ^+ `) a" `0 LQuestion PCI-E的信号测试中是否一定要使用一致性测试码型? Answer 建议使用一致性测试码型进行信号的测试,这样可以保证测试方法和测试结果的一致性。如果被测件实在发送不出一致性测试码型,也可以用真实的通信中的码型进行测试,但测试出来的幅度、抖动等结果可能和使用一致性测试码型时有细微差异。
6 J3 L# }; U. w! x5 ^6 y1 J9 x% \% A/ I* p3 c
2 ^8 Q& [; ~+ l; Y7 N- \0 k
Question 我的被测件发不出标准的PCI-E的一致性测试码型,为什么? Answer 按照PCI-E规范中有关于LTSSM(LinkTraining and Status State Machine)的定义。PCI-E芯片内部的状态机在检测到对端的匹配电阻存在(差分线的正负端各有50Ω的对地电阻)后,就应该进入Polling状态,在发出Polling 码型一段时间(大约几百ns)后如果收不到对端的回应就要自动进入Polling.Compliance模式,在这种模式下被测件会有一致性测试码型发出。如果没有一致性测试码型发出,可能是没有给被测通道提供正确的匹配,可能是被测件的BIOS的状态机有问题,也可能是被测件的接收端收到了对端的回应而进入了后续的Configuration状态。 ) d3 k% a0 c# E, x, ~0 ^9 w2 J
2 }2 P* W$ a+ n8 F0 }2 l0 }/ Y: W# c! t& r& ?% L
Question 在PCI-E的信号质量测试中需要捕获多少的数据进行分析? Answer 按照规范要求,需要捕获至少1M个数据比特进行信号分析。
0 C8 l8 o# k P3 z3 G* {. v3 {+ }- k0 c
: L+ A# w* x, V9 O/ F0 }1 L
Question 如果我的被测件不是标准的PCI-E插槽接口,如何进行PCI-E的协议分析? Answer 如果被测件是标准的PCI-E插槽接口,可以把协议分析仪的Interposer探头插在主板和插卡间引出信号至协议分析仪;如果不是标准的PCI-E插槽接口,可以用飞线探头焊接在连接器或隔直电容上测试,不过如果要测试的线对数量很多,焊接会比较麻烦,所以建议在PCB板上预留Midbus的探头接口(信号事先引出到两排按一定间距排列和定义的焊盘上)。
9 j7 I3 Q9 q4 l2 u# X/ T( L% l/ f' g# x! t. a
Question 使用PCI-E协议分析仪能不能直接告诉我总线上的协议错误? Answer 这取决于具体要分析的错误。PCI-E协议分析仪只是把总线上的数据捕获下来并解包分析,对于一些明显的错误,比如校验错误、帧格式错误等,协议分析仪可以在显示或者统计分析时进行着重显示。但是对于一些更深层次的错误,协议分析仪并不能直接给出pass或fail的结果,而是需要用户对捕获和解码后的数据包的交互过程进行分析,从而判断是否有问题。因此PCI-E的协议分析仪主要用在芯片的BIOS开发等调试阶段。协议的一致性测试需要使用专门的PTC。 / f; \! W7 n! p) x8 x" R6 W2 M
. C$ c k7 `7 s- h# M
7 P5 E$ I$ j7 R, V |