|
【摘要】
% M, g: G# P% T; S0 R& A本案例描述了一個由于CPU和PHY之間RGMII時序不滿要求導(dǎo)致通信異常問題,最后通過電感材料(磁珠)對信號相位的移位特性來改變信號延時,從而解決RGMII信號延時不夠的案例,實驗結(jié)果通過。6 z2 k# u! T9 k
4hbawb3xtzb64024236305.jpg (295.53 KB, 下載次數(shù): 0)
下載附件
保存到相冊
4hbawb3xtzb64024236305.jpg
2024-9-11 17:44 上傳
0 w# R; |' ?' {6 M一、問題描述
& m# [ k. A( X+ ^- Z& F/ G5 Q某單板上某物理層芯片和CPU之間的接口,采用的是RGMII方式。在該單板調(diào)試過程中,發(fā)現(xiàn)物理層芯片發(fā)送給CPU的方向,數(shù)據(jù)一直不通。測量芯片輸出的RGMII信號發(fā)現(xiàn),芯片已經(jīng)有發(fā)出時鐘和數(shù)據(jù)信號,但是CPU接收端無法識別,在CPU的RGMII接收寄存器中,接收到的數(shù)據(jù)個數(shù)一個為0 。
8 M0 F* x( V! C. N經(jīng)實測信號分析,由于時序不滿足要求,沒法達(dá)到接收端建立時間要求導(dǎo)致該問題。如下對該問題進(jìn)行分析和解決。
3 Z$ F1 U3 z8 }3 k: w' j8 b
rwg0yponx0c64024236405.jpg (297.45 KB, 下載次數(shù): 0)
下載附件
保存到相冊
rwg0yponx0c64024236405.jpg
2024-9-11 17:44 上傳
9 K% c: D2 k1 V1 _
二、問題分析
- i- w f5 s8 @4 Q, k D) W在CPU接收端,RGMII的接收時序如下:
! i4 R' l1 T- s! R' X6 d
3n3tnfs4rss64024236505.png (53.07 KB, 下載次數(shù): 0)
下載附件
保存到相冊
3n3tnfs4rss64024236505.png
2024-9-11 17:44 上傳
* c7 U9 @9 h, |! w5 U& @圖1-1 RGMII接收端時序要求
9 o1 n1 A! G- t9 R從上面的時序要求看,在接收端,要求RGMII的時鐘信號邊沿比數(shù)據(jù)信號的邊沿延遲最小1ns,典型的延遲時間是2ns。延遲2ns的時候,RGMII的時鐘邊沿正好在數(shù)據(jù)的中間。
* b" R) D3 T& _還硬件方案中CPU端RGMII工作電壓為2.5V,在物理層RGMII工作電壓是3.3V。CPU和物理層芯片之間,通過轉(zhuǎn)換芯片74AVC164245進(jìn)行電平轉(zhuǎn)換。具體的連接圖如下:; @* b$ J* R( C/ N8 |. _
ga10cetgsql64024236605.png (12.49 KB, 下載次數(shù): 0)
下載附件
保存到相冊
ga10cetgsql64024236605.png
2024-9-11 17:44 上傳
& `# s3 |5 H$ C5 L w, L7 H圖1-2 物理層端的RGMII原理圖' J# t6 V% ^4 _* z( i) @
cjnwl4gv0s264024236705.png (103.51 KB, 下載次數(shù): 0)
下載附件
保存到相冊
cjnwl4gv0s264024236705.png
2024-9-11 17:44 上傳
3 i% V7 k n6 K) V# l8 Q
圖1-3 RGMII接口中的電平轉(zhuǎn)換原理圖* N2 l; @. M9 M) p; b7 c
noablcptb0t64024236805.png (19.64 KB, 下載次數(shù): 0)
下載附件
保存到相冊
noablcptb0t64024236805.png
2024-9-11 17:44 上傳
8 n% P9 Q; ]% y2 H
圖1-4 CPU端的RGMIII原理圖
# _& K$ P; c- s) n在CPU接收端,測量接收到的RGMII時鐘和數(shù)據(jù),邊沿是對齊的,建立時間不夠不符合時序要求1ns的延時。在CPU的RGMII控制寄存器中,對時鐘延遲時間進(jìn)行設(shè)置,但依然不能達(dá)到要求。經(jīng)與CPU廠家溝通以及實測,這個RGMII控制寄存器能調(diào)整的接收時鐘延遲,最大只能到600ps。在發(fā)送端芯片內(nèi),無法對RGMII的發(fā)送時鐘進(jìn)行延時設(shè)置。. A" Y9 [* l4 G7 z* O
三、問題解決: F0 F( a* k L \" I) A& M
為了驗證該問題,首先做如下驗證分析:& |1 m+ G# N+ @+ s7 @4 o7 S4 X
(1)為解決這個問題,考慮到增加走線長度,按照信號在PCB上的傳輸特性,1ns的延時,PCB內(nèi)層走線的話,要繞5600mil,明顯不現(xiàn)實。& T6 E r, a9 B4 A* A. w
(2)電平轉(zhuǎn)換芯片74AVC164245手冊中輸入輸出信號的延時,在1ns到4ns之間。正好在單板上,74AVC164245芯片有空余的PIN還沒有使用,通過飛線的方式,把RGMII的時鐘,在轉(zhuǎn)換芯片上,多繞了一次,測試發(fā)現(xiàn),數(shù)據(jù)可以通了。通過示波器測量信號,發(fā)現(xiàn)此時時鐘比數(shù)據(jù),延遲了大概1.5ns,滿足接收端的RGMII時序要求。用這個飛線的方式,做大流量跑流測試,丟包嚴(yán)重,性能不穩(wěn)定。
2 ?# y; j0 Z* |! m4 G8 R通過以上驗證分析,在不改板前提下兩種方式都無法解決該問題。經(jīng)分析和頭腦風(fēng)暴,考慮到電感對信號的延時的特性,嘗試使用感性材料來實現(xiàn)時鐘的延遲。從理論上看,串聯(lián)在鏈路中的電感,可以使交流信號相位延遲90度,這里的RGMII信號,時鐘是125MHz,延遲90度,正好就是2ns,符合RGMII的接收時序要求。5 q. Q% K) {' C) [' L
把物理層芯片的RGMII輸出端的匹配電阻R26,換為100MHz@220歐的磁珠,測試發(fā)現(xiàn),數(shù)據(jù)可以正常通訊,在大流量,長時間的拷機過程中,未出現(xiàn)丟包的情況。測量磁珠前后的時鐘波形,發(fā)現(xiàn)時鐘結(jié)果磁珠后,延時大概1.6ns。更換100MHz@600歐姆的磁珠,時鐘延時2ns,但是,磁珠交流阻值越大,對信號的衰減也越大?紤]到時鐘衰減和和延遲的結(jié)合,使用100MHz@180歐的磁珠,測試發(fā)現(xiàn),時鐘信號幅度滿足要求,延時1.5ns,能滿足要求。經(jīng)過大流量測試,無丟包情況,通過實驗。
8 d- U) L5 X! f6 n8 _
otkoy22qe5064024236905.jpg (393.09 KB, 下載次數(shù): 0)
下載附件
保存到相冊
otkoy22qe5064024236905.jpg
2024-9-11 17:44 上傳
$ {* Q+ |7 l( X5 {
四、問題總結(jié)7 Z# V! N9 |3 G+ I2 ]! B1 s
本案例利用一個“野路子”解決硬件調(diào)試中常見的問題,該解決思路拓寬了我們思維邊界。同時也告訴我們當(dāng)遇到問題時,堅持第一性原則,追本溯源到最底層最原始的物理原理去,定能柳暗花明又一村。 |
|