聯(lián)系我們
Contact Us公司總機(jī):020-8998-6280
技術(shù)熱線:020-3893-9734
技術(shù)郵箱:support@tronlong.com
銷售郵箱:sales@tronlong.com
RK3576 + FPGA并口通信方案,實(shí)測高達(dá)280MB/s
2025/05/12
在工業(yè)通信領(lǐng)域,技術(shù)革新與突破始終是推動(dòng)行業(yè)發(fā)展的核心動(dòng)力。今天,為大家?guī)砘?/span>DSMC/FlexBus并口的RK3576J與FPGA通信方案,核心板國產(chǎn)化率高達(dá)100%,為工控場景帶來高效、穩(wěn)定的通信新體驗(yàn)。下面一起來看看!
開發(fā)環(huán)境與測試數(shù)據(jù)
本文主要介紹RK3576J與FPGA的通信案例,適用開發(fā)環(huán)境如下:
Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit
Linux開發(fā)環(huán)境:VMware16.2.5、Ubuntu22.04.5 64bit
U-Boot:U-Boot-2017.09
Kernel:Linux-6.1.115
Buildroot文件系統(tǒng)版本:Buildroot-2024.02
LinuxSDK:LinuxSDK-[版本號](基于rk3576_linux6.1_release_v1.1.0)
硬件平臺(tái):創(chuàng)龍科技TL3576-EVM工業(yè)評估板(基于瑞芯微RK3576J)
為了簡化描述,本文僅摘錄部分方案功能描述與測試結(jié)果,詳細(xì)產(chǎn)品資料請掃描文末二維碼下載。
通過實(shí)測我們發(fā)現(xiàn),基于DSMC和FlexBus的通信方案具備了出色性能,數(shù)據(jù)如下表所示:
FPGA數(shù)采模塊簡介
創(chuàng)龍科技TL-AD-PGL25G是一款基于紫光同創(chuàng)Logos PGL25G FPGA與芯熾科技SC1467/核芯互聯(lián)CL1606/ADI AD7606 ADC設(shè)計(jì)的數(shù)據(jù)采集模塊,支持8通道、200KSPS串行/并行采樣,可與ARM端通過DSMC、FlexBus、Local Bus、SPI等總線進(jìn)行通信,滿足客戶多樣化數(shù)據(jù)采集需求。
TL-AD-PGL25G模塊正面圖
DSMC與FlexBus并口簡介
專為工業(yè)應(yīng)用設(shè)計(jì),DSMC(Double Data Rate Serial Memory Controller)作為高速并行總線接口,兼容多種傳輸協(xié)議,包括HyperBus PSRAM、Xccela PSRAM和Local Bus。對于RK3576J處理器,DSMC接口若使用Local Bus協(xié)議,從設(shè)備需使用瑞芯微開發(fā)的slave模型,或者傳輸協(xié)議相同。DSMC接口支持8/16bit串行傳輸模式,時(shí)鐘速率高達(dá)100MHz,可實(shí)現(xiàn)FPGA低成本連接,具有低延遲、高帶寬和靈活配置的特點(diǎn),廣泛應(yīng)用于需要高速通信的工業(yè)控制領(lǐng)域。
FlexBus是一個(gè)高度靈活的并行總線接口,可模擬標(biāo)準(zhǔn)或不規(guī)則的協(xié)議,能夠適應(yīng)各種復(fù)雜的通信場景。對于RK3576J處理器,FlexBus支持2/4/8/16bit并行傳輸,時(shí)鐘速率高達(dá)100MHz,可實(shí)現(xiàn)高速AD/DA拓展,可以在保障數(shù)據(jù)穩(wěn)定性的同時(shí)實(shí)現(xiàn)高效、低延遲的數(shù)據(jù)交互。這一特性使其在高速數(shù)據(jù)采集場景中具有顯著優(yōu)勢。
RK3576J典型應(yīng)用場景
基于DSMC的ARM與FPGA通信案例
案例說明
ARM端運(yùn)行Linux系統(tǒng),基于DSMC總線對FPGA DRAM進(jìn)行讀寫測試。
程序原理說明如下:
ARM端:
ARM端使用CPU DMA通過DSMC總線(作為Local Bus Master)來對FPGA DRAM進(jìn)行讀寫測試。
通過參數(shù)設(shè)置數(shù)據(jù)包大小(數(shù)據(jù)包數(shù)據(jù)每次循環(huán)均為新的隨機(jī)數(shù))、數(shù)據(jù)傳輸?shù)难h(huán)次數(shù)。
對讀寫的數(shù)據(jù)進(jìn)行校驗(yàn),并打印誤碼率和讀寫速率。
FPGA端:
實(shí)現(xiàn)Local Bus Slave功能。
將Local Bus Master(ARM)發(fā)送的64KByte數(shù)據(jù)保存到DRAM。
當(dāng)Local Bus Master(ARM)讀取64KByte數(shù)據(jù)時(shí),FPGA從DRAM讀取64KByte數(shù)據(jù)發(fā)送至Local Bus。
案例演示
請將創(chuàng)龍科技TL-AD-PGL25G模塊連接至評估板EXPORT接口,如下圖所示。
TL-AD-PGL25G模塊連接圖
請參考產(chǎn)品資料用戶手冊完成內(nèi)核鏡像替換,將FPGA可執(zhí)行程序固化至SPI FLASH,并加載驅(qū)動(dòng)。
執(zhí)行如下命令運(yùn)行程序,ARM通過DSMC總線寫入65536Byte隨機(jī)數(shù)據(jù)至FPGA DRAM,然后讀出數(shù)據(jù)、進(jìn)行數(shù)據(jù)校驗(yàn),同時(shí)打印DSMC總線讀寫速率和誤碼率,如下圖所示。
Target#./dma_memcpy_demo -a 0x10000000 -s 65536 -c 1000 -d /dev/input/event7
從上圖可知,本次實(shí)測平均寫速率約為280MB/s,平均讀速率約為216MB/s,誤碼率為0.00%。
基于FlexBus的ARM與FPGA通信案例
案例說明
案例功能:ARM端運(yùn)行Linux系統(tǒng),基于FlexBus總線對FPGA DRAM進(jìn)行讀寫測試。
程序原理說明如下:
ARM端:
通過FlexBus總線對FPGA DRAM進(jìn)行讀寫測試。
支持通過參數(shù)設(shè)置數(shù)據(jù)包大小(每次循環(huán)數(shù)據(jù)包的數(shù)據(jù)均為新的隨機(jī)數(shù))、數(shù)據(jù)傳輸?shù)难h(huán)次數(shù)。
對讀寫的數(shù)據(jù)進(jìn)行校驗(yàn),并打印誤碼率和讀寫速率。
FPGA端:
實(shí)現(xiàn)FlexBus Slave功能。
默認(rèn)將FlexBus Master(ARM)發(fā)送的64KByte數(shù)據(jù)保存到FPGA DRAM。
FlexBus Master(ARM)讀取64KByte數(shù)據(jù)時(shí),FPGA從DRAM讀取64KByte數(shù)據(jù)通過FlexBus傳輸給FlexBus Master(ARM)。
案例演示
請將創(chuàng)龍科技TL-AD-PGL25G模塊連接至評估板EXPORT接口,如下圖所示。
TL-AD-PGL25G模塊連接圖
請參考產(chǎn)品資料用戶手冊完成內(nèi)核鏡像替換,并將FPGA可執(zhí)行程序固化至SPI FLASH。
執(zhí)行如下命令運(yùn)行程序,ARM通過FlexBus總線寫入65536Byte隨機(jī)數(shù)據(jù)至FPGA DRAM,然后讀出數(shù)據(jù)、進(jìn)行數(shù)據(jù)校驗(yàn),同時(shí)打印FlexBus總線讀寫速率和誤碼率,如下圖所示。
Target# ./flexbus_rw -d /dev/spidev7.0 -s 100000000 -S 65536 -c 1000
從上圖可知,本次實(shí)測平均寫速率約為165MB/s,平均讀速率約為166MB/s,誤碼率為0.00%。
想要查看瑞芯微RK3576J更多案例演示,掃描下方二維碼,快來試試吧!

服務(wù)熱線