小马拉大车--PS端使用AXI接口享受10G以太网

 在高速数据采集系统中做高速数据传输的接口之一就是10G以太网, 用惯了FPGA直接使用10G以太网,某天突发奇想让ZYNQ的ARM也挂个10G以太网岂不是很有牌面?那本篇介绍如何使用PL的GTH接口给PS扩展出一个10G以太网。

     事先申明,让Cortex-A53来玩儿10G以太网实用价值不大,此功能纯属是来炫技滴。

    首先赛灵思官方已经把轮子造好了,可以移步这里去下载:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/478937213/MPSoC+PS+and+PL+Ethernet+Example+Projects

  下载好后,会看到2019.1/2019.2这两个文件夹,使用对应版本的VIVADO运行里面的TCL指令编译出需要的工程。砖头使用的是VIVADO2020.2,将2019.2的工程升级后实测也是能用的。成功后就像下面这样:

    

图片

    官方工程对应的板子是ZCU102,当然砖头没有这么昂贵的板子啦。这个工程移植到自己的板子上也很Easy。

  1)配置工程的ZYNQMP处理器为自己板子对应型号,之后对着自己的核心板配置好ZYNQMP最小系统,注意此工程PS端的UART引脚和国内大部分的开发板都不一样,此UART是LINUX的控制台终端接口,一定要和自己的板子一致

### Zynq中的PCS和PMA介绍 在Zynq系列器件中,为了实现高速以太网通信功能,通常采用1G/2.5G Ethernet PCS/PMA或SGMII来扩展可编程逻辑(PL)侧的物理层接口能力[^1]。具体来说: #### 物理编码子层(PHY Coding Sublayer, PCS) PCS位于数据链路层与物理层之间,在发送方向上执行并串转换、8B/10B编码等功能;而在接收路径上完成相反操作——即串并变换以及解码等任务。对于Zynq而言,当选用外部PHY设备时,内部集成的MAC可通过MDIO总线对其进行初始化配置。 #### 物理媒体附件子层(Physical Media Attachment, PMA) PMA更加靠近实际传输媒介一侧,主要职责在于把经过PCS处理后的电信号转变为适用于特定载体(比如光纤或是双绞线)上传输的形式。特别是在基于SFP光模块的应用场景下,PMA能够将来自PCS的数据流转化为光学脉冲序列发出,并能对接收到的光线实施光电转化再送至PCS作进一步解析[^2]。 ### 实现方式 针对上述提到的功能需求,Vivado提供了专门设计好的IP Core供开发者调用,以便快速搭建起完整的硬件架构。这些预构建组件不仅简化了开发流程还提高了系统的可靠性。例如,在Block Design视图里加入对应版本的Ethernet PCS/PMA IP实例之后,便可以通过图形界面轻松调整各项参数选项满足项目定制化的要求[^4]。 另外值得注意的是,在某些情况下可能需要手动干预以确保最佳性能表现。如通过命令行工具`ethtool`禁用自动协商机制从而固定连接速率及模式设置,这对于追求稳定性的工业控制领域尤为重要[^3]。 ```bash sudo ethtool -s eth0 autoneg off speed 1000 duplex full ``` 此命令用于设定名为eth0的网络接口不启用自适应协议并且强制指定其运行于全双工状态下的千兆位速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值