请选择 进入手机版 | 继续访问电脑版
[X]关闭

PS端双网口通信问题

文档创建者:Real3258
浏览次数:11100
最后更新:2023-01-11
悬赏1积分未解决
使用zynq7030,PS端mio挂有两个Phy芯片88e1518,分别接RJ45与PC机相连,用lwip的官方example测试,eth1可以正常与PC通信连接,eth0跑不通,看网上有说因为另外lwip是从31开始往下扫描phy地址的,我的eth0的phy芯片地址为0,eth1的phy芯片地址为1,我修改了xemacpsif_physpeed.c  模块中的代码,让lwip是从0开始往上扫描phy地址,这样就可以先扫描到phy0,但是还是不通,是什么原因呢? QQ浏览器截图20190820233212.png
QQ浏览器截图20190820233212.png

发表评论已发布 4

Real3258

发表于 2019-8-20 23:43:12 | 显示全部楼层

上面eth0和eth1测试的时候都是zynq的配置都是只勾选了eth0和eth1,我也试过同时勾选eth0和eth1,phy_addr改成从0开始扫描;测试了一个UDP协议的demo,下面这个代码,当改成XPAR_XEMACPS_0_BASEADDR时,eth0和eth1都没法通信,当改成XPAR_XEMACPS_1_BASEADDR时,eth1的udp传输就正常了。
if (!xemac_add(netif, &ipaddr, &netmask, &gw, mac_ethernet_address, XPAR_XEMACPS_0_BASEADDR)) {
                xil_printf("Error adding N/W interface\r\n");
                return -1;
        }
eth0的通信还是没有实现,不管是lwip的example,还是自己写的测试udp的demo,我采用的是裸机跑的。
回复

使用道具 举报

yticds

发表于 2019-9-7 16:34:51 | 显示全部楼层

eth0 的mdio 是在ps端引出,  eth1 的 mdio 需要通过emio 在pl上引出。  两个网口才能同时都ping通。 lwip底层的函数需要一些修改去支持两个网卡。 两个网络线程接收,通过mac绑定网口
回复

使用道具 举报

Q1342

发表于 2021-3-14 11:09:05 | 显示全部楼层

yticds 发表于 2019-9-7 16:34
eth0 的mdio 是在ps端引出,  eth1 的 mdio 需要通过emio 在pl上引出。  两个网口才能同时都ping通。 lwip ...

是修改xemacpsif_physpeed.c文件吗
回复

使用道具 举报

qq_BDL8t

发表于 2023-1-11 17:43:52 | 显示全部楼层

请问最后怎么解决的
回复

使用道具 举报

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

本版积分规则