我們用服務每一個客戶

Our intention to service each customer

誠實 守信 專業 專注

02年意甲最佳射手:基于Xilinx FPGA的視頻圖像采集系統

We will do our best to provide you with better service!
您當前的位置:意甲冠军次数排行 > 新聞資訊 >
   本篇要分享的是基于Xilinx FPGA的視頻圖像采集系統,使用攝像頭采集圖像數據,并沒有用到SDRAM/DDR。這個工程使用的是OV7670 30w像素攝像頭,用雙口RAM做存儲,顯示窗口為320x240,而且都知道7670的顯示效果也不怎么樣,這是一次偶然的機會我得到的資源,便在basys3、zybo、國產FPGA PGT180H上移植成功,總體的顯示效果也是可能達到7670應有的標準,7670可以說是最基礎的攝像頭,基礎到你都不想學驅動它,因為畫質很差,還有一款基礎的攝像頭是OV7725,也是30w像素和7670比起來,差別咋就這么大呢(看價格就明白了)。當然這只是一個基礎,博主日后也會著手去深入學習基于FPGA的攝像頭的驅動。

意甲冠军次数排行 www.pfseo.icu

這是本系統簡單的結構框圖,主要有攝像頭配置???、圖像數據采集???、像素數據存儲???、VGA顯示驅動??樽槌?。

攝像頭??樾枰肧CCB協議進行配置,SCCB即我們常說的I2C總線。

該部分由兩個??楣鉤?,I2C總線???,攝像頭寄存器存儲???,通過I2C總線,也就是下文的SCCB總線,將攝像頭寄存器存儲??櫓械氖莘⑺偷絆V7670內,完成攝像頭的得配置。

         SCCB總線在寫寄存器時,先寫設備地址(0x42),收到從設備應答后再寫寄存器地址,最后寫將要寫入的寄存器的值。

SCCB總線的讀取寄存器時序:SCCB總線在讀寄存器時,分兩個階段:第一階段為先寫設備地址(0x42),然后再寫寄存器地址;第二階段為寫設備地址(0x43),然后讀出寄存器地址的值,從而完成對一個寄存器值的讀取,

I2C協議有兩條總線,時鐘總線sclk和數據總線sdat,我們在時鐘總線為高電平的中心時采集數據,在時鐘總線為低電平的中心改變數據,每發送8位數據會有一個應答。

I2C協議寫操作,先給一個寫命令,然后接著兩組8位的數據,這個工程里OV7670一共有165個寄存器需要配置,當第165個寄存器配置完成后config_finished信號拉高,表示寄存器配置完成。

         從??橐派銜頤強梢鑰吹?,7670是8位的像素數據輸出,場信號(默認低有效),和行信號有效的同時,開始捕獲數據,寄存第一個數據, 拼接到第二個數據, 實現一個完整像素的輸出。

         像素數據存儲采用的是雙口RAM,將RAM數據位寬設置為16,因為我才用的zybo開發板是16位的,深度設置為320x240 = 76800。這是RAM IP Core的頂層實例化。

         最后是VGA顯示???,將儲存的數據讀出,顯示在VGA顯示器上,這樣這個視頻采集系統就完成了。這里值得一提的是在使用zybo開發板進行攝像頭配置的時候出現了如下問題,最后經上網查閱資料最后得以解決,出現這個問題的原因是,遇到上面的問題是因為我們將外部輸入的一個時鐘管腳 OV7670_PCLK(攝像頭輸出給FPGA的像素時鐘)分配到了一個普通的IO口上面,如果是用一個專用的時鐘管腳,比如說ZedBoard有專有時鐘管腳 Y9就不會出現這樣的錯誤了。

  因為是IO管腳上,所以其周圍沒有全局時鐘 BUFG,所以我們在 XDC 里使用:set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets {OV7670_PCLK_IBUF}]  來屏蔽 Xilinx 的檢測,從而通過編譯。這個方式在軟件提示的錯誤中也提供了解決方法,

 

       我這里使用的迪芝倫官方出品的zybo開發板,肯定有朋友好奇我的攝像頭是怎么插上去的——杜邦線啊,引腳約束文件可是我精心設計的,所以只需要18根連排杜邦線即可,使用杜邦線的顯示效果基本不會受影響,如果你的顯示效果很差,可不能怪杜邦線肯定是你時序的問題。

這是最終的顯示效果圖,原始圖像是沒有白框的,但是這個工程會讓最開始幾列像素數據顯示不出來,所以我自己加上白邊,遮蓋掉每行圖像的前幾個像素點,其他的數據照常顯示。

  

Copyright © 2009-2017 仙桃云科網絡科技有限公司 (意甲冠军次数排行 www.pfseo.icu) All Rights Reserved.
鄂ICP備12009831號-1
  • 在線咨詢

  • 在線咨詢:
  • 仙桃網站建設
  • 仙桃網站運營
  • 仙桃SEO推廣
  • 電話:

  • 13047143144
  • 13047143144