最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

FPGA圖像處理開發(fā)流程

2022-04-29 09:50 作者:信盈達  | 我要投稿

【注意注意注意!?。?】?? ?? ?

硬件訓(xùn)練營高能來襲?。?!有啥不會皆可群內(nèi)詢問~?

信盈達——全力打造一個獨屬于硬件工程師們交流學(xué)習(xí)訓(xùn)練營

況且現(xiàn)如今可是——技能走天下!??!?

想要往硬件發(fā)展的朋友萌,趕緊掃描下方二維碼加入大佬的訓(xùn)練營吧?

(內(nèi)有行業(yè)專業(yè)大佬,入坑不虧)?


在掌握FPGA基本知識以及數(shù)字圖像處理基礎(chǔ)之后,還需要準(zhǔn)備的硬件有一塊FPGA開發(fā)板(包括顯示接口如VGA,HDMI,攝像頭接口)、一個入門級攝像頭如OV7725以及一個液晶顯示屏,在正式做FPGA圖像處理開發(fā)之前,務(wù)必使用FPGA驅(qū)動攝像頭視頻顯示,這里要掌握攝像頭驅(qū)動和液晶屏驅(qū)動接口和時序,能夠進行modelsim仿真。

一個常規(guī)的FPGA圖像處理開發(fā)流程是由需求分析及問題描述、軟件算法設(shè)計及驗證、硬件平臺設(shè)計、FPGA映射以及仿真驗證幾部分組成。如下圖所示:

下面對這五步進行一一介紹(可能不全面):

一、需求分析及問題描述:

1.系統(tǒng)功能:也就是你要做什么,需要一個詳細的圖像處理后的預(yù)期結(jié)果說明。


2.系統(tǒng)的性能:完成這個系統(tǒng)的指標(biāo)是什么,對于實時的圖像處理來說。系統(tǒng)所允許的最大延時以及需要每秒所處理的幀數(shù)是比較關(guān)鍵的兩個指標(biāo)。同時比如采用的攝像頭的分辨率、焦距等指標(biāo),還有車牌識別的識別率要求等。


3.系統(tǒng)的工作環(huán)境:圖像處理受光照的影響因素很大,因此考慮系統(tǒng)的工作環(huán)境對后期算法的選擇極其重要。還需要考慮要契合所工作的機械位置,對板子形狀體積等影響。


二、軟件算法設(shè)計及其驗證:

在進行FPGA圖像開發(fā)之前,首要做的就是軟件算法設(shè)計及其驗證,其中軟件算法復(fù)雜性會對,硬件的架構(gòu),硬件的選型以及資源的消耗。

因此做FPGA圖像開發(fā)不直接在FPGA上做,因為后期的編譯,調(diào)試將會花費很長時間。


在拿到需求之后,我們一般首先要做的就是使用Matlab/opencv軟件算法驗證,不斷的調(diào)試仿真,選取一個最優(yōu)的方案;然后嘗試將串行的軟件算法以及軟件封裝的函數(shù),改寫成適合FPGA處理的形式,在進行進一步仿真驗證。


其中最重要的一點就是精度問題,因為FPGA不善于處理浮點運算,因此要考慮浮點到定點的轉(zhuǎn)化,這樣做,當(dāng)然會帶來精度的丟失,因此需要評估精度對系統(tǒng)的影響,在滿足要求范圍內(nèi),進而來確定FPGA中定點轉(zhuǎn)換的位數(shù)。

舉一個例子:計算3.145/2(1.573);系統(tǒng)要求的精度在0.01之內(nèi),在FPGA計算中可以首先將3.145擴大256倍取整后為805進行計算;得到[805/2]=402,然后在縮小256倍(右移8bit)等于1.570;可以看到滿足系統(tǒng)精度要求。


三、硬件平臺設(shè)計:

1.軟件和硬件的劃分

這里所說的硬件指的是由FPGA邏輯實現(xiàn),軟件是由DSP、ARM、單片機編程實現(xiàn),像計算量較大的預(yù)處理算法(形態(tài)學(xué)濾波、sobel算子和均值濾波等)可以交由FPGA加入處理,像一些涉及到復(fù)雜浮點運算或者FPGA不易實現(xiàn)的可以交由軟件編程實現(xiàn),達到軟硬協(xié)同工作。


2.資源評估和FPGA選型

在硬件方案確定后,在系統(tǒng)選型之前,很有必要對系統(tǒng)資源的預(yù)估,對圖像處理系統(tǒng)來講,肯定會涉及到諸如行緩存,幀緩存,以及顯存,不可避免的會使用到片上資源(寄存器,SRAM資源),同時也會預(yù)留一些調(diào)試的片上資源(SigaltapII),一般片內(nèi)資源較多的FPGA比較貴,像大的幀緩存可以考慮存儲在片外資源上。


四、FPGA映射

FPAG映射也就說FPGA的硬件實現(xiàn),將軟件算法轉(zhuǎn)換成適合FPGA是實現(xiàn)的算法,F(xiàn)PGA操作是可以是并行的,考慮到時序約束問題,經(jīng)常使用的是流水線操作,同時考慮信號扇出問題可以進行邏輯賦值,說白了,這里涉及到了一個速度與面積的平衡。


很多情況會涉及到共享資源的使用,采用時分復(fù)用的方式實現(xiàn);這樣能節(jié)省很多資源,與之而來的就是要設(shè)計一個仲裁機制防止沖突。


五、仿真驗證

在RTL代碼完成之后,首先進行功能測試,其次才是下板測試,這里在設(shè)計RTL代碼時要設(shè)計一些debug信號便于定位問題,或者將一些關(guān)鍵信號引到頂層模塊便于在線查看(使用示波器或者在線邏輯分析儀);也可以硬件模擬一些激勵信號來輔助調(diào)試。


版權(quán)聲明:本文為CSDN博主「huanghu1230」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

版權(quán)歸原作者所有,有改動。如有侵權(quán),請聯(lián)系刪除。

原文鏈接:https://blog.csdn.net/huanghu1230/article/details/109400635

FPGA圖像處理開發(fā)流程的評論 (共 條)

分享到微博請遵守國家法律
泸定县| 卢氏县| 龙井市| 喀什市| 嘉义市| 库尔勒市| 皋兰县| 西吉县| 疏勒县| 南投市| 延边| 山丹县| 靖西县| 莱阳市| 江都市| 大港区| 汤原县| 涿州市| 南阳市| 嘉善县| 潢川县| 白城市| 德安县| 双桥区| 光泽县| 眉山市| 和平区| 石河子市| 工布江达县| 资阳市| 松原市| 安庆市| 榆林市| 晋江市| 林芝县| 林甸县| 和平县| 裕民县| 西安市| 托克托县| 定州市|