高速接口
文章平均质量分 89
高速接口系列
Sterne365
人道洛阳花似锦,偏我来时不逢春
展开
-
基于FPGA的以太网设计(六)
TCP是面向连接的协议,它在传输数据之前需要建立连接(三次握手),并在数据传输完成后关闭连接(四次挥手)。这种连接是全双工的,即数据可以在两个方向上同时传输。UDP则是无连接的协议,它不需要建立或关闭连接,发送方可以直接发送数据报,接收方也可以随时接收数据报。TCP提供可靠的传输服务。它使用确认和重传机制来确保数据正确、完整、有序地到达目的地。TCP还通过流量控制和拥塞控制机制来防止网络过载。UDP则提供不可靠的传输服务。它不检查数据包的顺序、错误或重传。原创 2024-10-19 19:30:39 · 1134 阅读 · 0 评论 -
基于FPGA的以太网设计(五)
之前简单介绍并实现了ARP协议,今天简单介绍一下IP协议和ICMP协议。原创 2024-10-18 17:12:08 · 1276 阅读 · 0 评论 -
基于FPGA的以太网设计(四)
ARP(Address Resolution Protocol),即地址解析协议,是根据IP地址(逻辑地址)获取MAC地址的一种TCP/IP协议。在以太网通信中,数据是以“帧”的格式进行传输的,帧格式里面包含目的主机的MAC地址。源主机的应用程序知道目的主机的IP地址,却不知道目的主机的MAC地址。而目的主机的MAC地址直接被网卡接收和解析,当解析到目的MAC地址非本地MAC地址时,则直接丢弃该包数据,因此在通信前需要先获得目的MAC地址,而ARP协议正是实现了此功能。原创 2024-10-16 22:37:15 · 1303 阅读 · 0 评论 -
基于FPGA的以太网设计(二)
前文讲述了以太网的一些相关知识,本文将详细讲解以太网的硬件架构以太网的电路架构一般由MAC、PHY、变压器、RJ45和传输介质PHY,即物理层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。简单来讲,就是PHY芯片决定了电信号光信号如何传输。PHY主要是个模拟芯片,我们只要稍微了解一下就行。原创 2024-10-11 15:46:32 · 3396 阅读 · 0 评论 -
基于FPGA的以太网设计(一)
以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问控制的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如令牌环、FDDI和ARCNET。以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用交换机(Switch hub)来进行网络连接和组织。如此一来,以太网的拓扑结构就成了星型。原创 2024-10-11 13:45:59 · 1185 阅读 · 0 评论 -
基于FPGA的GTX回环HDMI传输
整个工程可以分成三个部分:HDMI驱动模块、数据传输模块和数据缓存模块,其中HDMI驱动模块与数据缓存模块在前面都验证过,今天着重讲解一下数据传输模块。video_decode则用于对接收数据进行解码,将对齐的过后的编码数据通过异步FIFO进行缓冲,把32位的编码数据转换成相应的rgb565的图像数据,当检测到帧同步信号(32'h55_00_00_bc、32'h55_00_01_bc)和帧结束信 号(32'h55_00_06_bc,32'h55_00_07_bc),会去恢复出vsync信号上升和下降沿。原创 2024-10-10 20:36:25 · 1575 阅读 · 0 评论 -
基于FPGA的ov5640摄像头图像采集(二)
之前讲过ov5640摄像头图像采集,但是只包了的摄像头驱动与数据对齐两部分,但是由于摄像头输入的像素时钟与HDMI输出的驱动时钟并不相同,所有需要利用DDR3来将像素数据进行缓存再将像素数据从DDR3中读出,对DDR3的读写参考米联客的IP,可以高效的实现对DDR3的读写。需要注意的是利用clk_wiz ip来生成期望的时钟信号时,需要将ip核的输入时钟来源设置为Global类型,不然可能会产生如下图所示的报错。工程主要包括摄像头驱动模块、数据对齐模块、数据存储模块和HDMI驱动模块。原创 2024-10-07 15:14:43 · 716 阅读 · 0 评论 -
DDR3AXI4接口读写仿真
然后就是本次仿真最头疼也是最简单的问题,如下图所示,其他错误改正后可以进行仿真,但是我的s_axi_awready信号总是在s_axi_awvalid拉高的同时马上拉低,导致写地址通道不能完成握手,困扰我两天半后终于让我发现了问题,问题也很简单,读写控制模块中的复位信号是由MIG ip核输出的,而这个复位信号是高电平有效信号,我平时用的都是低电平复位信号,因此才会出现这种问题,浪费了好长时间,希望自己以后可以仔细一点,同时以后一定要搞清楚每个信号的来源和作用,防止这种错误再发生。原创 2024-09-14 16:04:39 · 1279 阅读 · 0 评论 -
MIG IP核详解
IP核是Xilinx公司针对DDR存储器开发的 IP,里面集成存储器控制模块,实现DDR读写操作的控制流程,下图是7系列的 MIG IP 核结构框图。MIG IP 核对外分出了两组接口。左侧是用户接口,就是用户(FPGA)同 MIG 交互的接口,用户只有充分掌握了这些接口才能操作MIG。右侧为DDR物理芯片接口,负责产生具体的操作时序,并直接操作芯片管脚。这一侧用户只负责分配正确的管脚,其他不用关心。原创 2024-09-01 09:52:41 · 2238 阅读 · 0 评论 -
DDR3详解
DDR3 SDRAM,全称第三代双倍速率同步动态随机存取存储器,简称 DDR3,双倍速率(double-data-rate),是指时钟的上升沿和下降沿都发生数据传输;同步,是指DDR3数据的读取写入是按的;动态,是指DDR3中的数据掉电无法保存,且需要周期性的刷新,才能保持数据;随机,是指可以随机操作任一地址的数据。DDR3是当今较为常见的一种储存器,在计算机及嵌入式产品中得到广泛应用,特别是应用在涉及到大量数据交互的场合,比如电脑的内存条。其具有以下特点:1.掉电无法保存数据,需要周期性的刷新。原创 2024-08-31 14:03:57 · 4065 阅读 · 0 评论 -
ibert ip核测试
串行信号的抖动,反映在时域上,信号的稳定时间会变小,眼图宽度会变窄;信号的噪声,反映在信号幅度上,眼图高度变小。SFP/SFP+/QSFP最关键的区别在于速率上的区别,这是因为使用的协议不同,SFP是基于IEEE802.3和SFF-8472,传输速率能够达到4.25 Gbps,SFP+规范是基于SFF-8431最高传输速率可以达到16Gbps,相较SFP和SFP+的1路收发通路,QSFP和QSFP+增加到了4路,也就是数据速率提高4倍,如下所示光模块协议发展到不同过程中一些版本的速率和接口类型。原创 2024-08-13 17:26:54 · 1347 阅读 · 0 评论 -
高速收发器(四)
由此处可知,可以在一个IP中勾选多个通道,这种方式也行,但是更加常用的方法是生成单通道的IP,需要使用多通道时,多次例化该IP即可,这也是为什么需要把QPLL放在IP外部,防止将QPLL多次例化。此界面中的GT Type是固定的,我用的是K7的板子,因此固定就是GTX,而红框中的部分就是需要我们设置的,通过前面的学习,我们已经知道一个Qaud只有一个QPLL,红框中的上面一个选项表示将QPLL的控制放在IP的内部,用户不能自行控制,而下面一个选项表示将QPLL的代码放在IP核外面,方便后续扩展收发通道。原创 2024-08-11 16:58:08 · 1468 阅读 · 0 评论 -
高速收发器(三)
8b/10b编码解码是高速串行通信,如PCIe、SATA(串行ATA),以及Fiber Channel中常用的编解码方式。在发送端,编码电路将串行输入的8比特一组的数据转变成为10比特一组的数据并输出;在接收端,解码器将10比特一组的输入数据转变成8比特一组的输出数据。编码和解码均采用一样的算法,整个过程就是8b/10b编码/解码过程。这种编码方式中的0-1、1-0跳变丰富,0和1分布均匀,不会出现长连0和长连1的情况。原创 2024-08-06 16:49:15 · 1062 阅读 · 0 评论 -
高速收发器(二)
1.发送通道TX框图如下所示:各部分的功能分别如下:1.1 FPGA TX InterfaceFPGA的TX接口是FPGA到GTX/GTH收发器的TX数据路径的网关。应用程序通过将数据写入TXUSRCLK2正边的TXDATA端口,通过GTX/GTH收发器传输数据。端口宽度可配置为2字节、4字节或8字节。端口的实际宽度取决于TX_DATA_WIDTH和TX_INT_DATAWIDTH属性和TX8B10BEN端口设置。端口宽度支持16位、20位、32位、40位、64位和80位。接口上并行时钟原创 2024-08-05 17:31:06 · 1168 阅读 · 0 评论 -
高速收发器(一)
首先我们知道信号的传输经历了串行到并行再到串行的发展历程,由于并行传输的传输距离有限,误码率高等缺点,现在的通信方式一般都采用串行传输,但FPGA中产生处理的一般都是并行信号,因此人们提出来SERDES技术,即串行解串,通过该技术将待发送的并行信号转化为串行信号,接收的时候再将串行信号转化为并行信号,从而实现高速串行通信。如下图所示,差分时钟进入FPGA之后,先经过IBUFDS_GTE2转换为单端时钟,然后作为QPLL或者CPLL的时钟输入,QPLL或者CPLL的输出时钟作为发送和接收部分的时钟信号。原创 2024-08-02 16:58:14 · 1390 阅读 · 0 评论
分享