选定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。
其他还有许多要说明的,但目前就学了这么点,后面遇到要注意的则再更新。关于寄存器配置,网上很多配置好的值,大多数不用改,关注几个子重要的即可。