pcie数据传输

一 数据传输通道总体设计

  在上传数据时首先将 FPGA 中数据缓存到 DDR3 存储器,然后上位机请求后把数据从DDR3 存储器中取出并通过 PCIE 总线将数据传输到上位机;在下传数据时上位机中的数据首先通过 PCIE 总线下传至 FPGA,FPGA 读取这些数据并存储到DDR3 存储器中。 

  FPGA 逻辑设计主要控制 PCIE 总线的高速数据传输通道过程中的数据传输,数据传输通道在传输过程中对数据量大、带宽高和实时性高的数据,使用 DMA 方式,而对于数据量小且不需要连续传输时,将使用 PIO 方式。

二 FPGA逻辑设计

  FPGA 逻辑设计由 PCIE 接口逻辑和 PCIE DMA 控制逻辑两部分组成, DDR3 存储器模块,DMA 引擎模块和通道仲裁器模块组成 PCIE DMA 控制逻辑;PCIE IP 核模块、寄存器堆模块、发送引擎模块、接收引擎模块和中断引擎模块组成 PCIE 接口逻辑。

 

(1)PCIE接口逻辑设计

  PCIE IP 核调用 Xilinx FPGA 芯片内部的 PCIE 硬核,根寄存器堆模块包括 DMA 数据传输时各通道的状态信息,还有与之相关的寄存器,访问这些寄存器需要通过 PIO 方式。

  PCIE IP 核是 7 系列 FPGA 嵌入式 PCIE 硬核,封装了 PCIE 协议的事务层、数据链路层和物理层的一部分。Number of Lanes 设置了 PCIE 支持的最大通道数,;Link Speed 为 PCIE 最大链路传输速率,本文选择 5.0GT/s的传输速率 

  发送引擎模块和接收引擎模块由 FPGA 编程进行设计,设计过程中产生 TLP包的逻辑和解析 TLP 包的逻辑的读 TLP 请求和写 TLP 请求、读 TLP 解析和写 TLP解析、CPLD 解析,并负责处理 FPGA 逻辑设计与 PCIE IP 核接口之间的数据,其中的数据包括 FPGA 逻辑设计产生的 TLP 以及计算机产生的 TLP。
  中断引擎模块根据 FPGA 逻辑设计的发送引擎和接收引擎状态判断各通道中DMA 传输是否完成,完成后向计算机发起 MSI 中断请求。

(2)PCIE DMA控制逻辑设计

  DDR3 存储器为 PCIE 进行数据传输时方便使用各个通道中的数据从而使用了DDR3 读写接口,FPGA 逻辑设计中的各个模块通过 DDR3 存储器进行访问。DDR3存储器内部根据本设计通道的需求设置了 8 个通道缓存区,从而支持多通道同时访问 DDR3 存储器,通道中的数据由接收引擎通过 PCIE 以 DMA 方式写入 DDR3存储器,或者通过 PCIE 以 DMA 方式从 DDR3 存储器中读出来,再通过通道将数据发送出去。为解决多通道同时访问 DDR3 产生的冲突问题,设计了基于一
种通道轮循的 DDR3 存储器。PCIE 总线作为 FPGA 和 PC 间的传输介质,连接 FPGA 和 PC,基于 PCIE2.0总线在单通道时的传输速率最高可达 5Gbps,当与上位机通信时选用PCIE 接口的通道数为 8,传输速率为40Gbps。

  DDR3 存储器由 FIFO 接口、通道仲裁和 MIG IP 核三部分组成,当多个通道访问时,必须要实时回应,所以需对通道的读、写操作进行仲裁;MIG IP 核由 Xilinx 7 系列 FPGA 自带的 IP 硬核,可
对 DDR3 进行读写访问。通过对 DDR3 存储器的设计可使 DDR3 更加适合多通道高速数据传输系统,便于 DDR3 作为整个高速数据传输时的缓存,达到了大容量缓存的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序内嵌uniapp页面跳转回小程序指定页面方式

使用微信小程序提供的Api:wx.miniProgram.navigateTo 在小程序中嵌套uniapp的H5页面,并使用wx.miniProgram.navigateTo进行页面跳转,需要确保满足以下条件: 你的小程序必须是通过uniapp构建的,并且支持小程序嵌套。 你…

系统架构设计师教程 第3章 信息系统基础知识-3.8 典型信息系统架构模型-解读

系统架构设计师教程 第3章 信息系统基础知识-3.8 典型信息系统架构模型-解读 3.8.1 政府信息化与电子政务3.8.1.1 电子政务的概念3.8.1.2 电子政务的内容3.8.1.2.1 政府与政府3.8.1.2.2 政府对企/事业单位3.8.1.2.3 政府对居民3.8.1.2.4 企业对政府3.8.1.2.5 居民对政府 3.8.1…

【HarmonyOS】HarmonyOS NEXT学习日记:六、渲染控制、样式结构重用

【HarmonyOS】HarmonyOS NEXT学习日记:六、渲染控制、样式&结构重用 渲染控制包含了条件渲染和循环渲染,所谓条件渲染,即更具状态不同,选择性的渲染不同的组件。 而循环渲染则是用于列表之内的、多个重复元素组成的结构中。 …

RabbitMQ的学习和模拟实现|GTest测试框架的介绍和简单使用

GTest 项目仓库:https://github.com/ffengc/HareMQ GTest GTest是什么我们需要学习的GTest功能宏断言事件机制 全局测试套件独立测试套件 GTest是什么 GTest是一个跨平台的 C单元测试框架,由google公司发布。gtest是为了在不同平台上为编写C单元测…

JAVA JUC学习笔记

基础知识 1、进程和线程的对比 进程基本上相互独立的,而线程存在于进程内,是进程的一个子集进程拥有共享的资源,如内存空间等,供其内部的线程共享进程间通信较为复杂 同一台计算机的进程通信称为 IPC(Inter-process …

MSP430M03507最小系统板的keil环境搭配,用keil编辑ti单片机

转载自嘉立创MSP430M03507开发手册 这篇文章只是因为我的keil版本与嘉立创的不一样,所以添加了我自己遇到的问题解析 先说说为什么要用keil编辑,因为ti单片机自己的ccs编译环境需要对应仿真器,那个加芯片都240了,哪有那么多钱买…

FastDFS分布式存储

一:FastDFS原理 FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储,文件同步,文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。 1:FastD…

56 网络层

本节重点 理解网络层的作用,深入理解IP协议的基本原理 对整个TCP/IP协议有系统的理解 对TCP/IP协议体系下的其他重要协议和技术有一定的了解 目录 前置认识ip协议基本概念协议头格式网段划分特殊的ip地址ip地址的数量限制私有ip和公有ip路由路由表生成算法 在复杂…

Wi-SUN无线通信技术 — 大规模分散式物联网应用首选

引言 在数字化浪潮的推动下,物联网(IoT)正逐渐渗透到我们生活的方方面面。Wi-SUN技术以其卓越的性能和广泛的应用前景,成为了大规模分散式物联网应用的首选。本文将深入探讨Wi-SUN技术的市场现状、核心优势、实际应用中的案例以及…

一些和颜色相关网站

1.中国传统色 2.网页颜色选择器 3.渐变色网站 4.多风格色卡生成 5.波浪生成 6.半透明磨砂框

第123天:内网安全-域防火墙入站出站规则不出网隧道上线组策略对象同步

目录 案例一: 单机-防火墙-限制端口\协议出入站 案例二:不出网的解决思路 入站连接 隧道技术 案例三:域控-防火墙-组策略对象同步 案例四:域控-防火墙-组策略不出网上线 msf cs 案例一: 单机-防火墙-限制端口\…

RabbitMQ的学习和模拟实现|sqlite轻量级数据库的介绍和简单使用

SQLite3 项目仓库:https://github.com/ffengc/HareMQ SQLite3 什么是SQLite为什么需要用SQLite官方文档封装Helper进行一些实验 什么是SQLite SQLite是一个进程内的轻量级数据库,它实现了自给自足的、无服务器的、零配置的、事务性的 SQL数据库引擎…

CTFSHOW game-gyctf web2

【2020年新春战“疫”】game-gyctf web2 参考https://www.cnblogs.com/aninock/p/15408090.html 说明:看见网上好像没多少人写,刚好玩到这道题了,就写一下吧。 一、利用入口 常规套路发现www.zip然后进行代码审计 index可以包含update&…

汽车技术智能化程度不断提升,线束可靠性如何设计?

随着汽车技术的高速发展,汽车自动化、智能化程度的逐步提高,人们对汽车的安全性、舒适性、娱乐性等要求也不断提高,加上汽车节能减排法规的不断严峻,整车电气设备不断增加,作为连接汽车各种电器设备“神经网络”的整车…

谷粒商城实战笔记-跨域问题

一,When allowCredentials is true, allowedOrigins cannot contain the special value “*” since that cannot be set on the “Access-Control-Allow-Origin” response header. To allow credentials to a set of origins, list them explicitly or consider u…

数据清洗系统设计

设计一个高效的数据清洗系统旨在确保数据的质量,以便后续分析和决策过程可以基于准确、一致和完整的信息。以下是设计实时数据清洗系统时需要考虑的关键要素,结合之前提到的设计目标和原则: 1. 高效的数据处理 技术选型:采用并行…

Linux基于CentOS7【yum】【vim】的基础学习,【普通用户提权】

目录 yum生态 什么是yum yum是如何得知目标服务器的地址和下载链接 vim vim模式 命名模式 光标移动 插入模式 i键插 a键插 o键插 底行模式 批量化注释 批量化去注释 创建vim配置文件 例子 高亮功能: 缩进功能: 符号位自动补齐功能…

win10安装ElasticSearch7.x和分词插件

说明: 以下内容整理自网络,格式调整优化,更易阅读,希望能对需要的人有所帮助。 一 安装 Java环境 ElasticSearch使用Java开发的,依赖Java环境,安装 ElasticSearch 7.x 之前,需要先安装jdk-8。…

梅卡曼德高精度 DLP 结构光焊接专用 3D 相机

精度高,抗环境光、抗反光,成像效果好 自研蓝光 DLP 投影技术及双目结构光 3D 成像算法,相 机精度高,抗环境光、抗反光性能优异。在实际场景中, 可对各类复杂焊接件、焊缝高质量成像。 超小体积,超强适…

UFO:革新Windows操作系统交互的UI聚焦代理

人工智能咨询培训老师叶梓 转载标明出处 人机交互的便捷性和效率直接影响着我们的工作和生活质量。尽管现代操作系统如Windows提供了丰富的图形用户界面(GUI),使得用户能够通过视觉和简单的点击操作来控制计算机,但随着应用程序功…