RGMII接口案例:二个设备共享一个PHY

最近项目中,fpga通过多个rgmii接口与其他设备通信,在通信的过程中,有一个rgmii接口对端设备始终无法驱动,最后通过共享一个phy,时分复用的形式来“解决”该问题
案例背景fpga一共有2个rgmii接口,其中a接口外接一个phy后通过rj45连接网线,b接口通过rgmii接口以mac对mac的形式直接和w模块相连,如下图所示:
正常的业务场景下,fpga有可能通过a接口用网线和外部连接的设备通信,也可能直接和w模块通信。
问题由于w模块的问题,始终无法驱动rgmii接口,后来和供应商,以及w模块上芯片的原厂交流,都无法知道如何驱动该rgmii接口(***任道重远啊),fpga和w模块的通路彻底断开。
分析及解决措施(1)由于fpga和w模块之间的性能需要500mbps+,所以无法通过飞线产生一个通用io口来解决该问题;
(2)w模块供应商其实也没有对rgmii接口做过充分测试,推荐我们使用的是该模块内置的phy接口和外界通信;
(3)fpga的ab接口的业务本来可以不同时存在,那是否可以时分复用fpga外接的phy了,即fpga通过phy和rj45通信,也可以和w模块通信呢?于是构想了如下的方案:
利用w模块内置的phy,通过飞线的方式,连在phy和rj45之间,如图中红色线条所示。当rj45插上网线时,fpga和rj45通信,否则fpga就和w模块通信。但是这个方案有一个问题,当插上网线的时候,外部设备和w模块都通过fpga的同一个phy和fpga通信,这必要会有冲突,那现在的问题就是这2种模式如何最小代价的切换。
(4)由fpga控制w模块的上电来切换,当fpga和rj45通信的时候,通过配置fpga寄存器的方式,将w模块下电,当fpga要和w模块通信的时候,拔掉网线,同时通过配置fpga寄存器的方式将w模块上电。
测试结果这种方案行不行,上板测试是最好的检验方法。
(1)将w模块下电,插上网线,外部设备通过网线给fpga发包,fpga在内部mac做环回,通过测试;
(2)将w模块上电,拔掉网线,通过w模块发包,fpga在内部mac做环回,通过测试;
(3)将w模块上电,且插上网线,我们通过w模块和外部设备发现,和fpga的链路不稳定,一会能link up,一会又link down,即有冲突,和我们前期预想的一致。当拔掉网线,或者w模块下电后,对端都能和fpga正常通信。
总结当一个phy同时和2个phy对接的时候,只要我们做好2个phy的切换,是可以实现“时分复用”的,但是不到万不得已,还是别这么干吧。

塑料材料超声波焊接电源发生器技术
从新能源汽车CAN总线入手,学习兼容性更强大通讯系统
新华三持续深化“云智原生”战略 助力下一阶段云网建设
HBM、MM和CDM测试的基础知识
理解Amazon IoT路径 从中我们能学到什么?
RGMII接口案例:二个设备共享一个PHY
骨传导耳机漏音严重吗?有没有漏音小的骨传导耳机
微浪科技重磅推出多功能生物实验机器人“ReadGo”
浅谈晶体振荡器的三态功能
我国互联网产业能否借势IPv6?
基于单片机和CPLD的PLC背板总线协议接口芯片设计
如何将灯具转换为LED灯组
智能扫地机器人好用吗?看完这篇你就全了解了
外骨骼机器人的发展历程与未来发展
江苏电子厂商齐聚上海 第82届中国电子展11月13日隆重开幕
高通发布了第二代超声波屏下指纹识别传感器
Reference Design for a 5S2P AR
2020运动蓝牙耳机排行榜 盘点性能最强的五大蓝牙耳机
世界最大规模大学生超级计算机竞赛圆满落幕,最终台湾清华大学和清华大学分别斩获冠亚军
国芯思辰|富芯微三象限双向可控硅RT16替代ST BTA16用于商场过道磁门的安全检测