EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 alexwang 于 2018-7-3 11:14 编辑
1 @6 N2 ^/ F6 e2 J/ S7 d# {, q1 Q' a
+ U- v2 }% s5 F+ ]8 i$ B$ a) t6 K$ e4 T
前言 PCI-E总线是个复杂的总线,也是很多计算机类高速总线的基础,具体的测试可能涉及到从信号质量层面到协议层面的验证。下面根据笔者的经验,对一些PCI-E测试中经常出现的问题做一下列举和总结。
. I0 O* U, J% e' {+ T7 h- Z" K/ {9 p: J
2 q7 k( a. x$ m
) f7 H n E& y( _, q6 T
8 b4 `5 e2 J3 X7 i- ^. L/ U" LQuestion 我的被测件不是标准的PCI-E插槽的金手指的接口,怎么进行PCI-E的测试? Answer 如果是标准的PCI-E插槽的金手指的接口,可以连接PCI-E协议提供的标准的PCI-E夹具进行测试,信号要求按照PCI-E的CEM规范;如果不是标准的PCI-E插槽接口,用点测或焊接探头在信号的发送或接收端进行测试,信号要求可以参考PCI-E的BASE规范。
9 B0 U3 S* y* s0 K4 [ # ^7 k( N! {5 z i1 ]+ i0 X
# n9 x& F3 K0 t4 G$ ZQuestion PCI-E的信号测试中是否一定要使用一致性测试码型? Answer 建议使用一致性测试码型进行信号的测试,这样可以保证测试方法和测试结果的一致性。如果被测件实在发送不出一致性测试码型,也可以用真实的通信中的码型进行测试,但测试出来的幅度、抖动等结果可能和使用一致性测试码型时有细微差异。 2 B& A$ x4 f* Z4 O7 b" m( r
; ~" `! R) I. Q: ^$ B
! [* d& ^4 X! G" Z3 Q
Question 我的被测件发不出标准的PCI-E的一致性测试码型,为什么? Answer 按照PCI-E规范中有关于LTSSM(LinkTraining and Status State Machine)的定义。PCI-E芯片内部的状态机在检测到对端的匹配电阻存在(差分线的正负端各有50Ω的对地电阻)后,就应该进入Polling状态,在发出Polling 码型一段时间(大约几百ns)后如果收不到对端的回应就要自动进入Polling.Compliance模式,在这种模式下被测件会有一致性测试码型发出。如果没有一致性测试码型发出,可能是没有给被测通道提供正确的匹配,可能是被测件的BIOS的状态机有问题,也可能是被测件的接收端收到了对端的回应而进入了后续的Configuration状态。 * ^) v2 I, @0 ~. \
* A& \' E# P# e& `8 ?
1 ^! S0 Z0 Q6 w. [, t$ _& F& D* W bQuestion 在PCI-E的信号质量测试中需要捕获多少的数据进行分析? Answer 按照规范要求,需要捕获至少1M个数据比特进行信号分析。
; I& b5 J: [- Y9 \$ w9 {+ A![]()
' [. R. J2 ?' m& C2 q: |! S1 i: e$ i4 q) J) K1 g1 T! T$ f
Question 如果我的被测件不是标准的PCI-E插槽接口,如何进行PCI-E的协议分析? Answer 如果被测件是标准的PCI-E插槽接口,可以把协议分析仪的Interposer探头插在主板和插卡间引出信号至协议分析仪;如果不是标准的PCI-E插槽接口,可以用飞线探头焊接在连接器或隔直电容上测试,不过如果要测试的线对数量很多,焊接会比较麻烦,所以建议在PCB板上预留Midbus的探头接口(信号事先引出到两排按一定间距排列和定义的焊盘上)。
$ M9 {" r0 ]: d + `) I+ l; D! h9 t8 O
Question 使用PCI-E协议分析仪能不能直接告诉我总线上的协议错误? Answer 这取决于具体要分析的错误。PCI-E协议分析仪只是把总线上的数据捕获下来并解包分析,对于一些明显的错误,比如校验错误、帧格式错误等,协议分析仪可以在显示或者统计分析时进行着重显示。但是对于一些更深层次的错误,协议分析仪并不能直接给出pass或fail的结果,而是需要用户对捕获和解码后的数据包的交互过程进行分析,从而判断是否有问题。因此PCI-E的协议分析仪主要用在芯片的BIOS开发等调试阶段。协议的一致性测试需要使用专门的PTC。 ) g+ H- V2 X* u; j: u. \
0 ^8 }- N0 C- T0 V$ d3 N4 I$ L
7 H$ r) o- F- _9 L9 H4 n: G/ y
|