摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置
上一篇博客主要介紹了OV7725的電氣特性以及SCCB接口的時序和輸出一幀圖像的時序圖以及數據的拼接。輸出一幀圖像與輸出時鐘PCLK有關。
上圖是OV7725實現的整體框架,有點丑。FPGA描述SCCB時序,完成OV7725的配置,配置完成之后,OV7725 sensor輸出PCLK和href,vsync以及cmos_data信號。經過格式的轉換單元,將格式轉換后的數據送給SDRAM單元,最終實現VGA/LCD/上位機顯示。
之前已經提及過,SCCB接口主要實現sensor內部各種寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就講解寄存器的配置。參考手冊如下圖所示,寄存器的配置還需要OV7725的手冊中關于寄存器設定章節一起配合使用。
在手冊的最后一個章節,給出了參考設置,不過輸出的格式是YCbCr格式,其他設置需要聯系FAE。
如下圖所示,寫入的寄存器前8位數據,如0x3d代表了寄存器的地址,后8位0x03代表了該寄存器設定的值。根據手冊最后內容可以在0V7725數據手冊(OV7725 datasheet)中找到相關寄存器的說明。
比如0x3d,在數據手冊(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下圖所示,其他寄存器以此類推,可以一一找到。注意在設置時設置寄存器地址或者寄存器的名稱均可以,比如0x3d,0x03,也可以設置com12,0x03.
在OV7725配置手冊中,講述了關于YCbCr和RGB24格式之間的轉換方法,如下圖所示,由于FPGA不擅長處理浮點數,所以需轉換成定點數處理。
在OV7725配置手冊中,詳細說明了對于OV7725格式輸出的說明,分為有ISP和無ISP情況,這個模塊可以在FPGA內部去建立格式輸出單元,此方面內容會在之后講解。
對于寄存器的設置,根據OV7725應用手冊中的參考設置,有幾個重要部分必須要進行設置,如下所示:
1. ID的設置
對于廠商來講,每一款傳感器有唯一的ID地址。
制造商唯一的ID地址。
2.復位所有的寄存器
上電之后,對OV內部所有的寄存器先復位。寄存器12不單有復位功能,還有控制OV視頻輸出格式,下面會提及到,參見第10項。
3.模擬處理中的DC偏置
4. 對行和場的設置
寄存器17位行起始控制,18為VGA模式下行像素大小。19為場起始控制,1A為VGA模式下場像素大小。
5.對場同步信號進行取反操作
為了和VGA時序保持一致,將VSYNC的時序進行取反,關于一幀的時序圖參考上一篇博客。
write_SCCB(Ox15,Ox02);此項設置,將pclk定義為上升沿有效,href定位為高電平有效,vsync進行取反向。
6.圖像的起始位置和大小控制
7.行和場輸出數據的大小控制
8.內部時鐘控制
寄存器0d是設置內部PLL的倍頻,選擇4倍頻,AEC自動曝光控制選擇二分之一窗。寄存器11是內部時鐘的設置,通過PLL4倍頻之后,計算得到的結果和XCLK的時鐘應該是相等的。
9.虛擬像素高位插入
配置手冊上面給出的是默認值,此功能實際上沒用到。
10.OV視頻格式輸出配置
寄存器12,功能復用 ,write_SCCB(Ox12,Ox06);輸出格式是RGB565格式。所以此寄存器非常重要,決定了OV輸出的格式。
11.RGB格式YUV格式的順序以及測試彩條的控制
write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的順序,還有控制OV內部自帶的測試彩條的使能。這里采用默認值,不使能彩條。
12. DSP控制參數
其中0x42寄存器控制的是背光補償藍控制量,如下圖所示,選擇手冊參考值。
其中0x4d是修補增益的控制,0x42對背光補償顏色B分量進行設定。
寄存器0x63是AWB自動白平衡控制字0的控制。選擇手冊中的默認值。0xf0;
寄存器0x64~67是DSP控制為1~4,0x64設定為配置寄存器中的默認值0xff;0x65選擇手冊默認值,配置手冊上給出的是0x20,選擇默認值0x00,不影響成像效果。0x66是UV的交替格式。選擇0x00。0x67是輸出格式的選擇,這里設置0x00/0x01,為YUV or RGB輸出。
13. AWB,AEC,AGC參數控制調節
0x13控制AEC,AWB,AGC是否使能,設置為0xff;0x0f控制當輸出格式轉換時,窗口自動適應。0x14設定0x11.0x22設定為 0x98,作為50Hz帶寬濾波。在OV7725寄存器配置手冊中0x13,0x22,0x23是關于交流頻率50Hz,幀頻為25,情況下的帶通濾波器的設置。
14.邊緣強化處理
均選擇配置指定值。
15.色彩還原矩陣設置
16.亮度,對比度,UV和SDE控制
選擇默認值。
17. gama參數設置
其中寄存器0x7e~0x8c均是對gama曲線的設定,設定配置手冊默認值。
18. UV控制
write_sccb{0xa7, 0x65};
write_sccb{0xa8, 0x65};
write_sccb{0xa9, 0x80};
write_sccb {0xaa, 0x80};
19.夜間自動調整幀頻
若是設置成 Fixed Frame Rate,則
以上是對常用的寄存器的設置,大部分參考了手冊中的設定值,接下來就要實現 SCCB時序,實現對OV7725實現配置。
總結
以上是生活随笔為你收集整理的摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [蓝桥杯][2017年第八届真题]分考场
- 下一篇: 12寸喇叭直径多少厘米(12时辰与二十四