一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

1分鐘學(xué)會(huì)如何提升PCIe通信速率,基于RK3568J + FPGA國(guó)產(chǎn)平臺(tái)

 創(chuàng)龍科技 2024-11-29 發(fā)布于廣東

測(cè)試數(shù)據(jù)匯總

表 1


PCIe總線介紹

PCIe,即PCI-Express(peripheral component interconnect express)是一種高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn)。主要用于擴(kuò)充計(jì)算機(jī)系統(tǒng)總線數(shù)據(jù)吞吐量以及提高設(shè)備通信速度。


圖 1


DMA技術(shù)介紹

DMA(Direct Memory Access,直接內(nèi)存訪問(wèn))是一種讓硬件外設(shè)直接與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換的技術(shù),無(wú)需CPU參與數(shù)據(jù)傳輸過(guò)程。

使用非DMA方式進(jìn)行數(shù)據(jù)傳輸時(shí),外設(shè)與內(nèi)存之間的數(shù)據(jù)搬運(yùn)需要依靠CPU來(lái)完成。這意味著每次數(shù)據(jù)傳輸都需要CPU的介入,導(dǎo)致CPU資源占用較高,并且數(shù)據(jù)傳輸速度相對(duì)較低。

使用DMA方式進(jìn)行數(shù)據(jù)傳輸時(shí),外設(shè)可以直接與內(nèi)存進(jìn)行數(shù)據(jù)交換。減少了CPU的介入和中斷處理,數(shù)據(jù)傳輸過(guò)程更加流暢和高效。


圖 2


RK3568J + FPGA典型應(yīng)用場(chǎng)景


圖 3


基于RK3568J + FPGA的PCIe通信案例

本文主要介紹基于RK3568J + FPGA的PCIe通信案例,適用開(kāi)發(fā)環(huán)境如下:

Windows開(kāi)發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit

Linux開(kāi)發(fā)環(huán)境:VMware15.5.5、Ubuntu18.04.4 64bit

U-Boot:U-Boot-2017.09

Kernel:Linux-4.19.232、Linux-RT-4.19.232

LinuxSDK:LinuxSDK-[版本號(hào)](基于rk356x_linux_release_v1.3.1_20221120)

硬件平臺(tái):創(chuàng)龍科技TL3568F-EVM工業(yè)評(píng)估板

(基于瑞芯微RK3568J + 紫光同創(chuàng)Logos-2)

為了簡(jiǎn)化描述,本文僅摘錄部分方案功能描述與測(cè)試結(jié)果,詳細(xì)產(chǎn)品資料可以通過(guò)公眾號(hào)(Tronlong創(chuàng)龍科技)下載。

案例說(shuō)明

ARM端基于PCIe總線對(duì)FPGA DRAM進(jìn)行讀寫(xiě)測(cè)試。應(yīng)用程序通過(guò)ioctl函數(shù)發(fā)送命令開(kāi)啟DMA傳輸數(shù)據(jù)后,等待驅(qū)動(dòng)上報(bào)input事件;當(dāng)應(yīng)用層接收到input事件,說(shuō)明DMA傳輸數(shù)據(jù)完成。

程序流程如下圖所示。


圖 4

(1)ARM端程序原理說(shuō)明如下:

a)采用DMA方式;

b)將數(shù)據(jù)寫(xiě)至dma_memcpy驅(qū)動(dòng)申請(qǐng)的連續(xù)內(nèi)存空間(位于DDR);

c)配置DMA,如源地址、目標(biāo)地址、傳輸?shù)臄?shù)據(jù)大小等;

d)寫(xiě)操作:通過(guò)ioctl函數(shù)啟動(dòng)DMA,通過(guò)PCIe總線將數(shù)據(jù)搬運(yùn)至FPGA DRAM;

e)程序接收驅(qū)動(dòng)上報(bào)input事件后,將通過(guò)ioctl函數(shù)獲取DMA搬運(yùn)數(shù)據(jù)耗時(shí),并計(jì)算DMA傳輸速率(即寫(xiě)速率);

f)讀操作:通過(guò)ioctl函數(shù)啟動(dòng)DMA,通過(guò)PCIe總線將FPGA DRAM中的數(shù)據(jù)搬運(yùn)至dma_memcpy驅(qū)動(dòng)申請(qǐng)的連續(xù)內(nèi)存空間(位于DDR);

g)程序接收驅(qū)動(dòng)上報(bào)input事件后,將數(shù)據(jù)從內(nèi)核空間讀取至用戶空間,然后校驗(yàn)數(shù)據(jù),同時(shí)通過(guò)ioctl函數(shù)獲取DMA搬運(yùn)數(shù)據(jù)耗時(shí),并計(jì)算DMA傳輸速率(即讀速率)。

(2) FPGA端程序原理說(shuō)明如下:

a)實(shí)現(xiàn)PCIe Endpoint功能;

a)處理PCIe RC端發(fā)起的PCIe BAR0空間讀寫(xiě)事務(wù);

b)將PCIe BAR0讀寫(xiě)數(shù)據(jù)緩存至FPGA DRAM中。

案例演示

評(píng)估板上電啟動(dòng)后,進(jìn)入評(píng)估板文件系統(tǒng)執(zhí)行如下命令,將隨機(jī)數(shù)據(jù)先寫(xiě)入FPGA DRAM,再?gòu)腇PGA DRAM讀出。測(cè)試完成后,程序?qū)?huì)打印最終測(cè)試結(jié)果,包含讀寫(xiě)平均傳輸耗時(shí)、讀寫(xiě)平均傳輸速率、讀寫(xiě)錯(cuò)誤統(tǒng)計(jì)等信息。

Target#./dma_memcpy_demo -a 0xf0200000 -s 65536 -c 100 -d /dev/input/event6


圖 5

表 2 測(cè)試結(jié)果說(shuō)明

到這里,我們的演示步驟結(jié)束。想要查看更多瑞芯微RK3568J + FPGA相關(guān)的案例演示,歡迎各位工程師通過(guò)公眾號(hào)(Tronlong創(chuàng)龍科技)下載,快來(lái)試試吧!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    视频一区二区 国产精品| 亚洲国产av在线观看一区| 好吊日在线视频免费观看| 黑丝袜美女老师的小逼逼| 日韩精品视频免费观看| 青青操精品视频在线观看| 中文久久乱码一区二区| 午夜激情视频一区二区| 99久久国产精品亚洲| 老司机亚洲精品一区二区| 国产99久久精品果冻传媒| 精品人妻一区二区三区四区久久 | 日韩中文字幕狠狠人妻| 日韩精品中文在线观看| 亚洲一区二区福利在线| 久久午夜福利精品日韩| 狠狠亚洲丁香综合久久| 黄片美女在线免费观看| 欧美日韩无卡一区二区| 日韩欧美一区二区不卡视频| 一区二区日本一区二区欧美| 精品欧美日韩一区二区三区| 神马午夜福利一区二区| 国产精品视频一级香蕉| 好吊视频一区二区在线| 国产一级内片内射免费看| 欧美性猛交内射老熟妇| 亚洲最大的中文字幕在线视频| 国产av大片一区二区三区| 日韩人妻免费视频一专区| 日本加勒比在线播放一区| 成人精品一级特黄大片| 97人妻精品一区二区三区免| 九九热精彩视频在线播放| 日韩一区欧美二区国产| 国产精品久久精品国产| 国产一级内射麻豆91| 亚洲国产精品肉丝袜久久| 欧美黑人精品一区二区在线| 日韩av亚洲一区二区三区| 国产一区二区三区午夜精品|