EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 alexwang 于 2018-7-3 11:14 编辑 4 I' P7 W2 T: a- N3 D9 F) b. t
6 b$ w, W( q, S3 j8 M
+ Y9 k O( m$ K
前言 PCI-E总线是个复杂的总线,也是很多计算机类高速总线的基础,具体的测试可能涉及到从信号质量层面到协议层面的验证。下面根据笔者的经验,对一些PCI-E测试中经常出现的问题做一下列举和总结。
4 _0 {/ v" I! Z& |7 O; V+ `. D* k
0 F: ]' U: \$ R6 O. _7 b3 u6 v# Y& S
& H: C2 b' j& ?/ `# \, v
8 X8 \5 w0 Q6 T9 J0 kQuestion 我的被测件不是标准的PCI-E插槽的金手指的接口,怎么进行PCI-E的测试? Answer 如果是标准的PCI-E插槽的金手指的接口,可以连接PCI-E协议提供的标准的PCI-E夹具进行测试,信号要求按照PCI-E的CEM规范;如果不是标准的PCI-E插槽接口,用点测或焊接探头在信号的发送或接收端进行测试,信号要求可以参考PCI-E的BASE规范。
! p. B& W2 e4 h3 n: f4 L
- |( |; \/ i3 Q; y4 U& ^$ u8 D: o
- p }8 P3 k) @, \Question PCI-E的信号测试中是否一定要使用一致性测试码型? Answer 建议使用一致性测试码型进行信号的测试,这样可以保证测试方法和测试结果的一致性。如果被测件实在发送不出一致性测试码型,也可以用真实的通信中的码型进行测试,但测试出来的幅度、抖动等结果可能和使用一致性测试码型时有细微差异。 + i1 I* c) T7 D; r& g+ P+ g
" ~; R3 a3 T- d" y: u7 I o9 q. V/ _# O4 [+ \& m8 {( y
Question 我的被测件发不出标准的PCI-E的一致性测试码型,为什么? Answer 按照PCI-E规范中有关于LTSSM(LinkTraining and Status State Machine)的定义。PCI-E芯片内部的状态机在检测到对端的匹配电阻存在(差分线的正负端各有50Ω的对地电阻)后,就应该进入Polling状态,在发出Polling 码型一段时间(大约几百ns)后如果收不到对端的回应就要自动进入Polling.Compliance模式,在这种模式下被测件会有一致性测试码型发出。如果没有一致性测试码型发出,可能是没有给被测通道提供正确的匹配,可能是被测件的BIOS的状态机有问题,也可能是被测件的接收端收到了对端的回应而进入了后续的Configuration状态。
: [, @, G- _. d9 o+ h. C% I& ]4 ~, c. j3 Y4 t# Z) f
+ A, i* ~1 p5 x
Question 在PCI-E的信号质量测试中需要捕获多少的数据进行分析? Answer 按照规范要求,需要捕获至少1M个数据比特进行信号分析。 3 P4 u5 z( ]6 A# j
6 C; x: g+ _: O4 \" p1 o/ K
/ c' a; A+ v" ?; N+ u2 ^/ q8 cQuestion 如果我的被测件不是标准的PCI-E插槽接口,如何进行PCI-E的协议分析? Answer 如果被测件是标准的PCI-E插槽接口,可以把协议分析仪的Interposer探头插在主板和插卡间引出信号至协议分析仪;如果不是标准的PCI-E插槽接口,可以用飞线探头焊接在连接器或隔直电容上测试,不过如果要测试的线对数量很多,焊接会比较麻烦,所以建议在PCB板上预留Midbus的探头接口(信号事先引出到两排按一定间距排列和定义的焊盘上)。 . F8 w- R0 t% Z; a' {, a
; R7 L. P2 u; r" P: @Question 使用PCI-E协议分析仪能不能直接告诉我总线上的协议错误? Answer 这取决于具体要分析的错误。PCI-E协议分析仪只是把总线上的数据捕获下来并解包分析,对于一些明显的错误,比如校验错误、帧格式错误等,协议分析仪可以在显示或者统计分析时进行着重显示。但是对于一些更深层次的错误,协议分析仪并不能直接给出pass或fail的结果,而是需要用户对捕获和解码后的数据包的交互过程进行分析,从而判断是否有问题。因此PCI-E的协议分析仪主要用在芯片的BIOS开发等调试阶段。协议的一致性测试需要使用专门的PTC。
6 V' S3 ^; Z% d6 v0 |! f. ]+ j3 P, L1 v9 ~# n9 `
5 |1 E5 _. p. A |