在上例中,介紹了配置OV5640所需的SCCB時序,以及具體的實現。本例將介紹與初始化相關的重要寄存器,以及上電時序。
OV5640的寄存器非常多,從它的寄存器的地址為16bit就可以看出,在商家提供的一些例程中,可以看到配置寄存器的語句多達200行,無法一時間學習掌握所有的寄存器。所以只需要掌握一些重要即可,例如控制圖像輸出格式、控制圖像輸出大小、控制圖像輸出幀率的寄存器。下面就開始介紹吧
二. 重要寄存器講解
一般來說,只需要了解三大類寄存器即可 :時鐘PCLK輸出頻率寄存器 , 圖像輸出大小寄存器 , 圖像輸出格式寄存器
1
時鐘PCLK輸出頻率寄存器
PCLK時鐘主要由0x3035 - 0x3037三個寄存器控制(其余寄存器也有,可以不看),詳情如下,一般來說完整的配置參數會給你配置到48MHz / 84MHz,如果想要配置成其他的頻率,可以調整0x3036寄存器的值即可。具體是怎么對應的話,手冊上好像沒有給出。

2
圖像輸出大小寄存器
這部分比較關鍵,同時也比較容易,看下面這張圖片即可,physical pixel size為物理感光的尺寸,也就是攝像頭能夠感光的大小。ISP input size為圖像處理單元輸入的大小,由物理感光的尺寸經過一定的處理,輸入進ISP進行處理,data output size 為實際攝像頭輸出的像素大小,為經過ISP進行處理縮放之后的圖像數據。
在實際使用的過程中,只需要關心data output size的大小即可。即只需要配置0x3808-0x3809 和0x380a-0x380b四個寄存器即可。

另外,有四個寄存器也是需要關注的,0x380c-0x380f,這四個寄存器分別配置水平輸出的像素總個數,以及豎直輸出像素的總個數,這個配置要比data output size要大,和VGA的行列消影類似

3
為奧運健兒喝彩
這個配置只需要配置0x4300寄存器即可,類別比較多,可以自行查看手冊。
以上需要關注的寄存器,都是在其他寄存器配置好的前提下,然后進行修改。完整的寄存器配置可以去正點原子或者GitHub上copy,本例使用的是在GitHub上copy下來的。
三. 上電時序講解
這部分在手冊中給出,通過下圖,可以看出,還是比較容易的。初始化時序只需要看到t4結束,后面就不要管了,后面是掉電時序。
第一步. 上電后,將PWDN拉高,RESETB拉低
第二步. 延時大于等于t2(5ms)時間后,將PWDN拉低,并且一直保持
第三步. 在延時大于等于t3(1ms)時間后,將RESETB拉高,將PWDN拉低,并且一直保持
第四步.最后延時t4(20ms),完成上電
完成上電后,即可開始SCCB對寄存器進行初始化

四. 程序介紹
程序主要包括三個部分,上電時序,然后是寄存器初始化,最后就是接收圖像數據了。這部分比較容易,就不做介紹了。
always@(*)
begin
case(state)
S_POWER_UP:
if( ov5640_powerup_ack == 1'b1 )
next_state <= S_INIT;
? ? ? ?else
? ? ? ? ? ?next_state <= S_POWER_UP;
? ?S_INIT:
? ? ? ?if( ov5640_init_ack == 1'b1 )
? ? ? ? ? ?next_state <= S_WORK;
? ? ? ?else
? ? ? ? ? ?next_state <= S_INIT;
? ?S_WORK:
? ? ? ?next_state <= S_WORK;
? ?default : next_state <= S_POWER_UP;
? ?endcase
end
最終ov5640配置為640 x 480 大小的輸出,通過邏輯分析儀可以看到每一行輸出1280個數據,也就是640個像素點(每次輸出8bit,兩種時鐘輸出一個完整的RGB565數據)。

-
寄存器
+關注
關注
31文章
5608瀏覽量
129966 -
攝像頭
+關注
關注
61文章
5091瀏覽量
103109 -
時序
+關注
關注
5文章
406瀏覽量
38853
原文標題:FPGA驅動OV5640上電及初始化(下)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
norflash初始化沒有設置bank0相關的寄存器
STM32初始化和配置相關函數
蜂鳥內部通用寄存器為什么不做復位初始化?
51單片機對SAA7113初始化和控制的程序
如何初始化miniDSPCodec和基于MCU控制器的參考代碼詳細中文資料
51單片機串口通訊初始化程序及及特殊功能寄存器設置的資料說明
C51s常用特殊寄存器及其初始化
【嵌入式07】寄存器映射原理詳解,GPIO端口的初始化設置步驟
STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化
寄存器與靜態庫
與初始化相關的重要寄存器介紹
評論