測試數據匯總
案例 | 時鐘頻率 | 理論速率 | 測試結果 |
FSPI通信案例 | 150MHz | 71.53MB/s |
讀速率:67.452MB/s 寫速率:52.638MB/s |
PCIe通信案例 | 100MHz | 803.09MB/s |
讀速率:595.24MB/s 寫速率:791.14MB/s |
備注:
(1)當TLP header size =16Byte時,PCIe理論傳輸速率為:782.50MB/s;(2)當TLP header size =12Byte時,PCIe理論傳輸速率為:803.09MB/s;
FSPI、PCIe總線介紹
FSPI(Flexible Serial Peripheral Interface)是一種高速、
全雙工
、同步的串行通信總線,在RK3568J處理器中就有FSPI控制器,可用來連接FSPI設備。它具備如下特點:
(1)支持串行NOR FLASH、串行NAND FLASH;
(2)支持SDR模式;(3)支持單線、雙線以及四線模式。
圖1FSPI數據傳輸波形圖
PCIe,即PCI-Express(peripheral component interconnect express)是一種高速串行計算機擴展總線標準。主要用于擴充計算機系統總線數據吞吐量以及提高設備通信速度。
圖2PCIe數據傳輸圖
硬件平臺介紹
硬件方案:創龍科技TL3568F-EVM評估板(瑞芯微RK3568J + 紫光同創Logos-2)。
TL3568F-EVM評估板簡介:
創龍科技TL3568F-EVM是一款基于瑞芯微RK3568J/RK3568B2四核ARM Cortex-A55處理器 + 紫光同創Logos-2 PG2L50H/PG2L100H FPGA設計的異構多核國產工業評估板,由核心板和評估底板組成,ARM Cortex-A55處理單元主頻高達1.8GHz/2.0GHz。核心板ARM、FPGA、ROM、RAM、電源、晶振、連接器等所有元器件均采用國產工業級方案,國產化率100%。同時,評估底板大部分元器件亦采用國產工業級方案。
RK3568J + FPGA典型應用場景
RK3568J + FPGA應用場景十分廣泛,涵蓋小電流選線、繼電保護測試儀、運動控制器、醫療內窺鏡、血液分析儀、目標識別跟蹤等領域,可滿足多種工業應用要求。
圖3
案例測試
下文主要介紹基于瑞芯微RK3568J與紫光同創Logos-2(硬件平臺:創龍科技TL3568F-EVM評估板)的FSPI、PCIe通信案例,按照創龍科技提供的案例用戶手冊進行操作得出測試結果。
基于RK3568J + FPGA的FSPI通信案例
(1)案例說明
ARM端運行Linux系統,基于FSPI總線對FPGA DRAM進行讀寫測試。
圖4ARM端程序流程圖
ARM端實現SPI Master功能,原理說明如下:
a)打開SPI設備節點,如:/dev/spidev4.0。
b)使用ioctl配置FSPI總線,如FSPI總線極性和相位、通信速率、數據長度等。
c)選擇模式為單線模式、雙線模式或四線模式。當設置FSPI為四線模式時,發送數據為四線模式,接收數據為四線模式。
d)發送數據至FSPI總線,以及從FSPI總線讀取數據。
e)校驗數據,然后打印讀寫速率、誤碼率。
FPGA端實現SPI Slave功能,原理說明如下:
a)FPGA將SPI Master發送的數據保存至DRAM。
b)SPI Master發起讀數據時,FPGA從DRAM讀取數據通過FSPI總線傳輸至SPI Master。
(2)測試結果
ARM通過FSPI總線(四線模式)寫入2048Byte隨機數據至FPGA DRAM,然后讀出數據、進行數據校驗,同時打印FSPI總線讀寫速率和誤碼率。
從下圖可知,本次實測寫速率為11.035MB/s,讀速率為24.414MB/s,誤碼率為0.00%。
圖5
若設置FSPI總線通信時鐘頻率為150MHz,ARM通過FSPI總線寫入1MByte隨機數據至FPGA DRAM,然后讀出數據,循環100次,不做數據檢驗,最后打印FSPI總線讀寫速率和誤碼率。
最終,本次測試設置FSPI總線通信時鐘頻率為150MHz,則FSPI四線模式理論通信速率為:(150000000 / 1024 / 1024 / 8 x 4)MB/s ≈ 71.53MB/s。從下圖可知,本次實測寫速率為52.638MB/s,讀速率為67.452MB/s,比較接近理論通信速率。
備注:本案例設計FPGA BRAM大小2048Byte,一次寫入1MByte數據量會導致BRAM數據溢出,因此誤碼率較高。配置一次寫入1MByte數據量只是為了驗證FSPI的最大通信速率,不考慮誤碼率。
圖6
基于RK3568J + FPGA的PCIe通信案例
(1)案例說明
ARM端基于PCIe總線對FPGA DRAM進行讀寫測試。應用程序通過ioctl函數發送命令開啟DMA傳輸數據后,等待驅動上報input事件;當應用層接收到input事件,說明DMA傳輸數據完成。
圖7程序流程圖
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傳輸速率(即讀速率)。
FPGA端原理說明如下:
a)實現PCIe Endpoint功能;
b)處理PCIe RC端發起的PCIe BAR0空間讀寫事務;
c)將PCIe BAR0讀寫數據緩存至FPGA DRAM中。
(2)測試結果
將隨機數據先寫入FPGA DRAM,再從FPGA DRAM讀出。測試完成后,程序將會打印最終測試結果,包含讀寫平均傳輸耗時、讀寫平均傳輸速率、讀寫錯誤統計等信息。
圖8
表 2測試結果說明
write/read | 寫操作 | 讀操作 |
time | DMA傳輸耗時,本次測試為79us | DMA傳輸耗時,本次測試為105us |
rate | DMA傳輸速率,本次測試為791.14MB/s | DMA傳輸速率,本次測試為595.24MB/s |
app time | 應用層寫數據至驅動Buffer耗時,本次測試為55us | 應用層從驅動Buffer讀取數據耗時,本次測試為288us |
app rate | 應用層寫數據至驅動Buffer速率,本次測試為1132.10MB/s | 應用層從驅動Buffer讀取數據速率,本次測試為217.99MB/s |
write_error/read_error | 寫數據過程中出錯次數,本次測試為0 | 讀數據過程中出錯次數,本次測試為0 |
審核編輯 黃宇
-
FPGA
+關注
關注
1630文章
21798瀏覽量
606052 -
數據
+關注
關注
8文章
7145瀏覽量
89587 -
通信
+關注
關注
18文章
6072瀏覽量
136432 -
總線
+關注
關注
10文章
2903瀏覽量
88400 -
PCIe
+關注
關注
15文章
1262瀏覽量
83200
發布評論請先 登錄
相關推薦
瑞芯微RK3568J如何“調節主頻”,實現功耗降低?一文教會您!
![瑞芯微<b class='flag-5'>RK3568J</b>如何“調節主頻”,實現功耗降低?一文教會您!](https://file.elecfans.com/web2/M00/7E/BA/poYBAGOHAv6AbvjgAAA8o4Btlss933.png)
RK3568J“麒麟”+“翼輝”國產系統正式發布,“鴻蒙”也正在路上!
國產RK3568J基于FSPI的ARM+FPGA通信方案分享
3568F-ARM+FPGA通信案例開發手冊
3568F--基于Pango Design Suite的FPGA程序加載與固化
3568F-FPGA案例開發手冊
全國產!瑞芯微RK3568J/RK3568B2工業核心板規格書
請查收“國產化率認證報告”(100%)——RK3568J工業核心板
RK3568J“麒麟”+“翼輝”國產系統正式發布,“鴻蒙”也正在路上!
創龍科技的RK3568J工業核心板技術參數解析
![創龍科技的<b class='flag-5'>RK3568J</b>工業核心板技術參數解析](https://file1.elecfans.com/web2/M00/8B/B3/wKgaomSdL9CAQ_scAAAV6F9GP6E913.jpg)
RK3568J“麒麟”+“翼輝”國產系統正式發布,“鴻蒙”也正在路上!
![<b class='flag-5'>RK3568J</b>“麒麟”+“翼輝”<b class='flag-5'>國產</b>系統正式發布,“鴻蒙”也正在路上!](https://file1.elecfans.com/web2/M00/B1/FB/wKgaomVoQi6AMVB0AAB-sg036qQ191.jpg)
全國產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>、<b class='flag-5'>FSPI</b><b class='flag-5'>通信實測</b><b class='flag-5'>數據</b>分享!](https://file.elecfans.com/web2/M00/7E/BA/poYBAGOHAv6AbvjgAAA8o4Btlss933.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)
瑞芯微 RK3568J 視頻圖像處理框架全解析
![瑞芯微 <b class='flag-5'>RK3568J</b> 視頻圖像處理框架全解析](https://file1.elecfans.com//web3/M00/07/0B/wKgZPGeS7n2APGePAAF2b4F2Vzc73.jpeg)
評論