在使用飛凌嵌入式RK3568核心板搭配自制底板時(shí),由于PCB走線與參考設(shè)計(jì)存在差異,常導(dǎo)致RGMII接口時(shí)序異常,進(jìn)而出現(xiàn)網(wǎng)口不通或頻繁丟包的情況。本文將為大家提供一套簡單高效的調(diào)試方案,通過三步操作即可解決此類問題。 1 測試條件① 硬件:飛凌嵌入式RK3568核心板; ② 系統(tǒng):Linux4.19.206; ③ 底板:用戶自制底板,且底板設(shè)計(jì)基本遵循飛凌提供的RK3568核心板參考原理圖,但PCB走線存在差異; ④ 問題:網(wǎng)口無法連接或網(wǎng)絡(luò)丟包現(xiàn)象嚴(yán)重。 ![]() 2 調(diào)試步驟① 確認(rèn)系統(tǒng)節(jié)點(diǎn)(以RK3568為例) •進(jìn)入目錄:/sys/devices/platform/fe300000.ethernet •確認(rèn)存在以下關(guān)鍵節(jié)點(diǎn):
② 掃描Delayline窗口(獲取中間值) 重要提示:如果使用RTL8211E PHY 芯片,測試前務(wù)必拔掉網(wǎng)線! •使用1000M (千兆)速率進(jìn)行掃描: •記錄這兩個(gè)值。 ③ 測試掃描得到的Delayline值 •將步驟2中掃描得到的tx_delay和rx_delay值寫入rgmii_delayline節(jié)點(diǎn)進(jìn)行臨時(shí)配置: 必須 確保phy_lb回環(huán)測試通過 (pass)。這是后續(xù)操作的基礎(chǔ)。如果測試失敗,可能需要重新掃描或檢查硬件。 ④ 固化配置到設(shè)備樹(DTS)并燒寫固件 •在 phy_lb 測試通過后,將測試有效的 tx_delay 和 rx_delay 值寫入設(shè)備樹源文件(DTS)中的GMAC節(jié)點(diǎn)。 •找到RK3568的DTS文件中定義gmac的部分(通常在rk3568.dtsi或板級DTS文件中)。 •修改tx_delay和rx_delay屬性值為測試通過的值: &gmac {assigned-clocks = <&cru SCLK_RMII_SRC>;assigned-clock-parents = <&clkin_gmac>;clock_in_out = "input";phy-supply = <&vcc_lan>;phy-mode = "rgmii";pinctrl-names = "default";pinctrl-0 = <&rgmii_pins>;snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;snps,reset-active-low;snps,reset-delays-us = <0 10000 50000>;tx_delay = <0x2e>; //替換為掃描測試得到的有效tx_delay值(十六進(jìn)制)rx_delay = <0x0f>; //替換為掃描測試得到的有效rx_delay值(十六進(jìn)制)status = "okay";};•重新編譯包含修改后DTS的內(nèi)核或完整固件。 •將新固件燒錄到 RK3568核心板。 ⑤ 最終驗(yàn)證 •設(shè)備啟動(dòng)后,進(jìn)行網(wǎng)絡(luò)連接測試: 使用ping命令測試網(wǎng)絡(luò)連通性和穩(wěn)定性。 使用iperf3等工具進(jìn)行網(wǎng)絡(luò)帶寬和性能測試,檢查是否還存在丟包。 •一般情況下,完成以上步驟并驗(yàn)證通過后,網(wǎng)口不通或丟包問題應(yīng)得到解決。 3 重要提示① 操作風(fēng)險(xiǎn): 修改RGMII delayline 參數(shù)是底層硬件調(diào)優(yōu)。錯(cuò)誤的參數(shù)可能導(dǎo)致網(wǎng)口完全失效。強(qiáng)烈建議在操作前備份原始固件和DTS文件。 ② 測試必要性: 步驟3 (phy_lb回環(huán)測試)必須通過才能將參數(shù)寫入 DTS。跳過此測試直接固化參數(shù)風(fēng)險(xiǎn)極高。 ③ 硬件差異: 此方法主要解決因PCB走線差異引起的時(shí)序問題。如果自制底板與參考設(shè)計(jì)差異很大,或者存在其他硬件故障,此方法可能無效。 ④參數(shù)值: 示例中的0x2e和0x0f僅為說明格式,必須使用phy_lb_scan掃描并結(jié)合phy_lb測試驗(yàn)證得到的實(shí)際有效值。 4 總結(jié)當(dāng)用RK3568自制底板遇到因PCB走線差異導(dǎo)致的RGMII時(shí)序跑偏問題時(shí),使用“掃描-驗(yàn)證-固化”三步急救:echo掃描最佳tx/rx_delay → phy_lb回環(huán)驗(yàn)證 → DTS一鍵寫入,即可讓崩潰的網(wǎng)口原地復(fù)活。 飛凌嵌入式FET3568-C核心板基于Rockchip RK3568處理器開發(fā)設(shè)計(jì),該處理器是Rockchip面向于AIoT和工業(yè)市場打造的一款高性能、低功耗、功能豐富的國產(chǎn)化應(yīng)用處理器。四核64位Cortex-A55架構(gòu),主頻高達(dá)2.0GHz,且內(nèi)置1TOPS算力NPU,而且經(jīng)過了嚴(yán)苛的環(huán)境溫度測試、壓力測試、長期穩(wěn)定性運(yùn)行測試,確保其工作的穩(wěn)定可靠。 |