zoukankan      html  css  js  c++  java
  • 嵌入式开发之hi3519---i2c MDIO PHY uboot phy调试总结

    首先调试检查硬件,再调试软件

    首先仔细阅读phy和主芯片datesheet ,尤其着重阅读mii寄存器,它是mac和phy交换信息的媒介。

    硬件注意:关于phy的芯片需要注意的有几点:1、mdio接口和rgmii或者mii接口是否正确。2、电源是否稳定,晶振是否起振并且频率匹配。3、phy地址的配置是否正确,不能是0地址,因为0地址默认是所以芯片的地址。4、phy芯片输出时钟是否正确。4、phy和主芯片rgmii接口电平是否匹配。5、phy间的线序是否正确以及线路是否完好。6、mac和phy间的数据速率是否匹配即都是千兆百兆或10兆。

    关于主芯片mac部分接口注意:1、rgmii或者mii以及mdio接口是否正确。2、mdio时序是否正确。3、rgmii时钟是否正确。

    需要了解自协商过程以及mac->phy->phy->mac中间的连接,如果有一个断了就不能正确通信,因此首先得确保每段连接的接口物理和时序是正确的:对于phy间就是自协商成功,对于mac和phy间就是rgmii的时序正确即确保都是相同的数据速率(千兆百兆或10兆)。

    mii寄存器解读:Status Register 0x01以及Extended Status Register 0x0F是用来显示phy自身能力以及当前状态的寄存器,因此有些值是默认的不能修改的,Link Partner Ability Register 0x05是用来显示连接伙伴能力的寄存器,而最终的协商结果是在Control Register 0x00的6、13 SPEED SELECTION和8 DUPLEX MODE位中的,因此程序中读取phy连接速度时应该读取该寄存器的值,而不是自身能力寄存器的值。海思的uboot中就出现了该错误。

    注意mdio接口是主从接口可以一拖多,所以地址尤为重要,00地址是广播地址,不能使用该地址,uboot mii命令的使用,其可以驱动mdio接口,可以用此来调试phy芯片寄存器!!关于其应用可以在common/cmd_mii.c 文件结尾出看到,或者此博文中http://www.cnblogs.com/pengdonglin137/p/3682637.html

    关于RGMII时序问题,rgmii的发送和接收时钟一直是125Mhz,不过在100M和10M模式时,数据的采样频率会延迟一些时钟,因此在mac端的数据要保持一些时钟,否则时序会出错!!

    关于phy芯片的配置,正常情况下phy寄存器因为是mii标准寄存器,所以用原厂自带uboot配置就可以,除非自己调试phy芯片自带的功能,才配置其特殊功能寄存器,比如回环测试等。

    在调试ar8031时可以通过loopback来测试环路是否通,有本地回环测试和远端回环测试,这样分别检查本地和远端回路是否联通,这样很容易发现哪边不通,具体看ar8031手册2.5.2,来通过mii配置寄存器。100M loopback: register 0x0 = 0xA100是错误的应该是6100。

    本地回环测试就是ping自己的ip地址,这样数据就会接收回来。

    远端回环测试

    软件方面注意:需要分两部分来调试:1、phy芯片mii标准寄存器的配置以及phy工作原理,以及主芯片mac部分的寄存器配置和时钟配置是否正确,phy接口配置正确,mdio部分配置是否正确。

    2、详细了解uboot下mac和phy驱动架构。3、在uboot代码中跟踪调试。

    下面介绍uboot-2010.06中hi3531的mac phy驱动架构以及工作流程。

    未完待续。。。。

    http://blog.csdn.net/xiaoaid01/article/details/51104837

  • 相关阅读:
    《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf
    .NET Core中文分词组件jieba.NET Core
    .NET Core 2.0及.NET Standard 2.0
    Visual Studio 2017 通过SSH 调试Linux 上.NET Core
    Visual Studio 2017 ASP.NET Core开发
    Visual Studio 2017正式版离线安装及介绍
    在.NET Core 上运行的 WordPress
    IT人员如何开好站立会议
    puppeteer(二)操作实例——新Web自动化工具更轻巧更简单
    puppeteer(一)环境搭建——新Web自动化工具(同selenium)
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/7944672.html
Copyright © 2011-2022 走看看