支持2.5G带宽的 phy 器件调试分享

1 篇文章 0 订阅

支持2.5G带宽的phy 市面上比较少,而且基本上只有博通、marvell生产。但是随着2.5G 网卡的出现,下行端口2.5G也随之涌现。ok,话虽饶舌,言归正传。

    我用的这颗phy是Marvell的,支持2.5G带宽,BGA封装,它适用于将SGMII转copper,即连接MAC侧的是SGMII接口,媒体侧即RJ45接口。看起来功能比较简单吧,我这就是将该器件通过SGMII与一个内嵌2.5G MAC 的交换机芯片连接,卖个关子,我这暂时不提交换机型号。

    电路原理其实比较简单,SGMII 互联时候需要使用AC耦合模式,参考芯片手册对phy做一些外部配置,如地址配置,时钟选择配置,器件2.5G带宽模式配置,还有一个重要的是固件下载方式设置。

    在调试中,我就很不幸的遇到了一些麻烦,还好原理上没有致命bug,还是可以修复好的。稍安勿躁,带我娓娓道来。

    板卡上电,直接测功能,如果phy工作正常,那么用网线接到电脑上,电脑网络图标那至少会显示连接上,而不是一个大红×。而我看到的是大红×,欲哭无泪啊。。。工程师就要有颗不服输的心,打破砂锅问到底的执著,撸起袖子开干!

    首先检查时钟,这个phy需要一个50M晶振,我选的是插装晶体,就俩大长腿的那种。我用示波器一侧,中看不中用啊,读到的频率仅仅才16.6MHz,所以这个肯定是第一个原因。反复查阅资料后,才知道,这种插装的晶体叫做泛音晶体,存在基频和三倍、五倍泛音区别。通常,25M以内的晶体就是按照其基本频率起振的,如果是50M,需要配置为三倍泛音模式,即16.6×3大约为50M。但是,配置电路似乎有点复杂,不但是俩负载电容就可以搞定。没辙,那就选择SMD贴片的无源晶体,更换后,该无源晶体起振后就是50M 频率。为啥不用有源,芯片手册不允许啊!

    时钟可以了,还是不能工作。幸好我将MDC、MDIO接口留了出来,方便读写其内部寄存器。Marvell 提供了配套的GUI软件和usb转mdio板子,可以读写到其内部寄存器。接上后我可以读取到不同地址的寄存器,比如phy id和状态等。这就说明,器件还是工作了,只是没有按照相应模式工作。这基本可以判断,时钟、复位、电源等没什么问题。

    最后看了下芯片手册,它提到如何把固件写进外部flash或者内部ram,虽然设计之初没挂flash,但是写进ram似乎可行。于是乎,反复看手册如何操作,又去官网下固件程序,终于,把它给灌进去了。

    奇迹....就随之发生,RJ45网口处的指示灯闪亮了,电脑网络连接也显示正常了,将主机网卡换成2.5G网卡,测试带宽也符合实际。当时连通的那瞬间,好比球场上上演帽子戏法,梅开二度一般,奥利给的狠。兴奋感延续了一分钟后,你懂得,继续搬砖前进吧,但是那份自信确实永久的留在工程师心里了。

PS:需要phy的我可以给你带货,价格美丽

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值