0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

1分钟学会如何提升PCIe通信速率,基于RK3568J + FPGA国产平台!

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2025-01-23 16:17 次阅读

测试数据汇总

表 1

wKgZPGeR-xCAI5peAABmvZWdsSk47.jpeg

PCIe总线介绍

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

wKgZO2eR-xGAUls1AABLr-GTP7o661.png

图 1

DMA技术介绍

DMA(Direct Memory Access,直接内存访问)是一种让硬件外设直接与存储器进行数据交换的技术,无需CPU参与数据传输过程。

使用非DMA方式进行数据传输时,外设与内存之间的数据搬运需要依靠CPU来完成。这意味着每次数据传输都需要CPU的介入,导致CPU资源占用较高,并且数据传输速度相对较低。

使用DMA方式进行数据传输时,外设可以直接与内存进行数据交换。减少了CPU的介入和中断处理,数据传输过程更加流畅和高效。

wKgZPGeR-xGAPFE_AADzT7D7RYE95.jpeg

图 2

RK3568J + FPGA典型应用场景

wKgZO2eR-xKAAdcZAALP_wa4qMo578.png

图 3

基于RK3568J + FPGA的PCIe通信案例

本文主要介绍基于RK3568J + FPGA的PCIe通信案例,适用开发环境如下:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:VMware15.5.5、Ubuntu18.04.4 64bit

U-Boot:U-Boot-2017.09

Kernel:Linux-4.19.232、Linux-RT-4.19.232

LinuxSDK:LinuxSDK-[版本号](基于rk356x_linux_release_v1.3.1_20221120)

硬件平台:创龙科技TL3568F-EVM工业评估板

(基于瑞芯微RK3568J + 紫光同创Logos-2)

为了简化描述,本文仅摘录部分方案功能描述与测试结果,详细产品资料可以通过公众号(Tronlong创龙科技)下载

案例说明

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

程序流程如下图所示。

wKgZPGeR-xKAMnPHAAD21_HbSIM982.png

图 4

(1)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传输速率(即读速率)。

(2) FPGA端程序原理说明如下:

a)实现PCIe Endpoint功能;

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

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

案例演示

评估板上电启动后,进入评估板文件系统执行如下命令,将随机数据先写入FPGA DRAM,再从FPGA DRAM读出。测试完成后,程序将会打印最终测试结果,包含读写平均传输耗时、读写平均传输速率、读写错误统计等信息

Target#./dma_memcpy_demo -a 0xf0200000 -s 65536 -c 100 -d /dev/input/event6

wKgZO2eR-xOAbGbjAAASw-_Ti5o878.png

图 5

表 2 测试结果说明

wKgZPGeR-xOAbuttAADVCikSRGA67.jpeg

到这里,我们的演示步骤结束。想要查看更多瑞芯微RK3568J + FPGA相关的案例演示,欢迎各位工程师通过公众号(Tronlong创龙科技)下载,快来试试吧!

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1632

    文章

    21816

    浏览量

    607073
  • PCIe
    +关注

    关注

    15

    文章

    1274

    浏览量

    83420
收藏 人收藏

    相关推荐

    RK3568J高性能多媒体处理器特性概述

    RK3568J是一款高性能的多媒体处理器,专为满足现代智能设备对高性能、低功耗的需求而设计。它集成了四核64位Cortex-A55 CPU、ARM G52 2EE GPU以及自研的512MAC
    的头像 发表于 02-11 17:41 401次阅读

    瑞芯微 RK3568J 视频图像处理框架全解析

    瑞芯微RK3568J产品简介 RK3568J是瑞芯微四核ARM Cortex-A55@1.8GHz工业旗舰处理器。 创龙科技基于RK3568J所设计的工业核心板(SOM-TL3568
    的头像 发表于 01-24 09:36 234次阅读
    瑞芯微 <b class='flag-5'>RK3568J</b> 视频图像处理框架全解析

    3568F-FPGA案例开发手册

    元器件数量占比,数据仅供参考)。 核心板内部RK3568J/RK3568B2与Logos-2通过PCIe 2.0、FSPI、I2C、GPIO连接,经过专业的PCB Layout和高低温测试验证,质量稳定
    发表于 07-25 15:35

    3568F--基于Pango Design Suite的FPGA程序加载与固化

    元器件数量占比,数据仅供参考)。 核心板内部RK3568J/RK3568B2与Logos-2通过PCIe 2.0、FSPI、I2C、GPIO连接,经过专业的PCB Layout和高低温测试验证,质量稳定
    发表于 07-25 15:30

    3568F-MQTT通信协议案例

    元器件数量占比,数据仅供参考)。 核心板内部RK3568J/RK3568B2与Logos-2通过PCIe 2.0、FSPI、I2C、GPIO连接,经过专业的PCB Layout和高低温测试验证,质量稳定
    发表于 07-25 15:27

    3568F-NPU开发案例

    元器件数量占比,数据仅供参考)。 核心板内部RK3568J/RK3568B2与Logos-2通过PCIe 2.0、FSPI、I2C、GPIO连接,经过专业的PCB Layout和高低温测试验证,质量稳定
    发表于 07-25 15:15

    3568F-ARM+FPGA通信案例开发手册

    元器件数量占比,数据仅供参考)。 核心板内部RK3568J/RK3568B2与Logos-2通过PCIe 2.0、FSPI、I2C、GPIO连接,经过专业的PCB Layout和高低温测试验证,质量稳定
    发表于 07-25 15:12

    3568F-视频开发案例

    元器件数量占比,数据仅供参考)。 核心板内部RK3568J/RK3568B2与Logos-2通过PCIe 2.0、FSPI、I2C、GPIO连接,经过专业的PCB Layout和高低温测试验证,质量稳定
    发表于 07-25 15:04

    三屏异显案例分享,基于全国产RK3568J工业平台

    升级,实现多屏异显已不再困难。而作为国产工业处理器中的佼佼者,瑞芯微RK3568J处理器可实现三屏异显,较好地满足当下的客户需求。RK3568J多屏显示系统说明 RK3568J处理器支
    发表于 07-17 10:53

    国产RK3568J基于FSPI的ARM+FPGA通信方案分享

    量(会导致实测速率偏低),否则会产生误码现象。如使用创龙科技TL3568F-EVM评估板(RK3568J + Logos-2)硬件平台进行测试,则无误码的
    发表于 07-17 10:50

    RK3568J“麒麟”+“翼辉”国产系统正式发布,“鸿蒙”也正在路上!

    本帖最后由 Tronlong创龙科技 于 2024-7-19 17:16 编辑 RK3568J ”麒麟“ + “翼辉”国产系统正式发布 近期,创龙科技RK3568J国产
    发表于 07-09 11:44

    米尔创新设计RK3568全LGA国产核心板,更紧凑可靠省连接器成本

    核心板采用高密度高速电路板设计,在大小为43mm*45mm*3.85mm板卡上集成了RK3568J/RK3568B2、LPDDR4、eMMC、E2PROM、PMIC电源等电路。核心板根据存储器件参数
    发表于 06-28 19:37

    Android案例分享,基于瑞芯微RK3568国产平台

    :Rockchip_Android13_SDK_Release   硬件平台介绍 创龙科技TL3568-EVM是一款基于瑞芯微RK3568J/RK3568B2处理器设计的四核ARM C
    的头像 发表于 06-20 10:04 800次阅读
    Android案例分享,基于瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>国产</b><b class='flag-5'>平台</b>!

    国产RK3568J + FPGAPCIe、FSPI通信实测数据分享!

    Interface)是一种高速、 全双工 、同步的串行通信总线,在RK3568J处理器中就有FSPI控制器,可用来连接FSPI设备。
    的头像 发表于 05-30 11:00 1041次阅读
    全<b class='flag-5'>国产</b><b class='flag-5'>RK3568J</b> + <b class='flag-5'>FPGA</b>的<b class='flag-5'>PCIe</b>、FSPI<b class='flag-5'>通信</b>实测数据分享!

    深度对比!瑞芯微RK3562JRK3568J好在哪里?

    作为瑞芯微的明星产品——RK3568J,凭借其出色的性能及丰富的外设接口成为国内众多工业客户的最佳选择。随着RK3568J的大规模应用,很多客户开始针对RK3568J的价格偏高、功耗偏高等问题提出
    的头像 发表于 04-29 08:07 1094次阅读
    深度对比!瑞芯微<b class='flag-5'>RK3562J</b>比<b class='flag-5'>RK3568J</b>好在哪里?