RZ/T2H
本文阐述了RZ/T2H的PCIe外设作为EP,在Windows上做驱动开发、速率测试时,可能会遇到无法被Windows识别的问题。本文总结了一些调试方法和技巧,来排查问题原因和解决方法。
如下图所示,RZ/T2H有着丰富的外设资源。
如红色方框部分,RZ/T2H有两路第三代PCIe接口,可以支持到最高8.0 GT/s的传输速率。物理连接可以是x1,x2的方式,并且2路接口可以独立作为RC和EP使用。
在某驱控一体项目中,客户是将其中1路PCIe作为EP,采用X1配置;Windows PC作为RC,通过PCIe实现快速通信。我们在Windows端基于Windows Driver Framework开发了相关驱动程序。
考虑到Windows是非实时性操作系统,所以将所有与PCIe交互的代码放在了驱动层,以提高通信的实时性。经过测试,Windows PC做RC,RZ/T2H做EP,RC读取数据的传输速率是:33 Bytes/us(考虑到Windows是非实时操作系统,达不到8GT/s的传输速率也属正常)。如果T2H EVK 用作RC端,则速率可以达到PCIe3.0的标准。
PCIe3.0的标准是8.0GT/s的传输速率,根据128b/130b的编码规则,其数据有效率为 128/130=98.46%,从而可以得到有效数据速率为8.0×0.9846=7.877Gbit/s≈0.985GB/s per lane,即985 bytes/us。
T2H默认的MPS(Max Payload Size)最大可以配置成4096B。考虑到加入TLP的header(假如3WD,12B,且MPS配置为256B),则其传输有效数据量为(RC连续发 MRd)。
- 每us能传输的完整completion次数为:985/(256+12)≈3.67次
- 对应的有效数据量≈3.67×256≈939B/µs
客户主板设计上通过PCIe金手指与PC主板的PCIe x1接口相接。遇到的问题是:客户主板烧录程序,连接到PC,无法被PC识别。
由于没有高速示波器来分析PCIe总线上的异常,我们只能从以下几个角度来分析。
1 检查电源是否合理。
依次检查了5V,3.3V,1.8V,0.8V,均正常。
2 由于只有500M的示波器,只能抓启动的波形。通过RZ/T2H EVK的波形与客户板子的波形作对比。
我们通过PCIe的启动过程了解到,在链路还没有训练(LTSSM还没进入L0正常工作状态)时,允许设备通知对方自己的存在。这种通知被定义为Beacon,它是一种低速、低频的物理信号,并不是 PCIe 8b/10b或128b/130b编码的数据流。
鉴于此,我们采用500M的示波器,将TX+(B14),TX-(B15)通过PCIe的延长线接头处,引到示波器上。C1为TX+,C2为TX-。
从图五和图六可以看到:
RZ/T2H EVK的Beacon持续时间是370ms,TX+和TX-的幅值在400mV左右,且非常对称。
客户RZ/T2H主板的Beacon持续时间是3.5s,猜想该Beacon持续时间太久的原因是一直没有得到EP的应答。且TX+的幅值在400mV左右,而TX-的幅值不到100mV,不对称。
TX+/TX-是从RC端发起的信号,为何在金手指端的波形发生不对称现象?于是我们再仔细核对了客户的PCB,发现客户的第6,7层没有铺地。
由于客户的电路与EVK有局部的不同,为了防止我们判断错误,将RZ/T2H EVK修改成和客户板相同的配置(电阻值以及对应信号悬空等),开发板都能正常启动PCIe,所以基本可以认为是PCB铺地原因导致的差分信号不均衡,从而RZ/T2H作为EP时没有正确收到PC的握手信号,而不响应RC,所以没有下一步动作。
经过客户重新布板,该主板可以进行正常的PCIe通信了。
从这次debug可以看出,PCIe参考地有非常重要的意义。如果PCIe信号线在没有参考地平面的情况下布线,将会导致诸如以下问题:
1 阻抗不连续与严重反射:阻抗在整个走线上剧烈波动,导致信号在每一个阻抗变化点都会发生反射。这会严重劣化信号质量。若地平面断裂/跨分割会导致局部阻抗突变,反射增大,可能引起链路训练失败。
2 信号完整性(SI)问题:
- 眼图塌陷:在接收端看到的眼图会非常“瘦”,甚至完全闭合,眼高和眼宽都不达标。
- 振铃(Ringing)和过冲(Overshoot)/下冲(Undershoot):由于阻抗失配和反射,信号会产生严重的振荡。
- 时序错误:边沿变得缓慢且不确定,建立时间和保持时间无法满足。
3 电磁干扰(EMI)问题:缺少参考平面,信号产生的电磁场无法被有效屏蔽和约束,会向外辐射,导致EMI测试失败,也可能干扰板上的其他电路。
4 系统不稳定与高误码率:最终结果是PCIe链路训练失败、速率协商不上去、或者在运行中出现大量的数据错误(误码率BER飙升),导致系统频繁蓝屏、卡顿、设备无法识别。
对于PCIe 3.0及以上速率,layout要求较为苛刻, PCB设计者需要足够重视,没有完整的参考地平面,项目失败的风险极高,也会为后期带来不必要的debug工作。PCB一定要遵守RZ/T2H的硬件设计指导书。
RZ/T2H完整的软硬件设计规范、参考例程、工具等,请登录以下网址获取更多资料:
https://www.renesas.com/en/products/rz-t2h



全部评论