飞思卡尔智能车一:山外鹰眼摄像头使用原理

时间:2024-03-07 17:28:07

  最近在做飞思卡尔,研究摄像头,研究了大半周,终于弄懂了摄像头使用原理。最近摄像头相关算法也有点收获,以后再写。

 

  首先,鹰眼是一款二值化摄像头,只有黑白两色。在调试上位机的时候可以直接发送img二值化01数据,也可以解压后发送灰度数据,但这里的灰度数据只有0和255,没有中间的过度,也相当于二值。

  开始以为单片机向摄像头发送信号,促使摄像头把数据传回来,但事实不是这样的。

  其实,鹰眼很主动。将他接电接地后,他会向单片机主动的发送数据和信号,其中重要的,有PCLK和场中断信号。

  场中断是一帧图像的开始,是一个脉冲,他由摄像头发送到单片机后会激发单片机中断,允许dma采集,之后dma才会在PCLK下降沿采集数据(PCLK也是摄像头向单片机发送的)。PCLK就相当于时钟,单片机相应引脚接收到他后,会在他的下降沿DMA采集数据,然后不断采集,采集,直到采集结束,发送中断信号,在其中断中把接受状态变为结束,清除dma标志位,数据就这么采集完成了,然后如果场中断又来了的话,就继续采集,如此往复,就得到了一帧一帧的图像。

 

场中断信号

 

 PCLK

 

其实PCLK分组,一组十个,之后很长一段时间低电平。猜测每组时钟之间的可能是消隐区。

 

求赞!给我来十个赞过过瘾!

第一次写博客的小萌新,抑制不住激动的心情,最后放一张图表达一下

 

 

 更新

遇到的问题:

  用的原版程序,连接上位机显示寄存器配置完成,但是就是接收不到数据

 

Get ID success,SENSOR ID is 0x21
Config Register Number is 50
OV7725 Register Config Success!

  我们首先用示波器测试了摄像头的场中断、PCLK(上面的图)没有问题,程序用的他们给的,没有问题,于是问题处在核心板或自己设计的电路板上。

  之后把摄像头拿下来,把pta27、29设定为普通io口输出,发现输出的高电平只有1.2v。初步判定核心板io异常。

  我把核心板拿了下来,手动插线连接摄像头,发现连接成功,上位机反馈正常,所以核心板没问题。

  分析:问题出在自己设计的板子上,这两个io口下拉电阻,很可能是因为下拉电阻出问题了

  综上,场中断和pclk口下拉电阻出问题,导致接收不到场中断信号和时钟,致使上位机寄存器配置成功而收不到数据。

  被困扰了数晚的问题终于解决