ZHCABZ7C October 2015 – April 2024 DP83867CR , DP83867CS , DP83867E , DP83867IR , DP83867IS
用于調(diào)試的環(huán)回功能:
環(huán)回模式可以確定 MAC < -- > PHY 或 PHY < -- > PHY 上發(fā)生的通信問題。MII 環(huán)回、PCS 環(huán)回、數(shù)字環(huán)回和模擬環(huán)回都可以隔離 PHY < -- > PHY 通信。反向環(huán)回可以隔離 MAC < -- > PHY 通信。下圖展示了 DP83867 具有的各種環(huán)回模式:
圖 2-9 方框圖,環(huán)回模式
圖 2-10 方框圖,反向環(huán)回模式模擬環(huán)回通常用于驗(yàn)證 PHY 的完整內(nèi)部數(shù)據(jù)路徑,而反向環(huán)回則用于與鏈路伙伴一起驗(yàn)證沿 MDI 的數(shù)據(jù)路徑。
通過 MAC 發(fā)送和接收數(shù)據(jù)包:
如果可以使用 MAC 生成和檢查數(shù)據(jù)包,并且 PHY 有一個(gè)具有反向環(huán)回功能的工作鏈路伙伴,請(qǐng)按如下方式驗(yàn)證完整數(shù)據(jù)路徑:
如果 MAC 接收到相同的測(cè)試數(shù)據(jù)包而未出現(xiàn)問題,則通過 MAC → PHY → MDI 的完整數(shù)據(jù)路徑是有效的。如果此測(cè)試未通過,則執(zhí)行模擬環(huán)回以隔離數(shù)據(jù)路徑上的問題:
如果 MAC 接收到相同的測(cè)試數(shù)據(jù)包,則通過 MAC → PHY 的數(shù)據(jù)路徑有效,并且問題已與 MDI 數(shù)據(jù)路徑隔離。如果此測(cè)試未通過,則問題可能出在 MAC 接口或內(nèi)部數(shù)據(jù)路徑上。要驗(yàn)證 MAC 接口,請(qǐng)參閱調(diào)試 MAC 接口。要驗(yàn)證內(nèi)部數(shù)據(jù)路徑,請(qǐng)使用以下腳本執(zhí)行帶有模擬環(huán)回的 PRBS。
通過 BIST 發(fā)送和接收數(shù)據(jù)包:
該器件包含內(nèi)部 PRBS 內(nèi)置自檢 (BIST) 電路,可適應(yīng)電路內(nèi)測(cè)試或診斷。BIST 電路可用于測(cè)試發(fā)送和接收數(shù)據(jù)路徑的完整性。BIST 可使用各種環(huán)回模式來執(zhí)行,以便隔離數(shù)據(jù)路徑特定部分的任何問題。BIST 會(huì)生成包含可變內(nèi)容和 IPG 的封包化數(shù)據(jù)。
如果無法通過 MAC 生成和檢查數(shù)據(jù)包,請(qǐng)使用 PRBS 數(shù)據(jù)包生成和檢查功能來驗(yàn)證數(shù)據(jù)路徑。使用 PRBS 和正常工作的鏈路伙伴執(zhí)行反向環(huán)回,如下所示:
如果寄存器 0x17[11] 為高電平,則通過 PHY → MDI 的數(shù)據(jù)路徑有效。如果此測(cè)試未通過,則問題可能出在 PHY 的內(nèi)部數(shù)據(jù)路徑或 MDI 上。要驗(yàn)證內(nèi)部數(shù)據(jù)路徑,請(qǐng)使用以下腳本執(zhí)行帶有模擬環(huán)回的 PRBS。如果內(nèi)部數(shù)據(jù)路徑有效,則問題將與 MDI 隔離(假設(shè)鏈路伙伴正常工作)。
下面是寄存器讀取和寫入的示例序列,以便使用模擬環(huán)回以 10Mbps 速率執(zhí)行 BIST:
// This is how you make a comment. All scripts must start with 'begin'
begin
// hard reset
001F 8000
// disable auto-neg, force 10Mbps (1)
0000 0100
// enable analog loopback (2)
0016 0008
// force mdi mode for 10/100 Mbps (not relevant for 1000Mbps)
0010 5008
// loopback configuration register required
00FE E720
// enable packet gen, keep analog loopback (3)
0016 5008
// (1)
// for 100Mbps, write 0000 to 2100
// for 1000Mbps, write 0000 to 0140
// (2)
// for digital loopback, write 0016 to 0004
// for PCS loopback, write 0016 to 0003
// (3)
// for packet generation with digital loopback, write 0016 to 5004
// for packet generation with PCS loopback, write 0016 to 5003
end如果在不同的環(huán)回模式或速度下進(jìn)行測(cè)試,則參考注釋 (1-3) 寄存器寫入。在以下讀取/寫入操作之前至少等待一秒鐘,以便允許 PRBS 發(fā)送數(shù)據(jù)包。
begin
// lock byte count
0072 0201
// check lock status, # of packets received, and # of errors
0017
0071
0072
// enable continuous mode packet counting
0016 D004
// update packet counter with current value (4)
0072 0201
// read packet counter (5)
0071
// soft reset
001F 4000
// Repeat (4) and (5) as desired to verify packet count changing for each counter update
end寄存器 0x17[11] 指示 PRBS 是否能夠通過給定的數(shù)據(jù)路徑成功接收相同的已傳輸數(shù)據(jù)。