首页 > 其他分享 >全国产RK3568J + FPGA的PCIe、FSPI通信实测数据分享!

全国产RK3568J + FPGA的PCIe、FSPI通信实测数据分享!

时间:2024-05-30 12:01:06浏览次数:17  
标签:RK3568J FPGA MB 总线 PCIe FSPI 速率

测试数据汇总

案例

时钟频率

理论速率

测试结果

FSPI通信案例

150MHz

71.53MB/s

读速率:67.452MB/s

写速率:52.638MB/s

PCIe通信案例

100MHz

803.09MB/s

读速率:595.24MB/s

写速率:791.14MB/s

备注:
(1)当TLP header size =16Byte时,PCIe理论传输速率为:782.50MB/s;(2)当TLP header size =12Byte时,PCIe理论传输速率为:803.09MB/s;

FSPI、PCIe总线介绍

FSPI(Flexible Serial Peripheral Interface)是一种高速、全双工、同步的串行通信总线,在RK3568J处理器中就有FSPI控制器,可用来连接FSPI设备。它具备如下特点:

(1)支持串行NOR FLASH、串行NAND FLASH;

(2)支持SDR模式;(3)支持单线、双线以及四线模式。

 

 

图1 FSPI数据传输波形图

 

PCIe,即PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度。

 

 

图2 PCIe数据传输图

硬件平台介绍

硬件方案:创龙科技TL3568F-EVM评估板(瑞芯微RK3568J + 紫光同创Logos-2)。

 

TL3568F-EVM评估板简介:

创龙科技TL3568F-EVM是一款基于瑞芯微RK3568J/RK3568B2四核ARM Cortex-A55处理器 + 紫光同创Logos-2 PG2L50H/PG2L100H FPGA设计的异构多核国产工业评估板,由核心板和评估底板组成,ARM Cortex-A55处理单元主频高达1.8GHz/2.0GHz。核心板ARM、FPGA、ROM、RAM、电源、晶振、连接器等所有元器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案。

 

RK3568J + FPGA典型应用场景

 

RK3568J + FPGA应用场景十分广泛,涵盖小电流选线、继电保护测试仪、运动控制器、医疗内窥镜、血液分析仪、目标识别跟踪等领域,可满足多种工业应用要求。

 

 

图3

 

案例测试

下文主要介绍基于瑞芯微RK3568J与紫光同创Logos-2(硬件平台:创龙科技TL3568F-EVM评估板)的FSPI、PCIe通信案例,按照创龙科技提供的案例用户手册进行操作得出测试结果。

 

基于RK3568J + FPGA的FSPI通信案例

 

(1)案例说明

 

ARM端运行Linux系统,基于FSPI总线对FPGA DRAM进行读写测试。

 

 

图4 ARM端程序流程图

ARM端实现SPI Master功能,原理说明如下:

 

a)打开SPI设备节点,如:/dev/spidev4.0。

b)使用ioctl配置FSPI总线,如FSPI总线极性和相位、通信速率、数据长度等。

c)选择模式为单线模式、双线模式或四线模式。当设置FSPI为四线模式时,发送数据为四线模式,接收数据为四线模式。

d)发送数据至FSPI总线,以及从FSPI总线读取数据。

e)校验数据,然后打印读写速率、误码率。

 

FPGA端实现SPI Slave功能,原理说明如下:

 

a)FPGA将SPI Master发送的数据保存至DRAM。

b)SPI Master发起读数据时,FPGA从DRAM读取数据通过FSPI总线传输至SPI Master。

 

(2)测试结果

 

ARM通过FSPI总线(四线模式)写入2048Byte随机数据至FPGA DRAM,然后读出数据、进行数据校验,同时打印FSPI总线读写速率和误码率。

从下图可知,本次实测写速率为11.035MB/s,读速率为24.414MB/s,误码率为0.00%。

 

 

图5

 

若设置FSPI总线通信时钟频率为150MHz,ARM通过FSPI总线写入1MByte随机数据至FPGA DRAM,然后读出数据,循环100次,不做数据检验,最后打印FSPI总线读写速率和误码率。

 

最终,本次测试设置FSPI总线通信时钟频率为150MHz,则FSPI四线模式理论通信速率为:(150000000 / 1024 / 1024 / 8 x 4)MB/s ≈ 71.53MB/s。从下图可知,本次实测写速率为52.638MB/s,读速率为67.452MB/s,比较接近理论通信速率。

 

备注:本案例设计FPGA BRAM大小2048Byte,一次写入1MByte数据量会导致BRAM数据溢出,因此误码率较高。配置一次写入1MByte数据量只是为了验证FSPI的最大通信速率,不考虑误码率。

 

 

图6

 

基于RK3568J + FPGA的PCIe通信案例

 

(1)案例说明

 

ARM端基于PCIe总线对FPGA DRAM进行读写测试。应用程序通过ioctl函数发送命令开启DMA传输数据后,等待驱动上报input事件;当应用层接收到input事件,说明DMA传输数据完成。

 

 

图7 程序流程图

 

ARM端原理说明如下:

 

a)采用DMA方式;

b)将数据写至dma_memcpy驱动申请的连续内存空间(位于DDR);

c)配置DMA,如源地址、目标地址、传输的数据大小等;

d)写操作:通过ioctl函数启动DMA,通过PCIe总线将数据搬运至FPGA DRAM;

e)程序接收驱动上报input事件后,将通过ioctl函数获取DMA搬运数据耗时,并计算DMA传输速率(即写速率);

f)读操作:通过ioctl函数启动DMA,通过PCIe总线将FPGA DRAM中的数据搬运至dma_memcpy驱动申请的连续内存空间(位于DDR);

g)程序接收驱动上报input事件后,将数据从内核空间读取至用户空间,然后校验数据,同时通过ioctl函数获取DMA搬运数据耗时,并计算DMA传输速率(即读速率)。

 

FPGA端原理说明如下:

 

a)实现PCIe Endpoint功能;

b)处理PCIe RC端发起的PCIe BAR0空间读写事务;

c)将PCIe BAR0读写数据缓存至FPGA DRAM中。

 

(2)测试结果

 

将随机数据先写入FPGA DRAM,再从FPGA DRAM读出。测试完成后,程序将会打印最终测试结果,包含读写平均传输耗时、读写平均传输速率、读写错误统计等信息。

 

 

图8   表 2 测试结果说明

write/read

写操作

读操作

time

DMA传输耗时,本次测试为79us

DMA传输耗时,本次测试为105us

rate

DMA传输速率,本次测试为791.14MB/s

DMA传输速率,本次测试为595.24MB/s

app time

应用层写数据至驱动Buffer耗时,本次测试为55us

应用层从驱动Buffer读取数据耗时,本次测试为288us

app rate

应用层写数据至驱动Buffer速率,本次测试为1132.10MB/s

应用层从驱动Buffer读取数据速率,本次测试为217.99MB/s

write_error/read_error

写数据过程中出错次数,本次测试为0

读数据过程中出错次数,本次测试为0

 
 

标签:RK3568J,FPGA,MB,总线,PCIe,FSPI,速率
From: https://www.cnblogs.com/Tronlong818/p/18222087

相关文章

  • 含税168元起!四核A53+NPU+PCIe+USB3.0,瑞芯微RK3562性价比真高!
     ......
  • 了解Stratix® V 5SGXA5 FPGA系列5SGXEA5H2F35I3G、5SGXEA5H2F35C3G、5SGXEA5H1F35C2G
    摘要StratixVFPGA具有1.6Tbps串行交换能力,采用各种创新技术和前沿28-nm工艺,突破带宽瓶颈,降低了宽带应用的成本和功耗。概述StratixVFPGA系列采用TSMC28nm高性能(HP)工艺进行制造,提供110万逻辑单元(LE)、53-Mbits嵌入式存储器、3,680个18x18乘法器,以及工作在业界最高速率......
  • 基于FPGA的计算器设计---第一版
    欢迎各位朋友关注“郝旭帅电子设计团队”,本篇为各位朋友介绍基于FPGA的计算器设计---第一版。功能说明: 1.计算器的显示屏幕为数码管。2.4x4矩阵键盘作为计算器的输入设备。3.计算任意两位正整数的加减乘除。4.当减法结果出现负数时(一个小的数字减去一个大的数字),数码管......
  • OFDM 802.11a的FPGA实现:发射部分的最终实现
    目录1.摘要2.最终实现的ModelSim仿真3.Matlab仿真和MoselSim仿真进行对比4.完整工程1.摘要本系统在Xilinx的zynq7000系列FPGA芯片上实现了一个基于IEEE802.11a协议的OFDM基带处理发射机的功能。本系统包含了整个发射机的所有功能,包括序列训练符号、Siganl符号和Data......
  • 基于FPGA的函数信号发生器设计
    本科时期的一个课设,现在将他分享出来,写了很详细的文章,可以直接拿去使用:设计采用波形查找表和相位累加器的方法实现DDS,查找表的数据位宽为8位,采样点数为4096。波形产生范围是100Hz-20MHz,最小频率间隔为1Hz,用8个数码管显示频率,可产生正弦波、方波、三角波,波形用两个led显示,select......
  • 突破带宽瓶颈,5SGSMD4E1H29C2G、5SGSMD4E1H29I2G、5SGSMD4E3H29I3G Stratix® V GS FPG
    StratixVGSFPGA——600-Mbps至12.5-Gbps收发器,适用于高性能数字信号处理(DSP)应用。中文参数:5SGSMD4E1H29C2GLAB/CLB数:135840逻辑元件/单元数:360000总RAM位数:19456000I/O数:360电压-供电:0.87V~0.93V安装类型:表面贴装型工作温度:0°C~85°C(TJ)封装/外壳:780-BBGA,FCBGA......
  • FPGA复位:(35)复位移除方法?
    1.1复位移除方法?1.1.1本节目录1)本节目录;2)本节引言;3)FPGA简介;4)复位移除方法?5)结束语。1.1.2本节引言“不积跬步,无以至千里;不积小流,无以成江海。就是说:不积累一步半步的行程,就没有办法达到千里之远;不积累细小的流水,就没有办法汇成江河大海。1.1.3FPGA简介FPGA(FieldP......
  • FPGA复位:(33)同步复位优势?
    1.1同步复位优势?1.1.1本节目录1)本节目录;2)本节引言;3)FPGA简介;4)同步复位优势?5)结束语。1.1.2本节引言“不积跬步,无以至千里;不积小流,无以成江海。就是说:不积累一步半步的行程,就没有办法达到千里之远;不积累细小的流水,就没有办法汇成江河大海。1.1.3FPGA简介FPGA(FieldP......
  • FPGA交通灯进阶
    1.进阶要求➢十字路分为主干道Highway和乡村公路Farmroad;➢路口的检测器C,没有检测到Farmroad上有等候的车子,Highway上的交通灯(HL)保持为绿灯;➢C检测到Farmroad上有车后HL再保持一段时间(例如30秒)才通过黄灯(例如3秒)变为红灯,同时Farmroad上的交通灯(FL)从红灯变为绿灯;➢Farm......
  • 基于FPGA的NC图像质量评估verilog实现,包含testbench和MATLAB辅助验证程序
    1.算法运行效果图预览vivado2019.2和matlab2022a测试,结果如下:    2.算法运行软件版本vivado2019.2 matlab2022a 3.算法理论概述​      图像质量的含义包括图像的逼真度和图像的可读懂性。所谓图像的逼真度是指被评价图像与标准图像的偏离程度,偏差越......