99在线精品免费视频九九视-99在线精品视频-99在线精品视频免费观里-99在线精品视频在线观看-99在线免费播放



官方論壇
官方淘寶
官方博客
微信公眾號
點(diǎn)擊聯(lián)系吳工 點(diǎn)擊聯(lián)系周老師
您的當(dāng)前位置:主頁 > FPGA原創(chuàng) >

圖像邊緣檢測工程模塊劃分總結(jié)與分析

發(fā)布時間:2020-01-04   作者:王斌 瀏覽量:

本文為明德?lián)P原創(chuàng)文章,轉(zhuǎn)載請注明出處!

很多朋友在工程模塊劃分的時候總會遇到很多問題,比如不知道如何下手、模塊劃分不合理等;當(dāng)然我最初也和大家一樣不知道如何下手,學(xué)習(xí)了明德?lián)P的課程后,再加上和老師的多多交流,我也總結(jié)出了一套方法思路,今天就通過明德?lián)P邊緣檢測工程來與大家分享一下模塊的劃分思路。

明德?lián)P邊緣檢測工程是明德?lián)P的網(wǎng)絡(luò)班、就業(yè)班的其中一個項(xiàng)目,實(shí)現(xiàn)了圖像的實(shí)時采集、邊緣檢測算法、存儲控制以及與串口等功能,涉及到了比較全面的知識與算法。一起來看看如何劃分模塊。

 

一、模塊劃分要點(diǎn)總結(jié)

1、列出項(xiàng)目的功能要求(客戶提出的產(chǎn)品功能要求)

 

2、畫出硬件的系統(tǒng)結(jié)構(gòu)框圖(添加外設(shè))

 

3、框圖中每個外圍接口都對應(yīng)有一個接口轉(zhuǎn)換模塊

接口轉(zhuǎn)換模塊的作用是將外圍器件的接口時序轉(zhuǎn)為通用的接口時序,或者將通用接口時序轉(zhuǎn)換為外圍器件接口時序,這樣使得FPGA內(nèi)部其他模塊不用再關(guān)心外圍接口的時序了。

MDY規(guī)范通用接口時序:

l data以及對應(yīng)的vld,傳輸單個數(shù)據(jù)格式

l MDY的包文格式,din,vld,SOP,EOP,MTY,ERR

l wren,waddr,wdata;rden,raddr,rdata,rdata_vld

 

4、考慮是否涉及指令系統(tǒng)操作碼+數(shù)據(jù)格式)

上位機(jī),例如PC,ARM,DSP或者其他的器件,只涉及到一個接口,但是卻有很多指令或者命令功能要發(fā)送,因此就需要一個指令系統(tǒng)。

指令系統(tǒng)一定會涉及到命令、地址和數(shù)據(jù)。這種情況,肯定會有一個“寄存器解析模塊”,根據(jù)命令、地址和數(shù)據(jù),改變相應(yīng)的寄存器的值。

 

5、考慮外圍器件是否涉及寄存器配置

項(xiàng)目中有某些外設(shè),上電工作前需要進(jìn)行配置才能按要求工作。因此需要對外設(shè)內(nèi)部寄存器進(jìn)行讀寫,這一流程是通過FPGA來進(jìn)行配置。

遇到這個情況,使用MDY推薦的模塊寄存器配置結(jié)構(gòu):

寄存器配置表模塊+寄存器讀寫配置模塊+外設(shè)配置接口時序轉(zhuǎn)換模塊

 

6、根據(jù)實(shí)際情況,增加、補(bǔ)充或者拆分,優(yōu)化對應(yīng)模塊,隨時調(diào)整

原則:根據(jù)接口信號,看模塊間是否方便對接。接口就決定了模塊功能。所以在這一層的調(diào)整,一定要清楚接口的定義。

    

7、考慮是否涉及多路進(jìn)一路出,要用FIFO

調(diào)度FIFO要考慮自身帶寬能否滿足多路一起突發(fā)發(fā)送時的數(shù)據(jù)量情況。如果帶寬不滿足,就要要輸出給上游模塊RDY信號。此時RDY信號有效取決于自己設(shè)置FIFO的Almost Full信號。如果帶寬滿足則不必設(shè)RDY信號。

 

8、考慮是否涉及到速率匹配問題,要加上RDY信號或者FIFO

首先考慮與外圍器件通信的接口上是否需要rdy信號(FPGA內(nèi)部運(yùn)行頻率往往與設(shè)接口速率不一致),然后考慮FPGA內(nèi)部模塊間數(shù)據(jù)帶寬是否不一致,有等一等的情況。

 

二、邊緣檢測工程案例分析

根據(jù)前面總結(jié)的要點(diǎn),通過實(shí)際項(xiàng)目案例來分析一下FPGA內(nèi)部功能模塊是怎樣劃分的。這里我們選取已經(jīng)做過的圖像邊緣檢測項(xiàng)目,接下來按照上面總結(jié)的模塊劃分步驟,一步步完成模塊初步劃分!

 

1.列出項(xiàng)目的功能要求

本項(xiàng)目功能要求:系統(tǒng)上電,OV7670攝像頭將實(shí)時采集圖像數(shù)據(jù)傳送給FPGA,經(jīng)過FPGA算法處理獲得邊緣圖像,最終輸出邊緣圖像到顯示器上。

功能分析:

a) 選用攝像頭OV7670作為圖像采集

b) 攝像頭內(nèi)部寄存器需要上電配置,因此外設(shè)需要配置按鍵

c) FPGA內(nèi)部做邊緣檢測算法處理

d) 輸出給顯示器顯示(用VGA接口)

 

2.畫出硬件系統(tǒng)結(jié)構(gòu)框圖

根據(jù)步驟1總結(jié)出的功能要求,找到除FPGA外需要哪些外圍器件。

外圍器件總共需要三個:

a) 按鍵

b) 攝像頭OV7670

c) 顯示器

畫出系統(tǒng)框圖如下所示:

 

3.框圖中每個外圍接口都對應(yīng)有一個接口轉(zhuǎn)換模塊

a) 按鍵對應(yīng)的接口轉(zhuǎn)換模塊是按鍵消抖檢測模塊;

b) OV7670攝像頭對應(yīng)的接口轉(zhuǎn)換模塊是OV7670圖像采集模塊;

c) 顯示器與FPGA連接是VGA接口,因此其對應(yīng)的接口轉(zhuǎn)換模塊是VGA顯示驅(qū)動模塊。

完善后框圖如下所示:

 

4.考慮是否涉及指令系統(tǒng)

本項(xiàng)目不涉及指令系統(tǒng),因此這里可以跳過。

 

5.考慮外圍器件是否涉及寄存器配置

本項(xiàng)目中OV7670攝像頭部分涉及寄存器配置。使用MDY推薦模板:寄存器配置表模塊+寄存器讀寫配置模塊+外設(shè)配置接口時序轉(zhuǎn)換模塊;

由于外設(shè)OV7670配置接口使用的是SCCB協(xié)議,所以外設(shè)配置接口時序轉(zhuǎn)換模塊對外接口也應(yīng)該是SCCB,對內(nèi)是MDY規(guī)范接口。

補(bǔ)充后框圖如下所示:

 

6.根據(jù)實(shí)際情況,增加、補(bǔ)充或者拆分獨(dú)立對應(yīng)模塊,隨時調(diào)整

到第6步,根據(jù)數(shù)據(jù)流向,需要對模塊間的接口進(jìn)行詳細(xì)分析了,補(bǔ)充模塊或者將功能相同的模塊合并化簡。

a) OV7670圖像采集模塊輸出的圖像數(shù)據(jù)是RGB565格式,需要先將RGB565信號轉(zhuǎn)成灰度圖像,因此需要一個RGB轉(zhuǎn)灰度模塊;

b) 輸出的圖像灰度數(shù)據(jù)需要進(jìn)行高斯濾波處理,因此需要一個高斯濾波模塊;

c) 為了做邊緣檢測,需要將高斯濾波處理后的灰度圖像數(shù)據(jù)轉(zhuǎn)換為單bit數(shù)據(jù),因此需要一個灰度轉(zhuǎn)單bit模塊;

d) 轉(zhuǎn)換后的單bit數(shù)據(jù),需要經(jīng)過sobel算法處理才能得到圖像邊緣,因此需要一個sobel算法處理模塊;

e) 經(jīng)過sobel算法處理模塊輸出的圖像數(shù)據(jù)就可以輸出給顯示器了,但是為了圖像連續(xù)完整輸出、不斷幀,就需要做一下緩存,因此需要一個圖像緩存模塊。

補(bǔ)充后如下圖所示:

 

接下來將功能互斥、數(shù)據(jù)流向相關(guān)且接口一致的模塊做合并化簡處理,如下圖所示:

 

7.考慮是否涉及多路進(jìn)一路出,要用FIFo

本項(xiàng)目數(shù)據(jù)流方面沒有涉及多路進(jìn)一路出的問題,不需要考慮此處的FIFO問題。

 

8.考慮是否涉及到速率匹配問題,要加上RDY信號或者FIFO

首先考慮與外圍器件通信的接口上是否需要rdy信號

OV7670配置接口采用的SCCB協(xié)議,運(yùn)行頻率是100K,遠(yuǎn)小于FPGA內(nèi)部系統(tǒng)運(yùn)行頻率25M,所以外設(shè)配置接口時序轉(zhuǎn)換模塊與配置模塊間需要設(shè)rdy信號。

 

再考慮FPGA內(nèi)部模塊間運(yùn)行速率不匹配的情況

sobel算法處理模塊輸出的圖像數(shù)據(jù)發(fā)送給圖像緩存模塊,圖像緩存模塊要緩存一幅完整圖像需要等待,需要設(shè)一個FIFO。

為了完成乒乓操作,需要設(shè)立兩個FIFO才能實(shí)現(xiàn)寫FIFO A一幅完整圖像數(shù)據(jù),同時VGA顯示驅(qū)動模塊可以讀緩存好的FIFO B內(nèi)完整圖像數(shù)據(jù)。

因此圖像緩存模塊需要設(shè)兩個FIFO(實(shí)際項(xiàng)目中用片內(nèi)RAM代替了FIFO,本質(zhì)相同)。

最終得到的模塊圖如下所示:

 

到此,根據(jù)模塊劃分步驟一步步做下來,圖像邊緣檢測工程的模塊劃分雛形初步已經(jīng)完成。具體實(shí)踐中需要根據(jù)FPGA內(nèi)部信號的調(diào)整,隨時拆分或獨(dú)立來增減功能模塊。

以上就是我們做模塊劃分的基本思路,大家有什么問題可以加Q群544453837進(jìn)行交流,更多FPGA相關(guān)資料可以登錄明德?lián)P論壇進(jìn)行學(xué)習(xí)瀏覽:http://www.fpgabbs.cn/

  •   
  •   
  •   
  •  
  • FPGA教育領(lǐng)域第一品牌
  • 咨詢熱線:020-39002701
  • 技術(shù)交流Q群:544453837
主站蜘蛛池模板: 久草国产视频 | 我想看一级黄色大片 | 亚洲色图在线观看 | 欧美freexx | 毛片在线网 | 国产精品秒播无毒不卡 | 日韩制服丝袜在线观看 | 色婷婷六月丁香七月婷婷 | 国产91在线播放中文 | 国产女主播真实视频在线观看 | 成人午夜视频在线 | 国产男女野战视频在线看 | 国产一级做a爰片... | 亚洲中国日本韩国美国毛片 | 一级毛片真人免费观看 | 国产一久久香蕉国产线看观看 | 色日韩| 精品国产中文字幕 | 免费三级黄色片 | 久久se精品一区二区影院 | 青青草国产97免久久费观看 | 免费观看黄色a一级视频播放 | www.你懂的.com | 亚洲国产人久久久成人精品网站 | 日韩大尺度无遮挡理论片 | 精品欧美一区二区三区 | 另类二区| 国产精品自拍亚洲 | 欧美一级毛片免费看 | 亚洲一区二区三区精品影院 | 久久99精品波多结衣一区 | 青草青青产国视频在线 | 国产亚洲精品福利片 | 久热香蕉在线爽青青 | 免费观看污污视频 | 国产chiese在线视频 | 在线观看一区二区三区四区 | 亚洲精品在线观看91 | 免费人成视网站在线不卡 | 欧美一级片毛片 | 在线免费观看污片 |