查看: 90|回复: 0

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

[复制链接]
  • TA的每日心情
    无聊
    2021-9-1 13:41
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2024-12-24 16:02:19 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 陈工-创龙科技 于 2024-12-24 16:05 编辑

    测试数据汇总
    表 1

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

    图 1

    DMA技术介绍
    DMA(Direct Memory Access,直接内存访问)是一种让硬件外设直接与存储器进行数据交换的技术,无需CPU参与数据传输过程。
    使用非DMA方式进行数据传输时,外设与内存之间的数据搬运需要依靠CPU来完成。这意味着每次数据传输都需要CPU的介入,导致CPU资源占用较高,并且数据传输速度相对较低。
    使用DMA方式进行数据传输时,外设可以直接与内存进行数据交换。减少了CPU的介入和中断处理,数据传输过程更加流畅和高效。

    图 2

    RK3568J + FPGA典型应用场景

    图 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传输数据完成。
    程序流程如下图所示。

    图 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功能;
    b)处理PCIe RC端发起的PCIe BAR0空间读写事务;
    c)将PCIe BAR0读写数据缓存至FPGA DRAM中。
    案例演示
    评估板上电启动后,进入评估板文件系统执行如下命令,将随机数据先写入FPGA DRAM,再从FPGA DRAM读出。测试完成后,程序将会打印最终测试结果,包含读写平均传输耗时、读写平均传输速率、读写错误统计等信息。
    Target#./dma_memcpy_demo -a 0xf0200000 -s 65536 -c 100 -d /dev/input/event6

    图 5

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

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-7 22:28 , Processed in 0.117493 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.