梅花瞎说 发表于 2024-6-9 15:07:08

各位有没有用过微雪的dp83848模块,ping不通

各位有没有用过微雪的dp83848模块,ping不通。

他用的是RMII接口,我对应的接在我芯片的引脚上了。但我用的不是微雪的开发板,也没有他的程序。
我用的是stm32f407zet6芯片,卡发版把引脚都接出来了,然后我用cubemx生成了一个裸机程序,没有往里面加东西,只是配置了eth和lwip。
这个配置在我的另一个开发板上,卡发板自带以太网模块,那个板子上烧录后能成功。芯片是stm32f407vet6
不清楚是哪里的问题了,或者我应该怎么调试

Himem 发表于 2024-6-9 15:42:56

本帖最后由 Himem 于 2024-6-9 16:00 编辑

估计杜邦线不行 跑不了50M的rmii信号
先强制降到10M以太网调试看看

现在mdio上能读到寄存器吗

梅花瞎说 发表于 2024-6-9 22:35:51

Himem 发表于 2024-6-9 15:42
估计杜邦线不行 跑不了50M的rmii信号
先强制降到10M以太网调试看看

(引用自2楼)

额,那个,我不会读寄存器。。然后网上也没找到教程,是不是太基础了。我就是爱好者,也是刚玩,方便的话能问下在hal库上面能读他的寄存器吗

梅花瞎说 发表于 2024-6-10 12:25:01

Himem 发表于 2024-6-9 15:42
估计杜邦线不行 跑不了50M的rmii信号
先强制降到10M以太网调试看看

(引用自2楼)

刚刚学会了读ID寄存器,结果读出来0xFFFF

梅花瞎说 发表于 2024-6-10 12:27:43

Himem 发表于 2024-6-9 15:42
估计杜邦线不行 跑不了50M的rmii信号
先强制降到10M以太网调试看看

(引用自2楼)

    uint32_t id_0,id_1;
    HAL_ETH_ReadPHYRegister(&heth,2,&id_0);
    HAL_ETH_ReadPHYRegister(&heth,3,&id_1);
    printf("PHY_ID = %X\n", (id_0<<16) | (id_1));


我把这几行写在low_level_init后面,然后读出来的
               

梅花瞎说 发表于 2024-6-10 13:32:06

Himem 发表于 2024-6-9 15:42
估计杜邦线不行 跑不了50M的rmii信号
先强制降到10M以太网调试看看

(引用自2楼)

能正常读出ID了,但还是ping不通,我在读ID下面读了一下MII Interrupt Status and Misc. Control Register (MISR), address 0x12,这个寄存器,竟然有意外之喜。他给我返回了一串错误。

梅花瞎说 发表于 2024-6-10 22:17:18

Himem 发表于 2024-6-9 15:42
估计杜邦线不行 跑不了50M的rmii信号
先强制降到10M以太网调试看看

(引用自2楼)

怪事,我还有另一个板载dp83848的开发板,那块板子能ping通,我学会读寄存器后,就把他们两个的寄存器对比了一下,发现是一样的。也就是说,我可以配置好我的寄存器,但就是ping不通。

梅花瞎说 发表于 2024-6-11 11:16:08

Himem 发表于 2024-6-9 15:42
估计杜邦线不行 跑不了50M的rmii信号
先强制降到10M以太网调试看看

(引用自2楼)

应该就是杜邦线的问题,还没想到怎么解决。

Himem 发表于 2024-6-11 12:12:40

本帖最后由 Himem 于 2024-6-11 12:14 编辑

梅花瞎说 发表于 2024-6-11 11:16
应该就是杜邦线的问题,还没想到怎么解决。
(引用自8楼)

试了强制10M以太网了吗

比如
https://www.yisu.com/jc/72184.html
页: [1]
查看完整版本: 各位有没有用过微雪的dp83848模块,ping不通