首页 > 其他分享 >国产RK3568J基于FSPI的ARM+FPGA通信方案分享

国产RK3568J基于FSPI的ARM+FPGA通信方案分享

时间:2024-01-29 15:23:21浏览次数:28  
标签:RK3568J FPGA MB 总线 FSPI 速率 ARM

近年来,随着中国新基建、中国制造 2025 规划的持续推进,单 ARM 处理器越来越难胜任工业现场的功能要求,特别是如今能源电力、工业控制、智慧医疗等行业,往往更需要 ARM + FPGA 架构的处理器平台来实现例如多路 / 高速 AD 采集、多路网口、多路串口、多路 / 高速并行 DI/DO、高速数据并行处理等特定功能,因此 ARM + FPGA 架构处理器平台愈发受市场欢迎。

 

 

图 1 ARM + FPGA 典型应用场景

 

ARM + FPGA 架构能带来性能、成本、功耗等综合比较优势,ARM 与 FPGA 既可各司其职,各自发挥原本架构的独特优势,亦可相互协作处理更复杂的问题。

 

ARM + FPGA 常见的通信方式有 PCIe、FSPI、I2C、SDIO、CSI 等,今天主要介绍基于 FSPI 的 ARM + FPGA 通信方式。

 

FSPI 总线特点介绍

FSPI(Flexible Serial Peripheral Interface) 是一种高速、全双工、同步的串行通信总线,在 RK3568 处理器中就有 ESPI 控制器,可用来连接 FSPI 设备。它具备如下特点:

 

支持串行 NOR FLASH、串行 NAND FLASH

支持 SDR 模式

支持一线、二线以及四线模式

相比 PCIe 而言,FSPI 可较好实现 “小数据 - 低时延”、“大数据 - 高带宽” 要求。另外,在与 FPGA 通信的时候,用户往往更喜欢选用 FSPI 接口还有如下原因:

- 使用低成本 FPGA 即可实现高速通信,而具备 PCIe 接口的 FPGA 成本则成倍增长。

- 具备 PCIe 接口的 FPGA 功耗往往较大,而低成本 FPGA 功耗较小。一般而言,低功耗器件的使用寿命也将更长。

 

 

基于 FSPI 的 ARM + FPGA 通信实测数据分享

硬件方案一:创龙科技 TL3568F-EVM 评估板 (RK3568J + Logos-2)。

 

实测数据:写速率 20MB/s+,最高 24MB/s,误码率 0%;读速率 26MB/s+,最高 30MB/s,误码率 0%。

 

TL3568F-EVM 评估板简介:

 

创龙科技 TL3568F-EVM 是一款基于瑞芯微 RK3568J/RK3568B2 四核 ARM Cortex-A55 处理器 + 紫光同创 Logos-2 PG2L50H/PG2L100H FPGA 设计的异构多核国产工业评估板,由核心板和评估底板组成,ARM Cortex-A55 处理单元主频高达 1.8GHz/2.0GHz。核心板 ARM、FPGA、ROM、RAM、电源、晶振、连接器等所有元器件均采用国产工业级方案,国产化率 100%。同时,评估底板大部分元器件亦采用国产工业级方案。

 

硬件方案二:创龙科技 TL3568-EVM 评估板 (RK3568) + TLA7-EVM 评估板 (Artix-7)

 

实测数据:写速率 52.563MB/s,读速率 67.387MB/s,误码率高。

 

备注:由于该测试受限于飞线连接方式,因此在 150MHz 通信时钟频率下测得误码率过高,测试结果仅供参考。

基于 FSPI 的 ARM + FPGA 通信案例详解

下文主要介绍基于瑞芯微 RK3568J(硬件平台:创龙科技 TL3568-EVM 评估板)与 Xilinx Artix-7(硬件平台:创龙科技 TLA7-EVM 评估板)的 FSPI 通信案例,按照创龙科技提供的案例用户手册进行操作得出测试结果。

 

同时基于 Linux Linux-RT 系统进行测试,得到 “小数据 - 低时延”、“大数据 - 高带宽” 的测试数据。

 

spi_rw 案例

 

(1)案例说明

 

案例功能:ARM 端运行 Linux 系统,基于 FSPI 总线对 FPGA BRAM 进行读写测试。

 

ARM 端实现 SPI Master 功能,原理说明如下:

a) 打开 SPI 设备节点,如:/dev/spidev4.0。

b) 使用 ioctl 配置 FSPI 总线,如 FSPI 总线极性和相位、通信速率、数据长度等。

c) 选择模式为单线模式、双线模式或四线模式。当设置 FSPI 总线为双线模式时,发送数据为单线模式,接收数据为双线模式;当设置 FSPI 为四线模式时,发送数据为四线模式,接收数据为四线模式。

d) 发送数据至 FSPI 总线,以及从 FSPI 总线读取数据。

e) 校验数据,然后打印读写速率、误码率。

 

FPGA 端实现 SPI Slave 功能,原理说明如下:

a) FPGA 将 SPI Master 发送的数据保存至 BRAM。

b) SPI Master 发起读数据时,FPGA 从 BRAM 读取数据通过 FSPI 总线传输至 SPI Master。

 

 

图 2 ARM 端程序流程图

 

(2)测试结果

 

ARM 通过 FSPI 总线(四线模式)写入 4Byte 随机数据至 FPGA BRAM,然后读出数据、进行数据校验,同时打印 FSPI 总线读写速率和误码率。

 

最终,本次测试设置 FSPI 总线通信时钟频率为 24MHz,则四线模式的理论通信速率为:(24000000 / 1024 / 1024 / 8 x 4)MB/s ≈ 11.44MB/s,从下图可知,本次实测写速率为 0.048MB/s,读速率为 0.182MB/s,误码率为 0%。

 

 

图 3

 

备注:以上案例硬件采用飞线方式进行连接,需将 FSPI 总线通信时钟频率设置为较低的 24MHz,并且需设置较小的测试数据量(会导致实测速率偏低),否则会产生误码现象。如使用创龙科技 TL3568F-EVM 评估板 (RK3568J + Logos-2) 硬件平台进行测试,则无误码的通信速率将大幅提升。

若设置 FSPI 总线通信时钟频率为 150MHz,ARM 通过 FSPI 总线写入 1MByte 随机数据至 FPGA BRAM,然后读出数据,循环 100 次,不做数据检验,最后打印 FSPI 总线读写速率和误码率。

最终,本次测试设置 FSPI 总线通信时钟频率为 150MHz,则 FSPI 四线模式理论通信速率为:(150000000 / 1024 / 1024 / 8 x 4) MB/s ≈ 71.53MB/s。从下图可知,本次实测写速率为 52.563MB/s,读速率为 67.387MB/s,比较接近理论通信速率。

 

图 4

 

备注:由于本次测试受限于飞线连接方式,因此在 150MHz 通信时钟频率下测得误码率过高,测试结果仅供参考。

 

rt_spi_rw 案例

 

(1)案例说明

 

案例功能:ARM 端运行 Linux-RT 系统,基于 FSPI 总线对 FPGA BRAM 进行读写测试。

 

ARM 端实现 SPI Master 功能,原理说明如下:

a) 打开 SPI 设备节点,如:/dev/spidev4.0。

b) 使用 ioctl 配置 FSPI 总线,如 FSPI 总线极性和相位、通信速率、数据长度等。

c) 选择模式为单线模式、双线模式或四线模式。当设置 FSPI 总线为双线模式时,发送数据为单线模式,接收数据为双线模式;当设置 FSPI 为四线模式时,发送数据为四线模式,接收数据为四线模式。

d) 发送数据至 FSPI 总线,以及从 FSPI 总线读取数据。

e) 校验数据,然后打印读写速率、误码率。

 

FPGA 端实现 SPI Slave 功能,原理说明如下:

a) 将 SPI Master 发送的数据保存至 BRAM。

SPI Master 发起读数据时,FPGA 从 BRAM 读取数据通过 FSPI 总线传输至 SPI Master。

 

 

图 5 ARM 端程序流程图

 

(2)测试结果

ARM 通过 FSPI 总线写入 4Byte 随机数据至 FPGA BRAM,然后读出数据、进行数据校验,同时打印 FSPI 总线读写速率和误码率。最终,本次测试设置 FSPI 总线通信时钟频率为 24MHz,则 SPI 四线模式理论通信速率为:(24000000 / 1024 / 1024 / 8 x 4)MB/s ≈ 11.44MB/s。

从下图可知,本次实测写速率为 0.179MB/s,发送最大耗时为 46us,最小耗时为 20us,平均耗时为 20us,误码率为 0%;读速率为 0.187MB/s,发送最大耗时为 46us,最小耗时为 19us,平均耗时 40s,误码率为 0%。

 

 

图 6

 

备注:以上案例硬件采用飞线方式进行连接,需将 FSPI 总线通信时钟频率设置为较低的 24MHz,并且需设置较小的测试数据量(会导致实测速率偏低),否则会产生误码现象。如使用创龙科技 TL3568F-EVM 评估板 (RK3568J + Logos-2) 硬件平台进行测试,则无误码的通信速率将大幅提升。

标签:RK3568J,FPGA,MB,总线,FSPI,速率,ARM
From: https://www.cnblogs.com/Tronlong818/p/17994604

相关文章

  • m基于FPGA和IP核的RS编译码verilog实现,包含testbench测试文件
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,测试结果如下:    2.算法涉及理论知识概要       在现代通信系统中,为了确保数据传输的可靠性,经常需要使用各种纠错编码技术。其中,里德-所罗门(Reed-Solomon,RS)码是一种非常强大的线性纠错码,特别适用于纠正多......
  • 基于FPGA的图像RGB转HSV实现,包含testbench和MATLAB辅助验证程序
    1.算法运行效果图预览 将FPGA的仿真结果导入到matlab中:   2.算法运行软件版本vivado2019.2 matlab2022a 3.算法理论概述       在数字图像处理中,色彩空间的转换是常见的操作。其中,RGB和HSV是两种经常使用的色彩空间。RGB基于红、绿、蓝三种颜色的组合......
  • 基于FPGA的图像RGB转HLS实现,包含testbench和MATLAB辅助验证程序
    1.算法运行效果图预览 将FPGA结果导入到MATLAB显示效果: 2.算法运行软件版本Vivado2019.2 matlab2022a 3.算法理论概述       在数字图像处理中,RGB和HLS是两种常见的颜色空间。RGB基于红绿蓝三种基本颜色的叠加来定义其他颜色,而HLS则代表色调、亮度和饱和......
  • 新品来袭,全国产ARM+FPGA--"RK3568J+Logos-2"工业核心板,让您的硬件设计“更简单”!
    如需选购,请登录创龙科技天猫旗舰店:tronlong.tmall.com!欢迎加入RK3568J技术交流群:567208221欢迎加入Logos-2技术交流群:311416997更多产品详情以及购买咨询可添加如下客服人员微信(即刻添加,马上咨询) 更多RK3568J+Logos-2产品资料可长按二维码识别下载  ......
  • m基于FPGA的Hamming汉明编译码verilog实现,包含testbench测试文件,不使用IP核
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,测试结果如下:2.算法涉及理论知识概要在现代数字通信和存储系统中,错误检测和纠正(ErrorDetectionandCorrection,EDC)机制是至关重要的。Hamming码,以其发明者RichardHamming命名,是一种线性错误检测和纠正码,广泛应用于这些系......
  • Fpga开发笔记(二):高云FPGA发开发软件Gowin和高云fpga基本开发过程
    前言  本篇安装高云的开发软件Gowin,并且描述了一个基于高云fpga的程序的开发环境和完整的下载运行过程。 Gowin软件概述  Gowin软件是广东高云半导体股份有限公司的FPGA开发软件。下载地址  http://www.gowinsemi.com.cn    申请license......
  • FPGA:spi_flash读写测试
    SIP_FLASH逻辑设计需求SPI读写flash,最大4mbit,实现给定地址,长度可完成存储数据读取。本设计包含指令:RSR-1、PP、SE、BE、READ。用户接口:PortnameDirectionTypeDescriptionclk_sysINPUTWIRE输入系统时钟rst_sysINPUTWIRE输入系统......
  • ★教程4:FPGA/MATLAB/Simulink联合应用开发入门与进阶X例——前言★教程3:simulink学
        专业即算法,算法即数学,数学即万物。从事MATLAB算法仿真工作15年,从事FPGA系统开发工作12多年。擅长解决各种算法仿真、建模、通信、图像处理、AI、智能控制等。 1.无线基带,无线图传,编解码2.机器视觉,图像处理,三维重建3.人工智能,深度学习4.智能控制,智能优化目录1.FPG......
  • ★教程4:FPGA/MATLAB/Simulink联合应用开发入门与进阶X例——目录
    1.订阅本教程用户可以免费获得本博任意1个博文对应代码;2.本课程的所有案例(部分理论知识点除外)均由博主编写而成,供有兴趣的朋友们自己订阅学习使用。未经本人允许,禁止任何形式的商业用途;3.本课程我们更侧重于各种实例的完整设计介绍。更全面的介绍FPGA,MATLAB,Simulink的联合开发应......
  • Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍
    前言  FPGA作为一种逻辑芯片,硬件架构独特,具有并行性、低延时性和灵活性等特性,应用领域广泛。  FPGA市场主要玩家是英特尔、AMD、莱迪思、Microchip、Achronix等;国内厂商包括复旦微电、紫光国微、安路科技、东土科技、高云半导体、京微齐力、京微雅格、智多晶、遨格芯等。 ......