【基于FPGA的圖像處理工程】邊緣檢測工程之?dāng)z像頭配置模塊代碼解析
【基于FPGA的圖像處理工程】
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???—邊緣檢測工程:攝像頭配置模塊代碼解析
?本文為明德?lián)P原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處!
攝像頭配置模塊的功能: 根據(jù)攝像頭配置指令模塊ov7670_para的操作,產(chǎn)生對(duì)應(yīng)的寫寄存器命令、讀寄存器命令給下游模塊。具體功能如下:
1. 根據(jù)ov7670_para的參數(shù),逐個(gè)配置或者讀取寄存器;
2. 所有寄存器操作完成后,產(chǎn)生完成指示信號(hào)。
通過代碼:`include“ov7670_para.v”,可以把邊緣檢測攝像頭配置指令模塊ov7670_para包含進(jìn)本模塊。
一、? ?? ???設(shè)計(jì)架構(gòu)
攝像頭配置模塊采用兩個(gè)計(jì)數(shù)器的架構(gòu):計(jì)數(shù)器reg_cnt表示的是對(duì)要配置的164個(gè)寄存器進(jìn)行計(jì)數(shù),計(jì)數(shù)器rw_cnt表示判斷寫數(shù)據(jù)還是讀數(shù)據(jù)的時(shí)序。例如,在寫時(shí)序時(shí),判斷參數(shù)是否要寫寄存器,如果要寫寄存器,此時(shí)才產(chǎn)生寫命令,如果參數(shù)是不要寫寄存器,此時(shí)也不產(chǎn)生寫命令。其結(jié)構(gòu)圖如下:

計(jì)數(shù)器rw_cnt:寄存器讀寫時(shí)序計(jì)數(shù)器。用來區(qū)分“向寄存器寫數(shù)據(jù)”還是“從寄存器讀數(shù)據(jù)”這兩個(gè)狀態(tài)。當(dāng)其為0時(shí),表示判斷是否寫寄存器的時(shí)序,當(dāng)其為1時(shí),表示判斷是否讀寄存器的時(shí)序。不管讀寫屬性參數(shù)是什么,每個(gè)寄存器都會(huì)占有這兩個(gè)時(shí)序。
計(jì)數(shù)器reg_cnt:寄存器順序計(jì)數(shù)器。對(duì)攝像頭164個(gè)寄存器進(jìn)行排序,按順序配置各個(gè)寄存器。
二、? ?? ???信號(hào)意義

三、參考代碼
下面展出本模塊的設(shè)計(jì),歡迎進(jìn)一步交流,如果需要源代碼,歡迎與本人聯(lián)系。

明德?lián)P專注FPGA研究,我司正在連載兩本書籍:《基于FPGA至簡設(shè)計(jì)法實(shí)現(xiàn)的圖像邊緣檢測系統(tǒng)》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=691)、《ASIC和FPGA時(shí)序約束理論與應(yīng)用》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=705),有興趣點(diǎn)擊觀看。