当前位置: 首页 > news >正文

临淄做网站湖北网站建设费用

临淄做网站,湖北网站建设费用,佛山市制作网站,深圳市门户网站建设哪家好文章目录 一、硬件连接概述1.1 典型连接方式1.2 硬件原理图 二、RTL8211F LED控制原理2.1 LED控制寄存器2.2 LCR寄存器位定义2.3 常见LED配置值及其效果 三、Linux内核中的RTL8211F LED控制实现3.1 驱动层LED控制代码 四、通过ADB命令控制RTL8211F LED4.1 切换到扩展页并配置LE…

文章目录

    • 一、硬件连接概述
      • 1.1 典型连接方式
      • 1.2 硬件原理图
    • 二、RTL8211F LED控制原理
      • 2.1 LED控制寄存器
      • 2.2 LCR寄存器位定义
      • 2.3 常见LED配置值及其效果
    • 三、Linux内核中的RTL8211F LED控制实现
      • 3.1 驱动层LED控制代码
    • 四、通过ADB命令控制RTL8211F LED
      • 4.1 切换到扩展页并配置LED
      • 4.2 验证配置
    • 五、故障排除
      • 5.1 LED不亮的可能原因
      • 5.2 调试方法
    • 六、参考资料

一、硬件连接概述

RK3588是一款高性能ARM处理器,支持多种以太网接口配置。RTL8211F是一款常用的千兆以太网PHY芯片,支持多种LED指示模式。在典型的RK3588平台上,RTL8211F通过RGMII接口与处理器相连,其LED信号通常连接到RK3588的GPIO引脚,用于指示网络状态。

1.1 典型连接方式

  • RK3588的RGMII接口连接到RTL8211F的数据接口
  • RTL8211F的LED1和LED2信号分别连接到网口座子

1.2 硬件原理图

在这里插入图片描述

二、RTL8211F LED控制原理

2.1 LED控制寄存器

RTL8211F通过特定寄存器控制LED的行为,主要涉及LCR(LED Control Register)。该寄存器位于扩展页0xd04中,通过MDIO接口访问。

2.2 LCR寄存器位定义

LCR寄存器的相关位定义如下(仅列出关键位):
在这里插入图片描述
在这里插入图片描述

Bit位置名称读写类型默认值功能描述对LED的影响
16.15RSVDRO0保留位,禁止修改-
16.14LED2_ACTRW1控制LED2的数据活动指示功能1=数据收发时闪烁
0=仅显示链路状态(常亮/灭)
16.13LED2_LINK_1000RW1控制LED2在1000Mbps链路速率下的点亮功能1=1000Mbps链路时点亮
0=忽略1000Mbps链路状态
16.12RSVDRO0保留位,禁止修改-
16.11LED2_LINK_100RW0控制LED2在100Mbps链路速率下的点亮功能1=100Mbps链路时点亮
0=忽略100Mbps链路状态
16.10LED2_LINK_10RW0控制LED2在10Mbps链路速率下的点亮功能1=10Mbps链路时点亮
0=忽略10Mbps链路状态
16.9LED1_ACTRW1控制LED1的数据活动指示功能1=数据收发时闪烁
0=仅显示链路状态(常亮/灭)
16.8LED1_LINK_1000RW0控制LED1在1000Mbps链路速率下的点亮功能1=1000Mbps链路时点亮
0=忽略1000Mbps链路状态
16.7RSVDRO0保留位,禁止修改-
16.6LED1_LINK_100RW1控制LED1在100Mbps链路速率下的点亮功能1=100Mbps链路时点亮
0=忽略100Mbps链路状态
16.5LED1_LINK_10RW0控制LED1在10Mbps链路速率下的点亮功能1=10Mbps链路时点亮
0=忽略10Mbps链路状态
16.4LED0_ACTRW1控制LED0的数据活动指示功能1=数据收发时闪烁
0=仅显示链路状态(常亮/灭)
16.3LED0_LINK_1000RW0控制LED0在1000Mbps链路速率下的点亮功能1=1000Mbps链路时点亮
0=忽略1000Mbps链路状态
16.2RSVDRO0保留位,禁止修改-
16.1LED0_LINK_100RW0控制LED0在100Mbps链路速率下的点亮功能1=100Mbps链路时点亮
0=忽略100Mbps链路状态
16.0LED0_LINK_10RW1控制LED0在10Mbps链路速率下的点亮功能1=10Mbps链路时点亮
0=忽略10Mbps链路状态

2.3 常见LED配置值及其效果

以下是几种常见的配置值及其对应的LED行为:

配置值二进制表示LED2行为LED1行为
0x6d000110 1101 0000 000010/100/1000Mbps链路状态+活动指示(闪烁)1000Mbps链路状态常亮,非则灭灯
0x20400010 0000 0100 0000100Mbps链路状态常亮,非则灭灯100Mbps链路状态常亮,非则灭灯

在这里插入图片描述

三、Linux内核中的RTL8211F LED控制实现

在RK3588平台的Linux内核中,可以通过以下方式实现对RTL8211F LED的控制。

3.1 驱动层LED控制代码

在内核驱动中,可以通过phy驱动的fixup函数来配置LED。以下是一个典型的实现示例:
驱动路径:drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

 #define PHY_ID_RTL8211F                   0x001cc916#define PAGE_SELECT_ADDR                  0x1f#define RTL_8211F_PHY_ID_MASK   0x001fffff#define RTL_8211F_LCR_ADDR      0x10static int phy_rtl8211f_led_fixup(struct phy_device *phydev)
{/* 切换到扩展页0xd04 */phy_write(phydev, RTL_8211F_PAGE_SELECT, 0xd04);/* 设置LCR寄存器值为0x6171 */phy_write(phydev, RTL_8211F_LCR_ADDR, 0x6d00);/* 切换回默认页 */phy_write(phydev, RTL_8211F_PAGE_SELECT, 0xa42);return 0;
}//在stmmac_dvr_probe函数中调用:/* register the PHY board fixup */
ret = phy_register_fixup_for_uid(PHY_ID_RTL8211F, RTL_8211F_PHY_ID_MASK, phy_rtl8211f_led_fixup);if (ret) {
dev_warn(priv->device, "arunce Cannot register PHY board fixup, terry in :%s.\n", __func__); 
}

四、通过ADB命令控制RTL8211F LED

在RK3588开发板上,可以通过ADB命令直接控制RTL8211F的LED。

4.1 切换到扩展页并配置LED

# 切换到扩展页0xd04
/sys/bus/mdio_bus/devices/stmmac-1:01#  echo 0x1f 0xd04 > phy_registers# 写入LED控制寄存器值(例如0x2d60 )
/sys/bus/mdio_bus/devices/stmmac-1:01# echo 0x10 0x2d60 > phy_registers

4.2 验证配置

# 读取LED控制寄存器值,确认配置成功
cat phy_registers0x16的值:应返回0x2d60 # eth0 切换成百兆
mii-tool -F 100baseTx-FD eth0# eth0 恢复自动协商
mii-tool -r eth0# 查看eth0 的配置
mii-tool eth0

五、故障排除

5.1 LED不亮的可能原因

  1. 硬件连接问题:检查RTL8211F与rj45之间的线路连接是否正确
  2. 寄存器配置错误:确认LCR寄存器的值设置正确
  3. PHY地址问题:检查设备树中PHY地址配置是否与实际一致
  4. 电源问题:确保RTL8211F正常供电
  5. 检查RJ45网口的led 正 负 是否正确。规格书-硬件原理图,有概率会搞反导致灯不亮。

5.2 调试方法

  1. 使用ethtool工具检查以太网状态:
    adb shell ethtool eth0
    
  2. 查看内核日志确认PHY驱动是否正常工作:
    adb shell dmesg | grep eth0
    
  3. 使用示波器或逻辑分析仪检查LED信号引脚的电平变化

六、参考资料

  1. RTL8211F数据手册
  2. RK3588处理器规格说明书
  3. Linux内核文档中的MDIO和PHY驱动部分
  4. 设备树绑定文档中的以太网部分

通过以上配置和方法,可以在RK3588平台上灵活控制RTL8211F的LED指示灯,实现各种网络状态指示需求。

http://www.dtcms.com/a/538255.html

相关文章:

  • 然后在亚马逊网站上做外贸wordpress升级php的插件
  • 网站商城功能企业的网站建设与设计论文
  • 百度seo公司整站优化外贸人常去的网站
  • 网站建设与推广中国最厉害的建筑公司
  • 防城港建设局网站wordpress google字体 360
  • linux磁盘分区
  • 手机网站注册页面如果自己弄网站
  • 网站优化塔山双喜建立网站的基本流程
  • 高阳网站建设网站建设中 模板
  • 启迪网站建设招聘旅游景区宣传软文
  • 网页设计与网站建设课程总结怎样用盒子做汽车视频网站
  • 做论坛网站的元素网站建设管理分工
  • 石家庄新钥匙网站建设杭州网站建设公司排名
  • openwrt 网站开发外贸邮箱用哪个比较好
  • 郑州餐饮 网站建设知名企业vi设计
  • 有没有做任务拿佣金的网站营销活动方案模板
  • 沈阳网站icp备案网络营销产品的概念举例
  • 无锡军自考网站建设上海人才网站建设
  • Qt5 中解决 setWindowTitle 中文乱码问题详解
  • 江门cms建站开发app需要多少钱?
  • 做笑话网站赚钱农村电商
  • 网站建设的费用计入网站型营销
  • 大兴做网站公司东莞有哪几家网络开发公司
  • 广东省 网站制作网站数据迁移教程
  • 网站建设基本流程 dnsasp网站如何实现伪静态
  • 【ROS2】使用 supervisor 实现自启动 launch
  • 上海易站网站建设郑州计算机培训机构哪个最好
  • 一般做网站销售提成wordpress 插件 推荐
  • 网站建站网站我待生活如初恋建网站投放广告赚钱
  • 初识多线程