技术 | 从小白到精通调试瑞萨RZ/T2H PCIe通信

来源: 瑞萨嵌入式小百科 作者:Simon Song 2025-11-18 09:48:19

RZ/T2H

本文阐述了RZ/T2H的PCIe外设作为EP,在Windows上做驱动开发、速率测试时,可能会遇到无法被Windows识别的问题。本文总结了一些调试方法和技巧,来排查问题原因和解决方法。

  
如下图所示,RZ/T2H有着丰富的外设资源。

图1: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
     
图2:RZ/T2H驱动程序
图3:Windows端测量PCIe读写速率的消息序列图

客户主板设计上通过PCIe金手指与PC主板的PCIe x1接口相接。遇到的问题是:客户主板烧录程序,连接到PC,无法被PC识别。

 

由于没有高速示波器来分析PCIe总线上的异常,我们只能从以下几个角度来分析。

 

1 检查电源是否合理。

依次检查了5V,3.3V,1.8V,0.8V,均正常。

 

2 由于只有500M的示波器,只能抓启动的波形。通过RZ/T2H EVK的波形与客户板子的波形作对比。

图4:加PCIe延长线,便于抓取必要波形

我们通过PCIe的启动过程了解到,在链路还没有训练(LTSSM还没进入L0正常工作状态)时,允许设备通知对方自己的存在。这种通知被定义为Beacon,它是一种低速、低频的物理信号,并不是 PCIe 8b/10b或128b/130b编码的数据流。

  
鉴于此,我们采用500M的示波器,将TX+(B14),TX-(B15)通过PCIe的延长线接头处,引到示波器上。C1为TX+,C2为TX-。

图5:RZ/T2H EVK Beacon
图6:客户RZ/T2H主板Beacon

从图五和图六可以看到:

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

专题

查看更多
IC品牌故事

IC 品牌故事 | 三次易主,安世半导体的跨国迁徙

IC 品牌故事 | 开放合作+特色深耕,华虹的突围之路

IC 品牌故事 | Wolfspeed:从LED到SiC,被中国厂商围追堵截的巨头

人形机器人

市场 | 全球首家机器人6S店在深圳龙岗开业

方案 | Allegro解决方案助力机器人应用提升效率、可靠性和创新

方案 | 爱仕特SiC三电平方案:突破工商储能PCS高效极限

毫米波雷达

毫米波雷达 | 智能驾驶不可或缺的4D毫米波雷达技术全解析

毫米波雷达 | 有哪些热门毫米波雷达芯片和解决方案?

毫米波雷达 | 超百亿美元的毫米波雷达都用在了哪里?

0
收藏
0