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,一经查实,立即删除!

相关文章

RabbitMQ+redis+Redisson分布式锁+seata实现订单服务

引言 订单服务涉及许多方面,分布式事务,分布式锁,例如订单超时未支付要取消订单,订单如何防止重复提交,如何防止超卖、这里都会使用到。 开启分布式事务可以保证跨多个服务的数据操作的一致性和完整性,使…

技术文档总结----思维导图

性能调优| ProcessOn免费在线作图,在线流程图,在线思维导图 mysql| ProcessOn免费在线作图,在线流程图,在线思维导图 kafka| ProcessOn免费在线作图,在线流程图,在线思维导图 mybatis缓存| ProcessOn免费在线作图,在线流程图,在线思维导图 java锁| ProcessOn免费在线作图,在…

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

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

宝塔安装完成,但访问https宝塔面板404,可以试试如下操作

问题 宝塔安装好了,日志信息都好的,但访问https访问不了解决 命令行 bt 进入宝塔命令界面宝塔面板命令行(1) 重启面板服务 (8) 改面板端口 | (2) 停止面板服务 (9) 清除面板缓存 | (3) 启动面板服务 (10) 清除登录限制 | (4) 重载面板服务 (11) 设置是…

坑人的macos tar 命令 (实际上是bsdtar)换用 gnu tar

周末 看着笔记本上好用的朗文当代高级词典(mac版)和其它两部词典,准备复制到黑苹果台式机上去。考虑到词典内容有太多小文件,普通复制传输太慢,毫无疑问用 tar 打包肯定快而且能保留原始文件的各种信息。命令如下: time tar czf …

系统架构设计师教程 第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 …

.Net 8 控制台程序部署(Linux篇)

在无流量Linux环境下部署.NET8开发的控制台程序 写在前面准备远程访问安装环境程序部署1.下载并导入2.解压并配置3.发布程序4.创建Systemd服务单元文件5.启用并启动服务 写在结尾 写在前面 好久没更新文章了,今天给大家带来的是在在无流量的Linux工控机上部署.Net8…

理想化相机模型的相机内参

文章目录 理想化相机模型的相机内参计算1. 相机内参定义2. 根据视角和图像分辨率计算相机内参2.1 计算焦距 fx 和 fy2.2 计算主点 cx 和 cy3. 示例计算3.1 计算 fx3.2 假设 fy = fx(因为没有垂直视场角的信息)3.3 计算主点4. 相机内参矩阵理想化相机模型的相机内参计算 在理…

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技术的市场现状、核心优势、实际应用中的案例以及…

使用html2pdf实现前端页面打印,批量打印导出为PDF

// 使用注意&#xff1a; // 如果页面中有图片会因为跨域问题导致图片下载不下来 // 所以在图片标签中需要加入一些属性&#xff1a;crossOrigin 和 url后加一个随机后缀 // <Image crossOrigin"anonymous" src{${faceInfo.user_face_url}?v${new Date()}} width…

一些和颜色相关网站

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

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

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

PHP MySQL Update

PHP MySQL Update 在PHP开发中&#xff0c;与MySQL数据库的交互是至关重要的。其中&#xff0c;更新数据库中的数据是一项基本且常见的操作。本文将详细介绍如何使用PHP来更新MySQL数据库中的数据。 1. 环境准备 在开始之前&#xff0c;请确保您的开发环境满足以下条件&…

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

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