EDA365电子工程师网

标题: pcie问题咨询 [打印本页]

作者: bluskly    时间: 2018-4-19 14:31
标题: pcie问题咨询
最近做了一个项目,COM-E卡(CPU)下来的PCIE时钟通过SI5344以后给PCIE设备,发现PCIE找不到设备。但是将PCIE时钟直接飞线到PCIE设备,又可以正常找到。请问这个PCIE时钟必须要同频同相么?" [$ t0 k, W3 c  |( @$ }& v
Si5345-44-42-D-DataSheet.pdf (1010.06 KB, 下载次数: 5) " `" c: y! d& J7 i* X" a
Si5345-44-42-D-RM.pdf (2.62 MB, 下载次数: 5) ) C5 V5 B6 w/ ^

作者: 超級狗    时间: 2018-4-19 15:19
# p3 ?7 u& L6 [% @! f$ ~# b& l
你有改變時鐘頻率喔~???5 z+ n1 H* w( }0 r2 U9 y4 ]; v

# Y8 G$ W! i* }另外,批西哀醫PCIe)有規定時鐘的架構,你這是……???
6 `( m$ `5 J, F- ^! I) R3 {
1 @. x1 \  o; V9 \4 ~5 X6 U
1 w- t( W8 I2 ?0 ]7 q0 {
/ ~& t3 M7 ^$ d: h. F; d7 |
作者: bluskly    时间: 2018-4-19 15:28
超級狗 发表于 2018-4-19 15:19
  • 同頻/ U( P( E/ x) G1 g1 T( A: s
    應該跑不掉!
  • 同相

  •   P* @3 ]5 h: n! h5 {5 F  ]1 g诡异的事情是这样:我CPU下来的PCIE时钟进入SI5344,输出两路100M HCSL的PCIE时钟给两个设备。通过换不同的CPU卡,有的CPU卡能找到,有的找不到。
    9 M3 e1 m% Q. ^& Y. n但是通过将PCIE时钟跨过SI5344直接接一个PCIE设备,各种CPU卡都可以找到。+ y0 j3 @1 a( h4 Z/ L
    3 d, r* e" N9 j$ S; m  n* L6 H

    / B6 K- Q  s4 Z) Y% @
    作者: bluskly    时间: 2018-4-19 15:34
    超級狗 发表于 2018-4-19 15:19
  • 同頻
    # O* |8 R% ]# O0 g6 {* T* O* k1 y應該跑不掉!
  • 同相
  • 2 g1 k4 N5 T& V% G- r( Q: B
    我通过Si5344以后,相当于修改了时钟频率么?不太理解这个芯片的架构。
    $ X; g. m% x  O6 K1 L( u; v
    作者: 超級狗    时间: 2018-4-19 15:52
    本帖最后由 超級狗 于 2018-4-19 16:12 编辑 - t0 k) R: Q; A# m5 g( s

    ( v2 \6 X9 l! n" \) i* f7 O3 v你有打開 Si5344Zero Delay Mode 嗎?這個應該有助於縮小相位差Phase Deviation)。+ i1 |1 F' P3 r2 y, c3 `3 L1 W

    & Y' f8 o. T: c" @; N9 h7 y" `3.9.13 Zero Delay Mode
    1 x0 S: J  i$ M7 o. EA zero delay mode is available for applications that require fixed and consistent minimum delay between the selected input and outputs. The zero delay mode is configured by opening the internal feedback loop through software configuration and closing the loop externally as shown in the figure below. This helps to cancel out the internal delay introduced by the dividers, the crosspoint, the input, and the output drivers. Any one of the outputs can be fed back to the FB_IN pins, although using the output driver that achieves the shortest trace length will help to minimize the input-to-output delay. The OUT9 and FB_IN pins are recommended for the external feedback connection. The FB_IN input pins must be terminated and ac-coupled when zero delay mode is used. A differential external feedback path connection is necessary for best performance. Note that the hitless switching feature is not available when zero delay mode is enabled.
    * h. l, S, d$ z2 C- ?  P6 i( v, T! k% v5 N& M

    5 B5 @) F( o2 d, |
    作者: 超級狗    时间: 2018-4-19 16:06
    本帖最后由 超級狗 于 2018-4-20 22:59 编辑
    * b) U7 s9 {: c& m# t7 I
    5 p. a, A2 D- T( LSi5344
    / k7 r) l$ ?% I- j' K# z4 R+ w10-Channel, Any-Frequency, Any-Output Jitter Attenuator/Clock Multiplier' k& }$ F' r5 `  ?

    ( i# Y9 D* q7 l6 n- aSi5344 可以產生任何的頻率,設定要特別小心。
    : w9 X; D1 A) o7 ?4 V
      M* Q, I" d* a6 s1 I" Z如果只是要增加驅動能力,我在想 Si53159 會不會單純些?1 G3 X6 k: ?' u; \

      i, P  o2 m* J$ dSi53159& Z  |/ |5 o$ A
    PCI-EXPRESS Gen 1, Gen 2, Gen 3, and Gen 4 Nine Output Fanout Buffer
    7 F8 O+ p0 s) X/ |$ B+ \6 D8 F, A* I7 C5 p2 A
    這類芯片是 HCSL 差分進差分出,所以是讓你串在 PCIe Clock 上的。- u8 a- E& l: H' D2 m4 t

    " w) a7 u6 M+ Z. U
    - n% c/ k+ j3 B4 Q# @' o" U! v

    Si53159.pdf

    518.43 KB, 下载次数: 0, 下载积分: 威望 -5


    作者: 超級狗    时间: 2018-4-19 16:20
    我比較了二者,簡單來說,Si5344 只是個時鐘產生器Clock Generator)。它只產生你要的頻率,不幫你搞定相位差Phase Deviation)這件事,除非你啟動 Zero Delay Mode。% s$ M; ~) k' H7 D. F- ^" ]; o
      Z7 b( D% {* B1 G% D- r

    作者: 超級狗    时间: 2018-4-19 16:28
    本帖最后由 超級狗 于 2018-4-20 23:00 编辑 . R& r0 _  f. z& d  q
    * N/ K4 W6 d- u' o6 L' f  g( G: W8 b
    有兩路的,會省點錢!. s* d, {5 E" U0 X

    " S& V& h& f& p# Q- E5 \Si531528 {! J% z0 h3 A9 Y

    & \3 n* o  R' N! S8 {

    Si53152.pdf

    489.69 KB, 下载次数: 0, 下载积分: 威望 -5


    作者: ykwym    时间: 2018-4-19 22:36
    disable pll模式
    作者: ykwym    时间: 2018-4-20 09:58
    bluskly 发表于 2018-4-19 15:28, I) m0 a5 o6 k! A$ h
    诡异的事情是这样:我CPU下来的PCIE时钟进入SI5344,输出两路100M HCSL的PCIE时钟给两个设备。通过换不同 ...

    1 G, u) Z8 _8 Y7 \; G这个没什么好奇怪的,每个芯片对时钟的容限是不一样的,标准是300ppm,可是我知道有的芯片只有200ppm, H5 b! W0 E. ^4 U* H! ~; T; F

    作者: zltwin    时间: 2018-4-20 10:22
    学习了
    作者: part99    时间: 2018-4-20 13:25
    二位(布拉斯基+狗)都是高手,我也不用多解释,我觉得连不通跟100MHz ref clk同不同相毛关系也没有,我随便加个100MHz的差分时钟都可以跑起来,PCI-e的TX来自参考时钟,RX来自CDR,也就是对方的100M时钟经过PLL出来的5G信号。5 j. |# N& L, n. w1 Q
    所以,你那问题,八九不离十,肯定是差分时钟信号不好,或者耦合不好,有的设备要AC耦合,有的DC,我一般都用AC,耦合电容一定大于0.1uF,很多时候我会用0.22-0.47uF,你先看看到达设备的时钟信号质量再说吧。
    作者: 超級狗    时间: 2018-4-20 14:08
    part99 发表于 2018-4-20 13:25
    # q, N; A* j0 w& H2 o二位(布拉斯基+狗)都是高手,我也不用多解释,我觉得连不通跟100MHz ref clk同不同相毛关系也没有,我随 ...
    - X; t" ?* q! I; R) A1 j/ Z" T
    我 CPU 下来的 PCIe 时钟进入 Si5344,输出两路 100M HCSL 的 PCIe 时钟给两个设备。
    布拉斯基發現自己惡搞已經躲起來了!
    " r' X4 m5 g6 j! A) I- z& F

    4 }# v5 R! z- j8 s* d7 |  Y7 p1 W: z9 M7 v9 P3 B: |
    ! n3 p" G% x, y3 w- G
    不過你注意他的敘述喔~7 h* F6 R5 l" `1 J

    : A8 w; ]+ Q% R1 PSi5344 進去的不是參考時鐘Reference Clock),而是從 CPU 出來準備餵給裝置Device) 的 HCSL 批西哀醫PCIe)時鐘。
    7 m' \0 B, ^- O6 }& [/ N( u' f, h
    6 x1 ^- l! @# M) D$ [6 D他需要把時鐘餵給兩個裝置Device),所以這樣搞!
    ' Z6 D3 W' n" V& u2 f/ c! \# U  f! |1 G6 {3 u- u' b
    這個可能需要和時鐘源同相吧?而且兩個輸出都要同相。
    " u3 j7 Q( O4 q  J+ C
    & e1 {! B. h0 j4 c/ N# j$ ^但你提到的時鐘品質造成的影響也不無可能啦!4 r1 G! M& _7 R5 T3 }$ @) f
    & v6 [9 i# A4 D1 U$ w8 h$ L

    ( ?9 p. z+ ^. z3 h) |: I  w! Y- N
      U( _" X1 r- @# j
    ( S, {, K' a, F% T5 x. B

    作者: WuJin_eOakJ    时间: 2018-4-20 15:49
    学习了
    作者: bluskly    时间: 2018-4-20 22:37
    超級狗 发表于 2018-4-20 14:084 t7 h* H" X* v5 q1 B
    布拉斯基發現自己惡搞已經躲起來了!; D' y4 C  N9 Y1 _6 `/ Q
    , p: n/ S! P. O0 q# f. F
    这两天都在调试,目前结果看来应该是自己之前认识不够充足。
    5 H9 r% C# u4 P7 M测试了很多COM-E卡,发现有些卡确实通过SI5344以后不能识别PCIE设备,我们项目是一个COM-E卡挂了6个PCIE设备。采用SI5344的目的是因为很多PCIE的从设备还有系统时钟和接口时钟,这些时钟的频率是不相同的。而且很多时钟对于相位抖动有特定的一些要求,采用SI5344是因为其 Ultra-low jitter of 90 fs rms这个要求。而且根据PCIE从设备的时钟要求如下:
    . i, x! n/ {, J& C& R
    8 A- V2 j3 H' ?所以觉得很多晶振和buffer麻烦,而且频率都不一样。于是就用了这个芯片。
    : S* m' l" ^% e0 Y- ]& w为了时钟树的简单,于是就采用了PCIE时钟进入IN0通道,输出一路100M的pcie,在采用SI53301的时钟buffer出多路时钟给6路的PCIE从设备提供PCIE refclk。! q  e7 F  X+ T* @! J' w8 ]7 D; d7 e

    * h7 N( o6 ]! o9 `* z4 z0 f2 t" [5 t关于耦合方式都是按照芯片的匹配方式做的,应该没啥问题。目前看来引起这个问题还是时钟不是同源处理,估计COM-E卡内部也能够配置或者其他的,正在考虑跟COM-E卡的技术支持进行探讨。
      c/ F3 G  V! o8 |3 \
    7 c/ p, k) r; e4 Q2 i出现了这个问题,特地查了一些相关的资料,根据PCIE规范看来,不同源也是可以的,但是对于时钟要求更高。) ?( c# r; O( u: M

    / v+ E  R9 p& U$ y5 G& V一般而言,为了减少麻烦,最好是采用同源时钟来设计。
    ; @+ l" w( A1 \3 ]一般大家推荐也是采用同源时钟来使用。7 D, R. B8 C! M& T4 g) K
    5 C+ h, s1 M7 J' D+ R% {" `# B

    9 u$ m: s1 q; {& A2 b- c! m" U, B) N+ S0 B( j5 f/ p# q/ T8 r6 b8 R
    最后,将自己找到的几个相关的资料发出来,大家以后设计的时候也注意一下。8 \8 j1 E6 S7 F% B) }% I: w
    AN562.pdf (11.37 MB, 下载次数: 0)
    ) f0 a4 \" _* y% X  ~3 | AND9202-D.PDF (179.35 KB, 下载次数: 0)
    % l/ y1 y* B, p IDT_AN843_APN_20140513.pdf (1.81 MB, 下载次数: 0)
    % h  V9 J+ _, R& o/ a  [" U& y. M2 c# w! t

    - q0 u, Y1 J" \) X) S
    作者: 超級狗    时间: 2018-4-20 22:57
    本帖最后由 超級狗 于 2018-4-20 22:58 编辑
    - @+ w  z* M' R) C4 S7 ^& B) X& V2 a9 B9 b' }2 A
    SiliconLabs Clock Buffer Quick Slection Guiide
    1 I$ B3 W5 Y8 L# H2 ~9 i. H) P) @
    , ^0 p, q- ?/ B+ l9 D+ J

    0 k" ^6 Z: p& w/ a6 N5 L2 @
    , _  s( j3 z) M- J

    SiliconLabs Clock Buffer Quick Slection Guide.jpg (209.71 KB, 下载次数: 0)

    SiliconLabs Clock Buffer Quick Slection Guide.jpg

    clock-buffers-quick-reference.pdf

    1.81 MB, 下载次数: 0, 下载积分: 威望 -5


    作者: xiaowenwu1989    时间: 2018-4-23 16:16
    学习了
    作者: tanchengfang    时间: 2018-4-24 10:46
    会不会驱动能力的问题?
    作者: 吉。。。。。    时间: 2018-4-27 14:05
    000
    作者: 吉。。。。。    时间: 2018-5-4 16:09
    000000000000
    作者: ABCDJ    时间: 2018-5-22 20:48
    虽然楼主做了很多验证了,但是从理论分析来看,这个问题可能根本原因还真不是时钟同频同相导致,本身高速接口就有机制搞定两端不同频的问题,多半还是时钟质量导致,抖动的可能性较大。
    作者: bluskly    时间: 2018-5-30 16:00
    ABCDJ 发表于 2018-5-22 20:48
    ) J7 i2 z8 L: x, j9 ~( i* h# T5 {虽然楼主做了很多验证了,但是从理论分析来看,这个问题可能根本原因还真不是时钟同频同相导致,本身高速接 ...

    0 I  A: ]; g. U: R' N, ]你说的 我也怀疑过。并且单独在pcie device端直接给过一个100M的晶振SI9121+SI53306的buffer输出作为refclk。不再使用cpu同步下来的refclk,但是实际情况就是不能够link起来。难道跟pcie device有关系?/ Z' Z0 t0 o9 r) C3 C





    欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2