微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于32位低端嵌入式系统的图像采集模块

基于32位低端嵌入式系统的图像采集模块

时间:04-29 来源:互联网 点击:

  引言

  目前,在嵌入式系统中,图像采集可以采用模拟摄像头、CCD图像传感器或CMOS数字图像传感器来实现。CMOS数字图像传感器由于其高性价比和直接输出数字图像数据而得到最为广泛的应用。MT9V011就是一个这样的CMOS数字图像传感器。本文将介绍MT9V011 CMOS数字图像传感器在一个低端ARM7处理器系统中的应用。

  在低端嵌入式系统中

  增加图像采集系统

  实时图像采集系统已经广泛应用于手机、PDA、实时监控系统等高端嵌入式系统中。在这类系统中,处理器具有以下特点:具有较高的处理速度可以实时处理采集回来的大量图像数据;具有较大的内存可以存放若干帧完整的图像数据;具有丰富的外设接口可以比较容易地扩展大容量的存储设备如CF卡、SD存储卡等来备份一些图像数据。然而在一些测控领域也需要采集图像,以使管理人员能够直观地监控被测对象。由于被测量的变化比较缓慢,因此不需要实时采集图像,每隔一段时间传回监控中心一幅图像就能满足要求。在这类系统中,处理器主要面向控制领域,它们的特点是内存比较小,处理速度比较慢,外设接口也不多。因此在这类低端嵌入式系统中增加图像采集功能要面临处理器处理能力有限和硬件资源受限制的问题。

  

  图1 CMOS摄像头芯片MT9V011工作时序

  CMOS图像传感器

  MT9V011

  基于创新的CMOS活跃像素技术,美光的超低功耗MT9V011图像传感器融合了VGA分辨率和CCD所不具备的很多优越功能。它能以高达30fps的帧频输出高质量的逐行扫描图像,同时,与CCD产品相比,其电池寿命得到了大幅度延长,因此成为手机、PDA和PC机USB摄像头的理想选择。MT9V011将多种相机功能(包括窗口化、行镜像变换、左右和上下图像翻转、电子旋转快门(ERS)、列镜像变换)直接集成到芯片上,从而减少了CCD通常需要的额外组件,最大程度地缩小了产品尺寸和主板空间。其变量功能如可编程增益、帧频和曝光控制等可以在默认模式下操作,也可由最终用户通过一个简单的两线I2C接口进行编程实现。

  MT9V011默认输出的是一幅640×480像素的图像。MT9V011芯片的工作时序如图1所示。其中,LINE_VALID是行有效信号,PIXCLK是像素时钟信号,DOUT9~DOUT0是10位的图像数据,FRAME_VALID是帧有效信号。LINE_VALID有效期间共有640个PIXCLK时钟周期,FRAME_VALID有效期间共有480个LINE_VALID有效信号。默认情况下图像数据从第1行第1列开始在PIXCLK信号的上升沿顺序输出。MT9V011输出的图像格式是RGB Bayer类型。

  系统设计方案

  本图像采集系统基于飞利浦的低端ARM7嵌入式微处理器LPC2104,CMOS摄像头芯片采用美光公司的MT9V011。MT9V011的图像输出速率最大可达30fps,而LPC2104处理器的I/O口读写速度远远不够,循环将它的某一个I/O口置为高后,随即置低,输出的方波频率也不超过4MHz。另外,传输图像的数据量相对于资源有限的嵌入式系统来说太大了,MT9V011默认情况下输出一幅图像的数据量大小为300KB,而LPC2104处理器的内存大小仅为16KB,而且没有开放存储器扩展总线,在处理器外部扩展存储器很不方便。其它的低端控制处理器如AVR单片机、MCS51单片机等都存在这样的问题,但是由于它们具有较高的性价比、开发调试比较方便和能够比较快速地组建应用系统,因此它们在许多领域都有广泛的应用。

  针对此类处理器的一些资源和性能限制,可以采取一些辅助措施来解决。由于可编程逻辑器件具有处理速度快和能够在线编程等诸多优点,十分适合与此类低端处理器相结合来解决一些纯处理器系统无法解决的问题。随着可编程逻辑器件技术的发展和相关技术的进步,此类系统得到了越来越广泛的应用。本文就是采用这种方案来解决单一处理器无法完成图像采集的问题。具体方案是由一片可编程逻辑器件来与MT9V011接口,控制图像数据缓存到一片SRAM中,然后通知处理器读取数据。这样就同时解决了处理器I/O传输速度慢和内存不足两个问题,能够组建系统,完成图像采集功能。图像采集系统框图如图2所示。系统由四大部分组成:CMOS摄像头电路、摄像缓存控制逻辑电路、SRAM存储器和32位嵌入式系统总线接口。系统摄像缓存控制逻辑电路由CPLD EPM7128S实现。

  

  图2 嵌入式图像采集系统框图

  CPLD控制逻辑设计

因为受到I/O传输速率和内存的限制,系统主处理器LPC2104无法完成采集图像并存储的功能。因而,只能借助于在系统中扩展1片CPLD来协作完成系统功能。由CPLD片内的控制逻辑电路完成读取图像数据并缓存到SRAM中的功能。因为系统不是实时图像采集与处理,可以改变输

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top