NUC972 + rtl8306sd vlan 调试记录。

本文详细记录了RTL8306SD芯片的VLAN功能调试过程,包括硬件调试的常见问题及解决方案,软件部分如何通过API控制VLAN配置,以及具体的命令使用示例。

RTL8306SD 芯片支持VLAN功能,这颗芯片比较老了,据说已经停产,最新的RTL8306E,但坑的是,realtek的技术支持,没用过这个芯片,无法提供技术支持和资料,网上资料太少,最终是在某论坛里找到了一些api驱动资料和说明,datasheet 规格书看了一遍又一遍,慢慢清晰起来。由于先前对这个芯片不了解,直接参考了原理图,导致设计有些错误。调试过程也走了不少弯路,在此记录。

涉及的代码部分已经上传在我的资源里,需要的同学可以自行下载。

先来看一下框图:

该芯片有5路 phy接口,其中第5口 phy 具有复用功能。 另外有两路 mii/rmii 接口,可以通过不同的配置工作在不同模式下。 这里的配置有点复杂。经过这几天调试,基本摸清楚了。

接下来说一下可以配置为哪些模式。

1.先说一下 phy4(第五个phy), phy4可以与 mac4 一起工作在 UTP模式,什么是UTP模式??就是正常的工作模式 和上面几路phy 一致。除此外 phy4还可以配置为独立的phy,通过mii/rmii 接外部 mac 如图。此时 phy4 与其他phy是独立的,不互通。

2. 再来说一下 MAC4 和 MAC5. 他们都可以配置为:

              1. PHY MODE MII

              2. MAC MODE MII

              3. RMII 模式

  上面两种模式我还不太确定具体接什么,但可以确定的是,一种模式是接外置phy的,另一种接 cpu的。我需要用的是RMII模式。

我的需求是 MAC4 PHY4 工作在 UTP模式,MAC5工作在RMII模式。 对应配置表。 是01000,付上配置表。

调试过程如下。

1.硬件部分调试

板子回来后,上电,cpu能正常启动,但是没识别出网卡。

 1. 按以往经验判断,应该是MDIO总线没通讯成功。示波器查了波形,芯片果然没响应。

 2. 先查 晶振,复位,3.3V电源,1.8V电源。挨个查了一遍。都正常。插上网线,灯不闪。

 3. 这样判断 内部逻辑电路可能没启动,通常phy部分,只要插上网线灯就会亮。再次仔细检查电源,发现有个AVDD18接错了,接到了GND上。飞线大法后,插上网线指示灯已经可以闪了,说明内部电路已经开始工作。 奇怪的是这路AVDD接错,芯片没烧,没任何反应,说明这个AVDD18 在芯片内部是独立供电的。 找到第1个坑

4. 重启板子后,发现网卡已经识别出来,说明MDIO已经通讯成功。 测试了4个网口,相互联通的。

5. 但是网络一直不通,没有数据包。把模式配置为 01000后,查了波形。发现RMII没有任何波形。refclock也没有。印象中refclock方向可以配置,翻了datasheet, 81脚需要拉低,82脚才会对外输出refclock。第2个坑

6. 再次飞线,refclock已经有了,示波器量了,标准的50M,说明已经工作在rmii模式了,如果是MII模式,refclock是25M.

7.但数据还是不通,量RMII TX是低电平, RX是高电平。有点疑问。正常情况没有数据通讯的时候应该都是低电平。可能数据线接错了。 这里引入一个新的知识点,也是在这次调试中了解的。 有种接法叫 mac to mac without phy,也叫 fixed-link。顾名思义,是一个固定连接,用于两个有mac控制器的cpu 直连,不通过phy。 这样可以省去2个phy 和 网络变压器等外部器件。由于直连,没有MDIO通讯,所以如果要直连,底层网卡驱动需要调整。MAC直连的时候,需要交叉连接 如下图。

TXD0 RXD0
TXD1 RXD1
TX_EN
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值