測試數據匯總
表 1
PCIe總線介紹
PCIe,即PCI-Express(peripheral component interconnect express)是一種高速串行計算機擴展總線標準。主要用于擴充計算機系統總線數據吞吐量以及提高設備通信速度。
圖 1
DMA技術介紹
DMA(Direct Memory Access,直接內存訪問)是一種讓硬件外設直接與存儲器進行數據交換的技術,無需CPU參與數據傳輸過程。
使用非DMA方式進行數據傳輸時,外設與內存之間的數據搬運需要依靠CPU來完成。這意味著每次數據傳輸都需要CPU的介入,導致CPU資源占用較高,并且數據傳輸速度相對較低。
使用DMA方式進行數據傳輸時,外設可以直接與內存進行數據交換。減少了CPU的介入和中斷處理,數據傳輸過程更加流暢和高效。
圖 2
RK3568J + FPGA典型應用場景
圖 3
基于RK3568J + FPGA的PCIe通信案例
本文主要介紹基于RK3568J + FPGA的PCIe通信案例,適用開發環境如下:
Windows開發環境:Windows 7 64bit、Windows 10 64bit
Linux開發環境: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-[版本號](基于rk356x_linux_release_v1.3.1_20221120)
(基于瑞芯微RK3568J + 紫光同創Logos-2)
為了簡化描述,本文僅摘錄部分方案功能描述與測試結果,詳細產品資料可以通過公眾號(Tronlong創龍科技)下載。
案例說明
ARM端基于PCIe總線對FPGA DRAM進行讀寫測試。應用程序通過ioctl函數發送命令開啟DMA傳輸數據后,等待驅動上報input事件;當應用層接收到input事件,說明DMA傳輸數據完成。
程序流程如下圖所示。
圖 4
(1)ARM端程序原理說明如下:
a)采用DMA方式;
b)將數據寫至dma_memcpy驅動申請的連續內存空間(位于DDR);
c)配置DMA,如源地址、目標地址、傳輸的數據大小等;
d)寫操作:通過ioctl函數啟動DMA,通過PCIe總線將數據搬運至FPGA DRAM;
e)程序接收驅動上報input事件后,將通過ioctl函數獲取DMA搬運數據耗時,并計算DMA傳輸速率(即寫速率);
f)讀操作:通過ioctl函數啟動DMA,通過PCIe總線將FPGA DRAM中的數據搬運至dma_memcpy驅動申請的連續內存空間(位于DDR);
g)程序接收驅動上報input事件后,將數據從內核空間讀取至用戶空間,然后校驗數據,同時通過ioctl函數獲取DMA搬運數據耗時,并計算DMA傳輸速率(即讀速率)。
(2) FPGA端程序原理說明如下:
a)實現PCIe Endpoint功能;
a)處理PCIe RC端發起的PCIe BAR0空間讀寫事務;
b)將PCIe BAR0讀寫數據緩存至FPGA DRAM中。
案例演示
評估板上電啟動后,進入評估板文件系統執行如下命令,將隨機數據先寫入FPGA DRAM,再從FPGA DRAM讀出。測試完成后,程序將會打印最終測試結果,包含讀寫平均傳輸耗時、讀寫平均傳輸速率、讀寫錯誤統計等信息。
Target#./dma_memcpy_demo -a 0xf0200000 -s 65536 -c 100 -d /dev/input/event6
圖 5
表 2 測試結果說明
到這里,我們的演示步驟結束。想要查看更多瑞芯微RK3568J + FPGA相關的案例演示,歡迎各位工程師通過公眾號(Tronlong創龍科技)下載,快來試試吧!
審核編輯 黃宇
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605179 -
PCIe
+關注
關注
15文章
1258瀏覽量
82991
發布評論請先 登錄
相關推薦
瑞芯微 RK3568J 視頻圖像處理框架全解析
![瑞芯微 <b class='flag-5'>RK3568J</b> 視頻圖像處理框架全解析](https://file1.elecfans.com//web3/M00/07/0B/wKgZPGeS7n2APGePAAF2b4F2Vzc73.jpeg)
3568F-FPGA案例開發手冊
3568F--基于Pango Design Suite的FPGA程序加載與固化
3568F-MQTT通信協議案例
3568F-NPU開發案例
3568F-ARM+FPGA通信案例開發手冊
3568F-視頻開發案例
三屏異顯案例分享,基于全國產RK3568J工業平臺!
國產RK3568J基于FSPI的ARM+FPGA通信方案分享
RK3568J“麒麟”+“翼輝”國產系統正式發布,“鴻蒙”也正在路上!
米爾創新設計RK3568全LGA國產核心板,更緊湊可靠省連接器成本
Android案例分享,基于瑞芯微RK3568國產平臺!
![Android案例分享,基于瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>國產</b><b class='flag-5'>平臺</b>!](https://file1.elecfans.com/web2/M00/F0/C4/wKgZomZzjdOAGrLFAAQr6pizg1o478.png)
全國產RK3568J + FPGA的PCIe、FSPI通信實測數據分享!
![全<b class='flag-5'>國產</b><b class='flag-5'>RK3568J</b> + <b class='flag-5'>FPGA</b>的<b class='flag-5'>PCIe</b>、FSPI<b class='flag-5'>通信</b>實測數據分享!](https://file1.elecfans.com/web2/M00/EB/46/wKgaomZYEkSAZgyMAACQPOcAB9o402.png)
深度對比!瑞芯微RK3562J比RK3568J好在哪里?
![深度對比!瑞芯微<b class='flag-5'>RK3562J</b>比<b class='flag-5'>RK3568J</b>好在哪里?](https://file.elecfans.com/web2/M00/7E/BA/poYBAGOHAv6AbvjgAAA8o4Btlss933.png)
評論