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

一、需求

要实现高速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配合方面,相当合适。

RK3399+PCIe+FPGA 在高速AD采样中的应用_第1张图片

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

三、PCIe

一、为什么是PCIe

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

RK3399 PCIe特性如下:

RK3399+PCIe+FPGA 在高速AD采样中的应用_第2张图片

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

RK3399+PCIe+FPGA 在高速AD采样中的应用_第3张图片

三、硬件调试

RK3399+PCIe+FPGA 在高速AD采样中的应用_第4张图片 

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

你可能感兴趣的:(RK3399,FPGA/CPLD,fpga开发,arm开发)