RK3399+PCIe+FPGA 在高速AD采样中的应用

news2025/1/10 20:20:25

一、需求

要实现高速AD/DA的数据采集,并发送到高性能arm核进行数据处理;

方案RK3399+pcie+FPGA+AD/DA。

二、器件介绍

一、RK3399

RK3399是一款低功耗、高性能处理器,用于计算、个人移动互联网设备和其他智能设备应用。基于Big.Little架构,它将双核Cortex-A72和四核Cortex-A53与单独的NEON协处理器集成在一起。

许多嵌入式功能强大的硬件引擎为高端应用程序提供了优化的性能。RK3399支持多格式视频解码器,包括H.264/H.265/VP9,可达4Kx2K@60fps,特别是,H.264/H265解码器支持10比特编码,并且还通过以下方式支持H.264/MVC/VP8编码器:1080p@30fps、高质量JPEG编码器/解码器以及特殊图像预处理器和后处理器。

嵌入式3D GPU使RK3399与OpenGL ES1.1/2.0/3.0/3.1/3.2、OpenCL 1.2和DirectX 11.1完全兼容。带有MMU的特殊2D硬件引擎将最大化显示性能并提供非常平滑的操作。

RK3399具有高性能双通道外部存储器接口(DDR3/DDR3L/LPDRDR3/LPDDR4),能够维持苛刻的存储器带宽,还提供了一整套外围接口,支持非常灵活的应用。

二、FPGA

纯FPGA的选择,主要用于前端高速AD/DA的逻辑操作,Xilinx的7系列目前还是有很多的优势;同时也集成PCIe 硬核,在与RK3399配合方面,相当合适。

 充足的差分对也可以满足前端AD/DA的接口设计。

三、PCIe

一、为什么是PCIe

RK3399有不少专用的高速接口,比如MIPI、千兆网络、USB3.0、Type-C、EDP等;但如果是板上器件间的内部通讯,专用接口受到协议的限制、及各种PHY,灵活性就差很多。比如高速AD/DA的数据,FPGA采集完要传输到ARM进行数据处理,数据格式是私有的,并不能满足MIPI,那要去套用MIPI的数据格式,就存在各种问题了。最终只能选择PCIe,在便捷性和速率上得到满足。

RK3399 PCIe特性如下:

RK3399中的一个PCIe端口

与PCI Express基本规范2.1版兼容

操作模式:(RC)

最大链路宽度为4,单个双向链路接口

支持每个方向每车道2.5GT/s串行数据传输速率

支持模块内的DMA,2个通道,2个RAM分区,2K字节深度

支持可调整大小的BAR功能

在端点模式下支持单个物理PCI功能

支持传统中断、MSI和MSI-X中断

支持出站和入站地址转换

支持物理功能附带的8个虚拟功能

支持PCI Express活动状态电源管理(ASPM)状态L0和L1

支持L1电源管理

支持PCI功能电源状态D0、D1和D3以及相应的链路电源状态L0、L1和L2

二、PCIe驱动调试

正确生成FPGA固件后,加载RK3399驱动后,便可看到PCIe设备,并进行调用。

root@rk3399:/# lspci -vvv

00:00.0 Class 0604: 1d87:0100

01:00.0 Class 0700: 10ee:9021

root@rk3399:/# lspci -m

00:00.0 "Class 0604" "1d87" "0100" "0000" "0000"

01:00.0 "Class 0700" "10ee" "9021" "10ee" "0007"

root@rk3399:/# lspci -k

00:00.0 Class 0604: 1d87:0100 pcieport

01:00.0 Class 0700: 10ee:9021

root@rk3399:/sys/bus/pci/devices# ls

0000:00:00.0  0000:01:00.0

三、硬件调试

 

通过官方开发板转接验证正常,最终集成一体板。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机发展史之查尔斯·巴贝奇

查尔斯巴贝奇(Charles Babbage,1791年12月26日—1871年10月18日)是一名英国数学家、发明家、科学家,科学管理的先驱者,出生于一个富有的银行家的家庭,曾就读于剑桥大学三一学院。 他在24岁时就被选为英国皇…

智慧医院数据可视化(数据大屏)

本次分享的作品是用软件Axure8.0(兼容9和10)制作的针对智慧医院设计的数据可视化大屏,其作品内容主要是对医院的运营情况、门诊、住院、手术、药品、医务、医疗设备、卫生耗材以及医疗质量数据进行综合可视分析。 运营情况:对医院的整体数据…

左神算法学习:第一天-------位运算

前言 位运算是在算法设计中的一种非常重要和高效的方法,常见的有与运算,非运算,异或运算。我们常用的比较多的可能就是异或运算,又叫无进位相加。 1.1 取非运算----(~) 取非运算其实就是和我们的无符号数…

cadence SPB17.4 - 用元件管理器来更新原理图中的元件属性信息

文章目录cadence SPB17.4 - 用元件管理器来更新原理图中的元件信息概述笔记修正原理图库修正CIS库的元件登记表ENDcadence SPB17.4 - 用元件管理器来更新原理图中的元件信息 概述 画好图后, 出了BOM. 同学指出BOM中有些元件型号信息不合适, 影响元件购买, 想改一下. 更新了原…

设计模式-桥接、职责链、中介

前言 本文为datawhale2022年12月组队学习《大话设计模式》task6打卡学习。 【教程地址】https://github.com/datawhalechina/sweetalk-design-pattern 一、桥接模式 1.1 基本定义 桥接模式(Bridge Pattern)又称为柄体(Handle and Body)模式或接口(In…

第十二讲:生成树概念及STP技术应用

在传统的交换网络中,设备通过单条链路进行连接,当某一个点或是某一个链路发生故障时可能导致网络无法访问,解决这种问题的办法是在网络中提供冗余链路,但是交换机网络中的冗余链路会产生广播风暴、MAC地址失效等现象,最…

StarRocks 统计信息和 Cost 估算

导读:欢迎来到 StarRocks 源码解析系列文章,我们将为你全方位揭晓 StarRocks 背后的技术原理和实践细节,助你逐步了解这款明星开源数据库产品。本期 StarRocks 技术内幕将主要介绍 StarRocks 统计信息和 Cost 估算。 1.背景 在学习本文之前&…

mysql搭建主从复制

Mysql主从复制搭建过程: 主从需同步时间,主开启ntpd(ntp网络时间协议,它的端口号udp123)服务-----修改配置,从通过/usr/sbin/ntpdate 主ip(ntpdate包需要提前安装);主:开启中继二进…

整数划分问题(Java递归)

整数划分问题(Java递归) 文章目录整数划分问题(Java递归)0、 问题描述1、递归式2、代码3、参考0、 问题描述 整数划分问题 将正整数n表示成一系列正整数之和:nn1n2…nk,其中n1≥n2≥…≥nk≥1,k…

数字校园建设方案技术建议书

【版权声明】本资料来源网络,仅用于行业知识分享,供个人学习参考,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间进行删除!完整资料领取见文末,部分资料内容: 1.1 华为数字化…

“设计”小哥转行5G网络优化工程师!从零开始,三个月实现逆风翻盘~

5G网络优化,一个陌生的领域,对于一个毫无经验的小白来说,选择转行必定是需要勇气和决心的。好在,在决定选择5G网络优化的这一段时间里,老师给予了我最大的帮助和支持,包括从授课,到练习&#xf…

【Linux】基础IO(open、文件描述符、缓冲区)

文章目录1、从文件操作开始1.1 文件操作的系统调用接口1.2 文件描述符2、重定向3、缓冲区1、从文件操作开始 在C语言阶段,接触了很多库函数,如fopen、fclose、fread和fwrte,这些函数帮助了程序实现了内存与磁盘的输入输出功能。 不过之前都…

轻松搭建MQTT服务器,开发流程全透明

1、使用场景 MQTT服务器适用场景就不多介绍了,基本上实在IOT圈发光发热,所以说是特定领域的一个服务端软件,我们是用在车联网的环境里,用来发布消息。 2、选型 最早说需要使用mqtt服务器,然后我以为需要自己开发服务…

专利代理机构代理专利流程

代理申请专利流程是怎么样的? (一)咨询 1、 确定发明创造的内容是否属于可以申请专利的内容。 (二)技术交底 1、申请人向专利代理人提供有关发明创造的背景资料或委托检索有关内容; 2、申请人详细介绍发明创造的内容,帮助专利代理人充分理解发明创造…

【windows下nginx反向代理 ip地址和域名(含启动重启和关闭3个脚本)】 1.vue案例必须修改vue.config.js

例子1:代理vue的web服务器 1)去官网下nginx: download 下载windows版本nginx,并写好脚本,总体目录如下: StartNginx.bat // 启动脚本 echo off echo "nginx start !!!" nginx.exe -c conf/nginx.conf pause ReStartNginx.bat // 修改nginx.conf后重启脚…

redis学习笔记(基础)

Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、…

飞腾FT-2000/4处理器+复旦微FPGA+国产操作系统解决方案

XM-1203-FPGA飞腾定制主板 自主可控,国产CPU、BIOS和国产Linux操作系统 性能稳定,FT-2000/4处理器 功能接口多样化,可扩展性强 高度集成,具有丰富的接口和电磁兼容性能. XM-1203-FPGA基于飞腾4 核CPU FT-2000/4的处理器板&#x…

【Javassist】快速入门系列09 当检测到数组创建时用代码块替换

系列文章目录 01 在方法体的开头或结尾插入代码 02 使用Javassist实现方法执行时间统计 03 使用Javassist实现方法异常处理 04 使用Javassist更改整个方法体 05 当有指定方法调用时替换方法调用的内容 06 当有构造方法调用时替换方法调用的内容 07 当检测到字段被访问时使用语…

springboot整合之统一结果返回

特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能操作会略有不同,不过总的来说不影响。 springboot整合之如何选择版本及项目搭建 springboot整合之版本号统一管理 springboot整合mybatis-plusdurid数据库连接池 springboot整合…

树与二叉树(遍历)

一、树 树结构是一种非常重要的非线性数据结构,该结构中的一个数据元素可以有两个或者两个以上的直接后继元素。 1、树的定义 树是由 n(n>0)个有限结点组成一个具有层次关系的集合,当 n0时称为空树,当 n>0时称为非空树。 对于非空树来…