GD32 Freertos例程移植 YT8512驱动

自己的使用过程,仅做记录。

打开官网demo例程,找到以太网部分,使用此例程中Freertos 工程:
工程使用的是H7,F4的工程也 移植过,和这个一样。
8f8005a901e56444970fd907094ac9b6.png

工程结构如下:

813613ea30779bf164f60f9d4bb8dcd8.png

接下来,要根据YT8512的原理图来改动代码部分;其实就是YT8512的如何使用;

模式选择:

4148e6ec0953efb9fb7d3004ad324351.png

决定采用MII或者RMII,一般CMU都会选择RMII,主要是为了省IO资源。RMII1和2的主要区别上面可以看出,就是PHY的参考时钟由谁来提供。

另外,如果使用RMII1模式,还可以省去。晶振频率和通信速率有关。100M bps在RMII模式下,需要使用25Mhz clk。

8f6bf375ba28ed1f0c5dc05e8bf0ae67.png

PHY 的地址配置

36b33b1eb1d414cb53cebbce6f5b925e.png

同一个 MCU 或 MAC 管理多个 phy 时,不要使用 0 地址。由于 0 地址是广播地址,对地址为 0 的 phy 操作时,所有的 phy 都会响应。MCU只有

1个PHY 的时候,这个可以忽略直接使用地址0。

根据上面2点,修改demo 代码的配置部分:

如果使用RMII1模式,则不需要修改。demo中默认是MAC输出phy的参考时钟。

1.使用RMII2模式,修改代码部分如下:修改PA1为输入;

8ec2288f91bda424fa94e81a7f1512dd.png

2.修改PHY 地址

demo例程是基于LAN8700的,这里添加YT8512

在这里插入图片描述

3.修改寄存器

YT8512的状态寄存器与LAN的不同;

在这里插入图片描述
在这里插入图片描述

这里跟自动协商有关。demo中做如下修改:10M和100M对调。

在这里插入图片描述

也可以不使用自动协商功能,enet_init()的传参修改下就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值