很久都沒有寫文章了,一直想寫一篇關(guān)于SOC的文章,始終沒有想好到底該寫什么。 如果說寫個串口顯示的 “Hello World!”,那就太簡單了! 正好最近在弄ZYNQ的SOC圖像處理,用到了DMA傳輸,便決定來寫第一篇關(guān)于SOC的文章,用第一篇文章來簡單的介紹一下DMA傳輸。 當(dāng)然,這里還是解釋一下什么是DMA,全稱Direct Memory Access,直接內(nèi)存存取。它是一種幾乎不需要CPU干預(yù)的一種內(nèi)存訪問方式,當(dāng)然這里的內(nèi)存指的是DDR3。 ZYNQ的PL和PS進行DMA傳輸時,使用到的是High Performance AXI4 32bit/64bit Slave Ports。 在進行DMA傳輸時,使用到的是AXI4協(xié)議。當(dāng)然AXI4協(xié)議也有很多種,在我們使用Vivado創(chuàng)建自定義IP的時候就可以看到接口類型有:Lite、Full、Strem這三種。 在進行DMA傳輸時,使用的是Full這個接口類型。該接口支持突發(fā)方式的讀寫模式。 Lite類型,是不支持突發(fā)模式的,一般應(yīng)用場景在于PS對某些寄存器的配置,傳輸少量的數(shù)據(jù)信息。 Stream類型,也是一種大數(shù)據(jù)量的傳輸接口,但是它沒有相關(guān)的讀寫地址接口,是一種數(shù)據(jù)流模式的傳輸方式。在Xilinx的很多IP Core中,都有這個接口的身影。 好了,廢話不多說了。我們來看一下演示的這個例子。 首先,我們在PS端向DDR3中寫入了640*480個16bit的數(shù)據(jù),來模擬一幅圖像的數(shù)據(jù)量。 當(dāng)然,這里產(chǎn)生的數(shù)據(jù),大家應(yīng)該可以看出,模擬的圖像,是3個彩條。 運行之后,也可以查看到DDR3中已經(jīng)寫入了我們想要的數(shù)據(jù)。 在DMA讀模塊工作之后,可以看到顯示上也顯示了彩條。 是的,效果實現(xiàn)了,那DMA傳輸它到底是怎么工作的呢? 先來看一下SOC的硬件框架,也就是Block Design的框架。 Master_AXI4_VGA_0這個模塊,集成了DMA讀和寫的功能,VGA顯示的畫面,就是該模塊通過DMA讀操作,讀取到了DDR3中的數(shù)據(jù)。 這是通過ILA抓取到的DMA讀操作波形圖,圖中可以看到讀出的數(shù)據(jù)為32'hF800F800,這是因為HP AIX4接口使用的是32bit,而且設(shè)置的突發(fā)長度為16。 當(dāng)然這個只是DMA的讀操作,下邊來說一下DMA的寫操作。 DMA寫操作,在外部有一個寫數(shù)據(jù)的測試模塊write_test_0,該模塊產(chǎn)生遞增的寫數(shù)據(jù)。 這是通過ILA抓到的與DMA寫操作相關(guān)的信號,將寫入的數(shù)據(jù)放大一點來看,是按照32‘h00000001,32'h00020003這樣的數(shù)據(jù)拼起來的。 那我們再在SDK中看一下DDR3中的數(shù)據(jù)是怎么樣的呢? 數(shù)據(jù)也是按照這種格式排列的,當(dāng)然這里看到的數(shù)據(jù)與ILA中抓到的數(shù)據(jù)不一樣,是因為咱們不是在同一時刻抓取的。 最后再來看一下VGA顯示上顯示的效果。 當(dāng)然,通過VGA的效果,我也不知道這個效果是不是遞增數(shù)展現(xiàn)的一個效果,但可以說明,DMA讀和寫的功能是已經(jīng)實現(xiàn)了的。 總結(jié)一下,這篇文章只是簡單的給大家介紹了DMA的工作過程,至于AXI4的時序關(guān)系,因為網(wǎng)上已經(jīng)有太多的資料了,故沒有作太多的介紹。 DMA的讀和寫功能已經(jīng)實現(xiàn)了,然后再在目前的這個硬件平臺上掛上一個攝像頭,實現(xiàn)SOC的攝像頭顯示系統(tǒng)也不是難事了。 基于SOC的攝像頭顯示系統(tǒng)完成了,攝像頭的數(shù)據(jù)能正確的寫入到DDR3中,之后便可以在PS端做其他的圖像處理算法,做基于深度學(xué)習(xí)的人臉檢測等其他高深的應(yīng)用。 歡迎通信工程師和FPGA工程師關(guān)注公眾號 ![]() FPGA微信技術(shù)群 歡迎大家加入全國FPGA微信技術(shù)群,這里有一群熱愛技術(shù)的工程師,在這里可以一起交流討論技術(shù)! 用手指按住就可以加入FPGA全國技術(shù)群哦 FPGA技術(shù)群平臺自營:Xilinx Altera 鎂光、三星、海力士、ADI TI ST NXP 等品牌的優(yōu)勢代理分銷商,歡迎大家有需求隨時發(fā)型號清單,我們將在第一時間為您提供最優(yōu)競爭力的報價!價格低于您原有供應(yīng)商5%以上!歡迎詢價-直接把需求發(fā)給群主! FPGA技術(shù)群官方鳴謝品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等 |
|
來自: 西北望msm66g9f > 《培訓(xùn)》