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

    关注

    1655

    文章

    22283

    浏览量

    630236
  • PCIe
    +关注

    关注

    16

    文章

    1420

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 653次阅读
    【迅为工业<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 1092次阅读
    【赛题教程】基于<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 1496次阅读
    迅为<b class='flag-5'>RK3568</b> 重制版<b class='flag-5'>RK3568</b>驱动指南全面升级

    【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

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

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

    rk3568开发工具

    rk3568开发工具
    发表于 04-16 17:03 7次下载

    基于RK3568 + FPGA国产平台的多通道AD实时采集显示方案分享

    在工业控制与数据采集领域,高精度的AD采集和实时显示至关重要。今天,我们就来基于瑞芯微RK3568J+FPGA国产平台深入探讨以下,它是如何实现该功能的。适用开发环境如下:Windows开发环境
    的头像 发表于 03-28 10:11 1192次阅读
    基于<b class='flag-5'>RK3568</b> + <b class='flag-5'>FPGA</b><b class='flag-5'>国产</b><b class='flag-5'>平台</b>的多通道AD实时采集显示方案分享

    飞凌嵌入式RK3568核心板的司机权限信息采集器方案

    在某厂商的司机权限采集器项目中,选择了飞凌嵌入式的FET3568J-C工业级核心板作为主控平台。该核心板采用RK3568J四核64位Cortex-A55架构,主频高达1.8GHz,性能强劲;同时内置
    的头像 发表于 03-20 14:27 1364次阅读
    飞凌嵌入式<b class='flag-5'>RK3568</b>核心板的司机权限信息采集器方案

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

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

    RK3568原理图及规格书资料

    RK3568 IoT设备官方参考原理图
    发表于 02-07 15:28 25次下载

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

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

    RK3562J正式支持NPU,性价比再提升

    、双路Camera等,外设接口资源十丰富,是RK3568J处理器降成本、降功耗的首选平台,在工商业储能EMS、通讯管理机、运动控制器、AGV机器人、车载数据网关等场景被广泛应用。 近期,瑞芯微在
    的头像 发表于 01-23 16:00 1186次阅读
    <b class='flag-5'>RK3562J</b>正式支持NPU,性价比再<b class='flag-5'>提升</b>!

    如何快捷使用瑞芯微RK3568J开发板

    。 硬件平台:飞凌嵌入式RK3568/RK3568J 开发板 操作系统:Linux、Android、Ubuntu 目录 1、Linux设备树的路径是什么? 2、Linux 源码编译不通
    发表于 12-19 16:18