TA的每日心情 | 开心 2025-11-21 15:15 |
|---|
签到天数: 28 天 [LV.4]偶尔看看III
|
Nick.song 发表于 2018-7-19 10:471 G" k3 d1 ~+ g9 n
請問"通过工具强制让PCIe链路重新训练(retrain)"這段敘述是透過什麼工具?
" K, N: M4 a) f \1 E% e8 h- F以及Downstream的Device是什麼 ...
: E$ c! N0 _& K9 W3 x6 r! f) F谢谢你的回答,以下是你提到的补充信息:6 q8 {- {1 p4 U1 o( h, w# Y
6 O, V! E9 v6 _
1、用类似于PCIScope的工具,PCIe switch有一个“Retrain Link”的寄存器位,这个位默认是0,强制改成1让链路重新训练;
) L8 x' K, q3 s# r% l# g4 Y/ W2、Downstream的PCIe device,是M.2接口的SSD,PCIe带宽是x4的;" d" V8 a$ \* L, }
3、给到PEX8724和4个PCIe device插槽的是同一个source,都是从同一个Clock buffer出来的;; E) H$ ~% ?2 Y% F8 E( f, a" |
4、Reset信号不是同一个source,以下是Reset信号以及PCIe信号的连接示意,Reset信号算是同源吧,因为FPGA接收到Reset信号后会立刻给PEX8724以及4个Device信号输出reset;
$ {! J! l2 d" x( [
% `# c8 R6 L5 p8 D3 b如果怀疑reset信号的话,有2点说不通吧:
! m+ Q9 G7 y0 n1 v) T, z- I" ?4.1、CPU和PEX8724之间每次都能正常工作到Gen3的,无论是开机还是重启,无需retrain,为何PEX8724和down device之间都需要retrain呢?
* T- s3 `5 A& g/ _4.2、把强制retrain的操作通过driver(驱动)装到系统上,开机之后强制retrain,都能工作到Gen3,但是如果此时将系统重启(重启时系统不会掉电,包括FPGA,此时FPGA将reset in直连到out、o1、o2、o3、o4管脚的),重启之后,PEX8724与down device之间又掉到Gen1了,为什么呢?
7 r# L3 Q, L. A6 n, _( H3 h
4 u) B% P& s! Y
0 x0 j& j+ ~% R$ ?1 O p0 G
5 W) s! v |) q+ b |
|