0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

摄像头图像采集基础知识总结

FPGA设计论坛 来源:未知 2023-09-08 14:15 次阅读

目前FPGA用于图像采集 传输 处理 显示应用越来越多,主要原因是图像处理领域的火热以及FPGA强大的并行处理能力。本文以OV7725为例,对摄像头使用方面的基础知识做个小的总结.

一、DVP及SCCB接口时序

下图是OV7725 datasheet中摄像头传感器内部结构视图。我们主要关注常用的用户接口——DVP(数字视频端口)。

wKgaomT6vRKAc7LeAADczx9WnFo826.png

XCLK:工作时钟输入,由主控器产生,频率为24MHz;

HREF:行参考信号输出;

PCLK:像素时钟输出,由XCLK产生,用于控制器采样图像数据;

VSYNC:场同步信号输出;

RSTB:复位输入,低电平有效;

PWDN:低功耗模式选择输入,正常工作期间需拉低;

SCL:SCCB管理接口时钟,最高频率400KHz;

SDA:SCCB接口串行数据总线;

D[9:0] 像素数据输出;

PCLK引出一个帧率的概念,单位为fps(Frames Per Second),指每秒钟输出几幅静态图像,帧率越高视频越流畅。另外SCCB总线与IIC总线非常相近,主机写时序基本一致,故多数图像采集系统直接复用IIC控制器对图像传感器内部寄存器进行配置。这里给出大体的读写流程,具体见参考文献2。需要格外注意的是,SIO_C时钟信号在IDLE状态下必须为高电平。

写操作:

wKgaomT6vRKAfndAAAA7vzSTvz8166.png

读操作(分两部分):

wKgaomT6vRKAKF9FAAAzh71r0Bs078.png

wKgaomT6vRKAHT5mAAAx1NVHqHg801.png

总结来说,SCCB与IIC的主要区别在以下两点:

1 IIC有重复开始的概念,读操作先写设备地址 再写寄存器地址,然后重新开始,写设备地址,读取数据。而SCCB读操作时在第一次写寄存器地址后必须有结束条件。

2 IIC主机写数据到从机时,从机必须在写8bit下一时钟拉低总线响应主机。IIC主机读取从机数据时,多字节连续读取除最后字节主句均在第9时钟周期拉低总线响应,单字节读取拉高总线便于下一拍提供停止条件。而SCCB每个phase第9bit为don't care bit /NACK,主机写从机第9bit不关心,读取从机数据由于不支持多字节操作第9bit主机必须拉高总线。

接下来从整体上把握输出图像数据与同步信号的关系。(图片截取自《OV7725摄像头编程基本知识笔记》,见参考文献3.

wKgaomT6vROAKbboAAGwYnMELnU902.png

两个VSYNC高脉冲之间为包含一帧图像数据,但只有HREF高电平期间数据才为有效数据,每个HREF高电平区间对应一行图像数据。因此通过这两个信号即可找到有效的图像数据。OV7725摄像头支持多种图像输出格式,此处阐述常用的RGB565格式:

wKgaomT6vROAAxYuAAEPd71pasI667.png

图像数据在PCLK下降沿输出,控制器在其上升沿采样。当选择此模式输入时,仅使用数据线高八位。时序图给出了相邻两个字节数据内容,可见两个字节表示一个像素点数据,从高位到低位依次是:R 5bit,G 6bit,B 5bit。Ov7725图像传感器的像素30万,分辨率:640*480,即每行640个有效像素点,一共480行。所以每个HREF高脉冲期间有640*2个PCLK周期,两个VSYNC高脉冲期间循环480次。

二、时钟与帧率计算

摄像头输入时钟是XCLK,输出时钟是PCLK。如何给出合理的XCLK并得知PCLK频率至关重要。在datasheet中给出了详细的寄存器配置介绍,其中地址是0X0D和0X11的两个寄存器与时钟密切相关。寄存器CLKRC决定如何分频,公式如下:f internal clock = f input clock * PLL multiplier / [(CLKRC[5:0]+1)*2]。我也是看了半天的相关资料才知道f internal clock指的就是摄像头输出的PCLK。公式中f input clock指的是XCLK频率,PLL multiplier只COM4寄存器配置的PLL倍频系数。

比如配置寄存器COM4为0X41,配置CLKRC为0X00。因此,f pclk = f xclk * 4 / [(0+1)*2] = 2 f xclk。此时XCLK时钟频率若是25MHZ,则PCLK频率是50MHZ。现在我们以笔者选用的VGA帧格式,RGB565像素格式来算一下帧率。

wKgaomT6vROAQkXNAAGSIkHW0jw961.png

帧率即为每秒钟输出多少幅完整图像,所以帧率=输出时钟频率/每帧的时钟周期数。最终帧率=50*10^6/(510*784*2) = 62.5Hz。一般人眼在帧率为50Hz以上无法察觉图像的闪动,具有较好的显示效果。

wKgaomT6vROACw83AAAJM7aZU1A983.png

有你想看的精彩 至芯科技FPGA就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询! FPGA学习-数字分频器设计 一文解析初学者如何学习FPGA

wKgaomT6vROARgYYAABUdafP6GM273.jpg

扫码加微信邀请您加入FPGA学习交流群

wKgaomT6vROABM8CAABiq3a-ogY804.jpgwKgaomT6vRSAbZZQAAACXWrmhKE658.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:摄像头图像采集基础知识总结

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593271

原文标题:摄像头图像采集基础知识总结

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    要将摄像头采集的数据以什么格式发送给上位机?

    有大佬做过吗,要将摄像头采集的数据以什么格式发送给上位机,有没有相关资料?
    发表于 04-29 07:57

    嵌入式操作教程:7-1 基于CMOS数字摄像头的灰度转换实验

    一、实验目的 学习灰度转换的原理,掌握OV2640 摄像头和VPIF总线的工作原理,实现OV2640 摄像头采集图像并进行实时灰度转换显示在 LCD 上。 二、实验原理 OV2640
    发表于 01-19 14:52

    使用ADSP BF533采集MT9v032CMOS摄像头传回来的图像上有竖条纹和白点的原因?如何解决?

    请问使用ADSP BF533采集MT9v032 CMOS摄像头传回来的图像上有竖条纹和白点 为什么呢 如何解决 采回来的图像 ]
    发表于 01-11 06:34

    【ELF 1开发板试用】板载资源测试3:OV5640 摄像头测试

    !七、实验总结1、从测试过程中理解了OV5640摄像头基础知识。2、从测试过程中理解了ELF 1开发板命令行操作方式。3、从测试过程中进一步熟悉了ELF 1开发板板载资源。总之,飞凌嵌入式ELF1开发板资源丰富,还需要进一步熟悉
    发表于 12-15 22:49

    【ELF 1开发板试用】+ 3.2 USB摄像头连接测试 + Ubutu SSH连接

    连接测试 本文继续做一下连接接口的测试,本文使用USB摄像头进行连接,以测试ELF 1 USB功能,以及其对应的摄像头视频流的处理反馈 设备部署如下: ELF1 外接了一个部署在二维云台的 USB
    发表于 12-06 15:37

    6-1 基于CMOS数字摄像头采集LCD显示实验 #操作教程

    摄像头
    创龙教仪
    发布于 :2023年09月15日 11:39:32

    摄像头 NVIF 云台控制

    摄像头
    阿梨是苹果
    发布于 :2023年08月31日 09:54:28

    52 第9讲--基于摄像头图像处理IP使用 - 第9节 #硬声创作季

    摄像头
    充八万
    发布于 :2023年08月19日 16:28:46

    52 第9讲--基于摄像头图像处理IP使用 - 第8节 #硬声创作季

    摄像头
    充八万
    发布于 :2023年08月19日 16:27:56

    52 第9讲--基于摄像头图像处理IP使用 - 第4节

    摄像头
    充八万
    发布于 :2023年08月19日 16:24:35

    如何利用A7开发板上的PMOD接口JB JC来实现摄像头图像采集

    我想利用A7开发板上的PMOD接口JB JC来实现摄像头图像采集,想问一下大家具体的实现方法,比如摄像头接口的编写,怎么挂到AXI总线协议上以及如何使用
    发表于 08-16 07:13

    安卓主板的摄像头旋转、前置、后置摄像头镜像如何设置?

    摄像头
    广州向成电子科技有限公司
    发布于 :2023年07月07日 21:04:42

    高校实验室建设_DSP教学实验箱_高校实验设备_摄像头采集实验教程:6-1 基于CMOS数字摄像头采集LCD显示实验

    采集图像显示在 LCD 上。 实验原理 OV2640摄像头 OV2640 是世界上第一个 1/4 英寸 2 百万像素视频传感器,同时是 OmniVision 最新的 2.2 微米 OmniPixel2
    发表于 06-19 17:22

    如何实现连接USB摄像头采集图像并同时在LCD回放,使用Mjpg录像?

    如何实现连接USB摄像头采集图像并同时在LCD回放,使用Mjpg录像,现有个小的项目要实现摄像头观察同时录像,是否可以使用你们的芯片搞定,感谢
    发表于 05-26 06:31

    【米尔MYD-JX8MMA7开发板-ARM+FPGA架构试用体验】 五、摄像头图像采集显示

    【MYD-JX8MMA7】 (五)摄像头图像采集显示一、OpenCV安装在安装OrbbecViewer相关环境过程中,运行不了OrbbecViewer工具,所以经过仔细的研究了官方资料发现
    发表于 05-23 08:59