[X]关闭

关于ov5640摄像头的rgb565输出寄存器的疑问

文档创建者:Dedalus
浏览次数:6131
最后更新:2020-04-03
按照例程CH0_ov5640_demo中配置成rgb565的寄存器是0x4300,并且配置成了0x60,根据datasheet如图:

该寄存器配置为0x60对应的2个8bit的应该是{b[4:0],g[5:3]}和{g[2:0],r[4:0]},然后在代码中:

这里byte_flag为1的时候拼接两个8bit数据,为0的时候接收高位到cmos_data_d0中,所以按照这样拼接出的rgb565数据是不是
应该等于{b[4:0],g[5:3],g[2:0],r[4:0]},按照这样的输出应该是bgr565数据,
代码中处理后输出rgb_o[23:0],然后经过fifo,ddr3缓存最后输出到hdmi核。
疑问就是后续处理这个数据都是当作rgb565处理的,而不是bgr565数据,就像下图,从高位到低位分别复制给了rgb三个通道

在ov5640的datasheet中也不像ov7725的datasheet明确给出了rgb565的两个8bit,如下图:

所以我的疑问就是在例程的ov5640配置中,这个高低位两个8bit数据是{b[4:0],g[5:3],g[2:0],r[4:0]}这样的bgr565形式,还是后续处理的rgb565形式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

发表评论已发布 1

uisrc

发表于 2020-4-3 18:16:32 | 显示全部楼层

RGB565 正好是2个输出输出一个像素,但是这里的代码实际上不容易看出来RGB的通道,因为还要看HDMI的RGB通道,这里面我没有严格查过RGB通道,一般测试出来如果R B 反了,只要FPGA里面调换下数据位置就可以解决
越努力越幸运!加油!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则