飛思卡爾與OV6620有關的說明

2022-09-27 12:09:03 字數 3370 閱讀 7338

飛思卡爾大賽有關ov6620的操作

介紹一下數字攝像頭ov6620的特徵

1)、ov6620需要穩定的5v電壓供電,和系統板上的供電電源相容。

2)、nal制,每秒25幀,一幀兩場,那麼每秒就有50場。意味著20ms就有一幅影象產生。356x 292 pixels,理解為:有292行,一行有356個點。

3)、視野和可視距離:這個和鏡頭的選擇有關,f=3.6mm時視野應該有25度左右,f越大視場越小.

可視距離需要調節鏡頭對焦.經我測試可視距離可以看十幾公尺,畢竟相素值只有10萬多,用微控制器讀可以看到3-4m的距離.這裡解釋一下為什麼用微控制器讀會打折扣.

因為黑線寬度只有2.5cm,太遠了黑線會很細,採點之後就分辯不出是雜訊還是有用訊號了.在1公尺左右時,黑線寬度可用8個點表示.

注:以上資料均是24mbusclk下每行可取150個點時測得,沒有翻轉攝像頭.

4)、內部有iic可程式設計.可以調整攝像頭的引數,比如最大灰度,對比度,暴光率控制等等.其本質是sccb協議的暫存器寫入,需要對攝像頭做跳線處理,並用mcu的i/o口模擬sccb協議.

注:sccb協議視作iic協議,有些細微的差別.對iic的寫入,本文後面稍加說明.

5)、資料格式-ycrcb 4:2:2, grb 4:

2:2, rgb; 電子**/ 增益/白平衡控制;內部自**像增強,亮度, 對比度, 伽馬, 飽和度, 銳度, 加窗等.最重要的是,不需ad,不需1881。

當然玩一下他的模擬輸出一可以,vto管腳就可以當普通模擬攝像頭用.

ov6620的影象採集

數字攝像頭相對來說貴一些,他內部的訊號處理比較複雜,介面也較多,一般是彩色的yuv訊號,只取y的亮度訊號,所以用起來略有浪費.

先看ov6620datasheet上的時序圖:

如果這個圖還不明白的話看下面的這個圖:

如果這個圖還不明白的話看下面的說明:

1、在採集時乎略tclk,首先是因為它太快了,捕捉不到,另外也沒有必要捕捉到它。採集影象時盡快地乙個點乙個點的取就行了,和模擬攝像頭一樣。

2、vynsc是判斷是否一幅影象開始,週期是20ms, 其中高電平持續時間很短,忽略; href是判斷是否一行影象的開始,週期是63us左右,其中高電平持續時間為40us,低電平持續時間23us,那麼可以算一下一場有多少行:20ms/63us=317,當然實際上沒有這麼多,消隱和無效訊號去掉之後只有292行。

3、必須明確:場中斷要通過下降沿捕捉,行中斷要通過上公升沿捕捉。若用irq捕捉行中斷必須加反相器。

4、有效的灰度資料是在行中斷之後的上公升沿內,所以不要在行中斷後的23us後採集,那是廢資料。計算一下一行ov6620有多少個點:

40us/110ns=363, 消隱和無效訊號去掉之後只有356個點。

圖上若有表述不清楚可通過示波器觀察。

下面是康橋人對採集的一些說明,可以加深理解。

行訊號與場訊號的時間比較長,s12的微控制器足以捕捉到,但是對於多數的ov6620的畫素同步時間而言是110ns左右,s12微控制器的最高匯流排時鐘是25m,即使能夠捕捉到110ns的訊號,而這其間還有採集這一步,很難做到既採集也判斷是否有畫素同步。

然而,我們是否真正的必須捕捉tclk的訊號,讀回來的訊號才是正確的呢?顯然是否定的,對於s12微控制器,即使不用tclk讀回來影象也是正確的。為什麼呢?

原因是s12微控制器的讀取速度是有限的,我曾經幫過實驗,即使當行訊號到來的時候,微控制器什麼也不做,就去讀取影象,程式用純彙編寫,而且不用迴圈判斷語句,犧牲空間換取時間來採集,即使是這樣,讀到有效點數一行也只在280多左右,而ov6620的行畫素輸出是352點,這說明單機的讀取速度比cmos的影象輸出慢。

那麼,我如果一行要讀取50點,我如何去平分這50點呢?方法很簡單,就是延時,採集一點,延時一會,再採集,平均分為50點,如何去控制延時就得進行實驗了,最好借助於示波器。有人會問,採集的這50點之中,難道就沒有無效點嗎?

不排除這種可能性,但是就算是無效,它能差很多嗎?打個比方,採集到的這個點的前乙個畫素(相對於352點而言)值為70,後乙個畫素值為78,那麼即使採集此點的時候tclk不是高電平,採集到

的值也是在70~78之間,也許還會問,在黑線的邊沿處,如果發生這種情況如何呢?請大家記住,即使在黑線的邊沿,coms的影象輸出也不會少於5點,所以這個問題,也不用考慮了。

對於tclk的具體用處,顯然tclk肯定是有用的,如果一套採集系統的採集速度很快(如dsp,fpga),一行能採集到700點,或者更高,那麼對於ov6620,tclk就有作用了,畫素同步,因為你一行採集700點,這之中有一半的點是無效點,或者是重複的點。

tclk是畫素同步訊號,時間太短了,微控制器捕捉不到.(按極限計算,訊號的週期至少是微控制器最短指令週期的兩倍,而微控制器還有其它的原因,所以捕捉不到)。對於s12微控制器,如果真的想捕捉到tclk訊號,也是可以的,必需地tclk作一定的處理。

對tclk分頻,將tclk降為微秒級就可以,可以用分頻器來實現,找乙個高速的分頻器就行了,很容易,但是個人覺得沒有這個必要,所以就沒有用tclk了。

ov6620的後續問題

1、iic的寫入問題

如果對ov6620的預設工作模式不滿意,就可寫iic。對於iic的操作。可以直接連c3088模組上的sda和scl與微控制器上的這兩個口相連,外加兩個10k的上拉電阻。

sccb 的寫週期直接使用i2c匯流排協議的寫週期時序;而sccb 的讀週期,則增加乙個匯流排停止條件。ov6620 功能暫存器的位址為0x00~0x50 (其中,不少是保留暫存器) 。通過設定相應的暫存器,可以使ov6620 工作於不同的模式。

例如,設定ov6620 為低解析度、自動**、自動白平衡和設定幀時鐘週期,需要進行如下設定:

camera_set_register

(ov6620_addr ,0x14 ,0x20) ;

camera_set_register

(ov6620_addr ,0x13 ,0x21) ;

camera_set_register

(ov6620_addr ,0x12 ,0x20) ;

camera_set_register

(ov6620_addr ,0x11 ,0x02) ;

camera_set_register () 為自行編寫的設定暫存器函式,它的第1 個引數ov6620_addr 為巨集定義的晶元位址0xc0 ,第2 個引數為片內暫存器位址,第3 個引數為相應的暫存器設定值。

****個人覺得沒有必要,占用mcu的資源還要花時間寫sccb,影象處理演算法層面上做好處理一樣用,不必浪費這個時間和精力。

2、ov6620的除錯問題

1、最好做個上位機gui程式,可以直觀地顯示。上位機軟體用什麼都行,只要對串列埠熟就行。windows時代就是好啊,visual,很好很強大!

2、時序以及消隱區要通過示波器觀察。行同步中斷,場同步中斷,要看清楚上上公升沿還是下降沿。

3、傳輸資料到上位機:傳輸的資料是儲存好的,而不要一邊採影象一邊傳影象資料。

ov6620的管腳說明

飛思卡爾報告

第六屆 飛思卡爾 杯全國大學生 智慧型汽車競賽 技術報告 學院 隊伍名稱 參賽隊員 關於技術報告和研究 使用授權的說明 本人完全了解第一屆 飛思卡爾 杯全國大學生智慧型汽車邀請賽關保留 使用技術報告和研究 的規定,即 參賽作品著作權歸參賽者本人,比賽組委會和飛思卡爾半導體公司可以在相關主頁上收錄並公...

飛思卡爾個人申請

個人簡歷 各位喜愛飛思卡爾智慧型車並且已經取得喜人成績的學長學姐們 你們好!我是汽車學院09級車輛工程一班的王白俠,此時此刻,我非常的興奮,因為我終於可以報名參加飛思卡爾長安大學汽車學院的面試選拔了!首先,我先自我介紹。從小時候開始我便喜愛自己動手製作一切的小玩具,從手製小模型,到初高中更為高階的航...

飛思卡爾光電組總結

隊伍 the van 成員 譚陽生夏明勇劉虎田 光電組是通過採集賽道上少數孤立點反射亮度進行路經檢測的車模。根據 第七屆全國大學生 飛思卡爾 杯智慧型汽車競賽競速比賽規則與賽場紀律 參賽隊伍的名次 成績 由賽車現場成功完成賽道比賽時間來決定的,參加光電賽題組不允許使用影象感測器獲取道路影象資訊進行路...