我在最初制作板子的时候就已经对摄像头部分进行了预留,因为我们的拓展板接口丰富是完全可以加这些的,所以我们通过案例进行测试。像这种我们可以先参照EK-RA8D1的板卡。
在这款开发板上他接的是OV3640摄像头,我们需要换成我们预留的OV5640。
同时注意就是有些摄像头自己不带晶振需要通过管脚给其供始终信号,所以就是可以看到官方例程中是带了一个IO口输出时钟的频率的。
看下我的配置,需要配置两个IO口进行控制,然后就是CEU的配置,SDRAM的配置。
最紧张的是看错了管脚图,把串口看成了IIC,好在对上了,是可以用的串口。
不是原生的IIC,是通过SCI这种口拓展的。不过把案例的发送函数给修改掉就可以,通信测试没问题。
我就搞了两个功能,一个是SCI_IIC,一个是CEU的显示,官方是给了两种显示模式,一个VGA一个是sxga。
就是两个图片规格,不过我们用的OV5640例程出的是的RGB565的,所以初始化一个即可,想要这种格式应该要配置,看手册啥的。
其他工程就是复制,我们没用RTT的打印功能,所以要屏蔽许多的打印函数。
我们案例例程给的初始化,这里用IIC是因为摄像头的协议是SCCB总线和IIC协议十分类似,实际就是配置摄像头输出数据参数的,以及一些控制,曝光,对焦,这些,ecu相当于是读数据的,所以配置简单很多。我们直接看输出效果。
每个OV摄像头模块应该都可以配置一个彩条输出测试,我们一个测试关了,一个测试彩条输出。
这是第一个效果,输出仿真有些黑色条纹,不知道是不是画板的干扰,还是没有配置好。在摄像头采集时候也是有的。
看下实时输出的效果吧。
看读取的ID是正确的。
看实时图像也是对的,那个黑条纹应该是刷新太快的原因,暂停下来后一会就正常了。
注意格式我们的是RGB的,和官方有出入。