当前位置: 首页 > news >正文

外贸如何建立网站网站开发后端框架

外贸如何建立网站,网站开发后端框架,网站子站点是什么意思,外贸网站建设服务机构目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案我已有的 GT 高速接口解决方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图输入Sensor之--芯片解码的HDMI视频数据组包基于GTH高速接口的视频传输架构GTH IP 简介GTH 基本结构GTH 发送和接收处理… 目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案我已有的 GT 高速接口解决方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图输入Sensor之--芯片解码的HDMI视频数据组包基于GTH高速接口的视频传输架构GTH IP 简介GTH 基本结构GTH 发送和接收处理流程GTH 的参考时钟GTH 发送接口GTH 接收接口GTH IP核调用和使用 数据对齐视频数据解包FDMA图像缓存XDMA配置及使用XDMA中断模块用户中断发起逻辑Windows版本XDMA驱动安装Linux版本XDMA驱动安装QT上位机工程源码架构Vivado工程注意事项PCIE上板调试注意事项 5、vivado工程源码1详解--Virtex7-690T版本6、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他注意事项 7、上板调试验证准备工作视频GTH 8b/10b编解码转PCIE3.0传输效果演示 8、工程代码的获取 FPGA视频GTH 8b/10b编解码转PCIE3.0传输基于XDMA中断架构提供工程源码和技术支持 1、前言 FPGA实现SFP光口视频编解码现状 目前基于Xilinx系列FPGA的SFP光口视频编解码主要有以下几种Artix7系列的GTP、Kintex7系列的GTX、更高端FPGA器件的GTH、GTY、GTV、GTM等线速率越来越高应用场景也越来越高端编码方式也是多种多样有8b/10b编解码、64b/66b编解码、HDMI编解码、SDI编解码等等本设计采用7系列的GTH作为高速接口、8b/10b编解码的方式实现SFP光口视频编解码 FPGA实现PCIE数据传输现状 目前基于Xilinx系列FPGA的PCIE通信架构主要有以下2种一种是简单的、傻瓜式的、易于开发的、对新手友好的XDMA架构该架构对PCIE协议底层做了封装并加上了DMA引擎使得使用的难度大大降低加之Xilinx提供了配套的Windows和Linux系统驱动和上位机参考源代码使得XDMA一经推出就让工程师们欲罢不能另一种是更为底层的、需要设计者有一定PCIE协议知识的、更易于定制化开发的7 Series Integrated Block for PCI Express架构该IP实现的是PCIe 的物理层、链路层和事务层提供给用户的是以 AXI4-stream 接口定义的TLP 包使用该IP 核需要对PCIe 协议有清楚的理解特别是对事务包TLP报文格式本设计采用第一种方案使用XDMA的中断模式实现PCIE通信本架构既有简单的测速实验也有视频采集应用 工程概述 本设计使用Xilinx系列FPGA为平台实现视频GTH 8b/10b编解码转PCIE3.0传输输入视频为HDMI视频用笔记本电脑模拟笔记本电脑通过HDMI线连接FPGA开发板的HDMI输入接口板载的silicom9011芯片实现HDMI视频解码输出RGB888视频给FPGA然后输入视频送入视频组包模块将视频的每一行打上包头包尾标记以包的形式输出以便接收方进行有效识别让后调用Xilinx官方的GTH IP核实现视频8b/10b编码和数据串化将并行数据串化为高速串行线速率设置为5Gbps编码后的视频通过板载的SFP光口的光纤输出然后用板载的SFP光口的光纤接收视频然后送入Xilinx官方的GTX IP核实现视频8b/10b解码和数据解串将高速串行数据解为并行然后数据送入数据对齐模块实现错位数据对齐然后数据送入视频解包模块实现每一行的视频包头包尾拆解并生成对应的场同步信号和数据有效信号输出然后使用本博主常用的FDMA图像缓存架构对采集视频做图像缓存缓存介质为板载DDR3每当缓存一帧视频完毕就发起一次用户中断给XDMAXDMA收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频本博客提供1套工程源码具体如下 工程源码1 开发板FPGA型号为Xilinx–690T–xc7vx690tffg1761-3输入视频为HDMI视频用笔记本电脑模拟笔记本电脑通过HDMI线连接FPGA开发板的HDMI输入接口板载的silicom9011芯片实现HDMI视频解码FPGA使用纯Verilog实现的i2c总线对silicom9011进行初始化配置分辨率配置为1920x108060Hz输出RGB888视频给FPGA然后输入视频送入视频组包模块将视频的每一行打上包头包尾标记以包的形式输出以便接收方进行有效识别让后调用Xilinx官方的GTH IP核实现视频8b/10b编码和数据串化将并行数据串化为高速串行线速率设置为5Gbps编码后的视频通过板载的SFP光口的光纤输出然后用板载的SFP光口的光纤接收视频然后送入Xilinx官方的GTH IP核实现视频8b/10b解码和数据解串将高速串行数据解为并行然后数据送入数据对齐模块实现错位数据对齐然后数据送入视频解包模块实现每一行的视频包头包尾拆解并生成对应的场同步信号和数据有效信号输出然后使用本博主常用的FDMA图像缓存架构将视频写入板载DDR3中做4帧缓存每当缓存一帧视频完毕就发起一次用户中断操作用户中断通过中断模块发送给XDMAXDMA收到用户中断后通知QT上位机发起一次XDMA读数据操作该过程同样由中断模块转发XDMA再从DDR3中读取当前一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频输出视频分辨率为1920x108060Hz板载PCIE为8 Lane的PCIE3.0单Lane线速率配置为8GT/s由此形成SensorSFP光口XDMAPCIE3.0QT的高端架构该工程适用于SFP光口到PCIE3.0接口的数据采集卡应用 本文详细描述了FPGA视频GTH 8b/10b编解码转PCIE3.0传输的设计方案工程代码可综合编译上板调试可直接项目移植适用于在校学生、研究生项目开发也适用于在职工程师做项目开发可应用于医疗、军工等行业的高速接口领域 提供完整的、跑通的工程源码和技术支持 工程源码和技术支持的获取方式放在了文章末尾请耐心看到最后 免责声明 本工程及其源码即有自己写的一部分也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等)若大佬们觉得有所冒犯请私信批评教育基于此本工程及其源码仅限于读者或粉丝个人学习和研究禁止用于商业用途若由于读者或粉丝自身原因用于商业用途所导致的法律问题与本博客及博主无关请谨慎使用。。。 2、相关方案推荐 我已有的PCIE方案 我的主页有PCIE通信专栏该专栏基于XDMA的轮询模式实现与QT上位机的数据交互既有基于RIFFA实现的PCIE方案也有基于XDMA实现的PCIE方案既有简单的数据交互、测速也有应用级别的图像采集传输以下是专栏地址 点击直接前往 此外我的主页有中断模式的PCIE通信专栏该专栏基于XDMA的中断模式实现与QT上位机的数据交互以下是专栏地址 点击直接前往 此外还有基于RIFFA架构的PCIE通信专栏以下是专栏地址 点击直接前往 我已有的 GT 高速接口解决方案 我的主页有FPGA GT 高速接口专栏该专栏有 GTP 、 GTX 、 GTH 、 GTY 等GT 资源的视频传输例程和PCIE传输例程其中 GTP基于A7系列FPGA开发板搭建GTX基于K7或者ZYNQ系列FPGA开发板搭建GTH基于KU或者V7系列FPGA开发板搭建GTY基于KU系列FPGA开发板搭建以下是专栏地址 点击直接前往 3、PCIE基础知识扫描 PCIe 总线架构与以太网的 OSI 模型类似是一种分层协议架构分为事务层(Transaction Layer)、数据链路层(Data Link Layer) 和物理层(Physical Layer)。这些层中的每一层都分为两部分一部分处理出站要发送的信息另一部分处理入站接收的信息如下图 事务层 事务层的主要责任是事务层包 TLP(Transaction Layer Packet)的组装和拆卸。事务层接收来自 PCIe 设备核心层的数据并将其封装为 TLP。TLP 用于传达事务例如读取和写入以及确定事件的类型。事务层还负责管理 TLP 的基于信用的流控制。每个需要响应数据包的请求数据包都作为拆分事务实现。每个数据包都有一个唯一标识符该标识符使响应数据包可以定向到正确的始发者。数据包格式支持不同形式的寻址具体取决于事务的类型内存、I/O、配置和消息。数据包可能还具有诸如 No Snoop、Relaxed Ordering 和基于 ID 的排序IDO之类的属性。事务层支持四个地址空间包括三个 PCI 地址空间内存、I/O 和配置并添加消息空间。该规范使用消息空间来支持所有先前 PCI 的边带信号例如中断、电源管理请求等作为带内消息事务。 数据链路层 数据链路层充当事务层和物理层之间的中间阶段。数据链路层的主要职责包括链路管理和数据完整性包括错误检测和错误纠正。数据链路层的发送方接受事务层组装的 TLP计算并应用数据保护代码和 TLP序列号以及将它们提交给物理层以在链路上传输。接收数据链路层负责检查接收到的 TLP 的完整性并将它们提交给事务层以进行进一步处理。在检测到 TLP 错误时此层负责请求重发 TLP直到正确接收信息或确定链路失败为止。数据链路层还生成并使用用于链路管理功能的数据包。为了将这些数据包与事务层TLP使用的数据包区分开当指代在数据链路层生成和使用的数据包时将使用术语“数据链路层数据包DLLP”。 物理层 PCIe 总线的物理层为 PCIe 设备间的数据通信提供传送介质为数据传送提供可靠的物理环境。物理层包括用于接口操作的所有电路包括驱动器和输入缓冲器、并行至串行和串行至并行转换、PLL 和阻抗匹配电路。它还包括与接口初始化和维护有关的逻辑功能。物理层以实现特定的格式与数据链路层交换信息。该层负责将从数据链路层接收的信息转换为适当的序列化格式并以与连接到链路另一端的设备兼容的频率和通道宽度在 PCI Express 链路上传输该信息。物理层是 PCIe 体系结构最重要也是最难以实现的组成部分该层对用户透明开发 PCIe 程序时无需关心。PCIe 总线的物理层定义了 LTSSM (Link Training and Status State Machine)状态机PCIe 链路使用该状态机管理链路状态并进行链路训练、链路恢复和电源管理。PCIe 总线使用端到端的连接方式在一条PCIe 链路的两端只能各连接一个设备这两个设备互为数据发送端和数据接收端。由于 PCIe 是支持全双工通信的所以发送端和接收端中都含有TX (发送逻辑) 和RX (接收逻辑)。在PCIe 总线的物理链路的一个数据通路(Lane) 中有两组差分信号共4 根信号线组成。其中发送端的TX 与接收端的RX 使用一组差分信号连接该链路也被称为发送端的发送链路也是接收端的接收链路而发送端的RX 与接收端的TX 使用另一组差分信号连接该链路也被称为发送端的接收链路也是接收端的发送链路。一个PCIe 链路可以由多个Lane 组成。目前PCIe 链路可以支持1、2、4、8、12、16 和32 个Lane即×1、×2、×4、×8、×12、×16 和×32 宽度的PCIe 链路。每一个Lane 上使用的总线频率与PCIe 总线使用的版本相关。 4、工程详细设计方案 工程设计原理框图 工程设计原理框图如下 输入Sensor之–芯片解码的HDMI 输入Sensor是本工程的输入设备其二为板载的HDMI输入接口输入源为板载的HDMI输入接口或动态彩条分辨率为1920x108060Hz使用笔记本电脑接入HDMI输入接口以模拟输入SensorHDMI解码方案为芯片解码使用Silcom9011可将输入的HDMI视频解码为RGB888视频FPGA纯verilog实现的i2c配置模块完成对Silcom9011芯片的配置分辨率配置为1920x108060Hz可以通过Sensor模块的顶层参数配置默认选择Sensor输入Sensor模块如下 SENSOR_TYPE0则输出HDMI接口采集的视频 SENSOR_TYPE1则输出动态彩条的视频 整个模块代码架构如下 视频数据组包 由于视频需要在GTH 中通过aurora 8b/10b协议收发所以数据必须进行组包以适应aurora 8b/10b协议标准视频数据组包模块代码位置如下 首先我们将16bit的视频存入FIFO中存满一行时就从FIFO读出送入GTH发送在此之前需要对一帧视频进行编号也叫作指令GTH组包时根据固定的指令进行数据发送GTH解包时根据固定的指令恢复视频的场同步信号和视频有效信号当一帧视频的场同步信号上升沿到来时发送一帧视频开始指令 0当一帧视频的场同步信号下降沿到来时发送一帧视频开始指令 1视频消隐期间发送无效数据 0 和无效数据 1当视频有效信号到来时将每一行视频进行编号先发送一行视频开始指令在发送当前的视频行号当一行视频发送完成后再发送一行视频结束指令一帧视频发送完成后先发送一帧视频结束指令 0再发送一帧视频结束指令 1至此一帧视频则发送完成这个模块不太好理解所以我在代码里进行了详细的中文注释需要注意的是为了防止中文注释的乱序显示请用notepad编辑器打开代码指令定义如下 注意指令可以任意更改但最低字节必须为bc 基于GTH高速接口的视频传输架构 本设计使用GTH 高速接口传输视频使用8b/10b编解码协议搭建基于GTH高速接口的视频传输架构包括视频数据组包模块、GTH IP核配置调用、接收数据对齐模块、视频数据解包模块等部分总体代码架构如下 基于GTH高速接口的视频传输架构顶层接口核参数配置如下 本设计共例化了2路GTH所以2路GTH的收发回环方式也做了灵活的参数化配置如果你只需要1路GT则可删除另一路如果你想例化更多路GT则可根据上述设计方法扩展十分方便 GTH IP 简介 关于GTH 介绍最详细的肯定是Xilinx官方的《ug476_7Series_Transceivers》我们以此来解读《ug476_7Series_Transceivers》的PDF文档我已放在了资料包里我用到的开发板FPGA型号为Xilinx–Virtex7–xc7vx690tffg1761-3带有36路GTX资源其中2路连接到了板载2个SFP光口每通道的收发速度为 500 Mb/s 到 10.3125 Gb/s 之间。GTH 收发器支持不同的串行传输接口或协议比如8b/10b编解码、PCIE /2.0/3.0 接口、万兆网 XUAI 接口、OC-48、串行 RapidIO 接口、 SATA(Serial ATA) 接口、数字分量串行接口(SDI)等等 GTH 基本结构 Xilinx 以 Quad 来对串行高速收发器进行分组四个串行高速收发器和一个 COMMOMQPLL组成一个 Quad每一个串行高速收发器称为一个 Channel(通道下图为四路 GTH 收发器在Virtex7 FPGA 芯片中的示意图GTH 与GTX为同一个数据手册所以下图实为K7的GTX但GTX核GTH内部构造是一样的《ug476_7Series_Transceivers》第24页GTH 具体内部逻辑框图如下所示它由四个收发器通道 GTXE2_CHANNEL原语 和一个GTXE2_COMMON 原语组成。每路GTXE2_CHANNEL包含发送电路 TX 和接收电路 RXGTXE2_CHANNEL的时钟可以来自于CPLL或者QPLL可在IP配置界面里配置《ug476_7Series_Transceivers》第25页每个 GTXE2_CHANNEL 的逻辑电路如下图所示《ug476_7Series_Transceivers》第26页 GTXE2_CHANNEL 的发送端和接收端功能是独立的均由 PMA(Physical Media Attachment物理媒介适配层)和 PCS(Physical Coding Sublayer物理编码子层)两个子层组成。其中 PMA 子层包含高速串并转换(Serdes)、预/后加重、接收均衡、时钟发生器及时钟恢复等电路。PCS 子层包含8B/10B 编解码、缓冲区、通道绑定和时钟修正等电路。 这里说多了意义不大因为没有做过几个大的项目是不会理解这里面的东西的对于初次使用或者想快速使用者而言更多的精力应该关注IP核的调用和使用后面我也会重点将到IP核的调用和使用 GTH 发送和接收处理流程 首先用户逻辑数据经过 8B/10B 编码后进入一个发送缓存区Phase Adjust FIFO该缓冲区主要是 PMA 子层和 PCS 子层两个时钟域的时钟隔离解决两者时钟速率匹配和相位差异的问题最后经过高速 Serdes 进行并串转换(PISO)有必要的话可以进行预加重(TX Pre-emphasis)、后加重。值得一提的是如果在 PCB 设计时不慎将 TXP 和 TXN 差分引脚交叉连接则可以通过极性控制(Polarity)来弥补这个设计错误。接收端和发送端过程相反相似点较多这里就不赘述了需要注意的是 RX 接收端的弹性缓冲区其具有时钟纠正和通道绑定功能。这里的每一个功能点都可以写一篇论文甚至是一本书所以这里只需要知道个概念即可在具体的项目中回具体用到还是那句话对于初次使用或者想快速使用者而言更多的精力应该关注IP核的调用和使用。 GTH 的参考时钟 GTH 模块有两个差分参考时钟输入管脚(MGTREFCLK0P/N 和 MGTREFCLK1P/N作为 GTH 模块的参考时钟源用户可以自行选择。一般开发板上都有一路125或者156.25Mhz 的 GTH 参考时钟连接到 MGTREFCLK0上作为 GTH 的参考时钟。差分参考时钟通过IBUFDS 模块转换成单端时钟信号进入到 GTXE2_COMMOM 的QPLL或CPLL中产生 TX 和 RX 电路中所需的时钟频率。TX 和 RX 收发器速度相同的话TX 电路和 RX 电路可以使用同一个 PLL 产生的时钟如果 TX 和 RX收发器速度不相同的话需要使用不同的 PLL 时钟产生的时钟。参考时钟这里Xilinx给出的GT参考例程已经做得很好了我们调用时其实不用修改GTH 的参考时钟结构图如下《ug476_7Series_Transceivers》第31页 GTH 发送接口 《ug476_7Series_Transceivers》的第107到165页详细介绍了发送处理流程其中大部分内容对于用户而言可以不去深究因为手册讲的基本都是他自己的设计思想留给用户可操作的接口并不多基于此思路我们重点讲讲GTH 例化时留给用户的发送部分需要用到的接口用户只需要关心发送接口的时钟和数据即可以例化2路GTH 为例经本博主优化用户只需要关心如下GTH 发送接口即可快速使用GTH GTH 接收接口 《ug476_7Series_Transceivers》的第167到295页详细介绍了接收处理流程其中大部分内容对于用户而言可以不去深究因为手册讲的基本都是他自己的设计思想留给用户可操作的接口并不多基于此思路我们重点讲讲GTH 例化时留给用户的发送部分需要用到的接口用户只需要关心接收接口的时钟和数据即可以例化2路GTH 为例经本博主优化用户只需要关心如下GTH 接收接口即可快速使用GTH GTH IP核调用和使用 GTH IP核配置调用在工程种位置如下 GTH IP核调用和使用很简单通过vivado的UI界面即可完成如下 有别于网上其他博主的教程我个人喜欢用如下图的共享逻辑 这样选择的好处有两个一是方便DRP变速二是便于IP核的修改修改完IP核后直接编译即可不再需要打开example工程再复制下面的一堆文件放到自己的工程什么的玩儿个GTH需要那么复杂么 这里对上图的标号做解释 1线速率根据自己的项目需求来GTH的范围是0.5到13.1G由于我的项目是视频传输所以在GTH的速率范围内均可本例程选择了5G 2参考时钟这个得根据你的原理图来可以是80M、125M、148.5M、156.25M等等我的开发板是156.25M 4GTH组的绑定这个很重要他的绑定参考依据有两个已是你的开发板原理图而是官方的参考资料《ug476_7Series_Transceivers》官方根据BANK不同将GTH资源分成了多组由于GT资源是Xilinx系列FPGA的专用资源占用专用的Bnak所以引脚也是专用的那么这些GTH组和引脚是怎么对应的呢《ug476_7Series_Transceivers》的说明如下红框内为的我的开发板原理图对应的FPGA引脚 我的板子原理图如下 选择外部数据位宽32bit的8b/10b编解码如下 下面这里讲的是K码检测 这里选择K28.5也就是所谓的COM码十六进制为bc他的作用很多可以表示空闲乱序符号也可以表示数据错位标志这里用来标志数据错位8b/10b协议对K码的定义如下 下面讲的是时钟矫正也就是对应GTH内部接收部分的弹性buffer 这里有一个时钟频偏的概念特别是收发双方时钟不同源时这里设置的频偏为100ppm规定每隔5000个数据包发送方发送一个4字节的序列接收方的弹性buffer会根据这4字节的序列以及数据在buffer中的位置来决定删除或者插入一个4字节的序列中的一个字节目的是确保数据从发送端到接收端的稳定性消除时钟频偏的影响 数据对齐 由于GT资源的aurora 8b/10b数据收发天然有着数据错位的情况所以需要对接受到的解码数据进行数据对齐处理数据对齐模块代码位置如下 我定义的 K 码控制字符格式为XX_XX_XX_BC所以用一个rx_ctrl 指示数据是否为 K 码 的 COM 符号 rx_ctrl 4’b0000 表示 4 字节的数据没有 COM 码 rx_ctrl 4’b0001 表示 4 字节的数据中[ 7: 0] 为 COM 码 rx_ctrl 4’b0010 表示 4 字节的数据中[15: 8] 为 COM 码 rx_ctrl 4’b0100 表示 4 字节的数据中[23:16] 为 COM 码 rx_ctrl 4’b1000 表示 4 字节的数据中[31:24] 为 COM 码 基于此当接收到有K码时就对数据进行对齐处理也就是将数据打一拍和新进来的数据进行错位组合这是FPGA的基础操作这里不再赘述数据对齐模块顶层接口如下 视频数据解包 数据解包是数据组包的逆过程代码位置如下 GTH 解包时根据固定的指令恢复视频的场同步信号和视频有效信号这些信号是作为后面图像缓存的重要信号由于数据解包是数据组包的逆过程所以这里不再过多赘述视频数据解包模块顶层接口如下 FDMA图像缓存 FDMA图像缓存架构实现的功能是将输入视频缓存到板载DDR3中由于调用了Xilinx官方的MIG作为DDR控制器所以FDMA图像缓存架构就是实现用户数据到MIG的桥接作用架构如下 FDMA图像缓存架构由FDMA控制器FDMA组成FDMA实际上就是一个AXI4-FULL总线主设备与MIG对接MIG配置为AXI4-FULL接口FDMA控制器实际上就是一个视频读写逻辑以写视频为例假设一帧图像的大小为M×N其中M代表图像宽度N代表图像高度FDMA控制器每次写入一行视频数据即每次向DDR3中写入M个像素写N次即可完成1帧图像的缓存本设计只用到了FDMA控制器的写功能FDMA控制器IP配置如下 FDMA图像缓存架构在Block Design中如下 XDMA配置及使用 根据Xilinx官方手册XDMA框图如下 由图可知XDMA封装了Integrated Block for PCI Express IP不仅完成了事务层的组包解包还添加了完整的 DMA 引擎 XDMA 一般情况下使用AXI4 接口AXI4 接口可以加入到系统总线互联适用于大数据量异步传输而且通常情况下使用 XDMA 都会使用到 BRAM 或 DDR 内存AXI4-Stream 接口适用于低延迟数据流传输。XDMA 允许在主机内存和 DMA 子系统之间移动数据。它通过对包含有关要传输的数据的源、目标和数量的信息的“描述符”进行操作来实现此目的。这些直接内存传输既可以用于主机到卡Host to CardH2C的传输也可以用与卡到主机Card to HostC2H的传输。可以将 DMA 配置为由所有通道共享一个 AXI4 Master 接口或者为每个启用的通道提供一个 AXI4-Stream 接口。内存传输是基于每个通道的描述符链接列表指定的DMA 从主机内存和进程中获取这些链接列表。诸如描述符完成和错误之类的事件通过中断来发出信号。XDMA 还提供多达 16 条用户中断线这些中断线会向主机生成中断。本设计需要配置为中断模式如下图 本设计XDMA线速率配置为8GT/s这是PCIE3.0标准如下 XDMA详情参考《AXI Bridge for PCI Express Gen3 Subsystem Product GuidePG194》XDMA在Block Design中如下 XDMA中断模块 XDMA中断模块和XDMA IP配合使用XDMA中断模块主要执行两个任务一是获取XDMA的状态输出用户中断使能信号以指示用户此时可以发起中断该任务通过AXI_Lite接口与XDMA连接其从机地址受PC端软件控制二是转发用户中断给XDMA当用户侧检测到XDMA处于可接受中断状态时用户逻辑可以发起中断XDMA中断模块将此中断转发给XDMA IP将模块直接拖入Block Design中显示如下 用户中断发起逻辑 每当FDMA缓存一帧视频完毕就通知用户中断发起逻辑发起一次用户中断操作中断号几位当前缓存视频帧的帧号用户中断通过中断模块发送给XDMAXDMA收到用户中断后通知QT上位机发起一次XDMA读数据操作该过程同样由中断模块转发XDMA再从DDR3中读取当前一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频核心代码如下 Windows版本XDMA驱动安装 提供Windows和Linux系统驱动本章节介绍Windows下XDMA驱动安装 Windows下驱动安装步骤如下友情提示Windows下驱动秩序安装一次即可 第一步使系统禁用签名并进入测试模式方法如下 也可百度其他方法实现上述目的完成后电脑屏幕右下角应有如下显示 第二步定位到驱动目录下提供Windows7和Windows10两个版本驱动由于我的电脑选择Windows10如下 单击鼠标右键安装即可如下 第三步下载FPGA工程bit到FPGA开发板然后重启电脑打开我的电脑–管理–设备管理器应看到如下设备 Linux版本XDMA驱动安装 提供Windows和Linux系统驱动本章节介绍Linux下XDMA驱动安装 Linux下驱动安装步骤如下友情提示Linux下每次下载FPGA bit后都需要重启电脑才能安装驱动 进入到Linux驱动目录下一次执行以下两条指令即可安装如下 • 驱动编译终端指令make -j8 •驱动安装终端指令sudo insmod xdma.ko QT上位机 提供Linux和Win10版本的QT上位机位置如下 以Win10版本为例源码位置如下 以Win10版本下可以点击已经编译好的QT软件直接运行位置如下 Linux下必须先安装QT软件然后打开QT工程才能运行如下 QT上位机运行效果如下 工程源码架构 工程Block Design设计如下 工程综合后的工程源码架构如下 Vivado工程注意事项 Vivado工程需要配合修改过的Xilinx官方XDMA驱动和QT上位机一起使用所以Vivado工程必须做到以下几点 1XDMA中的AXI4_Lite基地址必须设为0x44A00000这是XDMA驱动修改的规定感兴趣的可以去看驱动源码配置如下 2MIG的DDR基地址必须从0x00000000开始这是QT上位机代码的规定感兴趣的可以去看QT源码配置如下 PCIE上板调试注意事项 1必须先安装本博提供的XDMA驱动详情请参考第4章节的《XDMA驱动及其安装》Windows版本驱动只需安装一次 2Windows版本下载FPGA工程bit后需要重启电脑电脑才能识别到XDMA驱动程序固化后也需要重启电脑Linux版本每次载FPGA工程bit后都需要重启电脑都需要安装XDMA驱动 3FPGA板卡插在主机上后一般不需要额外供电如果你的板子元器件较多功耗较大则需要额外供电详情咨询开发板厂家当然找我买板子的客户可以直接问我 4PCIE调试需要电脑主机但笔记本电脑理论上也可以外接出来PCIE详情百度自行搜索一下电脑主机PCIE插槽不方便操作时可以使用延长线接出来某宝有卖 5、vivado工程源码1详解–Virtex7-690T版本 开发板FPGA型号Xilinx–690T–xc7vx690tffg1761-3 FPGA开发环境Vivado2019.1 QT开发环境VS2015 Qt 5.12.10 输入HDMI或动态彩条Silcom9011芯片解码方案分辨率1920x108060Hz笔记本电脑模拟输入源 输出PCIE3.0分辨率1920x108060Hz 高速接口类型GTH线速率5Gbps GTH编解码类型8b/10b编解码 回环光口类型SFP光口 图像缓存方案FDMA图像缓存DDR3颗粒图像4帧缓存 PCIE底层方案Xilinx XDMA8GT/s单lane线速率 PCIE详情PCIE3.0版本X88GT/s单lane线速率 实现功能FPGA视频GTH 8b/10b编解码转PCIE3.0传输 工程作用此工程目的是让读者掌握FPGA视频GTH 8b/10b编解码转PCIE3.0传输的设计能力以便能够移植和设计自己的项目 工程Block Design和工程代码架构请参考第4章节的《工程源码架构》小节内容 工程的资源消耗和功耗如下 6、工程移植说明 vivado版本不一致处理 1如果你的vivado版本与本工程vivado版本一致则直接打开工程 2如果你的vivado版本低于本工程vivado版本则需要打开工程后点击文件–另存为但此方法并不保险最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本 3如果你的vivado版本高于本工程vivado版本解决如下 打开工程后会发现IP都被锁住了如下 此时需要升级IP操作如下 FPGA型号不一致处理 如果你的FPGA型号与我的不一致则需要更改FPGA型号操作如下 更改FPGA型号后还需要升级IP升级IP的方法前面已经讲述了 其他注意事项 1由于每个板子的DDR不一定完全一样所以MIG IP需要根据你自己的原理图进行配置甚至可以直接删掉我这里原工程的MIG并重新添加IP重新配置 2根据你自己的原理图修改引脚约束在xdc文件中修改即可 3纯FPGA移植到Zynq需要在工程中添加zynq软核 7、上板调试验证 准备工作 需要准备的器材如下 OV5640摄像头或者笔记本电脑没有则请使用FPGA内部生成的彩条 FPGA开发板没有开发板可以找本博提供 SFP光口和光纤 带PCIE卡槽的电脑主机 我的开发板了连接如下 视频GTH 8b/10b编解码转PCIE3.0传输效果演示 视频GTH 8b/10b编解码转PCIE3.0传输效果演示如下 HDMI-XDMA 8、工程代码的获取 代码太大无法邮箱发送以某度网盘链接方式发送 资料获取方式文章末尾名片。 网盘资料如下 此外有很多朋友给本博主提了很多意见和建议希望能丰富服务内容和选项因为不同朋友的需求不一样所以本博主还提供以下服务
文章转载自:
http://www.morning.kldtf.cn.gov.cn.kldtf.cn
http://www.morning.gnbtp.cn.gov.cn.gnbtp.cn
http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn
http://www.morning.mmxnb.cn.gov.cn.mmxnb.cn
http://www.morning.jwxmn.cn.gov.cn.jwxmn.cn
http://www.morning.rqckh.cn.gov.cn.rqckh.cn
http://www.morning.klyyd.cn.gov.cn.klyyd.cn
http://www.morning.hxxyp.cn.gov.cn.hxxyp.cn
http://www.morning.rppf.cn.gov.cn.rppf.cn
http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn
http://www.morning.dysgr.cn.gov.cn.dysgr.cn
http://www.morning.pkggl.cn.gov.cn.pkggl.cn
http://www.morning.yfqhc.cn.gov.cn.yfqhc.cn
http://www.morning.smfbw.cn.gov.cn.smfbw.cn
http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn
http://www.morning.cljpz.cn.gov.cn.cljpz.cn
http://www.morning.drrt.cn.gov.cn.drrt.cn
http://www.morning.ccyns.cn.gov.cn.ccyns.cn
http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn
http://www.morning.bswhr.cn.gov.cn.bswhr.cn
http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn
http://www.morning.xjnjb.cn.gov.cn.xjnjb.cn
http://www.morning.lhrxq.cn.gov.cn.lhrxq.cn
http://www.morning.mxxsq.cn.gov.cn.mxxsq.cn
http://www.morning.npbgj.cn.gov.cn.npbgj.cn
http://www.morning.gczqt.cn.gov.cn.gczqt.cn
http://www.morning.pcwzb.cn.gov.cn.pcwzb.cn
http://www.morning.wbfg.cn.gov.cn.wbfg.cn
http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn
http://www.morning.rqhdt.cn.gov.cn.rqhdt.cn
http://www.morning.pkwwq.cn.gov.cn.pkwwq.cn
http://www.morning.rnwt.cn.gov.cn.rnwt.cn
http://www.morning.wcyr.cn.gov.cn.wcyr.cn
http://www.morning.wrtsm.cn.gov.cn.wrtsm.cn
http://www.morning.frnjm.cn.gov.cn.frnjm.cn
http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn
http://www.morning.dtnjr.cn.gov.cn.dtnjr.cn
http://www.morning.kztpn.cn.gov.cn.kztpn.cn
http://www.morning.hhfwj.cn.gov.cn.hhfwj.cn
http://www.morning.kxgn.cn.gov.cn.kxgn.cn
http://www.morning.ljfjm.cn.gov.cn.ljfjm.cn
http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn
http://www.morning.qwqzk.cn.gov.cn.qwqzk.cn
http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn
http://www.morning.jbhhj.cn.gov.cn.jbhhj.cn
http://www.morning.mtbth.cn.gov.cn.mtbth.cn
http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn
http://www.morning.rycbz.cn.gov.cn.rycbz.cn
http://www.morning.pcgjj.cn.gov.cn.pcgjj.cn
http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn
http://www.morning.lksgz.cn.gov.cn.lksgz.cn
http://www.morning.gnbtp.cn.gov.cn.gnbtp.cn
http://www.morning.kabaifu.com.gov.cn.kabaifu.com
http://www.morning.snccl.cn.gov.cn.snccl.cn
http://www.morning.jsrnf.cn.gov.cn.jsrnf.cn
http://www.morning.ccffs.cn.gov.cn.ccffs.cn
http://www.morning.sqqhd.cn.gov.cn.sqqhd.cn
http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn
http://www.morning.tkxr.cn.gov.cn.tkxr.cn
http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn
http://www.morning.jtmql.cn.gov.cn.jtmql.cn
http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn
http://www.morning.qztsq.cn.gov.cn.qztsq.cn
http://www.morning.rbkml.cn.gov.cn.rbkml.cn
http://www.morning.qjdqj.cn.gov.cn.qjdqj.cn
http://www.morning.lrjtx.cn.gov.cn.lrjtx.cn
http://www.morning.dljujia.com.gov.cn.dljujia.com
http://www.morning.hlzpb.cn.gov.cn.hlzpb.cn
http://www.morning.lwjlj.cn.gov.cn.lwjlj.cn
http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn
http://www.morning.hxycm.cn.gov.cn.hxycm.cn
http://www.morning.lwyqd.cn.gov.cn.lwyqd.cn
http://www.morning.bwhcl.cn.gov.cn.bwhcl.cn
http://www.morning.ghxtk.cn.gov.cn.ghxtk.cn
http://www.morning.dkgtr.cn.gov.cn.dkgtr.cn
http://www.morning.qtfss.cn.gov.cn.qtfss.cn
http://www.morning.wlggr.cn.gov.cn.wlggr.cn
http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn
http://www.morning.rjfr.cn.gov.cn.rjfr.cn
http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn
http://www.tj-hxxt.cn/news/242715.html

相关文章:

  • 聚合页面网站什么时候做锦州网站建设新闻
  • 网站模版上传空间后怎么做大连网站制作网页
  • 开源网站源码下载合肥网站关键词优化公司
  • 三原做网站铁岭做网站的公司
  • 郑州博文it培训 网站开发 平面朝阳网站seo
  • 国内做网站的企业网站设计基本原则
  • 德保县建设局的网站免费域名空间申请网址
  • 微网站 举例wordpress主题太大
  • 学校网站 网站建设微官网建设公司排行
  • 有关网站建设的外文参考文献wordpress 弹出登录框
  • 网站建设 seo结构wordpress08影视站
  • 建设一个最普通网站要多少钱网络推广网站推广
  • wordpress怎么做的郑州seo哪家好
  • 网站动态页面打不开网站空间选择的主要原则有哪些
  • 跟京东类似的网站精准引流推广平台
  • 北京搜狗建网站的电话wordpress 字体本地化
  • 阜宁网站制作服务商网站下载织梦模板
  • 免费网站wordpress 插件表单 写入数据库
  • 怎样免费推广网站如何做网站的后台管理
  • 设计一个官方网站推广广告做网站时为什么导航时两行字
  • 网站建设与维护结课论文wordpress 外部链接跳转
  • 帝国cms制作网站地图濮阳做网站的电话
  • 河南艾特网站建设公司申请网站网站
  • 苏州建设项目备案网站做网站素材网
  • 如何利用tp-link按错900做网站网站文字重叠效果
  • 社区问答网站开发长沙网站制作公司在哪里
  • 做网站应该了解什么软件新吁网站建设
  • 自己建网站需要怎么做WordPress好看的404
  • 域名怎么创建网站吗自己建个网站做优化
  • 福州专业网站制作免费自助建站网站建设免费信息发布