摄像头视频采集系统的设计与实现

摄像头视频采集系统的设计与实现
徐宏亮
2012.07.27
系统采用AD9883a芯片将摄像头视频信号数字化;然后利用FPGA芯片进行信号处理,增加行列场有效信号;最后,采用ADV7123芯片将数字信号转为模拟信号,在本地的显示器输出。
1. 系统总体设计
1所示为视频采集系统框图。
1 VGA视频采集系统框图
    1VGA输入模块。将RGB模拟信号或YUV信号及行同步信号(Hsync)、场同步信号(Vsync)输入给A/D转换模块。
    2A/D转换模块。首先根据行、场同步信号确定采样的行频和场频,接着由行频和内部寄存器确定像素同步时钟,然后通过配置AD9883芯片内部的锁相环(PLL)产生同步时钟。该模块可将输入的VGA模拟信号转换为8bit×3路的数字视频信号,并通过一系列寄存器调整图像的采样效果。
    3 FPGA转换控制模块。一方面高温锂基脂FPGA通过I2C总线向AD9883a的寄存器写入控制信息;另一方面根据输入的行场同步信号生成行场有效信号。 内部还有color barYUV2RGB, 串口三个模块。
    4D/A输出显示模块。该模块采用ADV7123芯片将8bit×3RGB数字信号还原为模拟信号,并结合行、场同步信号构成VGA信号,供本地计算机显示输出。
2. A/D转换模块
本系统的A/D转换器采用AD9883a,该芯片专门用于采集模拟RGB信号,将其数字化显示或作为中间转换器件使用。该芯片具有采样精度为8bit×3通道,最高采样率为140MSPS/s300MB电极铜的模拟带宽,支持最高分辨率为SXGA1280x1024),刷新率为75Hz的视频信号。基于AD9883a的电路可为高清电视提供良好的接口,或作为高性能视频设备的前端扫描转换器,它的内部结构如图3所示,主要包括A/D转换电路、时钟产生电路、同步信号产生电路、I2C总线接口四个部分。
2  AD9883的内部结构图
AD9883a内部的寄存器通过I2C总线完全可编程,芯片按照寄存器设定的模式进行工作。如AD9883支持多种VGA格式,但不能自动检测实现自适应,需要通过I2C接口进行寄存器配置,指定芯片采集的视频格式。
AD9883内部共25个寄存器,其中00H14H为只读寄存器,15~18H为测试用寄存器,01H~13H为功能寄存器。 本系统采用的摄像头是索尼的H700,摄入视频格式是1080i/50。根据视频格式,FPGA芯片对主要功能寄存器的配置如表1所示,具体见程序:
氢氧化钙生产
功能
离子接地棒
寄存器
配置值
锁相环分频控制
01H
A4H
双层布02H
F0H
时钟产生器控制
03H
90H
04H
80H
箝位控制
05H
50H
增益和偏置控制
08H
C0H
09H
80H
0aH
80H
0bH
7EH
0cH
7EH
0dH
7EH
3FPGA设计
FPGAAD9883输出的像素时钟PCLK作为全局同步时钟,频率为74.25Mhz
3.1 IIC总线master的设计
  I2C,Inter-Integrated Circuit,是一个双线双向串行总线,提供了一种设备之间的数据交换的简单而有效的方法。这种总线最适合多设备之间需要临时的短距离通信的场合。IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。
I2C 总线上数据的传输速率有三种模式:
标准模式:100kbit/s
快速模式:400kbit/s
高速模式:3.4Mbit/s
本系统用的是标准模式。
3.1.1 iic总线协议
通常标准的iic通信包括4部分:
1) 开始信号
2) Slave地址
3) 数据传输
4) 结束信号
3.1.2  IIC模块的结构
    IIC模块由控制单元和数据通道单元两部分组成。控制单元的状态机根据外部控制信号和数据通道的状态信号产生控制信号,组织、协调和同步数据通道单元的的操作。数据通道单元的i2c master byte模块根据控制信号产生所需的SCLSDA信号。结构框图如下:
3  iic模块结构图
  控制单元使用一段式状态机进行定义,如图4所示。有限状态机的几个状态定义如下:
    `define  ST_IDLE      7'b000_0000;    //  起始状态
`define  ST_ADDR_W  7'b000_0001;    //  slave地址(用于写操作)
    `define  ST_BSADDR  7'b000_0010;      // 基地址saw 3d
    `define  ST_WRITE    7'b000_0100;    //  写数据到寄存器
    `define  ST_ADDR_R  7'b000_1000;      //  slave地址(用于读操作)
    `define  ST_READ      7'b001_0000;        // 从寄存器读数据
    `define  ST_READ1    7'b010_0000;        // 读取最后一位数据 
    `define  ST_STOP      7'b100_0000;    // 结束信号
IIC模块在start信号有效后,开始向AD9883a写数据,从01H写到15H; 之后进入读取模式,读取01H15H的寄存器数据,以检查数据是否写入和AD9883a目前状态。
4  IIC通信状态机
i2c master byte模块通过把一byte数据操作分解为8bit操作,通过把对应命令送到Bit command controller实现。具体流程如下:
3.2行场有效信号
hvref根据输入视频格式,产生行场有效信号。当视频输入信号时1080i时,参数配置如下:
parameter      ROW_NUM    1920      //行有效数
parameter      COL_NUM      540      //列有效数
parameter      hre_st          159      //行有效起始计数
parameter      vre_st          16        //列有效起始计数
parameter      htotal          2640      //总行数
parameter      vtotal          562      //总列数
3.3其他模块
1. color bar模块可以生成代替ad9883a输入的彩条信号,用于测试;
2. YUV2RGB模块,当AD9883a输入为YUV信号时,可以转化为RGB信号;
3. Uart ctrl模块,用于将读取的AD9883a寄存器信号传输到pc机,方便调试。
4D/A输出显示设计
本设计采用ADV7123作为视频转换芯片,将数字视频信号转换为VGA模拟信号,供本地计算机显示输出。ADV7123具有三路高速、10位输入的视频DA转换器,具有330Mhz的最大采样速度,与多种高精度的显示系统兼容,可充分满足本系统的转换需求。ADV7123芯片产生三路模拟输出后,结合FPGA传来的行、场同步信号完成视频的显示。
5. 小结
    通过对摄像头视频采集系统的设计,加深了对iic总线的了解,认识到了dft对设计程序调试和板级测试时解决遇到问题的重要性。另外,通过这次设计,也加强了自己的编程能力和调试经验。
【参考文献】
[1] Analog Devices.AD9883A/AD9883A Data sheet[EB/OL].2007. www.analog/static /imported- files/data_sheets/ AD9883A.pdf.

本文发布于:2024-09-22 10:06:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/186327.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   芯片   控制   寄存器   系统   视频   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议