chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA圖像處理平臺搭建方案

FPGA技術(shù)江湖 ? 來源:OpenFPGA ? 2026-04-22 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下文章來源于OpenFPGA,作者碎碎思

基于 MicroBlaze V 的 FPGA 視覺平臺:通過以太網(wǎng)實(shí)時(shí)捕獲、調(diào)試和傳輸 MIPI 相機(jī)數(shù)據(jù),支持全幀或高速 ROI 范圍。

09577bdc-3ac4-11f1-90a1-92fbcf53809c.png

介紹

圖像處理是FPGA的常見應(yīng)用之一。其靈活的I/O接口使其能夠與各種攝像頭和傳感器進(jìn)行交互,包括MIPI、Camera Link、并行接口以及DVI/HDMI接口。

編程邏輯的并行特性使得圖像處理流水線能夠直接并行實(shí)現(xiàn),從而提高確定性并降低延遲。

在開發(fā)圖像處理算法時(shí),我們通常可以使用更高級別的框架,例如 Vitis HLS 或 MathWorks Simulink。

雖然看到算法在模擬環(huán)境中運(yùn)行很棒,但最好還是看到它們在實(shí)際硬件上運(yùn)行,才能確定自己設(shè)計(jì)的算法是否合理。

所以決定創(chuàng)建一個(gè)圖像處理系統(tǒng),方便隨時(shí)添加新的圖像處理核心。該系統(tǒng)能夠利用多個(gè)MIPI攝像頭。

圖像處理流程對圖像執(zhí)行簡單的處理階段,例如去馬賽克,然后通過以太網(wǎng)提供圖像,以便檢查算法性能。

由于目的是評估算法性能,因此通過以太網(wǎng)鏈路發(fā)送的圖像數(shù)據(jù)沒有進(jìn)行壓縮。

為了能夠評估來自攝像機(jī)的實(shí)時(shí)視頻,該設(shè)計(jì)將能夠從整體圖像中抽取較小的窗口進(jìn)行流式傳輸。

硬件選擇

在這個(gè)項(xiàng)目中,將使用 Artix UltraScale+ 15P FPGA,以及 2GB DDR4、10/100 以太網(wǎng)、SFP+ 插槽和 HDMI Rx 和 Tx。

在外部連接方面,還會利用 FMC LPC(https://camerafmc.com/)。

09c3003c-3ac4-11f1-90a1-92fbcf53809c.png

為了使 FPGA 板上最多可連接兩個(gè) MIPI 攝像頭,我們使用了攝像頭 FMC模塊。該 FMC 模塊最多可連接四個(gè) MIPI 攝像頭到 AMD 開發(fā)板上,具體數(shù)量取決于所用開發(fā)板,因?yàn)椴煌_發(fā)板的 I/O 引腳排列方式不同。

架構(gòu)

該解決方案的整體架構(gòu)如下所示。其中包括樹莓派攝像頭、Demosaic 和 AXI VDMA,后者將圖像存儲在 DDR4 幀緩沖區(qū)中。

0a21c7fc-3ac4-11f1-90a1-92fbcf53809c.png

然后,MicroBlaze V 處理器將使用 LWIP 從幀緩沖區(qū)讀取圖像,并通過 AXI Ethernet Lite 以以太網(wǎng)方式輸出。

MicroBlaze V 還將負(fù)責(zé)啟用和配置 樹莓派 攝像頭。為此,它使用了 AXI IIC 和 GPIO 模塊。

幀的抓取、顯示和控制流幀由運(yùn)行在客戶端 PC 上的 Python 應(yīng)用程序控制。

硬件設(shè)計(jì)

該項(xiàng)目以 MicroBlaze V 處理器為核心構(gòu)建,該處理器本身連接到以下 IP 核。

AXI UART Lite - 支持狀態(tài)報(bào)告

AXI Ethernet Lite - 以 100 Mbps 的速度連接到主機(jī)

AXI timer - 輕量級 IP 堆棧的必需組件

AXI GPIO - 控制樹莓派攝像頭的電源啟用

AXI IIC - 配置 RPI 攝像頭。

AXI Interrupt Controller - 處理來自IIC、以太網(wǎng)精簡版和定時(shí)器的中斷

完整的設(shè)計(jì)如下所示,也可在Github上找到(鏈接在最后)。

0a7b43f4-3ac4-11f1-90a1-92fbcf53809c.png

圖像處理流程包括:

MIPI CSI2 RX Subsystem - 該子系統(tǒng)配置為支持 RAW10 位像素和 2 條 MIPI 通道。該模塊在 PL 設(shè)計(jì)中也直接啟用。

Demosaic - 配置為將 RAW10 像素轉(zhuǎn)換為 30 位(RGB)顏色通道

AXIS Subset Convertor - 該轉(zhuǎn)換器接收 30 位像素,并提取綠色通道的 8 位最高有效位。綠色通道包含灰度圖像所需的大部分光照強(qiáng)度信息。

VDMA - 配置為寫入 DDR4 幀緩沖區(qū)。

時(shí)鐘頻率分配很簡單,MicroBlaze V 的時(shí)鐘頻率為 300 MHz,由 DDR MIG 輸出(圖中以綠色顯示)。DPHY 和視頻流水線使用 200 MHz(圖中以粉色顯示),100 MHz(圖中以藍(lán)色顯示)也需要使用。

下一步是設(shè)計(jì)運(yùn)行在 MicroBlaze V 上的嵌入式軟件。

嵌入式軟件

該應(yīng)用軟件其中最重要的包括配置 RPI 攝像頭和運(yùn)行用于以太網(wǎng)通信的 LWIP 協(xié)議棧。

軟件應(yīng)用程序的概覽如下所示,其結(jié)構(gòu)簡單明了:首先初始化 LWIP 和相機(jī),然后再啟動圖像處理流程。流程初始化完成后,程序?qū)⒉杉瘓D像,并運(yùn)行主 LWIP 處理器,等待 Python 應(yīng)用程序的指令。

0ad4c46a-3ac4-11f1-90a1-92fbcf53809c.png

應(yīng)用程序軟件已上傳至GitHub(鏈接在最后) ,其中包含四個(gè)主要文件:app.c、app.h、imx_219_cam.c 和 imx219_cam.h。

imx219_cam.c 和 imx219_cam.h

通過 AXI IIC 處理 IMX219 相機(jī)傳感器的啟動。

初始化序列通過 AXI GPIO 對攝像頭進(jìn)行斷電重啟,并初始化 AXI IIC 內(nèi)核。然后,它通過讀取型號 ID (0x0219) 來驗(yàn)證傳感器是否響應(yīng) IIC 命令。

app.c和app.h

該主要應(yīng)用程序包含五個(gè)主要要素:

平臺初始化程序會設(shè)置 AXI 中斷控制器并將其連接到 MicroBlaze-V 異常處理系統(tǒng)。該程序未使用定時(shí)器,lwIP 以純輪詢模式運(yùn)行,這足以滿足 UDP 的需求。

網(wǎng)絡(luò)初始化函數(shù)在啟動序列的早期被調(diào)用,因?yàn)樵?PHY 自動協(xié)商期間 xemac_add 會阻塞。通過先執(zhí)行此操作,可以在相機(jī)上電和配置期間建立以太網(wǎng)鏈路。lwIP RAW API 與綁定到端口 5001 的 UDP PCB 一起使用。

Camera Init調(diào)用 IMX219_Init,該 IMX219_Init 處理完整的電源循環(huán)和 I2C 配置序列。

捕獲數(shù)據(jù)流初始化首先啟動去馬賽克(以便在 VDMA 讀取視頻流之前正確格式化視頻流),等待 100 ms使其同步,然后配置并啟動 VDMA S2MM 通道,該通道使用 DDR4 內(nèi)存和三幀緩沖區(qū)。如果 VDMA 報(bào)告 IntErr(由于捕獲到部分首幀),它會自動重置并重新啟動 VDMA 以進(jìn)行恢復(fù)。

主循環(huán)輪詢 xemacif_input 以獲取傳入的 UDP 數(shù)據(jù)包。

UDP幀協(xié)議使用帶有每個(gè)數(shù)據(jù)包序列號和字節(jié)偏移量的格式,以便即使數(shù)據(jù)包丟失,接收方也能正確放置數(shù)據(jù)。

每個(gè)數(shù)據(jù)包包含一個(gè) 12 字節(jié)的頭部,后跟最多 1460 字節(jié)的像素?cái)?shù)據(jù)。幀頭部包含數(shù)據(jù)包總數(shù)和幀大小,以便接收器了解預(yù)期接收的數(shù)據(jù)。由于 AXI Ethernet Lite 只有一個(gè)發(fā)送緩沖區(qū),因此數(shù)據(jù)包以 2 毫秒的間隔發(fā)送。

0b306af4-3ac4-11f1-90a1-92fbcf53809c.png

這種方法可以實(shí)現(xiàn)更強(qiáng)大的應(yīng)用程序,并防止除丟包之外的圖像損壞(在這種配置下,丟包的情況很少見)。

0b8be938-3ac4-11f1-90a1-92fbcf53809c.png

Python應(yīng)用程序

Python 應(yīng)用程序旨在抓取幀并將其存儲為 PNG 或流式傳輸可選擇感興趣區(qū)域的圖像。

在流式傳輸過程中,Python 應(yīng)用程序?qū)⒚?10 秒抓取一次全幀圖像,并進(jìn)行更新,以便隨著場景的變化更新感興趣的區(qū)域。

Python客戶端是一個(gè)單文件程序,它通過UDP協(xié)議與MicroBlaze-V通信,并使用OpenCV將接收到的像素?cái)?shù)據(jù)重新組裝成可查看的圖像。它有三種運(yùn)行模式,這些模式的設(shè)計(jì)都考慮到了100Mbps鏈路和單緩沖區(qū)以太網(wǎng)MAC的限制。

0be444ac-3ac4-11f1-90a1-92fbcf53809c.png

首先要進(jìn)行的是Socket建立??蛻舳藙?chuàng)建一個(gè)具有 8 MB 接收緩沖區(qū)的 UDP Socket。

接收引擎 是客戶端的核心。它等待 FRMB 頭部數(shù)據(jù)包,提取幀尺寸、數(shù)據(jù)包總數(shù)和快照大小,然后預(yù)先分配一個(gè)大小恰好為該值的零字節(jié)數(shù)組。當(dāng)數(shù)據(jù)包到達(dá)時(shí),每個(gè)數(shù)據(jù)包都會被放置在其聲明的字節(jié)偏移量處。這使得整個(gè)系統(tǒng)具有容錯(cuò)能力。

每種模式的關(guān)鍵設(shè)計(jì)選擇都?xì)w結(jié)于相同的限制,AXI Ethernet Lite 的單個(gè) TX 緩沖區(qū)在 100 Mbps 時(shí)無法處理連續(xù)的密集傳輸。

GRAB 模式通過重試機(jī)制解決這個(gè)問題,最多嘗試三次,并保留完成度最高的嘗試。

窗口模式通過減小傳輸幀的大小來解決這個(gè)問題,是速度最快的傳輸方式。一個(gè) 128×128 的窗口只有 16 KB,大約相當(dāng)于 12 個(gè)數(shù)據(jù)包。

流模式通過不斷地從圖像中傳輸完整幀來解決這個(gè)問題,但是幀速率受到限制。

0c3dd454-3ac4-11f1-90a1-92fbcf53809c.png

測試

在硬件上運(yùn)行 pythn 應(yīng)用程序,結(jié)果顯示應(yīng)用程序運(yùn)行正常,符合預(yù)期。

窗口模式下運(yùn)行時(shí)幀率約為 20-30 FPS,對于 100 MBps 的以太網(wǎng)連接來說還不錯(cuò)。

0c9bdef0-3ac4-11f1-90a1-92fbcf53809c.png

總結(jié)

該項(xiàng)目演示了如何創(chuàng)建一個(gè)簡單的幀捕獲解決方案,使我們能夠在硬件上測試圖像處理算法,并將處理后的幀存儲起來以進(jìn)行進(jìn)一步分析。

本項(xiàng)目采用了純FPGA方案。還可以添加一些擴(kuò)展功能,例如使用PCIe進(jìn)行幀采集。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1664

    文章

    22501

    瀏覽量

    639020
  • 圖像處理
    +關(guān)注

    關(guān)注

    29

    文章

    1346

    瀏覽量

    59692
  • MIPI
    +關(guān)注

    關(guān)注

    11

    文章

    364

    瀏覽量

    51086

原文標(biāo)題:FPGA圖像處理平臺搭建:MIPI + VDMA + Ethernet全流程

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的實(shí)時(shí)邊緣檢測系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測,FPGA圖像處理

    搭建圖像處理硬件平臺成為圖像處理的發(fā)展趨勢。FPGA
    發(fā)表于 05-24 07:45

    基于DSP和FPGA的通用圖像處理平臺設(shè)計(jì)

    設(shè)計(jì)一種基于DSP和FPGA架構(gòu)的通用圖像處理平臺,運(yùn)用FPGA實(shí)現(xiàn)微處理器接口設(shè)計(jì),并對
    發(fā)表于 12-25 17:06 ?62次下載

    基于DSP和FPGA的通用圖像處理平臺設(shè)計(jì)

    基于DSP和FPGA的通用圖像處理平臺設(shè)計(jì) 摘要:設(shè)計(jì)一種基于DSP和FPGA架構(gòu)的通用圖像
    發(fā)表于 02-01 11:10 ?1750次閱讀
    基于DSP和<b class='flag-5'>FPGA</b>的通用<b class='flag-5'>圖像</b><b class='flag-5'>處理</b><b class='flag-5'>平臺</b>設(shè)計(jì)

    基于FPGA的LCoS驅(qū)動和圖像處理系統(tǒng)設(shè)計(jì)

    本文設(shè)計(jì)了基于FPGA的LCoS驅(qū)動代碼及圖像的FFT變換系統(tǒng),為計(jì)算全息三維顯示圖像處理和顯示提供了硬件平臺
    發(fā)表于 06-28 09:36 ?2521次閱讀
    基于<b class='flag-5'>FPGA</b>的LCoS驅(qū)動和<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>系統(tǒng)設(shè)計(jì)

    實(shí)時(shí)圖像邊緣檢測的設(shè)計(jì)及FPGA實(shí)現(xiàn)

    文中將FPGA應(yīng)用于實(shí)時(shí)圖像邊緣檢測系統(tǒng),從而實(shí)現(xiàn)動態(tài)實(shí)時(shí)圖像的邊緣檢測。通過搭建實(shí)驗(yàn)平臺仿真驗(yàn)證表明,檢測精度和數(shù)據(jù)
    發(fā)表于 12-22 17:06 ?39次下載
    實(shí)時(shí)<b class='flag-5'>圖像</b>邊緣檢測的設(shè)計(jì)及<b class='flag-5'>FPGA</b>實(shí)現(xiàn)

    基于FPGA的高分辨率全景圖像處理平臺

    基于FPGA的高分辨率全景圖像處理平臺基于FPGA的高分辨率全景圖像
    發(fā)表于 11-04 16:30 ?2次下載

    基于FPGA的紅外圖像處理系統(tǒng)及算法設(shè)計(jì)

    本文在研究紅外焦平面陣列非均勻性的特點(diǎn)和成因后,首先設(shè)計(jì)了紅外圖像實(shí)時(shí)處理的硬件平臺。本硬件平臺FPGA為核心
    發(fā)表于 05-17 14:29 ?5次下載

    FPGA圖像處理

    FPGA圖像處理
    發(fā)表于 12-14 22:29 ?19次下載

    數(shù)字圖像處理平臺系統(tǒng)方案詳解

    數(shù)字圖像處理自從出現(xiàn)以來,就一直是前沿的研究學(xué)科,經(jīng)久不衰,同時(shí)隨著數(shù)字化時(shí)代的到來,市場對于數(shù)字圖像處理的需求也越來越大。因此,本項(xiàng)目------基于
    發(fā)表于 05-30 11:39 ?5270次閱讀
    數(shù)字<b class='flag-5'>圖像</b><b class='flag-5'>處理</b><b class='flag-5'>平臺</b>系統(tǒng)<b class='flag-5'>方案</b>詳解

    略談FPGA圖像處理

    FPGA圖像處理之路,從此開始,接下來,讓我們把時(shí)間交給“圖像處理”。一休哥在動筆之前,一直在猶豫,反復(fù)思考著一個(gè)問題,這個(gè)問題一直困擾著我
    發(fā)表于 05-09 17:05 ?4684次閱讀

    基于FPGA的HEIF圖像處理加速方案

    近日,元腦生態(tài)伙伴深維科技與浪潮聯(lián)合發(fā)布業(yè)內(nèi)首個(gè)基于FPGA的HEIF圖像處理加速方案
    的頭像 發(fā)表于 10-23 11:16 ?3407次閱讀
    基于<b class='flag-5'>FPGA</b>的HEIF<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>加速<b class='flag-5'>方案</b>

    基于ARM與FPGA的嵌入式實(shí)時(shí)圖像處理平臺

    基于ARM與FPGA的嵌入式實(shí)時(shí)圖像處理平臺(嵌入式開發(fā)流程包含哪些步驟和內(nèi)容)-該文檔為基于ARM與FPGA的嵌入式實(shí)時(shí)
    發(fā)表于 07-30 11:41 ?6次下載
    基于ARM與<b class='flag-5'>FPGA</b>的嵌入式實(shí)時(shí)<b class='flag-5'>圖像</b><b class='flag-5'>處理</b><b class='flag-5'>平臺</b>

    Vitis HLS圖像處理平臺搭建

    在 2019.2 以上的版本中AMD-Xilinx去除了對 OpenCV 的庫函數(shù)的直接支持,需要我們手動搭建一個(gè)OpenCV的環(huán)境(主要是仿真環(huán)境),這一步雖然對綜合不影響,但是對于算法的功能驗(yàn)證還是不方便,所以這一步對于使用OpenCV進(jìn)行圖像
    的頭像 發(fā)表于 11-21 09:10 ?2228次閱讀

    基于FPGA搭建一個(gè)通用的圖像處理平臺

    本文介紹如何搭建一個(gè)通用的圖像處理平臺,采用HDMI接口進(jìn)行輸入、輸出,可用于測試基于HLS的FPGA
    的頭像 發(fā)表于 09-04 18:20 ?3745次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>搭建</b>一個(gè)通用的<b class='flag-5'>圖像</b><b class='flag-5'>處理</b><b class='flag-5'>平臺</b>

    FPGA 實(shí)時(shí)信號處理應(yīng)用 FPGA圖像處理中的優(yōu)勢

    現(xiàn)場可編程門陣列(FPGA)是一種高度靈活的硬件平臺,它允許開發(fā)者根據(jù)特定應(yīng)用需求定制硬件邏輯。在實(shí)時(shí)信號處理圖像處理領(lǐng)域,
    的頭像 發(fā)表于 12-02 10:01 ?2873次閱讀