首页 > 其他分享 >PCIE 上位机 介绍

PCIE 上位机 介绍

时间:2022-12-05 11:37:25浏览次数:61  
标签:文件 pcie 0X00 保存 介绍 PCIE 上位 数据

本文为明德扬原创文章,转载请注明出处!

开发环境:windows开发平台:QT5.11.3

1、PCIE上位机测试过程

FPGA将数据传到芯片中,通过pcie再将芯片算完的数传给上位机。目标:

1.实现上位机的速度测试,经测试pcie的传输速度达到2.2GB/s以上


         2.上位机收到pcie的数据后保存在D盘的根目录下,pcie实现测速的原理:首先,打开上位机后先检测pcie设备是否已经准备好,调用的函数为

若pcie init()<0,则检测不到pcie设备。检测完准备好后,开启一个线程检测接收的数据;开启线程的函数如下:


PCIE 上位机 介绍_PCIE采集卡

线程不断读取的函数如下:

PCIE 上位机 介绍_PCIE项目_02

其中,c2h_transfer_size:每次读取的长度为8MB

  H2c_align_mem_tmp:读取到的数据保存在这块内存中检验上位机收到的数据是否正确。由于要检测数据所以可以暂时把数据保存在文件中,保存的文件的函数如下:

PCIE 上位机 介绍_PCIE项目_03

PCIE 上位机 介绍_PCIE学习_04

File_test。Close()://关闭文件,刷新数据当用户想保存文件的时候调用以上代码即可

2、 分析文件

保存的文件是以Bin格式保存的,可以使用Hex Editor ,打开文件如下:

PCIE 上位机 介绍_PCIE学习_05


当用户相分析数据的时候可以使用Matable或者qt程序自行写软件分析这里,我们明德扬的pcie自定义了一个数据包,包的格式是以16个字节为一个数据,data[16]={0X55,0XAA,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,,0X00,0X00,0X40,0X02,0X00,0X01}

其中0X55,0XAA是包头,,0X40,0X02是包序列,0X00,0X01包数据当包数据0X00,0X01递增到0X00,0X0F后,然后归为0X00,0X00,包序列也递增,如0X40,0X00递增到0X40,0X01.然后用qt测试,打开如下界面:


PCIE 上位机 介绍_PCIE项目_06

然后点击“读数据”,数据保存在D盘,然后打开如下图片中pcie_fun.c文件,该文件是pcie驱动文件

PCIE 上位机 介绍_PCIE学习_07


里面

PCIE 上位机 介绍_PCIE项目_08

是设备输出上位机往fpga发送数据的函数


PCIE 上位机 介绍_PCIE学习_09

上位机接收fpga的数据的函数

PCIE 上位机 介绍_PCIE项目_10

PCIE 上位机 介绍_PCIE项目_11

以上为pcie 上位机的介绍,感兴趣的同学可以评论区留言


标签:文件,pcie,0X00,保存,介绍,PCIE,上位,数据
From: https://blog.51cto.com/u_14636286/5911635

相关文章

  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:BarcodeReader组件
    本文简述如何在Smobiler中使用BarcodeReader组件进行条码识别。Barcodereader通过机器学习能识别不规则条码,效率更好。Step1.新建一个SmobilerForm窗体,并在窗体中加入......
  • 介绍一个不错的web测试工具webbench
    除了APACHE的AB工具外,发现linux下的一个工具webbench也很不错,传说能模拟3万个并发访问.下面介绍下安装1tarzxvfwebbench.tar.gz2make......
  • Stream流处理介绍以及Stream的基本操作
    Stream(流)是一个来自数据源的元素队列,元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源:流的来源,可以是集合,数组等。和以前的Collec......
  • MongoDB 介绍及安装
    MongoDB介绍及安装官方文档:https://www.mongodb.com/docs/中文文档:https://www.mongodb.org.cn/操作文档:https://www.qikegu.com/docs/3267mongoDB的生态、理念非常先......
  • JDK中内嵌JS引擎介绍及使用
    原文:JDK中内嵌JS引擎介绍及使用-Stars-One的杂货小窝最近研究阅读这个APP,其主要功能就是通过一个个书源,从而实现移动端阅读的体验比如说某些在线小说阅读网站,会加......
  • riffa结构的上位机添加riffa.lib
    VS2015添加文件引用的lib静态库路径:1、工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录,如D:\suncanii\Xilinx-325T\PCIE7325\Project1\Project1......
  • python字符串常用方法介绍,基于python3.10
     python字符串常用方法-目录:1、strip()、lstrip()、rstrip()2、removeprefix()、removesuffix()3、replace()4、split()、rsplit()5、join()6、upper()、lower()、capita......
  • K8S-service介绍
    Service介绍在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解......
  • Request_获取请求参数通用方式介绍以及方式演示
    Request_获取请求参数通用方式介绍以及方式演示获取请求参数通用方式:无论get还是post请求方式都可以使用下列方法来获取请求参数1.StringgetParameter(Stringname......
  • CAN数据链路层的帧格式介绍——错误帧
    前言在CAN协议中,CAN总线除了众多优秀的特点外,还具有错误监测功能、错误通知功能、和错误恢复功能、故障封闭功能。下面系统了解以下CAN总线上的错误帧。错误检测所有ECU......