国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Lattice FPGA解碼MIPI視頻,IMX219攝像頭4Line 1080P采集USB3.0輸出,提供工程源碼硬件原理圖PCB和技術(shù)支持

這篇具有很好參考價(jià)值的文章主要介紹了Lattice FPGA解碼MIPI視頻,IMX219攝像頭4Line 1080P采集USB3.0輸出,提供工程源碼硬件原理圖PCB和技術(shù)支持。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、前言

FPGA圖像采集領(lǐng)域目前協(xié)議最復(fù)雜、技術(shù)難度最高的應(yīng)該就是MIPI協(xié)議了,MIPI解碼難度之高,令無數(shù)英雄競(jìng)折腰,以至于Xilinx官方不得不推出專用的IP核供開發(fā)者使用,不然太高端的操作直接嚇退一大批FPGA開發(fā)者,就沒人玩兒了。

本設(shè)計(jì)基于Lattice的LCMXO3LF-6900C-5BG256C開發(fā)板,采集IMX219攝像頭的1080P 4Line MIPI視頻,IMX219攝像頭是專門的攝像頭轉(zhuǎn)接板,提供該轉(zhuǎn)接板的原理圖和PCB源文件,可以用Altium Designer系列軟件打開,甚至可以直接打板批量生產(chǎn),Lattice FPGA自帶MIPI解碼源語,直接調(diào)用即可完成MIPI解碼,這也是Lattice FPGA在做MIPI視頻編解碼方面的獨(dú)特優(yōu)勢(shì),MIPI視頻進(jìn)入FPGA后,經(jīng)過D-PHY解串,Byte對(duì)齊,Line對(duì)齊,MIPI CSI數(shù)據(jù)包解碼,RAW10轉(zhuǎn)Bayer,Bayer轉(zhuǎn)RGB,RGB轉(zhuǎn)YUV,視頻輸出矯正,最后的視頻數(shù)據(jù)送入Cypress FX3 USB3.0接口輸出;用Cypress官方的USB3.0攝像頭上位機(jī)接收并顯示視頻;Lattice FPGA開發(fā)板提供該轉(zhuǎn)接板的原理圖和PCB源文件,可以用Altium Designer系列軟件打開,甚至可以直接打板批量生產(chǎn);

本文詳細(xì)描述了設(shè)計(jì)方案,工程代碼編譯通過后上板調(diào)試驗(yàn)證,可直接項(xiàng)目移植,適用于在校學(xué)生做畢業(yè)設(shè)計(jì)、研究生項(xiàng)目開發(fā),也適用于在職工程師做項(xiàng)目開發(fā),可應(yīng)用于醫(yī)療、軍工等行業(yè)的數(shù)字成像和圖像傳輸領(lǐng)域;
提供完整的、跑通的工程源碼和技術(shù)支持;
工程源碼和技術(shù)支持的獲取方式放在了文章末尾,請(qǐng)耐心看到最后;
關(guān)于MIPI協(xié)議,請(qǐng)自行搜索,csdn就有很多大佬講得很詳細(xì),我就不多寫這塊了;

2、Lattice FPGA解碼MIPI的性能及其優(yōu)越性

一個(gè)字:牛逼,表現(xiàn)如下:
1:Lattice FPGA解碼MIPI,該FPGA自帶MIPI解碼源語,直接調(diào)用即可完成MIPI解碼,這也是Lattice FPGA在做MIPI視頻編解碼方面的獨(dú)特優(yōu)勢(shì),且該FPGA較為小眾,使用者和開發(fā)者都很少,提供工程源碼的更少;
2:移植性還可以,可在Lattice 系列FPGA之間移植;
3:實(shí)用性達(dá)到天花板,可以做批量的USB攝像頭,且我這里不僅提供源碼還提供原理圖和PCB;
4:支持高達(dá)4K分辨率的MIPI視頻解碼;

3、我這里已有的 MIPI 編解碼方案

我這里目前已有豐富的基于FPGA的MIPI編解碼方案,主要是MIPI解碼的,既有純vhdl實(shí)現(xiàn)的MIPI解碼,也有調(diào)用Xilinx官方IP實(shí)現(xiàn)的MIPI解碼,既有2line的MIPI解碼,也有4line的MIPI解碼,既有4K分辨率的MIPI解碼,也有小到720P分辨率的MIPI解碼,既有基于Xilinx平臺(tái)FPGA的MIPI解碼也有基于Altera平臺(tái)FPGA的MIPI解碼,還有基于Lattice平臺(tái)FPGA的MIPI解碼,后續(xù)還將繼續(xù)推出更過國(guó)產(chǎn)FPGA的MIPI解碼方案,畢竟目前國(guó)產(chǎn)化方案才是未來主流,后續(xù)也將推出更多MIPI編碼的DSI方案,努力將FPGA的MIPI編解碼方案做成白菜價(jià)。。。
基于此,我專門建了一個(gè)MIPI編解碼的專欄,并將MIPI編解碼的博客都放到了專欄里整理,對(duì)FPGA編解碼MIPI有項(xiàng)目需求或?qū)W習(xí)興趣的兄弟可以去我的專欄看看,專欄地址如下:
點(diǎn)擊直接前往專欄

4、詳細(xì)設(shè)計(jì)方案

工程設(shè)計(jì)架構(gòu)如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0

IMX219攝像頭及其轉(zhuǎn)接板

采集IMX219攝像頭的1080P 4Line MIPI視頻,IMX219攝像頭是專門的攝像頭轉(zhuǎn)接板,提供該轉(zhuǎn)接板的原理圖和PCB源文件,可以用Altium Designer系列軟件打開,甚至可以直接打板批量生產(chǎn);IMX219攝像頭轉(zhuǎn)接板插在Lattice FPGA開發(fā)板之上;如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
下面是IMX219的實(shí)物圖和PCB截圖;
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
下面是用高速示波器抓取的IMX219輸出的MIPI 1920x1080 @30FPS Start of a frame波形,可以看到,這里的IMX219硬件設(shè)計(jì)師沒有問題的,可以借鑒;
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0

D-PHY

Lattice FPGA自帶MIPI解碼源語,直接調(diào)用即可完成MIPI解碼,這也是Lattice FPGA在做MIPI視頻編解碼方面的獨(dú)特優(yōu)勢(shì),這個(gè)模塊幾乎是直接調(diào)用MIPI解碼源語,輸入是差分的MIPI視頻數(shù)據(jù),輸出為并行視頻數(shù)據(jù),由于是源語,所以不需要太多解釋,你只需要知道怎么用就行,不需要知道為什么,此模塊的頂層接口如下:

mipi_rx_ddr (alignwd, buf_clk_lp0i, buf_clk_lp0o, buf_clk_lp0t, 
    buf_clk_lp1i, buf_clk_lp1o, buf_clk_lp1t, clk, clk_lp0, clk_lp1, 
    clk_s, init, reset, rx_ready, sclk, oclk, buf_data_lp0i, buf_data_lp0o, 
    buf_data_lp0t, buf_data_lp1i, buf_data_lp1o, buf_data_lp1t, data_lp0, 
    data_lp1, datain, q)/* synthesis NGD_DRC_MASK=1 */;
    input wire alignwd;
    input wire buf_clk_lp0o;
    input wire buf_clk_lp0t;
    input wire buf_clk_lp1o;
    input wire buf_clk_lp1t;
    input wire clk;
    input wire clk_s;
    input wire init;
    input wire reset;
    input wire [3:0] buf_data_lp0o;
    input wire [3:0] buf_data_lp0t;
    input wire [3:0] buf_data_lp1o;
    input wire [3:0] buf_data_lp1t;
    input wire [3:0] datain;
    output wire buf_clk_lp0i;
    output wire buf_clk_lp1i;
    output wire rx_ready;
    output wire sclk;
	output wire oclk;
    output wire [3:0] buf_data_lp0i;
    output wire [3:0] buf_data_lp1i;
    output wire [31:0] q;
    inout wire clk_lp0;
    inout wire clk_lp1;
    inout wire [3:0] data_lp0;
    inout wire [3:0] data_lp1;

數(shù)據(jù)對(duì)齊

數(shù)據(jù)對(duì)齊包括Byte對(duì)齊和Line對(duì)齊;
Byte對(duì)齊模塊接收到來自D-PHY模塊的原始未對(duì)齊位輸出對(duì)齊的字節(jié),MIPI通道上的字節(jié)沒有任何定義的字節(jié)邊界,因此此模塊在線路上查找始終恒定的第一個(gè)字節(jié)0xB8,一旦找到0xB8就確定了字節(jié)邊界偏移,將輸出有效設(shè)置為determined,并在數(shù)據(jù)通道處于MIPI LP狀態(tài)時(shí)開始輸出正確的字節(jié)保持重置;
Line對(duì)齊模塊從mipi接收多Line的Byte對(duì)齊數(shù)據(jù),mipi字節(jié)時(shí)鐘在多Line mipi總線中輸出Line對(duì)齊的數(shù)據(jù),不同Line上的數(shù)據(jù)可能以不同的偏移量出現(xiàn),因此該模塊將等待,直到所有Line的有效輸出開始輸出Line對(duì)齊數(shù)據(jù),因此所有Line的字節(jié)以相同的時(shí)間刻度輸出;這樣MIPI視頻才完成了真正的數(shù)據(jù)對(duì)齊;

MIPI CSI2

該模塊的作用很簡(jiǎn)單,就是解析丟掉MIPI協(xié)議中的控制字符,提取出有效的視頻數(shù)據(jù),部分源碼截圖如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0

視頻數(shù)據(jù)格式轉(zhuǎn)換

視頻數(shù)據(jù)格式轉(zhuǎn)換的順序是:RAW10轉(zhuǎn)Bayer,Bayer轉(zhuǎn)RGB888,RGB888轉(zhuǎn)YUV422;如果要做顯示器輸出的朋友,只需要做到Bayer轉(zhuǎn)RGB888這一步即可輸出了,這里做到了RGB888轉(zhuǎn)YUV422的目的是送Cypress FX3 USB3.0接口輸出;每一個(gè)模塊的頂部都有詳細(xì)的注釋,一看就懂他的作用,以RGB888轉(zhuǎn)YUV422模塊為例截圖如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0

視頻輸出矯正

該模塊的作用是做視頻數(shù)據(jù)的位寬轉(zhuǎn)換,將64bit 4個(gè)像素時(shí)鐘的yuv422數(shù)據(jù)轉(zhuǎn)換為32bit 2個(gè)像素時(shí)鐘的yuv422數(shù)據(jù),這樣做的目的也是送Cypress FX3 USB3.0接口輸出;

5、Lattice Diamond工程詳解

Lattice Diamond是Lattice FPGA的開發(fā)工具,使用起來很簡(jiǎn)單,但國(guó)內(nèi)用的很少;
開發(fā)板FPGA型號(hào):Lattice的LCMXO3LF-6900C-5BG256C;
開發(fā)工具:Lattice Diamond3.12;
輸入:IMX219,4Line 1080P分辨率;
輸出:Cypress FX3 USB3.0接口輸出;

工程源碼架構(gòu)如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
工程已經(jīng)編譯完成,如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
綜合原理圖部分截圖如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0

6、上板調(diào)試驗(yàn)證

硬件需求:
Lattice FPGA開發(fā)板一塊;
IMX219攝像頭轉(zhuǎn)接板一塊;
Cypress FX3 USB3.0轉(zhuǎn)接板一塊;
連接,IMX219攝像頭轉(zhuǎn)接板作為輸入插在Lattice FPGA開發(fā)板上;Cypress FX3 USB3.0轉(zhuǎn)接板作為輸出插在Lattice FPGA開發(fā)板上;如下圖:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
用Cypress官方的USB3.0攝像頭上位機(jī)接收并顯示視頻;如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0

7、福利:工程代碼的獲取

福利:工程代碼的獲取
代碼太大,無法郵箱發(fā)送,以某度網(wǎng)盤鏈接方式發(fā)送,
資料獲取方式1:私,或者文章末尾的V名片。
資料獲取方式2:文章末尾的公眾號(hào),回復(fù) 002006
網(wǎng)盤資料如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
資料清單如下:
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0
lattice fpga,FPGA解碼MIPI視頻專題,菜鳥FPGA圖像處理專題,Lattice FPGA源碼,fpga開發(fā),Lattice,MIPI,IMX219,USB3.0文章來源地址http://www.zghlxwxcb.cn/news/detail-783520.html

到了這里,關(guān)于Lattice FPGA解碼MIPI視頻,IMX219攝像頭4Line 1080P采集USB3.0輸出,提供工程源碼硬件原理圖PCB和技術(shù)支持的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包