創龍首頁 >關于創龍 > 新聞資訊 > 技術文章

聯系我們

Contact Us

公司總機:020-8998-6280

技術熱線:020-3893-9734

技術郵箱:support@tronlong.com

銷售郵箱:sales@tronlong.com

RK3576 + FPGA并口通信方案,實測高達280MB/s

2025/05/12

 


在工業通信領域,技術革新與突破始終是推動行業發展的核心動力。今天,為大家帶來基于DSMC/FlexBus并口的RK3576JFPGA通信方案,核心板國產化率高達100%,為工控場景帶來高效、穩定的通信新體驗。下面一起來看看!

 

 開發環境與測試數據

本文主要介紹RK3576JFPGA的通信案例,適用開發環境如下:

 

Windows開發環境:Windows 7 64bit、Windows 10 64bit

Linux開發環境:VMware16.2.5、Ubuntu22.04.5 64bit

U-BootU-Boot-2017.09

KernelLinux-6.1.115

Buildroot文件系統版本:Buildroot-2024.02

LinuxSDKLinuxSDK-[版本號](基于rk3576_linux6.1_release_v1.1.0

硬件平臺:創龍科技TL3576-EVM工業評估板(基于瑞芯微RK3576J

 

為了簡化描述,本文僅摘錄部分方案功能描述與測試結果,詳細產品資料請掃描文末二維碼下載。

 

通過實測我們發現,基于DSMCFlexBus的通信方案具備了出色性能,數據如下表所示:

 



 

 FPGA數采模塊簡介

 

創龍科技TL-AD-PGL25G是一款基于紫光同創Logos PGL25G FPGA與芯熾科技SC1467/核芯互聯CL1606/ADI AD7606 ADC設計的數據采集模塊,支持8通道、200KSPS串行/并行采樣,可與ARM端通過DSMCFlexBusLocal Bus、SPI等總線進行通信,滿足客戶多樣化數據采集需求。

 


TL-AD-PGL25G模塊正面圖


 

 DSMC與FlexBus并口簡介

專為工業應用設計,DSMC(Double Data Rate Serial Memory Controller)作為高速并行總線接口,兼容多種傳輸協議,包括HyperBus PSRAM、Xccela PSRAMLocal Bus。對于RK3576J處理器,DSMC接口若使用Local Bus協議,從設備需使用瑞芯微開發的slave模型,或者傳輸協議相同。DSMC接口支持8/16bit串行傳輸模式,時鐘速率高達100MHz,可實現FPGA低成本連接,具有低延遲、高帶寬和靈活配置的特點,廣泛應用于需要高速通信的工業控制領域。


FlexBus是一個高度靈活的并行總線接口,可模擬標準或不規則的協議,能夠適應各種復雜的通信場景。對于RK3576J處理器,FlexBus支持2/4/8/16bit并行傳輸,時鐘速率高達100MHz,可實現高速AD/DA拓展,可以在保障數據穩定性的同時實現高效、低延遲的數據交互。這一特性使其在高速數據采集場景中具有顯著優勢。

 

 RK3576J典型應用場景

 

 




基于DSMC的ARM與FPGA通信案例


案例說明

 

ARM端運行Linux系統,基于DSMC總線對FPGA DRAM進行讀寫測試。

程序原理說明如下:

 

ARM端:

 

ARM端使用CPU DMA通過DSMC總線(作為Local Bus Master)來對FPGA DRAM進行讀寫測試。

通過參數設置數據包大?。〝祿鼣祿看窝h均為新的隨機數)、數據傳輸的循環次數。

對讀寫的數據進行校驗,并打印誤碼率和讀寫速率。

 

FPGA端:

 

實現Local Bus Slave功能。

Local Bus Master(ARM)發送的64KByte數據保存到DRAM。

Local Bus Master(ARM)讀取64KByte數據時,FPGADRAM讀取64KByte數據發送至Local Bus。

 

 


  

 

案例演示

 

請將創龍科技TL-AD-PGL25G模塊連接至評估板EXPORT接口,如下圖所示。

 


 

TL-AD-PGL25G模塊連接圖

 


請參考產品資料用戶手冊完成內核鏡像替換,將FPGA可執行程序固化至SPI FLASH,并加載驅動。

 

執行如下命令運行程序,ARM通過DSMC總線寫入65536Byte隨機數據至FPGA DRAM,然后讀出數據、進行數據校驗,同時打印DSMC總線讀寫速率和誤碼率,如下圖所示。

 

Target#./dma_memcpy_demo -a 0x10000000 -s 65536 -c 1000 -d /dev/input/event7

 



 

從上圖可知,本次實測平均寫速率約為280MB/s,平均讀速率約為216MB/s,誤碼率為0.00%。

 


 基于FlexBus的ARM與FPGA通信案例


案例說明

 

案例功能:ARM端運行Linux系統,基于FlexBus總線對FPGA DRAM進行讀寫測試。

程序原理說明如下:

 

ARM端:

 

通過FlexBus總線對FPGA DRAM進行讀寫測試。

支持通過參數設置數據包大?。看窝h數據包的數據均為新的隨機數)、數據傳輸的循環次數。

對讀寫的數據進行校驗,并打印誤碼率和讀寫速率。

 

FPGA端:

 

實現FlexBus Slave功能。

默認將FlexBus Master(ARM)發送的64KByte數據保存到FPGA DRAM

FlexBus Master(ARM)讀取64KByte數據時,FPGADRAM讀取64KByte數據通過FlexBus傳輸給FlexBus Master(ARM)。






案例演示

 

請將創龍科技TL-AD-PGL25G模塊連接至評估板EXPORT接口,如下圖所示。

 


TL-AD-PGL25G模塊連接圖

 

請參考產品資料用戶手冊完成內核鏡像替換,并將FPGA可執行程序固化至SPI FLASH。

 

執行如下命令運行程序,ARM通過FlexBus總線寫入65536Byte隨機數據至FPGA DRAM,然后讀出數據、進行數據校驗,同時打印FlexBus總線讀寫速率和誤碼率,如下圖所示。

 

Target# ./flexbus_rw -d /dev/spidev7.0 -s 100000000 -S 65536 -c 1000

 



 

從上圖可知,本次實測平均寫速率約為165MB/s,平均讀速率約為166MB/s,誤碼率為0.00%。

 


想要查看瑞芯微RK3576J更多案例演示,掃描下方二維碼,快來試試吧!

 

 


創龍官方微信公眾號

Copyright © 2013~2025 廣州創龍電子科技有限公司 All Rights Reserved  | 粵ICP備15055271號