前两天公司做了个新板子,ZYNQ7035+RTL8211E,拿给我测,于是写逻辑代码测试一下数据回环,没想到电脑端网络适配器一直显示是百兆网。查了多方原因,差点想手动配置寄存器了,但是想想又觉得不对,FPGA逻辑驱动以太网PHY芯片是不用配置寄存器的,只要PHY芯片外部引脚上下拉正常就行。于是我一个写代码的查起了硬件,果然,PHY芯片1.05V电压输出端有个电感,变成磁珠了,这肯定不行啊,虽然电压是稳定的,但是磁珠电流太小,遂换成2.2uh电感,顺利解决问题。电脑终于协商为千兆网了。(做硬件的一定要仔细啊)原理图局部如下:就是图中的BF15磁珠换成2.2uh电感。 类似的,大家做硬件一定要检查
最近调试了一个硬件千兆以太PHY的问题,记录一下。问题现象描述:两块Atlas200板卡,上电后,ping不通,但是插网线连接电脑的话,电脑能识别这个网卡,所以感觉还是MAC和PHY之间的通信出了问题。一块板卡用的是RTL8211,另一块是YT8521SH,两个PHY芯片是封装完全兼容的。 实施步骤:1.先测量外部的25Mhz晶振,正常 2.测量PHY芯片的核压,1V/1.2V,正常.顺便说一下,这个核压是一个DC-DC电路,外部的的电感和电容需靠近芯片布局,否则会出现电压不正常现象。 3.接口为1.8V,不正常,经过排查发现是配置电压不对,修改后正常。心得:之
在使用ZYNQ或者FMQL的以太网时都需要在VivadoBD中勾选Enet0/1,最好也勾选上UART0/1。如果就使用这两个外设就可是直接生成bit然后导出硬件启动SDK了。SDK建立工程中有以太网相关的工程,选用最简单的即可如下图。使用这个工程除了选Enet还要选用串口,否则工程无法建立。建立工程后进入工程main函数,可配置物理地址,取消DHCP可配置IP地址,,如下图。若新板卡硬件设计和制板没问题,就这个程序运行后,可用PC端ping通该板卡。这就是最简单判断以太网是否正常的例子。若通讯异常可单步调试该工程首先排查MDIO是否正常。该工程首先会遍历MDIO地址从0-31依次扫描。然后再
PMA和PCS模块用于处理PHYpackets。PMA:PhysicalMediumAttachmentPMA在串行通道上接收和传输高速串行数据,串行化/去串行化、时钟数据恢复等功能,以及连续时间线性均衡器(CTLE)、判决反馈均衡器(DFE)和传输均衡等模拟前端功能。。PCS:PhysicalCodingSublayerPCS充当PMA和PCIe控制器之间的接口,并执行数据编码和解码、加扰和解扰、块同步等功能。参考资料:1.F-TileAvalon®StreamingIntel®FPGAIPforPCIExpress*UserGuide2.ProposalforanInitialdrafto
目录1、前言2、我这里已有的UDP方案3、详细设计方案4、vivado工程详解5、上板调试验证并演示6、福利:工程代码的获取1、前言目前网上的fpga实现udp基本生态如下:1:verilog编写的udp收发器,但不带ping功能,这样的代码功能正常也能用,但不带ping功能基本就是废物,在实际项目中不会用这样的代码,试想,多机互联,出现了问题,你的网卡都不带ping功能,连基本的问题排查机制都不具备,这样的代码谁敢用?2:带ping功能的udp收发器,代码优秀也好用,但基本不开源,不会提供源码给你,这样的代码也有不足,那就是出了问题不知道怎么排查,毕竟你没有源码,无可奈何;3:使用了Xili
什么是GTHGTH是XilinxUltraScale系列FPGA上高速收发器的一种类型,本质上和其它名称如GTP,GTX等只是器件类型不同、速率有差异;GTH最低速率在500Mbps,最高在16GbpsCoaXpressHost/DeviceIP均需要用到厂商的GT收发器模块,因此这里写一篇笔记作为开发记录GTH的特性physicalcodingsublayer(PCS)是Xilinx高速收发器的最顶层.PCS(PhysicalCodingSublayer)层是数据链路层中的一个子层,位于物理层和MAC(MediaAccessControl)层之间。它是在数据链路层中的一个组成部分,用于实现物
PHY芯片IP101GR文章目录PHY芯片IP101GR1.预备知识2.IP101GR简介3.IP101GR基于RMII接口的PCB设计重点解析3.1时钟设置3.2.led灯设计3.3.PHY芯片地址设置4.pcb设计5.寄存器描述6.附加:IP101GR和GD32F450引脚连接情况1.预备知识接上文《GD32F450以太网(1):ETH外设接口简介》介绍了嵌入式以太网接口。《GD32F450以太网(2-1):PHY芯片LAN8720A介绍》介绍了LAN8720A本文介绍另外一款PHY芯片IP101GR,支持MII接口或RMII接口,可代替市场上LAN8710A/LAN8720A/KSZ80
CAN总线和RS-485总线作为常用的工业通信总线,在许多工业领域中得到广泛使用。但随着工业应用的不断扩展和网络化的需求增加,它们面临着一些局限性。例如CAN总线虽然具有较高的通信速率和可靠性,但存在节点数量受限、数据传输距离短等问题。而RS-485总线虽然具有较长的传输距离和大量节点的优势,但通信速率较低、实时性差等问题。因此,寻找新的总线技术来升级已经成为当今的趋势之一。前言如今的网络芯片越来越便宜,单片机性能逐步提高,嵌入式终端设备网路化是趋势。长期以来,作为汽车“神经系统”的CAN总线技术曾是汽车厂商宣传的技术亮点。然而,随着汽车科技、尤其是汽车电子科技的发展,现有的汽车“神经系统”难
MIPI:即移动产业处理器接口(MobileIndustryProcessorInterface简称MIPI)联盟;是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。CSI:MIPI-CSI-2协议是MIPI联盟协议的子协议,专门针对摄像头芯片的接口而设计,目前CSI协议有两个版本协议,分别为CSI-2和CSI-3;CSI-2物理标准有两个,分别为C-PHY和D-PHY;CSI-3协议的物理标准对应M-PHY,且应用层协议栈还需要连接Uni-Pro层,属于高速Serdes范畴,应用不那么广泛。DPHY:具有时钟线,源同步系统,一般是1/2/4对差分数据线,电流驱动型,单信号幅度一般
1.Linux系统网络协议层架构网络协议框架图:网络子系统是linux操作系统里很重要的一部分。关于这部分有很多的参考资料。这里主要说明一下phy芯片在整个子系统里的位置。从这个结构里看到,PHY驱动的功能处于链路层。以太网物理层与硬件连接从软件角度,对phy芯片的控制主要包括二部分:1)与MAC设备的接口,即是gmii还是rgmii。2)Phy芯片的地址正确配置,可以通过mdio/mdc正确访问到phy芯片的寄存器。2.链路层与Linux网络设备管理Linux网络设备系统包括设备与驱动二大部分。网络设备驱动包括MAC层的驱动、MDIO总结接口驱动与phy驱动。结合linux系统设备树定义以及