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
    +关注

    关注

    1664

    文章

    22502

    浏览量

    639149
  • PCIe
    +关注

    关注

    16

    文章

    1479

    浏览量

    88917
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为电子RK3568+RK3588开发板资料焕新升级!多维度优化助力开发者效率提升

    迅为电子RK3568+RK3588开发板资料焕新升级!多维度优化助力开发者效率提升
    的头像 发表于 03-26 15:06 466次阅读
    迅为电子<b class='flag-5'>RK3568+RK</b>3588开发板资料焕新升级!多维度优化助力开发者效率<b class='flag-5'>提升</b>

    RK3568 Android11编译环境搭建及报错解决指南

    在嵌入式开发领域,RK3568 芯片凭借其出色的性能被广泛应用。基于 RK3568 进行 Android11 系统的开发,首先要搭建好编译环境。本文将详细介绍在 Ubuntu20.04 系统上搭建 RK3568 Android1
    的头像 发表于 02-04 17:37 2094次阅读
    <b class='flag-5'>RK3568</b> Android11编译环境搭建及报错解决指南

    迅为RK3576对比RK3568:AI算力与接口的全面跃迁

    迅为RK3576对比RK3568:AI算力与接口的全面跃迁
    的头像 发表于 12-22 15:24 2437次阅读
    迅为<b class='flag-5'>RK</b>3576对比<b class='flag-5'>RK3568</b>:AI算力与接口的全面跃迁

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 1626次阅读
    【迅为工业<b class='flag-5'>RK3568</b>稳定可靠】itop-<b class='flag-5'>3568</b>开发板Linux驱动开发实战:<b class='flag-5'>RK3568</b>内核模块符号导出详解

    【赛题教程】基于RK3568+PG2L50H实现八路视频输入参考方案

    大学生嵌入式芯片与系统设计竞赛FPGA赛道RK3568+PG2L50H是一款基于瑞芯微RK3568J处理器+紫光同创Logos-2PG2L50HFPGA设计的异构多
    的头像 发表于 09-12 16:03 1757次阅读
    【赛题教程】基于<b class='flag-5'>RK3568</b>+PG2L50H实现八路视频输入参考方案

    【HZ-RK3568开发板免费体验】HZ-RK3568开发板操作系统编译

    ========================================== + make -C /home/jack/HZ-EVM-RK3568-5.10-KERNEL-SDK/kernel/ -j5 CROSS_COMPILE=/home/jack
    发表于 08-17 09:15

    迅为RK3568 重制版RK3568驱动指南全面升级

    迅为RK3568 重制版RK3568驱动指南全面升级
    的头像 发表于 07-28 15:25 3549次阅读
    迅为<b class='flag-5'>RK3568</b> 重制版<b class='flag-5'>RK3568</b>驱动指南全面升级

    【HZ-RK3568开发板免费体验】合众HZ-RK3568开发板初次使用

    、HDMI接口 ⑤、4G与Debug Type-C接口、NVMe接口 ⑥、RK3568核心模块部分 至于底板提供的两路CAN接口,以及背面提供的MIPI-CS1接口,适配OV13850摄像头,这里就不
    发表于 07-27 23:52

    【HZ-RK3568开发板免费体验】1、开发板资源、SDK使用和镜像烧写

    的网络模型。 RK3568 具有高性能的DDR4,能够提供高性能场景下所需的内存带宽。 通过查看开发板的芯片型号,可知开发板板载1GB DDR4内存和8GB EMMC存储,开发板使用12V电源供电
    发表于 07-21 20:52

    【HZ-RK3568开发板免费体验】合众HZ-RK3568开发板测评

    Cortex-A55 架构,主频高达 2.0GHz,且内置 NPU,功能丰富,可玩性极高。 1 HZ-RK3568开发板简介 HZ-RK3568开发板基于RK3568处理器设计,
    发表于 07-14 22:24

    【HZ-RK3568开发板免费体验】HZ-RK3568开发板初步接触

    首先感谢合众恒跃与发烧友论坛提供的机会! 一、开箱 首先是一个大盒子,上面赫然“工业领域嵌入式产品专家”! 打开后,一块很大的黑色PCB。 开发板由底板和核心板组成,核心板基于瑞芯微RK3568J
    发表于 07-10 23:19

    【HZ-RK3568开发板免费体验】01 开箱+环境搭建+系统烧录升级

    强大的兼容性,可以轻松地转换基于 TensorFlow/MXNet/PyTorch/Caffe 等一系列框架的网络模型。RK3568J 具有高性能的DDR4,能够提供高性能场景下所需的内存带宽。 开发板
    发表于 06-29 18:08

    Rockchip RK3568技术参考手册

    电子发烧友网站提供《Rockchip RK3568技术参考手册.pdf》资料免费下载
    发表于 05-17 17:24 57次下载

    紫光同创Logos2+RK3568开发板|国产器件强强联合开启嵌入式开发新篇章

    PG2L50H FPGA 设计的异构多核国产工业评估板,整套开发板由核心板和底板组成。普遍适用于通信、图像视频处理、数据分析、网络信息安全、仪器仪表等行业。 核心板采用瑞芯微RK3568J
    发表于 05-14 18:04

    紫光同创Logos2+RK3568开发板:国产器件强强联合开启嵌入式开发新篇章

    国产芯片的崛起与创新组合RK3568:强大性能的核心引擎紫光同创PG2L50H灵活定制的硬件利器强强联合聚势而生RK3568+紫光同创PG2L50HRK3568与紫光同创PG2L50H
    的头像 发表于 05-13 08:03 1747次阅读
    紫光同创Logos2+<b class='flag-5'>RK3568</b>开发板:<b class='flag-5'>国产</b>器件强强联合开启嵌入式开发新篇章