芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 19|回复: 0

【以太网】如何修改以太网状态灯

[复制链接]

该用户从未签到

25

主题

31

帖子

256

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
256
发表于 3 天前 | 显示全部楼层 |阅读模式

在以太网使用过程中,即使网络通信正常,状态指示灯可能会出现显示异常的情况。本文将以ACZ702开发板为例,详细介绍如何通过配置RTL8211F-CG PHY芯片的寄存器来规范化网络状态指示灯的显示。

需要说明的是,对于所有使用RTL8211F-CG以太网PHY芯片的开发板,本文介绍的配置方法均适用。

1、分析LED1和LED2

从RTL8211F-CG数据手册中可以3个led,分别表示10M、100M、1000M的Active和Link。

image.png

现在查看ACZ702原理图,可见LED1是接在绿灯,LED2是接在黄灯上

image.png

继续在数据手册中,找到Table 16,如下图所示,LED0~LED2是由Reg 16控制。

image.png

2、设置EEELCR寄存器

此寄存器作用是控制和监控EEE功能中的链路变化状态。我们需要先关闭它,以免影响接下来的操作。

注意:代码是以linux中举例,但是原理都是通用的

#(1)首先切换到页面0xd04
./mdio-tool w eth0 0x1f 0xd04

#(2)读取 EEELCR 寄存器值,笔者返回值为0x600f
./mdio-tool r eth0 0x11 

# (3) 将位1到位3,写入0;禁用EEE
./mdio-tool w eth0 0x11 0x6000

# (4) 切回默认页面
./mdio-tool w eth0 0x1f 0x0000

image.png

3、设置LCR寄存器

以太网状态指示灯的显示模式由LED控制寄存器(LCR)进行配置。通过修改LCR寄存器的值,我们可以根据实际需求自定义各个LED指示灯的工作模式,实现不同的状态显示效果。

image.png

#(1)首先切换到页面0xd04
./mdio-tool w eth0 0x1f 0xd04

#(2)读取 LCR 寄存器值,笔者返回值为0x617f
./mdio-tool r eth0 0x10 

# (3) 此时根据自己的要求,修改好LCR寄存器值
./mdio-tool w eth0 0x10 0x617f

# (4) 切回默认页面
./mdio-tool w eth0 0x1f 0x0000

笔者下面对0x617f值讲解,将0x617F转换为二进制:0110 0001 0111 1111,可得到:

LED2配置 :

  • LED2_ACT : 1 - 启用传输/接收指示
  • LED2_LINK_1000 : 1 - 启用1000Mbps链路指示
  • LED2_LINK_100 : 0 - 禁用100Mbps链路指示
  • LED2_LINK_10 : 0 - 禁用10Mbps链路指示

LED1配置:

  • LED1_ACT : 0 - 禁止传输/接收指示
  • LED1_LINK_1000 : 1 - 启用1000Mbps链路指示
  • LED1_LINK_100 : 1 - 启用100Mbps链路指示
  • LED1_LINK_10 : 1 - 启用10Mbps链路指示

在千兆网络下,LED2是常亮,当有数据传输时,LED2会闪烁;在链路速率为100Mbps或10Mbps时:LED2不亮;LED1在1000、100、10兆下都是常亮状态

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2025-1-18 10:03 , Processed in 0.128998 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表