『FPGA通信接口』汇总目录

在这里插入图片描述

Welcome

大家好,欢迎来到瑾芳玉洁的博客!
😑励志开源分享诗和代码,三餐却无汤,顿顿都被噎。
😭有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩,不出意外被敷衍、被唾弃、被埋在了垃圾堆。
🙂喜欢舞文弄墨咬文嚼字的混沌世界,懵懂无知走上了工科直男01的不归路。
😎八十公斤的体重勉强与大鹏一日同风起的浮力动态平衡,做不到宠辱不惊无欲无求的匀速直线运动,就按部就班的小波浪式前进,螺旋式蠕动。
<🤵🤵🤵我是专注于FPGA领域的工程师!我就是我,一个没有颜色的错过的烟火,一个立志成为**CSDN TOP100**的黑铁FPGA选手!👌✌哦耶~~~

知识架构

在这里插入图片描述

前言

成为一名高级的FPGA工程师需要具备广泛的知识面,且有一定的深度。从原理角度需熟悉数字电路原理、模拟电路,电路原理,了解FPGA内部结构;从开发语言角度需熟悉verilog、VHDL硬件描述语言,以及时兴的systemverilog,并掌握一些经典的示例;从开发工具的角度需熟悉vivado、Quartus II等FPGA开发环境,subline4、vs code等文本编辑器,modelsim、matlab等仿真工具;从接口的角度,熟悉常见的低速通信接口如UART、SPI、IIC等,熟悉常见的高速接口如USB3.0,千兆网口,DDR3等是必备素养。从进阶的角度,需学习时序约束的原理与如何让时序收敛的方法,需学习FPGA大型项目模块划分如何顶层设计。此外,最近几年又兴起的以Xilinx ZYNQ和ZYNQ Ultrasacle+系列为代表的异构处理芯片,集成了ARM与FPGA在一颗芯片上,与他相关的又涉及他的工具,开发流程等内容。我的计划是在博客中分享、记录在FPGA进阶路上的收获,以FPGA内容为主,而其他内容包括Qt,matlab、python,C/C++的内容都是以助力FPGA开发,提升学习办公效率为主要目的。FPGA内容大体包括以下方面:工具、语言、基础理论知识、内部结构知识、xilinx的官方资料解读、常见通信接口、高速通信接口等内容。进阶篇,讲述相对复杂的时序约束,工具使用的进阶,以及基于基础篇通信接口测试的实用的小项目。前路漫漫亦灿灿,往事堪堪亦澜澜,任重道远,行则将至!
本文作为FPGA通信接口专栏的第一篇文章,简要介绍该内容在整体架构中的位置,即数据在以FPGA为核心的系统中流通,是成为中级FPGA工程师的必经之路。介绍通信接口包含的内容主要分为以下几类。一是传统的串行通信接口如UART、IIC、SPI等,二是以太网通信接口包括了两种千兆网口的实现方式,万兆以太网的实现等,三是基于GTx的光口通信高速的serdes接口,四是图像采集显示相关的接口包括了RGB、DVP、LVDS,MIPI等,五是不管是消费领域还是工业场景常见的USB3.0接口。所有的项目提供经过验证之后的源码,为读者提供学习例程或者为大项目的开发提供“封装”好的接口驱动。尽可能做到过程详尽,实用于实战,并会写一些实战过程中解决问题的经验。

系列文章目录

📖Part1:串行通信接口
    传统的串行通信接口是一种通过逐位传输数据的通信方式,与并行通信接口相比,>>串行通信接口能够减少数据传输线路的数量,从而节省成本和空间。常见的有RS-232,RS-485,SPI,UART,IIC等,这些传统的串行通信接口在各种应用中广泛使用,例如通信设备、工业控制系统、嵌入式系统等领域。它们提供了简单、可靠的数据传输方式,适用于许多不同的场景。

    🎈第一篇文章串行通信接口 UART
    简介:介绍常见的传统串行通信接口,UART通信协议内容,提供FPGA源码.
    🎈第二篇文章串行通信接口 SPI
    简介:介绍传统串行通信接口SPI协议内容,四种模式,代码设计,实战应用。提供FPGA源码工程.
    🎈第三篇文章串行通信接口 IIC(1)接口协议
    简介:介绍传统串行通信接口IIC协议内容,消息类型,接口时序,读写过程,并提供仿真分析及源码.
    🎈第四篇文章串行通信接口 IIC(2)EEPROM读写
    简介:以AC24C04为例,介绍使用IIC控制器读写EEPROM,提供仿真分析和工程源码
    🎈第五篇文章串行通信接口-Modbus通信
    简介:介绍Modbus协议模型,网络拓扑,寄存器与对应的功能码,搭建实验环境,介绍FPGA实现。
    规划中:SPI读写FLASH,敬请期待🤪~~

📖Part2:Double Date Rate DDR
    在FPGA开发中,集成DDR3和DDR4存储器模块是常见的需求,DDR在FPGA开发中扮演着存储数据、数据传输、加速算法、缓存和实现高性能应用等重要角色,为FPGA应用的设计和开发提供了强大的支持。当前应用最多的是DDR3和DDR4,使用二者的颗粒或者内存条在配置上有些不同,从认识DDR开始,到学会DDR的使用结束。

    🎈第一篇文章DDR(1) 什么是DDR?
    简介:认识DDR,简要梳理SDRAM到DDR的发展历程,总结DDR作用,以镁光颗粒为例介绍DDR内部结构,引脚作用等.
    🎈第二篇文章DDR(2) MIG IP核FPGA与DDR的完美融合
    简介:介绍xilinx MIG IP核的接口信号,接口时序,以及IP配置.
    🎈第三篇文章DDR(3) DDR3颗粒读写测试
    简介:介绍DDR3颗粒测试项目与测试策略,给出测试程序分析和测试结果分析,是用好DDR的必经之路。
    🎈第四篇文章DDR(4)DDR3内存条SODIMMs读写测试
    简介:介绍DDR3内存条与颗粒不同的配置,提供了测试代码,介绍了DDR乒乓缓存的思想。
    🎈第五篇文章DDR(5)DDR4颗粒读写测试
    简介:介绍DDR4颗粒测试时IP核配置,测试代码以及自定义颗粒类型。
    规划中:DDR4内存条读写🤪用于实战的DDR多通道🤪~~

📖Part3:图像采集显示接口
    用各种算法对FPGA采集到的图像数据处理,或者对系统处理之后的结果、系统运行时的状态进行显示是FPGA领域常见的两种应用。前者的首要任务是FPGA完成图像数据采集为后续处理提供平台,涉及图像采集类接口如DVP、LVDS、sub-LVDS、MIPI-CSI等;后者涉及RGB、VGA、HDMI、MIPI-DSI、DP等视频显示接口。认识接口之间的优缺点,掌握各个接口的实现方法,会在做系统方案、器件选型时游刃有余。

    🎈第一篇文章图像显示(1)RGB接口
    简介:介绍TFT、LCD、VGA的概念与相互关系;介绍并实现RGB接口时序完成TFT显示。
    🎈第二篇文章图像显示(2)VGA接口
    简介:FPGA驱动VGA接口显示1024*768@60Hz彩条图像到带VGA接口的显示屏,对应有工程源码。
    🎈第三篇文章图像显示(3)HDMI接口
    简介:介绍了HDMI相关的概念和特点,模拟了一个小项目场景,分步骤介绍如何实现,并附带源代码。
    🎈第四篇文章图像显示(4)LVDS接口
    简介:介绍RGB接口到LVDS显示接口的转换方法,并据此点亮LVDS屏幕,提供源码。
    规划中:MIPI采集正在规划中🤪~~

📖Part4:LVDS接口
    LVDS(Low Voltage Differential Signaling)是一种低电压差分信号传输技术,具有抗干扰能力强、传输速率高等优点。在FPGA中实现LVDS收发功能可以通过编程配置FPGA内部的逻辑单元和连接来实现LVDS信号的传输和接收,从而实现高速、稳定的数据通信。比起传统接口LVDS具有将近1Gbps的高速率,比起serdes接口他不要很复杂的物理结构做支撑,因此LVDS是非常重要的接口,仍然活跃在多个领域。

    🎈第一篇文章LVDS接口(1)什么是LVDS?
    简介:介绍LVDS接口,认识LVDS传输模型,说明LVDS与图像传输与serdes接口的关系。
    🎈第二篇文章LVDS接口(2)硬件设计
    简介:介绍LVDS原理,介绍Xilinx器件对于LVDS的支持,介绍PCB布线LVDS信号遵循的原则。
    🎈第三篇文章LVDS接口(3)LVDS发送端设计
    简介:介绍RGB接口到LVDS显示接口的转换方法,并据此点亮LVDS屏幕,提供源码。
    🎈第四篇文章LVDS接口(4)LVDS接收端设计
    简介:介绍实现LVDS接收端的相关概念以及实现思路。
    规划中:LVDS实战应用正在规划中🤪~~

📖Part5:UDP网口
    FPGA实现UDP接口通信主要工作在传输层、网络层、数据链路层和物理层上。 物理层主要功能为实现物理信号的接入 ,高速数据的串化 、解串,以及64B/66B编码等。数据链路层主要功能为实现介质无关接口 (MII) 的连接,链路数据检错等功能。 网络层的逻辑模块用于实现IP 、 ARP协议解析功能。传输层的逻辑模块实现 UDP 协议解析功能。不同层放在不同位置的组合组成了不同的实现方案,本系列将一一介绍,并推出协议栈,方便使用。

    🎈第一篇文章UDP网口(1)概述
    简介:介绍计算机网络与FPGA实现UDP网口之间的关系,概述当前梳理的几种实现UDP通信的方案。
    🎈第二篇文章UDP网口(2)逻辑组包(上)
    简介:用FPGA自己组包的方式实现ARP协议和UDP协议,创建一个数据环回应用,将各模块接口做好,便于后续开发。
    🎈第三篇文章UDP网口(3)逻辑组包(下)
    简介:介绍FPGA实现UDP网口组包是ARP工程、UDP收发验证的思路。
    🎈第四篇文章UDP网口(4)ROM存储网口转发Qt显示
    简介:将存储在FPGA片上BlockRAM中的图片数据通过网口传输到上位机显示,是UDP网口通信的应用,涉及ROM IP、千兆以太网口、winSocket编程、多线程等多种知识
    🎈第五篇文章UDP网口(5)TEMAC IP核组包
    简介:构建小场景利用TEMAC IP核实现千兆网口以太网收发数据测试。介绍IP具体配置,工程验证具体步骤。
    🎈第六篇文章UDP网口(6)10G subsystem Ethernet IP实现万兆以太网通信
    简介:使用xilinx的10G以太网IP核实现10G以太网协议,与PC通过标准的万兆以太网网卡实现上下位机通信

📖Part6:Serdes接口
    SerDes(Serializer/Deserializer,串行器/解串器)是Xilinx FPGA(现场可编程门阵列)中用于高速串行数据传输的重要技术,主要是区别于传统的并行接口,区别于源同步的模型。用在10G以太网,auraro协议,PCIE协议,RapidIO等协议,以及背板链接和其他场景的板间通信。根据芯片工艺的不同,串行收发器有不同的叫法,如GTP、GTX、GTY等,相应的最大通信速率也不同。在通俗叫法中,serdes等于GT等于aurora等于串行收发器。

    🎈第一篇文章serdes接口(1)IBERT IP核眼图测试
    简介:介绍使用IBERT IP核对通信链路进行信号质量测试的使用方法,操作步骤。
    🎈第二篇文章serdes接口(2)光纤接口GTx IP通信
    简介:使用两块开发板A和B,通过光纤接口将在A板上ROM中存储的图片数据转发到B板并显示在B板连接的显示屏上,通过GT IP核实现光纤接口通信。
    🎈第三篇文章serdes接口(3)Aurora8/10B光纤接口通信
    简介:使用Aurora8/10B IP核实现从发送端到接收端光纤介质的传输,将发送端存储在ROM中的图片显示在接收端连接的lvds屏幕上。
    🎈第四篇文章serdes接口(4) 4路GTX实现40G光纤通信
    简介:使用K7系列,4路GTX收发器,采用QSFP+封装的光模块,实现点对点的40G光纤介质通信。
    🎈第五篇文章serdes接口(5) Aurora 64/66B ip实现GTX与GTY的40G通信
    简介:Serdes应用实例,实现4路GTX与4路GTY高达40Gbps的通信,分别基于xilinx K7和Ku系列芯片,采用Aurora IP核,64/66B编码。

📖Part7:PCIE接口
PCI Express(PCIe)是一种高速串行计算机扩展总线标准,用于扩展连接其他设备。Xilinx有三种IP实现PCIE分别是,7 Series Integrated Block for PCI Express、AXI Memory Mapped To PCI Express IP、DMA/Bridge Subsystem for PCI Express (PCIe),也叫做 XDMA。 PCIE具有高速传输(最新PCIE6.0支持高达 64 GT/s 的数据速率)、低延迟、扩展性强、兼容性强等特点。

    🎈第一篇文章PCIE接口(1)基于XDMA实现PCIE上下位机开发(上)
    简介:介绍PCIE原理,介绍基于XDMA实现PCIE接口通信的环境配置和IP配置。
    🎈第二篇文章PCIE接口(2)基于XDMA实现PCIE上下位机开发(下)
    简介:介绍基于XDMA的stream、memory map以及axi lite三种模式,结合第一篇文章,快速实现PCIE接口应用。

开发环境

如无特殊说明,本系列文章开发环境配置如下:
OS: Windows10 64bit
开发环境:Vivado2020.2
芯片厂家:xilinx 7系列 KU系列
仿真工具:Vivado Simulator
开发语言:Verilog-HDL

传送门

    USB3.0Cypress通信方案专栏
    FPGA原语和IP核
    FPGA开发必备技能专栏
    Qt实战提升篇专栏
    基于matlab与FPGA的图像处理
    ZYNQ从零开始
    番外篇:程序一毛,人生九牛

文章持续更新中--

💡 欢迎您关注我的CSDN博客:https://blog.csdn.net/weixin_40615338?type=blog
💡 本文由 瑾芳玉洁 原创👨‍🎓,相互学习,共同进步!
💡批评,宝贵建议,兼职合作,欢迎交流📧jackxi0207@gmail.com


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGArea

原创不易,请多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值