1.phyԴ??
2.ZYNQ+linuxç½å£è°è¯ç¬è®°ï¼3ï¼PL-ETH
3.mipi协议的dphy、cphy有什么区别?
4.FPGA千兆网 UDP 网络视频传输,基于RTL8211 PHY实现,提供工程和QT上位机源码加技术支持
5.xilinx MIPI csi2 Rx FPGA verilog源码与架构分析
phyԴ??
FPGA 高端项目:基于 SGMII 接口的 UDP 协议栈,提供2套工程源码和技术支持
前言:
在实现 UDP 协议栈的过程中,网上有许多可用的coturn 源码分析资源,但大多存在一些局限性,如功能不全面、缺乏源码或难以进行问题排查。本设计旨在填补这一空白,提供一个完整的、功能全面的 UDP 协议栈,以及可移植性强、适用于多种 FPGA 器件和开发环境的源码。
核心内容:
- **纯 verilog 实现**:本设计完全使用 verilog 语言编写,未依赖任何 IP 核,包括 FIFO 和 RAM 等,做源码资本违法吗确保了协议栈的可移植性和自定义性。
- **源码和技术支持**:提供针对市面上主流 SGMII 接口的 PHY 芯片的两个 Vivado .2 版本的工程源码。
- **稳定性与可靠性**:经过大量测试的稳定可靠性能,可直接应用于项目中,适用于学生、研究生和在职工程师的开发需求。
- **适用范围**:适用于医疗、军工等行业的app短视频解析源码数字通信领域,支持多种 FPGA 器件和开发工具。
- **开源与版权**:提供完整的工程源码和技术支持,遵循个人学习和研究使用规定,禁止用于商业用途。
工程源码与技术支持:
工程源码分为两套,分别针对不同型号的 FPGA 和 PHY 芯片,适用于 Xilinx 和 Altera 等主要 FPGA 平台。提供详细的小程序橙子办公源码安装和移植指南,以及网络调试助手工具的使用说明。
性能亮点:
- **移植性**:纯 verilog 实现,无 IP 依赖,易于移植到不同 FPGA 平台。
- **适应性**:兼容多种 PHY 接口类型,包括 MII、GMII、RGMII、财务主图背景源码SGMII 等。
- **高性能**:最高支持 G 速率,适用于不同网络需求。
- **动态 ARP**:支持动态 ARP 功能,提高了网络通信的可靠性和效率。
详细设计方案:
设计采用两块 FPGA 板卡,分别搭载 DPISRGZ 和 E PHY 芯片,实现 SGMII 数据流的高效传输。通过一系列硬件组件(包括网络调试助手、PHY、FPGA 板卡等)的协同工作,实现数据的回环测试,确保协议栈的正确性和稳定性。
移植与调试:
提供详细的移植指南,包括不同 FPGA 型号和 Vivado 版本的适应策略。上板调试流程简单明了,包含准备工作、连接步骤和验证方法,确保用户能够顺利进行实际应用。
获取方式:
工程源码和相关文档以网盘链接形式提供,用户可自行下载使用。遵循版权规定,仅限个人学习和研究目的。如有任何疑问或需要进一步技术支持,可通过私信或评论方式与博主联系。
总结:
本项目旨在提供一个高度可移植、功能全面的 UDP 协议栈,以及丰富的源码和技术支持,旨在满足不同行业和领域对高效网络通信的需求。通过提供稳定可靠的工程源码和详细的移植指南,我们旨在简化开发流程,缩短项目周期,为开发者提供有力的技术支持。
ZYNQ+linuxç½å£è°è¯ç¬è®°ï¼3ï¼PL-ETH
å¨ZYNQä¸ä½¿ç¨gigE Visionåè®®çç½ç»æ¥å£ç¸æºã
第ä¸æ¥ï¼è°éPS侧ç½å£GEM0ï¼Xilinx BSPé»è®¤é 好ï¼ã
第äºæ¥ï¼è°éPS侧ç½å£GEM1ï¼è§åä¸ç¯ææ¡£ï¼å¼åç¬è®°(1)ï¼ã
第ä¸æ¥ï¼è°éPL侧ç½å£ï¼æ¬æéè¿°ï¼ã
第åæ¥ï¼å¨PL侧ç½å£ä¸éªè¯Jumbo Frameç¹æ§ï¼å¹¶å¨åºç¨å±éé gigE Visionåè®®ã
æ ¹æ®ãxappãå¯ç¥ï¼PL侧çPHYæ¯æBase-XåSGMII两ç§é ç½®ï¼è¿ä¸¤ç§é 置对åºä¸¤ç§ä¸åçPHYå¼èæ¥å£ï¼è¿æ¥å°MACï¼ãèæ们çhdfæ件使ç¨çæ¯Base-Xçé ç½®ã
å ³äºç½å£çLinux驱å¨ï¼æ们å¨å®ç½æ¾å°ä¸ä»½èµæï¼ Xilinx Wiki - Zynq PL Ethernet ãèµæå¾é¿ï¼æ们åªçä¸æ们ç¸å ³ç2.4.1 PL Ethernet BSP installation for Base-Xâè¿ä¸ç« èå°±å¯ä»¥äºã
é¦å å¯¼å ¥FPGA设计åäºæä¾çhdfæ件ï¼
å¨å¼¹åºçå¾å½¢çé¢éï¼è¿å ¥Subsystem AUTO Hardware SettingsââEthernet SettingsââPrimary Ethernetï¼ç¡®è®¤å¯ä»¥çå°PL侧ç½ç»è®¾å¤axi_ethernet_0ï¼è¯´æhdfæ件éå·²å å«äºå¿ è¦çç½å£ç¡¬ä»¶ä¿¡æ¯ï¼
ä¸å¾ä¸è¢«éä¸çç½å£å°æ为Linuxä¸ç设å¤eth0ãè¿éæ们é»è®¤éæ©ps7_ethernet_0ï¼å³ä½¿ç¨GEM0ä½ä¸ºé¦éç½å£ã
å¯ç¨Xilinx AXI Ethernet驱å¨
è¿å ¥Device Drivers -- Network device support â éä¸Xilinx AXI Ethernetï¼ä»¥åXilinx Ethernet GEMï¼è¿æ¯PS侧ç½å£ç驱å¨ï¼
è¿å ¥Networking support â éä¸ Random ethaddr if unset
è¿å ¥Device Drivers -- Network device support -- PHY Device support and infrastructure â å¯ç¨Drivers for xilinx PHYs
è¿å ¥~~~~Device Drivers -- DMA Engine Support -â ç¦ç¨~~~~Xilinx AXI DMAS Engine~~~ ï¼å¯¹åºçé 置项å为 ~~ CONFIG_XILINX_DMA ~~~ï¼
注æï¼ Xilinx Wikié对设å¤æ èç¹çå¼ç¨æ误ï¼&axi_ethernetï¼ï¼å¯¼è´ç¼è¯æ¥éï¼åºæ¹ä¸º&axi_ethernet_0ã
注ï¼PL-ETH驱å¨æå¨è·¯å¾ï¼<project>/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/xilinx_axienet_main.cåxilinx_axienet_mdio.cã对åºçå æ ¸é 置项为CONFIG_NET_VENDOR_XILINXåCONFIG_XILINX_AXI_EMACã
å¯ç¨ethtoolåtcpdumpï¼è°è¯ç¨ï¼éå¿ é¡»ï¼ï¼
ç¶åå°çæçBOOT.BINåimage.ubæ·è´å°SDå¡æ ¹ç®å½ä¸ï¼å°SDå¡æå ¥æ¿åä¸ï¼ä¸çµè¿è¡ã
ä¸çµåï¼ä½¿ç¨ifconfig eth1æ¥çç½å£ä¿¡æ¯ï¼è§å¯MACå°åä¸è®¾ç½®çä¸è´ï¼ä¸ifconfig eth1 ..1. up没ææ¥éã
æµè¯ç½ç»éè·¯ï¼ping PCæ¯éçã说æç½å£å·¥ä½æ£å¸¸ã
Linuxä¸eth1ï¼å³PL-ETHï¼çMACå°åæ误
é®é¢æè¿°ï¼
å¼æºæå°ï¼
注æï¼
MACå°åæ¯éçï¼é©±å¨é解æåºçæ¯GEM0çMACå°åã
è¯éªåç°ï¼å³ä½¿å¨system-user.dtsiéä¸ålocal-mac-addressï¼ä¹ç §æ ·è§£æåºçæ¯GEM0çMACã
èå°system-user.dtsiéçlocal-mac-addressæ¹å为pl-mac-addressï¼å¹¶å°é©±å¨é解æçå符串ä¹å¯¹åºæ´æ¹ä¸ºpl-mac-addressï¼åå¯ä»¥æ£ç¡®è§£æåºæ¥ï¼
Passing MAC address to kernel via Device Tree Blob and U-Bootï¼
/support/answers/.html
U-Bootéçç¯å¢åéethaddrä¼è¦çæ设å¤æ épl-ethçlocal-mac-addrå段ï¼ä»èå½±åLinuxå¯å¨åçç½å¡MACå°åï¼
ä½U-Bootéçç¯å¢åéipaddrä¸ä¼å¯¹Linuxå¯å¨åçé 置产çä»»ä½å½±åãå 为设å¤æ éæ ¹æ¬å°±æ²¡æå ³äºIPå°åçé ç½®ã
phy-modeæä¹ä¼æ¯sgmiiï¼æ¥äºä¸å®æ¹çæä¾çBSPéï¼ä¹æ¯âsgmiiâã说æè¿ä¸ªæ²¡é®é¢ãå ·ä½åå ä¸æ¸ æ¥ã
@TODO: 设å¤æ éçä¸æå·ç顺åºå¦ä½å½±ååè½ï¼
为ä½è¯»åºæ¥çIRQå·ä¸å¯¹å¢ï¼è¿æ¯å 为è¿é读å°çä¸æ¯ç¡¬ä»¶çä¸æå·ï¼èæ¯ç»è¿ç³»ç»æ å°ä¹åç软件IRQ numberã两è ä¸å ·æ线æ§å ³ç³»ã
å ³äºä¸æå·ççé®ï¼
Linuxä¸çç½å£eth0ãeth1ç顺åºï¼ä¼¼ä¹æ¯æç §phyå°åä»å°å°å¤§æ¥æå¸çã
Xilinx xapp-zynq-eth.pdf (v5.0) July ,
/support/documentation/application_notes/xapp-zynq-eth.pdf
Xilinx Wiki - Zynq PL Ethernet:
/iTnrE1y...:mipi_csi2_ctrl verilog源码
- <a href="wwp.lanzoue.com/iyxll1y...:mipi dphy verilog源码
欢迎加入社区,共同探讨与解决开发过程中的问题,促进MIPI csi2 Rx技术的应用与发展。