GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch15攝像頭實(shí)驗(yàn)_第1頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch15攝像頭實(shí)驗(yàn)_第2頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch15攝像頭實(shí)驗(yàn)_第3頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch15攝像頭實(shí)驗(yàn)_第4頁(yè)
GD32F3開(kāi)發(fā)進(jìn)階教程 課件 ch15攝像頭實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

攝像頭實(shí)驗(yàn)“第十五章《GD32F3開(kāi)發(fā)進(jìn)階教程——基于GD32F303ZET6》01實(shí)驗(yàn)內(nèi)容本章的主要內(nèi)容是了解攝像頭模塊的工作原理,以及配置用于攝像頭模塊參數(shù)的SCCB協(xié)議,學(xué)習(xí)OV7725圖像傳感器的內(nèi)部架構(gòu)、功能原理和圖像參數(shù)配置方法,掌握OV7725攝像頭模塊進(jìn)行圖像存儲(chǔ)和讀取的方法。最后基于GD32F3蘋(píng)果派開(kāi)發(fā)板設(shè)計(jì)一個(gè)攝像頭實(shí)驗(yàn),通過(guò)LCD顯示攝像頭的拍攝畫(huà)面,并可以通過(guò)LCD上的GUI按鍵調(diào)整拍攝畫(huà)面的色度亮度等參數(shù)。實(shí)驗(yàn)內(nèi)容02實(shí)驗(yàn)原理攝像頭按照輸出信號(hào)的類(lèi)型不同,可以分為數(shù)字和模擬攝像頭;按照傳感器的材料構(gòu)成,又可以分為CCD和CMOS兩種。CCD的像素是由MOS電容組成的,讀取電荷信號(hào)需要的電壓較大。因此,CCD的取像系統(tǒng)除了所需電源大,外設(shè)消耗的功率也大。而CMOS取像系統(tǒng)只需要使用一個(gè)3V或5V的單電源,耗電量小,僅為CCD的1/8至1/10。OV7725簡(jiǎn)介VGA是VideoGraphicsArray的縮寫(xiě)是IBM在1987年推出的一種視頻傳輸標(biāo)準(zhǔn),具有分辨率高、顯示速度快和顏色豐富等優(yōu)點(diǎn),因而在彩色顯示器領(lǐng)域得到了廣泛應(yīng)用。從分辨率角度來(lái)看,VGA常用于表示640x480的分辨率,一般用于便攜式攝影設(shè)備。OV7725是OmniVision公司生產(chǎn)的1/4寸的CMOSVGA圖像傳感器。該傳感器體積小工作電壓低(3.3V),支持使用VGA時(shí)序輸出圖像數(shù)據(jù)。通過(guò)SCCB總線控制,可以采用整幀、子采樣和取窗口的方式,輸出各種分辨率下8bit或10bit的影像數(shù)據(jù)。該產(chǎn)品的VGA圖像輸出最高可達(dá)60頓/秒。通過(guò)SCCB總線可以控制OV7725內(nèi)部存器從而實(shí)現(xiàn)控制圖像顯示參數(shù),包括伽馬曲線白平衡、亮度、色度等。OV7725簡(jiǎn)介攝像頭接口電路原理圖GD32F3蘋(píng)果派開(kāi)發(fā)板上預(yù)留了攝像頭模塊接口,接口電路原理圖如圖15-1所示。OV7725模塊的結(jié)構(gòu)框圖,包括通信、控制信號(hào)及時(shí)鐘模塊、控制模塊A/D轉(zhuǎn)換模塊、感光陣列(ImageArray)、數(shù)字信號(hào)處理(DSP)、縮放(ImageScaler)和SCCB接口(SCCBInterface)等功能模塊。攝像頭功能模塊攝像頭功能模塊010203控制模塊:OV7725控制模塊根據(jù)寄存器配置的參數(shù)來(lái)運(yùn)行,而參數(shù)則是由外部控制器通過(guò)SCL和SDA引腳寫(xiě)入到SCCB總線上的。通信、控制信號(hào)及時(shí)鐘模塊:XCLK用于驅(qū)動(dòng)整個(gè)傳感器芯片的時(shí)鐘信號(hào),是外部輸入到OV7725的信號(hào);而PCLK是OV7725輸出數(shù)據(jù)時(shí)的同步信號(hào),是由OV7725輸出的信號(hào)。XCLK可以外接晶振或由外部控制器提供,而PCLK由OV7725輸出。數(shù)據(jù)輸出模塊:數(shù)據(jù)輸出模塊包含了數(shù)字信號(hào)處理(DSP)、FIFO(先入先出隊(duì)列和圖像格式轉(zhuǎn)換單元壓縮單元。攝像頭功能模塊攝像頭模塊的所有配置,都是通過(guò)SCCB總線來(lái)實(shí)現(xiàn)的。1.SCCB簡(jiǎn)介外部控制器通過(guò)SCCB總線傳輸來(lái)對(duì)OV7725寄存器配置參數(shù)。2.SCCB時(shí)序分析OV7725攝像頭模塊的功能和相關(guān)參數(shù)可通過(guò)寄存器配置。3.OV7725相關(guān)寄存器配置SCCB協(xié)議SCCB協(xié)議SCCB協(xié)議01020304對(duì)于廠商來(lái)說(shuō),每一款傳感器有唯一的ID地址。ID設(shè)置寄存器HSTART為行起始控制,HSIZE為行像素大小,分別用于設(shè)置畫(huà)面的水平起始位置和水平尺寸。對(duì)場(chǎng)和行的設(shè)置在COM8寄存器中,AWB為自動(dòng)白平衡跟蹤,AGC為自動(dòng)增益控制AEC為自動(dòng)曝光控制。白平衡設(shè)置上電之后,0V7725內(nèi)部所有寄存器會(huì)先進(jìn)行復(fù)位。軟復(fù)位寄存器SCCB協(xié)議01020304通過(guò)設(shè)置USAT和VSAT寄存器可以調(diào)節(jié)0V7725的色度(UV)。色度設(shè)置CNST寄存器用于設(shè)置對(duì)比度,設(shè)置值為Gain值乘以0x20。對(duì)比度設(shè)置通過(guò)UFx和VFix兩個(gè)寄存器設(shè)置UV值其中0x80為默認(rèn)值,當(dāng)UFix寄存器設(shè)置值高于0x80時(shí),顏色偏藍(lán)。特效設(shè)置SIGN的亮度標(biāo)志位為1時(shí),BRIGHT的值越高,表示亮度越高。亮度設(shè)置1.FIFO簡(jiǎn)介FIFO是系統(tǒng)的緩沖區(qū)間,對(duì)整個(gè)系統(tǒng)來(lái)說(shuō)非常重要。它主要有以下幾種功能:(1)對(duì)連續(xù)的數(shù)據(jù)流進(jìn)行緩存,防止在進(jìn)機(jī)和存儲(chǔ)操作時(shí)丟失數(shù)據(jù)。(2)數(shù)據(jù)集中起來(lái)進(jìn)行進(jìn)棧和存儲(chǔ),可避免頻繁的總線操作,減輕CPU的負(fù)擔(dān)。(3)允許系統(tǒng)進(jìn)行DMA操作,提高數(shù)據(jù)的傳輸速度。圖像的存儲(chǔ)和讀取圖像的存儲(chǔ)和讀取本章實(shí)驗(yàn)使用的FIFO芯片型號(hào)為AL422B,其電路原理圖如圖15-4所示。圖像的存儲(chǔ)和讀取(1)FIFO寫(xiě)時(shí)序圖像的存儲(chǔ)和讀取(2)FIFO讀時(shí)序圖像的存儲(chǔ)和讀取(3)RGB565輸出時(shí)序圖像的存儲(chǔ)和讀取(4)0V7725頓時(shí)序3.圖像的存儲(chǔ)和讀取攝像頭模塊將一幀圖像數(shù)據(jù)存儲(chǔ)在FIFO中(AL422B的過(guò)程為:等待OV7725同步信號(hào)→FIFO寫(xiě)指針復(fù)位→FIFO寫(xiě)使能→等待第二個(gè)0V7725同步信號(hào)→FIFO寫(xiě)禁止。圖像的存儲(chǔ)和讀取03實(shí)驗(yàn)代碼解析0102OV7725.h文件:在OV7725.h文件的“宏定義”區(qū),定義了2個(gè)常量。OV7725.c文件:在OV7725.c文件的“宏定義”區(qū),定義了11個(gè)函數(shù)。OV7725文件對(duì)下面按照順序解釋說(shuō)明OV7725WindowSet函數(shù)中的語(yǔ)句。(1)第1行代碼:3個(gè)輸入?yún)?shù)width、height、mode,分別代表輸出圖像寬度、輸出圖像高度和OVGA/VGA輸出模式。(2)第6至31行代碼:通過(guò)mode的值,判斷使用VGA還是OVGA模式,再根據(jù)模式設(shè)置輸出窗口的尺寸和起始位置。(3)第33至52行代碼:根據(jù)輸入?yún)?shù)指定的圖像寬度、高度及計(jì)算所得的畫(huà)面起始位置設(shè)置圖像輸出窗口。OV7725文件對(duì)下面按照順序解釋說(shuō)明EXTI10_15_IROHandler函數(shù)中的語(yǔ)句。(1)第4行代碼:判斷是否為EXTI1線的中斷。(2)第6至18行代碼:如果FIFO為空,則將FIFO寫(xiě)指針復(fù)位,然后使能寫(xiě)FIFO并標(biāo)記FIFO裝載完成。如果FIFO裝載完成,禁止寫(xiě)FIFO并標(biāo)記數(shù)據(jù)圖像已準(zhǔn)備好。(3)第21行代碼:清除中斷標(biāo)志。OV7725文件對(duì)在EXTI10_15_IROHandler函數(shù)實(shí)現(xiàn)區(qū)后為DisplavOVImage函數(shù)的實(shí)現(xiàn)代碼。該函數(shù)用于將攝像頭圖像顯示到LCD屏,下面按照順序解釋說(shuō)明DisplayOVImage函數(shù)中的語(yǔ)句。該函數(shù)有4個(gè)參數(shù),其中x0y0為窗口起始坐標(biāo),width

height為窗口寬度和高度,必須大于0。OV7725文件對(duì)0102Camera.h文件:在Camera.h文件的“API函數(shù)聲明”區(qū),聲明了2個(gè)API函數(shù)。Camera.c文件:在Camerac文件的“宏定義”區(qū),定義了兩個(gè)常量。Camera文件對(duì)下面以色度調(diào)節(jié)為例進(jìn)行說(shuō)明。(1)第4行代碼:通過(guò)i語(yǔ)判斷是否進(jìn)行色度調(diào)節(jié)。(2)第6至13行代碼:如果色度變量大于-4,則將色度變量值減1,否則色度變量加4。(3)第14至16行代碼:將參數(shù)信息寫(xiě)入緩沖區(qū),顯示信息,最后調(diào)用OV7725的色度設(shè)置函數(shù)更新設(shè)置。Camera文件對(duì)下面按照順序解釋說(shuō)明InitCamera函數(shù)中的語(yǔ)句。(1)第4至23行代碼:初始化攝像頭參數(shù),然后開(kāi)始初始化攝像頭。如果攝像頭未初始化成功,則在LCD上輸出錯(cuò)誤提示信息。(2)第26至32行代碼:設(shè)置回調(diào)函數(shù),然后初始化GUI。Camera文件對(duì)1.SCCB.h文件在SCCB.h文件的“宏定義”區(qū),定義了一個(gè)常量,OV7725的D常量。在“API函數(shù)聲明”區(qū),聲明了3個(gè)函數(shù),分別為初始化SCC接口函數(shù)InitSCCB,寫(xiě)寄存器函數(shù)SCCBWriteReg,讀寄存器函數(shù)SCCBReadReg。SCCB文件對(duì)2.SCCB.c文件在SCCB.c文件的“宏定義”區(qū),定義了7個(gè)函數(shù)。在“內(nèi)部函數(shù)聲明”區(qū),聲明了5個(gè)內(nèi)部函數(shù)。在“內(nèi)部函數(shù)實(shí)現(xiàn)”區(qū),為上述5個(gè)內(nèi)部函數(shù)的實(shí)現(xiàn)代碼,首先實(shí)現(xiàn)了SCCBStat函數(shù)。下面按照順序解釋說(shuō)明SCCBWriteByte函數(shù)中的語(yǔ)句。SCCBReadByte函數(shù)代碼與SCCBWriteByte函數(shù)相似,這里不再贅述。(1)第6行代碼:通過(guò)個(gè)for循環(huán)將8位數(shù)據(jù)通過(guò)數(shù)據(jù)線SDA傳出,每次都傳出最高位,再將數(shù)據(jù)左移一位,直到循環(huán)結(jié)束。(2)第18至20行代碼:每次傳出一個(gè)數(shù)據(jù)之后都要將時(shí)鐘線先拉高再拉低。(3)第24至37行代碼:將時(shí)鐘線設(shè)置為輸入,接收第9位數(shù)據(jù),判斷是否發(fā)送成功。若第9位為1則發(fā)送失敗,為0則發(fā)送成功。SCCB文件對(duì)在“API函數(shù)實(shí)現(xiàn)”區(qū),首先實(shí)現(xiàn)了InitSCCB函數(shù)。下面按照順序解釋說(shuō)明InitSCCB函數(shù)中的語(yǔ)句。(1)第4至6行代碼:0V7725的時(shí)鐘線和數(shù)據(jù)線分別與微控制器的PB6和PB7引腳相連。因此,需要使能GPIOB時(shí)鐘,并初始化PB6和PB7引腳。(2)第9至10行代碼:空閑時(shí),將時(shí)鐘線SCL和數(shù)據(jù)線SDA拉高。SCCB文件對(duì)下面按照順序解釋說(shuō)明SCCBWriteReg函數(shù)中的語(yǔ)句,SCCBReadReg函數(shù)代碼與SCCBWriteReg函數(shù)相似,這里不再贅述。(1)第6行代碼:調(diào)用SCCBStart函數(shù)啟動(dòng)SCCB傳輸。(2)第8至27行代碼:先寫(xiě)器件ID,然后發(fā)送寄存器地址,再發(fā)送數(shù)據(jù)。(3)第30行

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論