Zynq在Linux下axi_ethernet接收正常,发送带宽低问题解决

问题:
        1、Linux下axi_ethernet网速测试,iperf显示zynq作server时带宽正常,作client时带宽极低。        

        2、ping小包可以通,但ping大包丢包率高。

分析:
        作server时正常说明接收正常,作client时带宽低说明发送端存在问题。追溯到硬件配置发现是时钟问题。遇到第一例是给zynq的33.333MHz晶振换成了33MHz晶振,导致跑千兆时实际的tx_clk偏离125MHz太多,从而导致了对端接收不稳的情况。第二例是复旦微Zynq配置问题,跑千兆时在Vivado上配置PS给PL的一路输出时钟为125MHz,将该125MHz时钟送入axi_ethernet,但是导入procise后tx_clk频率发生了变化,实际值偏离125MHz比较大,出现了网络发送带宽低的问题。总之,该问题统一起来就是由于发送时钟偏离125MHz太多导致的。

解决:
        1、PS端33.333MHz晶振一定要使用正确

        2、开发复旦微时,将Vivado工程导入Procise后要检查一遍所生成的时钟,是否跟自己需要的频率相对应,如果偏离太远需要手动调整或者选择其他策略。复旦微Zynq生成100的整数倍频率是比较准的,可以将其引出后再由PL端锁相环变频获得自己所需的频率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值