在线情况
楼主
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390701
  • 文章6744
  • 注册2006-03-07
基于MSP430的低功耗CMOS图像采集接口设计
作者:朱连柱  大连理工大学微系统研究中心

摘要:采用新型低功耗的CMOS 图像传感器OV7640 数字图像传感器模块,以MSP430F149
超低功耗混合信号微处理器结合EPM3128 CPLD 为控制器设计实现了一种高速、低功耗的数字
图像数据的采集接口。给出了CPLD 实现图像传感器数据直接写入SRAM 功能设计和单片机控
制CPLD 从SRAM 中读取图像数据等功能的设计原理,并给出单片机通过SCCB 总线控制
硬件总体方案设计OV7640 程序和图像采集程序的流程图。

0 引言
与CCD 图像传感器相比较,当前CMOS 图像传感器具有制造成本低,集成度高、体积小、功耗低等优异性能特点,因此CMOS 图像传感器在具有低功耗要求的图像采集应用场合得到更广泛的应用。为满足低功耗图像采集接口的要求,选用TI(德州仪器)公司的FLASH 型超低耗16 位单片机MSP430F149 作为图像传感器的控制器。然而受到MSP430 单片机指令执行周时间所限,无法达到图像采集对存储器接口控制的速度要求。为解决这种矛盾,采用Alter司推出的3.3V 低电压CPLD EPM3128 作为图像数据存储控制接口,用来控制图像数据到存储器实现直接存贮而无需单片机干预,从而解决了矛盾,达到低功耗采集图像数据的要求。
1 硬件总体方案设计
CMOS 图像传感器数据采集接口的硬件总体结构方案设计如1 所示。OV7640 是美国OmniVision 公司近年推出的一种新型CMOS 彩色图像传感器芯片,该传感器内核采用2.5V 供电电,在图像采集速率为30fps 时,耗电量仅40mW。OV7640 内部集成了图像传感器阵列、时钟发生器、模拟信号处理、A/D 转换、数据输出格式控制、数字视频端口、SCCB 控制接口等功能模块,可以实现自动爆光控制、自动白平衡、自动增益控制、自动亮度控制,通过8位并行数据端口直接输出RGB、Raw RGB、YUV、YcbCr 等多种格式的数字视频信号。通过SCCB
 [imga]../../upload/2006/10/15/144101.gif[/imga]
                 图1. 硬件总体方案设计框图
总线接口能够对OV7640 的寄存器进行编程设置,实现图像分辨率设置、图像品质(包括亮度、饱和度、色调等)的设置、帧频率设置等功能。SCCB 是OmniVision 公司针对CMOS 图像传感器而设计的一种类似于I2C 的串行总线接口,利用MSP430 单片机的I/O 端口可以通过软件模拟SCCB 时序实现对OV7640 SCCB 总线的读写控制。EPM3128 是Altera 公司推出的MAX3000系列3.3V 低价格EEPOM 工艺CPLD,其低成本高度灵活性的特点,依靠MAX3000A CPLD 的再编程能力可延长产品的生命周期,降低系统成本。CPLD 根据OV7640 同步信号时序或者单片机的控制时序产生SRAM 所需的片选信号、写使能信号以及19 位地址信号。512K 字节的
 [imga]../../upload/2006/10/15/144108.gif[/imga]
                图2. OV7640 图像数据输出时序
SRAM 芯片选用ISSI 公司静态随机存储器芯片IS61LV5128AL,该芯片是一种高速低功耗CMOS 工艺静态随机存储器。MSP430 单片机用于设置OV7640 的工作状态参数,并向CPLD发出采集图像数据或者从SRAM 读取图像数据的控制命令。
2 CPLD 接口控制逻辑设计
CPLD 的主要功能是在单片机的控制下实现CMOS 图像传感器数据到SRAM 的直接存储以
及在单片机控制下读取SRAM 中已存储的图像数据。CMOS 图像传感器OV7640 图像数据输出
时序如图2 所示。
根据OV7640 图像数据输出的时序逻辑关系以及CPLD 需要实现的功能,设计CPLD 内部逻辑功能框图如图3 所示。同步信号检测逻辑用于检测CMOS 图像传感器OV7640 的三种同步信号:帧同步信号VSYNC、行同步信号HREF、像素同步信号PCLK,并根据同步信号适时产生SRAM 片选信号、写选通信号以及地址信号,使CMOS 图像传感器输出得图像数据按顺序地址直接写入SRAM 中。单片机控制接口逻辑的主要功能是控制
             [imga]../../upload/2006/10/15/144618.gif[/imga]
CPLD 接口的工作状态:COMS 图像数据输出存储状态、读取SRAM 数据状态,以及单片机向SRAM 写入数据状态。数据总线逻辑实际为一个8 位三态门逻辑,当读取SRAM 中的图像数据时,为防止COMS 图像传感器数据总线输出信号干扰SRAM 输出数据,将三态门置为高阻态。SRAM 顺序地址控制逻辑的功能是向SRAM 输出读写地址,采用19 位的同步二进制计数器来实现。SRAM 读写控制逻辑的功能是根据图像采集接口不同的工作状态在适当时刻产生控制
SRAM 的片选信号以及读写使能信号。单片机根据图像数据采集的不同阶段向CPLD 的单片机
控制接口发送不同信号,可将CPLD 置为三种不同的工作状态:
(1) 当单片机控制CAP=1 时为图像采集状态, 此时DI[0..7]与DO[0..7]之间为低阻态,产
生SRAM 顺序地址的二进制计数器由PCLK 信号驱动。当START 信号在单片机的控制下置为高电平时,则CPLD 开始采集图像数据:当检测到VSYNC 信号的下降沿时,开始对HREF 进行检测,如果HREF 为高电平到,则将SRAM 的片选信号CE 置零。SRAM 读写控制逻辑在PCLK的下降沿使SRAM 的写允许信号WE 有效,与此同时地址计数器也在PCLK 的时钟沿驱动SRAM 地址变化。根据SRAM 的写时序逻辑,当地址更改时SRAM 的数据端口上的数据会自动输入SRAM 存储起来。当检测到VSYNC 信号的上升沿时, 表明一帧图像采集完毕,CPLD通过DONE 信号向单片机发出中断请求通知单片机读取SRAM 中已存储的一帧图像数据。当RST_A=1 时,地址总线置零。
(2) 当单片机控制CAP=0 且RW=0 时,为读取SRAM 数据状态。此时,CPLD接口的DI[0..7]与DO[0..7]之间为高阻状态。当STRAT=1 时,SRAM 片选及读使能信号开始在单片机输出的ACLK 时序控制下向单片机数据总线输出数据,单片机控制ACLK 信号驱动同步二进制计数器产生读SRAM 的顺序地址,单片机通过I/O 端口读取SRAM 数据总线上的图像数据,在每个ACLK 的时钟沿从SRAM 中读一个字节的数据。

(3) 当单片机控制CAP=0 且RW=1 时,为单片机向SRAM 中写数据状态。设计该状态的目的是为调试SRAM 写数据所用。此时,DI[0..7]与DO[0..7]之间为高阻态。当STRAT=1 时,CPLD 输出SRAM 所需的片选及写使能信号,单片机驱动ACLK 信号产生SRAM 写入的顺序地址信号,单片机通过I/O 端口向SRAM 数据总线写入数据,每个ACLK 的时钟沿向SRAM写一个字节的数据。

3 CMOS 图像传感器单片机控制程序的设计
单片机操作CMOS 图像传感器的程序可按功能划分为以下两个模块:SCCB 总线接口读写
程序、CMOS 传感器图像数据采集程序。
3.1 SCCB 总线接口读写程序
SCCB 总线(Serial Camera Control Bus)接口是Omnivision 公司针对其CMOS 图像传感器
开发的一种串行总线接口标准,用于操作CMOS 图像传感器的控制寄存器。SCCB 总线协议规
定了三种传输循环,三相写周期、两相写周期和两相读周期循环。三相写周期是一个完整的写操作周期,该周期可向OV7640 写入一个字节的数据。两相写周期用于指定OV7640 的寄存器地址,作为两相读周期所读寄存器的地址。两相读周期必须以三相写周期或者两相写周期作为先导,然后才能从前一个周期所指定的地址中读取数据。每个相共有9 位数据,包括8 位串行数据域和1 位信息域,第9 位信息域有两种情况,Don’t-Care 位和NA 位,当数据传输方向是从单片机到OV7640 时为Don’t-Care 位,当数据传输方向是从OV7640 到单片机时为NA 位。
       [imga]../../upload/2006/10/15/144934.gif[/imga]
3.2 图像数据直接存储控制程序
有了CPLD 作为图像传感器与SRAM 的硬件接口控制电路,不仅大大增加图像数据采集速
度,而且使得CMOS 图像传感器的单片机读写控制程序变得比较简单。从CMOS 图像传感器
接口采集一帧图像数据的程序流程图如图5 所示。
        [imga]../../upload/2006/10/15/144944.gif[/imga]
基于MSP430F149 单片机和EPM3128 CPLD 设计的CMOS 图像传感器OV7640 的图像采集接口,能够达到低功耗采集图像数据的要求,可满足无线远程图像采集、手持设备等有低功耗要求的应用场合。本文设计的图像接口实现了图像传感器数据到存储器的直接存储,而在读取存储器图像数据向外发送时仍然会受MSP430 单片机的速度瓶颈限制,在采集连续视频图像时的最高速度接近7fps。如果改用指令速度更快的其它类型单片机,则有望解决图像采集后数
据发送时的瓶颈问题,达到采集连续视频图像数据的速度要求。

4 结束语
1 OmniVision, OV7640 Data Sheet Version1.7, 2003.10
2 OmniVision, Serial Camera Control Bus (SCCB) Functional Specification, Version2.1, 2003.2
3 沈建华等. MSP430系列16位超低功耗单片机原理与应用. 北京.清华大学出版社2004.11
4 王道宪. CPLD/FPGA 可编程逻辑器件应用与开发. 北京.国防工业出版社. 2004
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
Powered by LeadBBS 9.2 .
Page created in 0.4060 seconds with 5 queries.