在工業(yè)通信領(lǐng)域,技術(shù)革新與突破始終是推動行業(yè)發(fā)展的核心動力。今天,為大家?guī)砘贒SMC/FlexBus并口的RK3576J與FPGA通信方案,核心板國產(chǎn)化率高達(dá)100%,為工控場景帶來高效、穩(wě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)
硬件平臺:創(chuàng)龍科技TL3576-EVM工業(yè)評估板(基于瑞芯微RK3576J)
為了簡化描述,本文僅摘錄部分方案功能描述與測試結(jié)果,詳細(xì)產(chǎn)品資料請掃描文末二維碼下載。 通過實測我們發(fā)現(xiàn),基于DSMC和FlexBus的通信方案具備了出色性能,數(shù)據(jù)如下表所示:
| 案例 | 理論速率 | 測試結(jié)果 |
| 基于DSMC的ARM與FPGA通信案例(dsmc_localbus_dma_rw) |
讀速率:400MB/s 寫速率:400MB/s |
讀速率:216MB/s 寫速率:280MB/s |
| 基于FlexBus的ARM與FPGA通信案例(flexbus_rw) |
讀速率:200MB/s 寫速率:200MB/s |
讀速率:166MB/s 寫速率:165MB/s |
FPGA數(shù)采模塊簡介
創(chuàng)龍科技TL-AD-PGL25G是一款基于紫光同創(chuàng)Logos PGL25G FPGA與芯熾科技SC1467/核芯互聯(lián)CL1606/ADI AD7606 ADC設(shè)計的數(shù)據(jù)采集模塊,支持8通道、200KSPS串行/并行采樣,可與ARM端通過DSMC、FlexBus、Local Bus、SPI等總線進(jìn)行通信,滿足客戶多樣化數(shù)據(jù)采集需求。

TL-AD-PGL25G模塊正面圖
DSMC與FlexBus并口簡介 專為工業(yè)應(yīng)用設(shè)計,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串行傳輸模式,時鐘速率高達(dá)100MHz,可實現(xiàn)FPGA低成本連接,具有低延遲、高帶寬和靈活配置的特點,廣泛應(yīng)用于需要高速通信的工業(yè)控制領(lǐng)域。 FlexBus是一個高度靈活的并行總線接口,可模擬標(biāo)準(zhǔn)或不規(guī)則的協(xié)議,能夠適應(yīng)各種復(fù)雜的通信場景。對于RK3576J處理器,F(xiàn)lexBus支持2/4/8/16bit并行傳輸,時鐘速率高達(dá)100MHz,可實現(xiàn)高速AD/DA拓展,可以在保障數(shù)據(jù)穩(wěn)定性的同時實現(xiàn)高效、低延遲的數(shù)據(jù)交互。這一特性使其在高速數(shù)據(jù)采集場景中具有顯著優(yōu)勢。
RK3576J典型應(yīng)用場景
高端工業(yè)PLC
運動控制器
工業(yè)計算機(jī)
無人機(jī)
電力監(jiān)測裝置
4K醫(yī)療內(nèi)窺鏡
基于DSMC的ARM與FPGA通信案例
案例說明
ARM端運行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)行校驗,并打印誤碼率和讀寫速率。
FPGA端:
實現(xiàn)Local Bus Slave功能。
將Local Bus Master(ARM)發(fā)送的64KByte數(shù)據(jù)保存到DRAM。
當(dāng)Local Bus Master(ARM)讀取64KByte數(shù)據(jù)時,F(xiàn)PGA從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ū)動。 執(zhí)行如下命令運行程序,ARM通過DSMC總線寫入65536Byte隨機(jī)數(shù)據(jù)至FPGA DRAM,然后讀出數(shù)據(jù)、進(jìn)行數(shù)據(jù)校驗,同時打印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系統(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)行校驗,并打印誤碼率和讀寫速率。
FPGA端:
實現(xiàn)FlexBus Slave功能。
默認(rèn)將FlexBus Master(ARM)發(fā)送的64KByte數(shù)據(jù)保存到FPGA DRAM。
FlexBus Master(ARM)讀取64KByte數(shù)據(jù)時,F(xiàn)PGA從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í)行如下命令運行程序,ARM通過FlexBus總線寫入65536Byte隨機(jī)數(shù)據(jù)至FPGA DRAM,然后讀出數(shù)據(jù)、進(jìn)行數(shù)據(jù)校驗,同時打印FlexBus總線讀寫速率和誤碼率,如下圖所示。 Target#./flexbus_rw -d /dev/spidev7.0 -s 100000000 -S 65536 -c 1000

從上圖可知,本次實測平均寫速率約為165MB/s,平均讀速率約為166MB/s,誤碼率為0.00%。
-
FPGA
+關(guān)注
關(guān)注
1656文章
22317瀏覽量
631072 -
并口通信
+關(guān)注
關(guān)注
0文章
5瀏覽量
3014 -
flexbus
+關(guān)注
關(guān)注
0文章
2瀏覽量
3153 -
rk3576
+關(guān)注
關(guān)注
1文章
230瀏覽量
1395
原文標(biāo)題:RK3576 + 紫光同創(chuàng)FPGA并口通信方案
文章出處:【微信號:gh_31fabce82e7f,微信公眾號:紫光同創(chuàng)官微】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于米爾RK3576的環(huán)視實時性方案解析
迅為如何在RK3576上部署YOLOv5;基于RK3576構(gòu)建智能門禁系統(tǒng)
工業(yè)級全能選手!合眾恒躍 RK3576 開發(fā)板深度解析:多核架構(gòu) + 全接口覆蓋,適配多行業(yè)場景
【作品合集】米爾RK3576開發(fā)板測評
瑞芯微RK3576與RK3576S有什么區(qū)別,性能參數(shù)配置與型號差異解析
全國產(chǎn)!瑞芯微 RK3576 ARM 八核 2.2GHz 工業(yè)開發(fā)板—Linux應(yīng)用開發(fā)手冊
全國產(chǎn)!瑞芯微 RK3576 ARM 八核 2.2GHz 工業(yè)開發(fā)板—Linux開發(fā)環(huán)境搭建
全國產(chǎn)!瑞芯微 RK3576 ARM 八核 2.2GHz 工業(yè)開發(fā)板—Linux系統(tǒng)使用手冊
全國產(chǎn)!瑞芯微 RK3576 ARM 八核 2.2GHz 工業(yè)開發(fā)板—LVGL應(yīng)用開發(fā)案例
Mpp支持RK3576么
RK3576 vs RK3588:為何越來越多的開發(fā)者轉(zhuǎn)向RK3576?
RK3576 + FPGA并口通信方案,實測高達(dá)280MB/s

RK3576+紫光同創(chuàng)FPGA并口通信方案 基于DSMC/FlexBus并口的RK3576J與FPGA通信方案
評論