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