找回密码
 注册
关于网站域名变更的通知
查看: 450|回复: 1
打印 上一主题 下一主题

【分享】PCIE 上位机 介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-28 10:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
【分享】PCIE 上位机 介绍
/ Y( E+ U% _- z  ]5 [6 u( O2 o
作者:云哥哥
7 B1 o' I& d! L- M5 E
本文为明德扬原创文章,转载请注明出处!

9 c/ V9 S% f! q: _
开发环境:windows开发平台:QT5.11.3

, F0 E" b$ O+ w! _4 o4 W: @9 W
一.PCIE上位机测试过程

' w( E. m9 O: ]# N* u5 X
将数据传到芯片中,通过pcie再将芯片算完的数传给上位机。
: }; _$ O# P2 Q# v6 p# Z, \
目标:

. j/ a4 p$ }6 `4 m* B
1.实现上位机的速度测试,经测试pcie的传输速度达到2.2GB/s,以上

+ E# k! W- K& o5 ]; T
2.上位机收到pcie的数据后保存在D盘的根目录下,pcie实现测速的原理:
首先打开上位机后先检测pcie设备是否已经准备好,调用的函数为
; z4 W$ `; y' P8 y7 c
若pcie init()<0,则检测不到pcie设备。
检测完准备好后,开启一个线程检测接收的数据;开启线程的函数如下:
) M/ i+ _2 E% S$ ^) y* M
线程不断读取的函数如下:
其中,c2h_transfer_size:每次读取的长度为8MB
H2c_align_mem_tmp:读取到的数据保存在这块内存中
) T8 m: u, a7 f1 c( h/ V
检验上位机收到的数据是否正确。
6 o  \; R$ s8 ~' n
由于要检测数据所以可以暂时把数据保存在文件中,保存的文件的函数如下:

; s. D' e2 O, P4 v0 I, Y
File_test。Close()://关闭文件,刷新数据
当用户想保存文件的时候调用以上代码即可
; d+ M2 f) A9 j) [3 f$ s
二.分析文件

2 U' M) Q# Q. c7 y2 e
保存的文件是以。Bin格式保存的,可以使用Hex Editor ,打开文件如下:
6 u; @; g- I5 C0 Z* b3 J) V5 `
当用户相分析数据的时候可以使用Matable或者qt程序自行写软件分析这里,我们明德扬的pcie自定义了一个数据包,包的格式是以16个字节为一个数据,data[16]={0X55,0XAA,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,,0X00,0X00,0X40,0X02,0X00,0X01}

4 C4 ?' z. Z: q
其中0X55,0XAA是包头,,0X40,0X02是包序列,0X00,0X01包数据

1 t6 ]) d; C- t: V& J7 X
当包数据0X00,0X01递增到0X00,0X0F后,然后归为0X00,0X00,包序列也递增,如0X40,0X00递增到0X40,0X01
4 L/ g9 S$ e! `; f5 Q8 A
然后用qt测试,打开如下界面:

: v! b+ u- z( o# _
然后点击"读数据",数据保存在D盘
- H  }' K2 A0 v$ q
然后打开如下图片中pcie_fun.c文件,该文件是pcie驱动文件
里面
是设备输出

: ]1 h+ r9 U! p4 N- _/ G
上位机往FPGA发送数据的函数
上位机接收fpga的数据的函数
0 `; y0 x! B) N/ {2 D9 f5 q  ^
以上为pcie 上位机的介绍,感兴趣的同学可以和我讨论。

5 c& b+ u0 F+ D. B  Y0 ]" G8 \6 y# D
) E! C9 M, d  e5 |' h

该用户从未签到

2#
发表于 2019-12-28 18:23 | 只看该作者
先看看再说
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-23 04:43 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表