大俠好,歡迎來到FPGA技術(shù)江湖,江湖偌大,相見即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。
今天給大俠帶來基于FPGA的實(shí)時(shí)圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì),由于篇幅較長,分三篇。今天帶來第一篇,上篇,話不多說,上貨。
這里也超鏈接了中篇和下篇,方便各位大俠參考學(xué)習(xí)。
基于FPGA的實(shí)時(shí)圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì)(中)
基于FPGA的實(shí)時(shí)圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì)(下)
隨著科學(xué)技術(shù)的高速發(fā)展,F(xiàn)PGA在系統(tǒng)結(jié)構(gòu)上為數(shù)字圖像處理帶來了新的契機(jī)。圖像中的信息并行存在,因此可以并行對(duì)其施以相同的操作,使得圖像處理的速度大大提高,這正好適合映射到FPGA架構(gòu)中用硬件算法得以實(shí)現(xiàn)。
本篇闡述了基于FPGA設(shè)計(jì)一個(gè)能夠?qū)崟r(shí)采集、實(shí)時(shí)處理并實(shí)時(shí)顯示的數(shù)字圖像處理系統(tǒng)的設(shè)計(jì)思想和流程,分析了攝像頭接口的時(shí)序;闡述了圖像信息的捕獲原理;詳細(xì)介紹了圖像邊緣檢測(cè)部分各模塊的功能;重點(diǎn)介紹了具有去噪功能的中值濾波模塊的設(shè)計(jì);簡單描述了邊緣檢測(cè)算子的選用;系統(tǒng)的介紹了SDRAM的工作原理以及控制方式;介紹了VGA時(shí)序;最后針對(duì)整個(gè)系統(tǒng)做了驗(yàn)證和總結(jié),包括仿真波形的驗(yàn)證以及板級(jí)驗(yàn)證。
該系統(tǒng)基于實(shí)體FPGA開發(fā)板實(shí)現(xiàn)了圖像數(shù)據(jù)的實(shí)時(shí)采集、實(shí)時(shí)邊緣檢測(cè)和實(shí)時(shí)顯示,運(yùn)行穩(wěn)定,實(shí)時(shí)性能較高,從而也表明FPGA確實(shí)具有海量數(shù)據(jù)高速傳輸?shù)哪芰Α?/p>
本篇為本人當(dāng)年的畢業(yè)設(shè)計(jì)部分整理,各位大俠可依據(jù)自己的需要進(jìn)行閱讀,參考學(xué)習(xí)。
第一篇內(nèi)容摘要:本篇會(huì)介紹前言,包括課題研究的背景和意義、相關(guān)技術(shù)在國內(nèi)外的發(fā)展現(xiàn)狀及應(yīng)用、圖像邊緣檢測(cè)技術(shù)的主要應(yīng)用、FPGA技術(shù)在國內(nèi)外的發(fā)展現(xiàn)狀及應(yīng)用、系統(tǒng)設(shè)計(jì)的主要內(nèi)容及方案、系統(tǒng)的設(shè)計(jì)流程。
還會(huì)介紹基于FPGA實(shí)現(xiàn)圖像的實(shí)時(shí)采集部分,包括圖像信息的實(shí)時(shí)采集,攝像頭型號(hào)及其參數(shù),SCCB總線特點(diǎn)及其工作原理,基于FPGA驅(qū)動(dòng)攝像頭接口,圖像信息的實(shí)時(shí)捕獲等相關(guān)內(nèi)容。
一、前言
1.1 課題研究的背景和意義
信息化是本世紀(jì)最主要的特征之一,在這樣一個(gè)信息化的時(shí)代,計(jì)算機(jī)顯得尤為重要,在各行各業(yè)都起著舉足輕重的作用。在圖像處理領(lǐng)域,數(shù)字圖像處理技術(shù)發(fā)展得尤為迅速,并廣泛應(yīng)用于航空航天、電子通信、醫(yī)學(xué)等各個(gè)領(lǐng)域,隨著技術(shù)的不斷發(fā)展,新開發(fā)的產(chǎn)品在圖像質(zhì)量、圖像存儲(chǔ)容量以及圖像處理速度等方面也都有了新的需求。數(shù)字圖像處理,往往是基于像素進(jìn)行一些運(yùn)算,從而有效提高圖像質(zhì)量。在圖像處理過程中,處理算法往往比較簡單,然而由于參與運(yùn)算的圖像數(shù)據(jù)量大,大多數(shù)圖像數(shù)據(jù)還需要多次重復(fù)使用,因此圖像處理的速度便成為了整個(gè)系統(tǒng)設(shè)計(jì)的瓶頸。
目前,圖像處理的算法研究已經(jīng)日趨成熟,在這種背景下,有效提高圖像處理的時(shí)效性,解決實(shí)際系統(tǒng)設(shè)計(jì)的瓶頸問題,便有了很大的應(yīng)用前景。隨著科學(xué)技術(shù)的高速發(fā)展,F(xiàn)PGA在系統(tǒng)結(jié)構(gòu)上為數(shù)字圖像處理帶來了新的契機(jī)。圖像中的信息并行存在,因此可以并行對(duì)其施以相同的操作,使得圖像處理的速度大大提高,這正好適合映射到FPGA架構(gòu)中用硬件算法得以實(shí)現(xiàn)。
數(shù)字圖像處理技術(shù)包括圖像增強(qiáng)、圖像復(fù)原、模式識(shí)別等,圖像中亮度變化明顯的點(diǎn)可能就是邊緣點(diǎn),能夠有效地檢測(cè)出圖像的邊緣,將對(duì)圖像的后續(xù)處理起到事半功倍的作用。通過邊緣檢測(cè)過程,我們可以保留圖像中對(duì)象的邊界信息,這在很大程度上減少了待處理的數(shù)據(jù)量,從而有效簡化了圖像的分析過程。
FPGA結(jié)構(gòu)靈活、現(xiàn)場(chǎng)可編程、并行處理信息,兼顧速度和靈活性。另外,其通用性強(qiáng)、適于模塊化設(shè)計(jì)、易于維護(hù)和擴(kuò)展、開發(fā)周期較短,適合用來做實(shí)時(shí)圖像處理。因此,基于FPGA設(shè)計(jì)一個(gè)基于VGA實(shí)時(shí)顯示圖像邊緣檢測(cè)信息的系統(tǒng)有著廣泛的應(yīng)用前景和深遠(yuǎn)的現(xiàn)實(shí)意義。
1.2 相關(guān)技術(shù)在國內(nèi)外的發(fā)展現(xiàn)狀及應(yīng)用
1.2.1 圖像邊緣檢測(cè)技術(shù)的主要應(yīng)用
1)邊緣檢測(cè)在儲(chǔ)糧害蟲方面的應(yīng)用
農(nóng)業(yè)是我國的主要根基,蟲害是儲(chǔ)糧的大敵,近年來,對(duì)儲(chǔ)糧產(chǎn)生威脅的害蟲種類和密度均呈上升趨勢(shì),導(dǎo)致國家的儲(chǔ)糧損失日益嚴(yán)重。為了降低儲(chǔ)糧損失,有效防治害蟲,就必須要盡可能準(zhǔn)的分析它們的種類、數(shù)量、發(fā)展趨勢(shì)及其潛在危害。利用計(jì)算機(jī)實(shí)時(shí)采集儲(chǔ)糧害蟲的相關(guān)圖像、數(shù)字化處理、分析識(shí)別,自動(dòng)提取儲(chǔ)糧害蟲的種類、數(shù)量等相關(guān)信息,并由計(jì)算機(jī)系統(tǒng)輸出數(shù)據(jù)、發(fā)出指令,這就構(gòu)成了當(dāng)今的科學(xué)保糧專家系統(tǒng)。基于機(jī)器視覺實(shí)時(shí)監(jiān)測(cè)蟲害信息并智能化處理是蟲情檢測(cè)的發(fā)展趨勢(shì),蟲害圖像處理算法則是關(guān)鍵核心問題,其中,圖像的邊緣檢測(cè)技術(shù)起到了非常關(guān)鍵的作用。
2)圖像邊緣檢測(cè)技術(shù)在電廠中的應(yīng)用
在電廠中,其安全和經(jīng)濟(jì)運(yùn)行主要取決于其鍋爐燃燒的穩(wěn)定性。20世紀(jì)80年代,出現(xiàn)了一種將計(jì)算機(jī)技術(shù)、數(shù)字圖像處理技術(shù)以及燃燒學(xué)等技術(shù)相結(jié)合應(yīng)用的跨學(xué)科技術(shù)——鍋爐圖像火檢技術(shù)。其原理是利用計(jì)算機(jī)分析火焰圖像,從而得到關(guān)于爐內(nèi)運(yùn)行情況的大量原始信息。利用計(jì)算機(jī)對(duì)火焰圖像進(jìn)行數(shù)字處理,提取火焰亮度均值、火焰燃燒中心以及火焰鋒面位置等參數(shù),從而分析描述爐內(nèi)燃燒的整體水平、火焰中心位置以及火焰充滿程度等信息。該技術(shù)的核心之一就是圖像邊緣檢測(cè)技術(shù)。
目前,邊緣檢測(cè)技術(shù)已滲透到各個(gè)領(lǐng)域,例如醫(yī)學(xué)細(xì)胞檢測(cè)領(lǐng)域、產(chǎn)品外觀檢測(cè)領(lǐng)域、模式識(shí)別領(lǐng)域等。
1.2.2 FPGA技術(shù)在國內(nèi)外的發(fā)展現(xiàn)狀及應(yīng)用
FPGA即現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array),是當(dāng)前用于IC設(shè)計(jì)的主流形式之一,具有近乎完美的現(xiàn)場(chǎng)編程架構(gòu),極具發(fā)展?jié)摿?。FPGA所能實(shí)現(xiàn)的數(shù)據(jù)流的高速傳輸性能是目前沒有任何技術(shù)能夠與之抗衡的,在這個(gè)處處都追求速度的社會(huì),F(xiàn)PGA幾乎無處不在。隨著信息產(chǎn)業(yè)和微電子技術(shù)的發(fā)展,可編程邏輯嵌入式系統(tǒng)設(shè)計(jì)技術(shù)已經(jīng)成為信息產(chǎn)業(yè)最熱門的技術(shù)之一,應(yīng)用范圍遍及航空航天、醫(yī)療、通訊、網(wǎng)絡(luò)通訊、安防、 廣播、汽車電子、工業(yè)、消費(fèi)類市場(chǎng)、測(cè)量測(cè)試等多個(gè)熱門領(lǐng)域。2008年北京奧運(yùn)會(huì)的主舞臺(tái)中——畫卷就用到了4000個(gè)FPGA芯片,這是FPGA在圖像領(lǐng)域中的應(yīng)用;FPGA在人臉、車牌等物體檢測(cè)中得到了廣泛應(yīng)用,航空航天領(lǐng)域中導(dǎo)彈軌跡的實(shí)時(shí)監(jiān)測(cè)也少不了它;奧迪選擇了兩個(gè)FPGA芯片用于它的導(dǎo)航定位系統(tǒng),這是FPGA在汽車電子領(lǐng)域中的應(yīng)用。
FPGA最主要的優(yōu)勢(shì)有四點(diǎn):①FPGA用硬件描述語言(VHDL或Verilog)進(jìn)行描述,并發(fā)執(zhí)行,除此之外,F(xiàn)PGA內(nèi)部集成鎖相環(huán),可以把外部時(shí)鐘倍頻,核心頻率可高達(dá)幾百兆,在高速領(lǐng)域,F(xiàn)PGA無法被取代;②FPGA可現(xiàn)場(chǎng)編程,具有近乎完美的現(xiàn)場(chǎng)編程架構(gòu),可根據(jù)用戶需求實(shí)現(xiàn)定制;③基于FPGA可以實(shí)現(xiàn)SOC的設(shè)計(jì)(內(nèi)部集成ARM);④FPGA可以內(nèi)嵌CPU,甚至可以嵌入多核。
隨著科技的發(fā)展,人們對(duì)數(shù)字圖像處理技術(shù)的要求也越來越苛刻,F(xiàn)PGA具有高速運(yùn)算、微型體積、較低功耗等諸多優(yōu)點(diǎn),這使得FPGA技術(shù)在數(shù)字圖像處理領(lǐng)域中必將起著不可替代的作用。
1.3 課題研究的主要內(nèi)容及方案
1.3.1 題研究的主要內(nèi)容
21世紀(jì)是一個(gè)高速的信息時(shí)代,在眾多信息中,圖像類信息是其中的一大類,對(duì)圖像信息實(shí)時(shí)、高速、準(zhǔn)確的處理一直都是學(xué)者們研究的一大熱點(diǎn)。圖像處理一般指數(shù)字圖像處理:就其技術(shù)本身而言,包括圖像增強(qiáng)、圖像復(fù)原、圖像匹配、模式識(shí)別等,無論是那一種技術(shù),都脫離不開同一個(gè)話題——圖像邊緣檢測(cè),換言之,圖像處理技術(shù)的好壞很大程度上就取決于是否能夠?qū)D像邊緣的信息處理妥當(dāng);就其處理形式而言,包括靜態(tài)處理和實(shí)時(shí)處理,所謂圖像的靜態(tài)處理,就是對(duì)靜態(tài)圖像的處理,而實(shí)時(shí)的圖像處理,就是對(duì)持續(xù)更新的圖像信息進(jìn)行處理。
本課題研究的主要內(nèi)容就是基于VGA實(shí)時(shí)顯示由攝像頭所捕獲圖像的邊緣信息,整個(gè)系統(tǒng)設(shè)計(jì)基于FPGA實(shí)現(xiàn):首先是基于FPGA實(shí)現(xiàn)圖像數(shù)據(jù)的實(shí)時(shí)采集;接著對(duì)捕獲到的信息進(jìn)行邊緣檢測(cè),這里分為三步完成(先是將捕獲到的彩色圖像轉(zhuǎn)換成為亮度文件,接著采用中值濾波對(duì)圖像進(jìn)行有效去噪,然后采用sobel算子對(duì)圖像進(jìn)行邊緣檢測(cè));最后基于FPGA驅(qū)動(dòng)VGA接口實(shí)時(shí)顯示檢測(cè)得到的圖像邊緣信息。
1.3.2 系統(tǒng)的設(shè)計(jì)流程
本課題基于FPGA實(shí)現(xiàn),主要涉及到以下內(nèi)容:1、攝像頭接口的驅(qū)動(dòng);2、圖像數(shù)據(jù)的實(shí)時(shí)捕獲;3、彩色圖像到灰度圖像的轉(zhuǎn)換;4、中值濾波;5、邊緣檢測(cè);6、圖像數(shù)據(jù)實(shí)時(shí)存儲(chǔ);7、圖像信息實(shí)時(shí)顯示。具體設(shè)計(jì)流程如圖1-1所示。
圖1-1 系統(tǒng)設(shè)計(jì)流程
二、基于FPGA實(shí)現(xiàn)圖像的實(shí)時(shí)采集
2.1 圖像信息的實(shí)時(shí)采集
2.1.1 攝像頭型號(hào)及其參數(shù)
人對(duì)視覺的感知往往以圖像的形式再現(xiàn),圖像可以由光學(xué)設(shè)備獲取,也可以由人為創(chuàng)作。隨著數(shù)字采集技術(shù)和處理技術(shù)的發(fā)展,越來越多的圖像以數(shù)字形式存儲(chǔ),即數(shù)字圖像。數(shù)字圖像以二維數(shù)字組的形式表示,用數(shù)值表示各像素灰度值的集合,用來表示圖像的數(shù)據(jù)體稱為圖像數(shù)據(jù)。數(shù)字圖像處理的過程就是利用計(jì)算機(jī)對(duì)獲取的圖像數(shù)據(jù)進(jìn)行去噪、增強(qiáng)、特征提取的過程。本課題的主要任務(wù)就是實(shí)現(xiàn)圖像的實(shí)時(shí)采集、實(shí)時(shí)處理并實(shí)時(shí)顯示,因此我們的首要任務(wù)就是實(shí)現(xiàn)圖像的實(shí)時(shí)采集,這里我選用攝像頭作為我獲取圖像的設(shè)備,基于FPGA按照相應(yīng)的時(shí)序驅(qū)動(dòng)攝像頭接口。
本系統(tǒng)選用由豪威公司生產(chǎn)的Ov7725 CMOS Sensor攝像頭進(jìn)行設(shè)計(jì)和調(diào)試。Ov7725 屬于VGA分辨率的CMOS Sensor,其分辨率最高達(dá)640*480,成像質(zhì)量優(yōu)越,功耗小,開發(fā)簡單,受到很多中低端產(chǎn)品的青睞。Ov7725是一款集成1/4英寸單芯片VGA相機(jī)及圖像處理器的高性能傳感器。由于該型號(hào)攝像頭的質(zhì)量和性能可靠,因此在PC相機(jī)、玩具、手機(jī)等眾多移動(dòng)產(chǎn)品中均有諸多應(yīng)用。
1)Ov7725?CMOS Sensor攝像頭的參數(shù)及特點(diǎn)
(1)圖像飽和度、銳度、噪聲抑制等可調(diào)節(jié);
(2)自動(dòng)調(diào)節(jié)邊緣的增強(qiáng)與衰弱,自動(dòng)調(diào)節(jié)噪聲的抑制;
(3)具有標(biāo)準(zhǔn)的SCCB(相機(jī)控制總線)接口,可以配置輸出 RAW RGB、RGB422、RGB565、RGB444、YUV422等格式的視頻流;
(4)支持VGA、QVGA以及40*30到CIF(352*288)分辨率的圖像尺寸;
(5)能通過配置實(shí)現(xiàn)幀同步模式;
(6)高靈敏度,適合低照度使用;
(7)自動(dòng)曝光(AEC)、自動(dòng)白平衡(AWB)、自動(dòng)帶通濾波(ABF)、自動(dòng)黑白電平校準(zhǔn)(ABLC);
(8)擁有640*480的感光陣列,最高支持640*480@60hz圖像輸出。
2)Ov7725 CMOS Sensor攝像頭的內(nèi)部功能模塊框架與說明
圖2-1?Ov7725 CMOS Sensor 內(nèi)部模塊框架
如圖2-1所示為Ov7725 CMOS Sensor攝像頭的內(nèi)部模塊框架,從框架中可以看出,我們可以通過SCCB接口來配置Ov7725的寄存器。其工作原理如下:在XCLK的驅(qū)動(dòng)下,首先由感光元件陣列進(jìn)行相關(guān)圖像的采樣,并默認(rèn)輸出640*480陣列的原始模擬數(shù)據(jù);然后通過12bit的A/D轉(zhuǎn)換,將原始模擬數(shù)據(jù)轉(zhuǎn)換成為數(shù)字信號(hào)(原始數(shù)字信號(hào)格式為 RAW RGB);最后通過DSP進(jìn)行相關(guān)的算法處理,并最終輸出10bit 視頻流數(shù)據(jù)。
3)Ov7725傳感器的控制信號(hào)接口及其功能描述
表2-1 Ov7725傳感器控制信號(hào)的功能描述
4)Ov7725傳感器的寄存器說明
Ov7725 CMOS Sensor一共有172個(gè)配置寄存器,在這172個(gè)寄存器中,有的只能讀,有的只能寫,有的則既可讀又可寫。在傳感器正式工作之前,必須首先對(duì)寄存器進(jìn)行正確的配置,否則將無法得到預(yù)期的工作模式,更別說得到較好的畫質(zhì)和相應(yīng)的圖像效果。然而這172個(gè)寄存器并非都需要我們配置,需要我們配置的只是個(gè)別重要的寄存器。其配置的方式就是通過SCCB總線進(jìn)行相關(guān)操作,其余寄存器則采用默認(rèn)值。表2-2中所介紹的寄存器主要與視頻圖像輸出格式、采樣畫質(zhì)、曝光參數(shù)等有關(guān)。
表2-2 Ov7725傳感器的寄存器介紹
2.1.2?SCCB總線特點(diǎn)及其工作原理
1)SCCB總線特點(diǎn)
SCCB(Serial Camera Control Bus)接口,即串行相機(jī)控制總線。Ov7725的SCCB總線實(shí)際上就是我們常用的IIC通信總線,用于完成對(duì)絕大多數(shù)OmniVision 系列圖像傳芯片功能的控制。Ov7725的SCCB接口有兩根信號(hào)線:一根是時(shí)鐘線SCL;一根是數(shù)據(jù)線SDA。通過這兩根線我們就能夠完成Ov7725寄存器的配置,從而驅(qū)動(dòng)Ov7725使其實(shí)時(shí)采集到我們所需要的圖像信息。
SCCB總線的控制方式簡單,通信速率較高,具有以下特點(diǎn):
(1)SCCB總線只需要兩根線,一根數(shù)據(jù)線SDA,一根時(shí)鐘線SCL;
(2)SCCB總線不需要片選信號(hào)就可以實(shí)現(xiàn)多個(gè)設(shè)備的鏈接,可以通過從機(jī)的唯一地址識(shí)別碼來訪問,最終實(shí)現(xiàn)器件信息的配置;
(3)SCCB總線上的所有器件都具有“自動(dòng)應(yīng)答”功能,從而保證了數(shù)據(jù)交換的正確性。同時(shí)SCCB總線還具有“時(shí)鐘同步”功能,其時(shí)鐘頻率最大約為400KHz。
2)?SCCB總線的接口時(shí)序
SCCB總線是由數(shù)據(jù)線SDA和時(shí)鐘線SCL構(gòu)成的串行總線,可以實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收,SCCB總線的體系結(jié)構(gòu)如圖2-2所示。
圖2-2?SCCB總線的體系結(jié)構(gòu)
SCCB總線通過串行方式發(fā)送8位數(shù)據(jù),基本時(shí)序如下:首先發(fā)送數(shù)據(jù)的最高位,最后發(fā)送數(shù)據(jù)的最低位;每發(fā)送完一組8bit的數(shù)據(jù),都需要通過接收從機(jī)發(fā)送的一個(gè)響應(yīng)信號(hào)來判斷本次發(fā)送數(shù)據(jù)是否正確。官方手冊(cè)所提供的使用SCCB總線發(fā)送8位串行數(shù)據(jù)的時(shí)序如圖2-3所示,其中信號(hào)SCCB_E不需要我們關(guān)心。
圖2-3?SCCB總線8bit數(shù)據(jù)串行發(fā)送的時(shí)序圖
在我們按照SCCB協(xié)議發(fā)送或接收數(shù)據(jù)時(shí),需要特別注意以下幾點(diǎn):
(1)開始信號(hào)和結(jié)束信號(hào)
當(dāng)時(shí)鐘信號(hào)SCL為高電平時(shí),數(shù)據(jù)線SDA由高電平跳變到低電平的時(shí)刻即為開始信號(hào),自此時(shí)起數(shù)據(jù)開始傳輸;當(dāng)時(shí)鐘信號(hào)SCL為高電平時(shí),數(shù)據(jù)線SDA由低電平跳變到高電平的時(shí)刻即為結(jié)束信號(hào),數(shù)據(jù)傳輸在此時(shí)結(jié)束。SCCB總線的開始信號(hào)和結(jié)束信號(hào)的體系結(jié)構(gòu)示意圖如圖2-4所示。
圖2-4 SCCB總線開始和結(jié)束體系結(jié)構(gòu)
(2)應(yīng)答信號(hào)ACK
每8位數(shù)據(jù)發(fā)送完畢之后,外圍設(shè)備向發(fā)送數(shù)據(jù)的控制器(FPGA芯片)發(fā)出低電平應(yīng)答信號(hào)表示已經(jīng)接收到數(shù)據(jù),這個(gè)信號(hào)叫做應(yīng)答信號(hào)??刂破鳎‵PGA芯片)接收到應(yīng)答信號(hào)之后,會(huì)據(jù)此判斷并作出是否繼續(xù)傳遞信號(hào)的決定。如果控制器(FPGA芯片)沒有接收到應(yīng)答信號(hào),控制器就會(huì)認(rèn)為是受控制的外圍設(shè)備出現(xiàn)故障,因此需要重新進(jìn)行配置,直到成功接收到外圍設(shè)備所發(fā)出的正確的應(yīng)答信號(hào)。SCCB總線應(yīng)答信號(hào)ACK如圖2-5所示。
圖2-5 SCCB總線數(shù)據(jù)傳輸圖
(3)數(shù)據(jù)傳輸
SCCB總線在進(jìn)行數(shù)據(jù)傳輸時(shí),時(shí)鐘信號(hào)SCL為高電平,同時(shí)數(shù)據(jù)線SDA上的數(shù)據(jù)必須保持穩(wěn)定,只有這樣才能夠保證所傳輸數(shù)據(jù)的穩(wěn)定性和可靠性。因此只有當(dāng)時(shí)鐘信號(hào)為低電平時(shí),數(shù)據(jù)線上的高電平信號(hào)或者低電平信號(hào)才允許變化。SCCB總線數(shù)據(jù)傳輸圖如圖2-6所示。
圖2-6 SCCB總線數(shù)據(jù)傳輸圖
3)使用?SCCB總線配置Ov7725的寄存器
基于上述的分析,我們對(duì)SCCB總線時(shí)序已經(jīng)有了一定的了解,接下來就可以按照指定的流程來配置Ov7725的寄存器:通過發(fā)送器件地址、寄存器地址、寄存器參數(shù)數(shù)據(jù)等參數(shù)的配置,最終完成寄存器的讀操作和寫操作。
(1)SCCB總線寄存器的寫入時(shí)序
SCCB總線在給寄存器寫數(shù)據(jù)的時(shí)候,需要按照一個(gè)嚴(yán)格的時(shí)序來執(zhí)行:先寫設(shè)備地址,再寫寄存器地址,最后寫入寄存器的參數(shù),即可完成一個(gè)寄存器的配置,如圖2-7所示。
圖2-7 SCCB總線數(shù)據(jù)傳輸圖
Phase 1:CMOS傳感器的唯一ID地址。豪威(OmniVision)相機(jī)的設(shè)備地址是0x42,最后1bit是用來判斷讀/寫的:寫數(shù)據(jù)時(shí)ID地址是0x42,而讀數(shù)據(jù)時(shí)ID地址是0x43;
Phase 2:傳感器里面有許多的寄存器,這些寄存器都有著自己唯一的地址,這里我們只關(guān)心Sub-address;
Phase 3:在Phase中發(fā)送完寄存器的地址之后,該階段發(fā)送的數(shù)據(jù)就是寄存器的配置數(shù)據(jù)。
由官網(wǎng)手冊(cè)可以知道這里面的X代表低電平,也就是邏輯“0”。
(2)SCCB總線寄存器的讀數(shù)據(jù)時(shí)序
SCCB總線從寄存器往外讀數(shù)據(jù)的時(shí)候,也需要遵循一個(gè)嚴(yán)格的順序:先寫設(shè)備地址,再寫寄存器地址,然后再寫入一次設(shè)備地址,最后讀出數(shù)據(jù)。讀數(shù)據(jù)的時(shí)序如圖2-8所示。
圖2-8 SCCB讀數(shù)據(jù)時(shí)序
Phase 1:CMOS傳感器的唯一ID地址。豪威(OmniVision)相機(jī)的設(shè)備地址是0x42,最后1bit是用來判斷讀/寫的,即寫數(shù)據(jù)時(shí)ID地址是0x42;
Phase 2:傳感器里面有許多的寄存器,這些寄存器都有著自己唯一的地址,這里我們只關(guān)心Sub-address;
Phase 3:CMOS 傳感器的唯一ID地址。豪威(OmniVision)相機(jī)的設(shè)備地址是0x42,最后1bit是用來判斷讀/寫的,即讀數(shù)據(jù)時(shí)ID地址是0x43;
Phase 4:讀取傳感器發(fā)送的指定的寄存器的值。
由官網(wǎng)手冊(cè)可以知道這里面的X代表低電平,也就是邏輯“0”,NA表示高電平,也就是邏輯“1”。
2.1.3?基于FPGA驅(qū)動(dòng)攝像頭接口
理解了SCCB總線的時(shí)序,我們就可以按照相應(yīng)的時(shí)序編寫控制代碼,如圖2-9所示為工程RTL級(jí)視圖中的sccb_config_ctrl模塊,其功能是實(shí)現(xiàn)攝像頭接口的驅(qū)動(dòng),該模塊代碼及說明見附錄。
圖2-9 工程RTL級(jí)視圖中的sccb_config_ctrl模塊
2.2 圖像信息的實(shí)時(shí)捕獲等相關(guān)內(nèi)容
通過攝像頭的采集,我們得到了視頻數(shù)據(jù)流,但是我們所要處理的是單幀的圖像數(shù)據(jù),因此需要實(shí)時(shí)捕獲數(shù)據(jù)流中的圖像數(shù)據(jù),為后續(xù)的圖像處理做準(zhǔn)備。如圖2-10所示為工程RTL級(jí)視圖中的coms_capture_rgb565模塊,其功能是實(shí)現(xiàn)圖像信息的實(shí)時(shí)捕獲,該模塊代碼及說明見附錄。
圖2-10 工程RTL級(jí)視圖中的coms_capture_rgb565模塊
本篇到此結(jié)束,下一篇帶來基于FPGA的實(shí)時(shí)圖像邊緣檢測(cè)系統(tǒng)設(shè)計(jì)(中),介紹FPGA實(shí)現(xiàn)圖像的邊緣檢測(cè)模塊及FPGA驅(qū)動(dòng)VGA接口實(shí)現(xiàn)圖像邊緣信息的實(shí)時(shí)顯示模塊相關(guān)內(nèi)容。
這里也超鏈接了中篇和下篇,方便各位大俠參考學(xué)習(xí)。