zynq如何通过官方提供例程检测phy的硬件是否正常

本人最近在调试uboot的phy芯片两次因为硬件问题导致调试浪费了很多时间由此提供给大家一个测试硬件的方法。

  • 1使用Xilinx sdk 逻辑侧(fpga)提供的(*.hdf)文件创建一个工程。
  • 2创建一个裸机fsbl文件同时创建bsp包;
  • 3创建一个裸机基于已经创建的bsp包的app,选择lwip echo server 如下图选择finish。
  • zynq如何通过官方提供例程检测phy的硬件是否正常_第1张图片
    4、build project 然后选择app上的单机右键选择run as 然后配置加载到开发板 串口打开 等待打印信息
    板子的ip port 和getway
    之后自己添加pc添加对应网段的ip 网关等信息;
    5、使用teltnetl等工具连接board ip 使用串口打印信息提供的port
    连接后输入相应的字符等回得到回显就代表连接成功。

二、采用uboot测试
uboot加载后有提供命令行进行测试读写寄存器
如:
mii info 打印phy寄存器信息
mii device 打印phy 的设备名称
mii read phyaddr phynum 读取phy地址的第几个寄存器
mii write phyaddr phynum data 写
需要注意:
phy 寄存器按页划分,如88e1518phy芯片 切换页的寄存器就是22 (0x16)
如果读取phy地址第0页 第一个寄存器 假设phyaddr = 0
mii write 0 0x16 0x0
mii read 0 1 //这时读取的就是第0页第一个寄存器

如果每个寄存器能够正常读写代表你的mdio 和mdc基本没有问题,需要检测rx tx时钟,mdc是单独的时钟,mdio是管理口。管理口正常后需要继续测试管理口写入的寄存器值是否生效。
1、测试时钟 rx tx
2、测试ps ->phy 端数据口是否有信号,这个需要射频硬件相关人员协助测试。
3、测试phy ->pc 端phy的引脚是否有输出。

你可能感兴趣的:(zynq)