x
x

用RK3568自制底板狂丢包?5分钟教你用Delayline一键复活网口

发布时间:2025-7-31 17:10    发布者:秦彻呀呀呀
在使用飞凌嵌入式RK3568核心板搭配自制底板时,由于PCB走线与参考设计存在差异,常导致RGMII接口时序异常,进而出现网口不通或频繁丢包的情况。本文将为大家提供一套简单高效的调试方案,通过三步操作即可解决此类问题。

1
测试条件① 硬件:飞凌嵌入式RK3568核心板;
② 系统:Linux4.19.206;
③ 底板:用户自制底板,且底板设计基本遵循飞凌提供的RK3568核心板参考原理图,但PCB走线存在差异;
④ 问题:网口无法连接或网络丢包现象严重。
微信图片_2025-07-30_154401_161.png
2
调试步骤① 确认系统节点(以RK3568为例)
•进入目录:/sys/devices/platform/fe300000.ethernet

•确认存在以下关键节点:
  1. phy_lb_scanrgmii_delaylinephy_lb
复制代码


② 扫描Delayline窗口(获取中间值)
重要提示:如果使用RTL8211E PHY 芯片,测试前务必拔掉网线!
•使用1000M (千兆)速率进行扫描:

echo 1000 > phy_lb_scan•命令执行完成后,终端会输出扫描结果,包含两个关键参数:tx_delay 和 rx_delay例如:tx_delay=0x2e rx_delay=0x0f)。
•记录这两个值。


③ 测试扫描得到的Delayline值
•将步骤2中扫描得到的tx_delay和rx_delay值写入rgmii_delayline节点进行临时配置:

echo > rgmii_delayline  #例如:echo 0x2e 0x0f > rgmii_delayline•验证配置是否生效:

cat rgmii_delayline  #应显示刚写入的值•使用phy_lb节点进行回环测试 (Loopback Test),验证TX/RX数据传输是否正常:

echo 1000 > phy_lb  #使用千兆速率测试•关键要求:
必须 确保phy_lb回环测试通过 (pass)。这是后续操作的基础。如果测试失败,可能需要重新扫描或检查硬件。


④ 固化配置到设备树(DTS)并烧写固件
•在 phy_lb 测试通过后,将测试有效的 tx_delay 和 rx_delay 值写入设备树源文件(DTS)中的GMAC节点。
•找到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值(十六进制)rx_delay = <0x0f>; //替换为扫描测试得到的有效rx_delay值(十六进制)status = "okay";};•重新编译包含修改后DTS的内核或完整固件。
•将新固件烧录到 RK3568核心板。


⑤ 最终验证
•设备启动后,进行网络连接测试:
    使用ping命令测试网络连通性和稳定性。
    使用iperf3等工具进行网络带宽和性能测试,检查是否还存在丢包。
•一般情况下,完成以上步骤并验证通过后,网口不通或丢包问题应得到解决。


3
重要提示① 操作风险:
修改RGMII delayline 参数是底层硬件调优。错误的参数可能导致网口完全失效。强烈建议在操作前备份原始固件和DTS文件。
② 测试必要性:
步骤3 (phy_lb回环测试)必须通过才能将参数写入 DTS。跳过此测试直接固化参数风险极高。
③ 硬件差异:
此方法主要解决因PCB走线差异引起的时序问题。如果自制底板与参考设计差异很大,或者存在其他硬件故障,此方法可能无效。
④参数值:
示例中的0x2e和0x0f仅为说明格式,必须使用phy_lb_scan扫描并结合phy_lb测试验证得到的实际有效值。
4
总结当用RK3568自制底板遇到因PCB走线差异导致的RGMII时序跑偏问题时,使用“扫描-验证-固化”三步急救:echo扫描最佳tx/rx_delay → phy_lb回环验证 → DTS一键写入,即可让崩溃的网口原地复活。
飞凌嵌入式FET3568-C核心板基于Rockchip RK3568处理器开发设计,该处理器是Rockchip面向于AIoT和工业市场打造的一款高性能、低功耗、功能丰富的国产化应用处理器。四核64位Cortex-A55架构,主频高达2.0GHz,且内置1TOPS算力NPU,而且经过了严苛的环境温度测试、压力测试、长期稳定性运行测试,确保其工作的稳定可靠。

本文地址:https://www.eechina.com/thread-891073-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • EtherCAT®和Microchip LAN925x从站控制器介绍培训教程
  • MPLAB®模拟设计器——在线电源解决方案,加速设计
  • 让您的模拟设计灵感,化为触手可及的现实
  • 深度体验Microchip自动辅助驾驶应用方案——2025巡展开启报名!
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表