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



官方論壇
官方淘寶
官方博客
微信公眾號
點擊聯系吳工 點擊聯系周老師
您的當前位置:主頁 > FPGA原創 >

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

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

本文為明德揚原創文章,轉載請注明出處!

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

明德揚邊緣檢測工程是明德揚的網絡班、就業班的其中一個項目,實現了圖像的實時采集、邊緣檢測算法、存儲控制以及與串口等功能,涉及到了比較全面的知識與算法。一起來看看如何劃分模塊。

 

一、模塊劃分要點總結

1、列出項目的功能要求(客戶提出的產品功能要求)

 

2、畫出硬件的系統結構框圖(添加外設)

 

3、框圖中每個外圍接口都對應有一個接口轉換模塊

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

MDY規范通用接口時序:

l data以及對應的vld,傳輸單個數據格式

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

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

 

4、考慮是否涉及指令系統操作碼+數據格式)

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

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

 

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

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

遇到這個情況,使用MDY推薦的模塊寄存器配置結構:

寄存器配置表模塊+寄存器讀寫配置模塊+外設配置接口時序轉換模塊

 

6、根據實際情況,增加、補充或者拆分,優化對應模塊,隨時調整

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

    

7、考慮是否涉及多路進一路出,要用FIFO

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

 

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

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

 

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

根據前面總結的要點,通過實際項目案例來分析一下FPGA內部功能模塊是怎樣劃分的。這里我們選取已經做過的圖像邊緣檢測項目,接下來按照上面總結的模塊劃分步驟,一步步完成模塊初步劃分!

 

1.列出項目的功能要求

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

功能分析:

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

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

c) FPGA內部做邊緣檢測算法處理

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

 

2.畫出硬件系統結構框圖

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

外圍器件總共需要三個:

a) 按鍵

b) 攝像頭OV7670

c) 顯示器

畫出系統框圖如下所示:

 

3.框圖中每個外圍接口都對應有一個接口轉換模塊

a) 按鍵對應的接口轉換模塊是按鍵消抖檢測模塊;

b) OV7670攝像頭對應的接口轉換模塊是OV7670圖像采集模塊;

c) 顯示器與FPGA連接是VGA接口,因此其對應的接口轉換模塊是VGA顯示驅動模塊。

完善后框圖如下所示:

 

4.考慮是否涉及指令系統

本項目不涉及指令系統,因此這里可以跳過。

 

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

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

由于外設OV7670配置接口使用的是SCCB協議,所以外設配置接口時序轉換模塊對外接口也應該是SCCB,對內是MDY規范接口。

補充后框圖如下所示:

 

6.根據實際情況,增加、補充或者拆分獨立對應模塊,隨時調整

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

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

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

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

d) 轉換后的單bit數據,需要經過sobel算法處理才能得到圖像邊緣,因此需要一個sobel算法處理模塊;

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

補充后如下圖所示:

 

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

 

7.考慮是否涉及多路進一路出,要用FIFo

本項目數據流方面沒有涉及多路進一路出的問題,不需要考慮此處的FIFO問題。

 

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

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

OV7670配置接口采用的SCCB協議,運行頻率是100K,遠小于FPGA內部系統運行頻率25M,所以外設配置接口時序轉換模塊與配置模塊間需要rdy信號。

 

再考慮FPGA內部模塊間運行速率不匹配的情況

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

為了完成乒乓操作,需要設立兩個FIFO才能實現寫FIFO A一幅完整圖像數據,同時VGA顯示驅動模塊可以讀緩存好的FIFO B內完整圖像數據。

因此圖像緩存模塊需要設兩個FIFO(實際項目中用片內RAM代替了FIFO,本質相同)。

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

 

到此,根據模塊劃分步驟一步步做下來,圖像邊緣檢測工程的模塊劃分雛形初步已經完成。具體實踐中需要根據FPGA內部信號的調整,隨時拆分或獨立來增減功能模塊。

以上就是我們做模塊劃分的基本思路,大家有什么問題可以加Q群544453837進行交流,更多FPGA相關資料可以登錄明德揚論壇進行學習瀏覽:http://www.fpgabbs.cn/

  •   
  •   
  •   
  •  
  • FPGA教育領域第一品牌
  • 咨詢熱線:020-39002701
  • 技術交流Q群:544453837
主站蜘蛛池模板: 色国产在线视频一区 | 亚洲国产精品久久精品成人 | 国产伦理自拍 | 五月快播 | jyzzjyzz国产免费观看 | 亚洲国产精品免费 | a级高清免费 | 特黄一级 | 特大巨黑人吊性xxx视频 | 国产制服丝袜视频 | 91最新在线 | 亚洲国产品综合人成综合网站 | 日韩精品一区二区三区毛片 | 成人区在线观看免费视频 | 视频一区二区在线播放 | 国产理论视频在线观看 | 日本道色综合久久影院 | 国产一区二区亚洲精品 | 亚洲黄色网络 | 美女亚洲精品一区 | 亚洲国产高清美女在线观看 | 久久精品亚洲精品国产色婷 | 免费一级欧美在线观看视频片 | 99久久免费精品视频 | 国产亚洲自拍一区 | 国产黄a三级三级看三级 | 免费国产高清精品一区在线 | 色婷婷综合久久久久中文一区二区 | 欧美成人免费草草影院 | 韩国成人毛片aaa黄 韩国成人在线视频 | 日韩岛国片 | 免费播放欧美毛片欧美a | 国产高清一级视频在线观看 | 日韩中文字 | 日韩中文字幕免费观看 | 国产一区二区不卡免费观在线 | 亚洲一区免费在线观看 | 一级片网 | 亚洲黄视频在线观看 | 黄色免费在线观看视频 | 国产剧情精品在线观看 |