選定RGB
寄存器 0x501F 用於選擇圖像輸出格式,我們需要 RGB 格式,因此低三位設置成 001,即 0x01。但是 RGB 有多種格式,如 RGB323、RGB565、RGB888等,需要進一步配置。
2、選定RGB565
寄存器 0x4300 用於更進一步的選擇,高 4 位選擇 6 則代表 RGB565,低 4 位則代表 RGB565 像素的排列格式,多選 0 或 1,后面拼接時注意即可。
zynq7020 OV5640單目攝像頭模板中使用代碼
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
RAW 轉 RGB565
上表可知,1個 RGB565 像素需要兩個字節才能表示,這是怎么回事?在 OV5640 數據手冊中沒有發現相關說明,但在 OV7725 攝像頭中找到了。
攝像頭默認的像素格式是RAW,2個RAW像素合成1個RGB565像素。這張圖說明了一切,其像素排列在這指的是寄存器0x4300設置為 8'h60 的情況,是可以通過設置成其他值來改變排列順序的。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
圖像輸出時序
這張圖和VGA時序圖非常相似,照着 VGA 的來理解即可。圖中對應的像素格式是 RAW,tp 指的是 Time_pclk,即OV5640輸出1個像素占用的時間。但是我們選擇的像素格式是RGB565,1個RGB565像素由 2 個RAW像素構成。因此在使用這張圖時,RGB565的 Time_pclk 是 2個pclk 的時鍾周期,即 RGB565 tp = 2tp。此次寄存器配置的 DVP 輸出大小是1892*740,有效數據是1024*720,而 pclk = 84Mhz,所以幀率=84Mhz/(1892*740*2)=29.998≈30fps。
OV7670 和 OV7725 的寫 ID 都是 8'h42,而 OV5640 的寫 ID 為 8'h78
其他還有許多要說明的,但目前就學了這么點,后面遇到要注意的則再更新。關於寄存器配置,網上很多配置好的值,大多數不用改,關注幾個子重要的即可。