嵌入式系统数字图像采集接口电路设计

发布者:Xiaohan521最新更新时间:2012-02-01 来源: dzsc关键字:嵌入式系统  图像采集接口 手机看文章 扫描二维码
随时随地手机看文章

一、引言

随着半导体技术的飞速发展,具有图像功能的嵌入式应用愈来愈多。从数码相机、可视电话、多功能移动电话等消费产品到门禁、数字视频监视等工业控制及安防产品,图像采集和处理已成为重要的组成部分之一。图像采集需要进行同步信号的处理,比通常的A/D数据采集过程复杂,电路的设计也较为困难。传统PC上的图像采集卡都是在Philips、Brooktree等半导体公司提供的接口芯片基础上,由专业公司开发生产。在嵌入式系统中不同的处理器和图像传感器的信号定义及接口方式不同,没有通用的接口芯片。另外,利用系统中的现有资源设计图像采集电路,可以减少器件数量、缩小产品体积和降低系统成本。所以,通常嵌入式系统中要求自行设计图像采集接口电路。本文针对不同采集速度的要求,提出了两种图像采集接口电路的设计方法。

目前市场上主流的图像传感器有CCD、CMOS两种器件,其中CMOS器件上世纪90年代产生,近年来得到了迅速发展。传感器的输出有模拟和数字两种。由于CMOS器件功耗小、使用方便,具有直接数字图像输出功能,作者在设计时选用了CMOS数字输出图像传感器件。其他方式器件的接口设计与此类似,将在讨论中说明。

本文内容做如下安排:第二部分简述图像信号的特点;第三、四部分分别介绍I/O和内存直接写入两种接口设计方法;最后部分是讨论。

二、图像信号介绍

图1给出了采样时钟(PCLK)和输出数据(D)之间的时序关系。在读取图像数据时用PCLK锁存输出数据。除采样时钟(PCLK)和数据输出(D)外,还有水平方向的行同步信号(HSYNC))和垂直方向的场同步信号(VSYNC)。对于隔行扫描器件,还有帧同步信号(FRAME)。如图2,一帧包括两场。图2中窄的矩形条是同步脉冲,同步脉冲期间数据端口输出的数据无效。

PLCK存在时,图像数据端口连续不断地输出数据。由于行之间以及场之间输出数据无效,在采集图像数据必须考虑同步信号,读取有效数据才能保证图像的完整性。

三、I/O接口设计

对于MCU、DSP处理器,I/O是最方便的访问方式之一。以I/O方式读取图像数据不仅可以简化电路设计,而且程序也很简单。但由于读取每一个像素都要检测状态,在处理器速度低的情况下,读取图像慢。在处理器速度快或图像采集速度要求不高的应用中,I/O接口方式是一个较好的选择。

1、电路原理和结构

在图像传感器和处理器之间,利用两个锁存器分别锁存状态和图像数据,处理器通过两个I/O端口分别读取。图3中,在采样时钟的上升沿数据锁存器保存传感器输出的图像数据,当处理器通过I/O口读取图像时,数据锁存器输出数据。其它情况下,锁存器输出处于高阻状态。处理器通过状态锁存器读取同步信号和图像就绪(Ready)指示信号。在数据锁存器保存图像数据的同时,状态锁存器产生Ready信号(从‘0’到‘1’)。处理器读取图像数据时,Ready信号自动清除(从‘1’到‘0’)。处理器读取状态时锁存器驱动总线,其他情况下输出处于高阻状态。

2、图像读取流程

要保证图像的完整性就必须从一场图像的第一行开始读取,对于隔行扫描输出的图像则必须从一帧的第一行开始读取。读取每行图像数据时,则从该行的第一个像素开始。因此,在读取图像数据前应先判断场和行的起始位置。图4是通过I/O接口方式读取图像数据的流程。读取每个像素数据前先查询数据状态,如果数据已准备好则读取数据。

3、同步信号检测

为了简化电路设计,用处理器直接读取同步信号,然后找出场和行的起始位置。

从图2可以看出,处理器读取同步信号时,信号可能处在同步脉冲状态(‘1’)或正常状态(‘0‘)。对于那些同步信号反向的器件,则分别为‘0’和‘1’。如果信号处于同步脉冲状态,第一次检测到的正常状态就起始位置。如果信号处于正常状态,则首先检测到脉冲状态,然后用同样的方法确定起始位置。

通过上述方法可以检测出场的起始位置和行起始位置。

4、用VHDL设计锁存器

在应用中,以上两个锁存器的功能和其他逻辑集中在一起,用可编程逻辑器件实现。下面分别为它们的VHDL表示。

设DO(0-7)是锁存器输出端,DI(0-7)是锁存器输入端,DM(0-7)是中间状态,Data_R是数据读信号(低电平时有效),则数据锁存器的VHDL描述为:

Process (reset, PCLK) -- 锁存图像数据


Begin


If reset='0' then


DM<="00000000"; -- 清除数据


Else if PCLK'event and PCLK='1' then


DM<=DI; -- 锁存数据


End if;


End process;


Process (DM, Data_R) -- 读取图像数据


Begin


If Data_R='0' then


DO<=DM; -- 输出图像数据


Else


DO<="ZZZZZZZZ" -- 输出高阻


End if;


End process;

进一步设数据有效状态为Dstatus, 状态读写信号为Status_R (低点平时有效),则状态锁存器的VHDL描述为:

Process (reset, PCLK,Data_R) -- 数据有效状态控制


Begin


If reset='0' or Data_R='0' then


Dstatus<='0'; -- 清除状态


Else if PCLK'enent and PCLK='1' then


Dstatus<='1'; -- 设置状态


End if;


End process;


Process (Dstatus, Status_R) --读取状态和同步信号


Begin


If Status_R='0' then


DO0<=Dstatus;


DO1<=VSYNC;


DO2<=HSYNC;


DO3<=FRAME;


Else


DO<="ZZZZZZZZ"; -- 高阻状态


End if;


End process; [page]

四、内存直接写入接口设计

在处理器速度较慢且图像数据输出的频率不能降低的情况下,采用上述I/O接口方法不能得到完整的图像。另外,有些应用中要求能够实时采集图像。为此,我们设计了高速数据图像采集方法?内存直接写入法。由于SRAM访问控制简单,电路设计方便,被大量嵌入式系统采用,本文以SRAM作为存储器。

1、电路原理和结构

内存直接写入方法通过设计的图像采集控制器(以下简称控制器)不需处理器参与,直接将图像数据写入系统中的内存中,实现高速图像采集。

图5是接口结构图,当需要采集图像时,处理器向控制器发出采集请求,请求信号capture_r从高到低。控制器接到请求脉冲后,发出处理器挂起请求信号HOLD,使处理器的外总线处于高阻状态,释放出总线。控制器收到处理器应答HOLDA后管理总线,同时检测图像同步信号。当检测到图像开始位置时,控制器自动产生地址和读写控制信号将图像数据直接写入内存中。图像采集完成后,控制器自动将总线控制权交还处理器,处理器继续运行,控制器中与采集相关的状态复位。控制器可以根据同步信号或设定的采集图像大小确定采集是否完成。

在图5中,控制器包括同步信号检测、地址发生器、SRAM写控制器、总线控制器和处理器握手电路等主要部分。同步信号检测确定每一场(帧)和每一行的起始位置;地址发生器产生写SRAM所需的地址;SRAM写控制器产生写入时序;总线控制器在采集图像时管理总线,采集完成后自动释放;处理器握手电路接受处理器命令、发总线管理请求和应答处理器。

2、SRAM写控制时序

采集图像过程中,控制器自动将数据写入到硬件设定的内存中。写内存时,控制器产生RAM地址(A)、片选信号(/CS)、读信号(/RD)和写信号(/WD),同时锁存传感器输出的数据并送到数据总线(D)上。每写入一个数据后,地址(A)自动增1。采集时/CS保持有效(‘0’)状态而/RD处于无效状态(‘1’)。地址A的变化必须与/WD和数据锁存器协调好才能保证图像数据的有效性。

图6是控制器产生的SRAM信号时序图。用PCLK作为地址发生器的输入时钟,且在其上升沿更新地址值。同样,在PCLK的上沿锁存数据并输出到总线上。将PCLK反相,作为/WD信号,使得在/WD的上升沿地址和数据稳定,确保写入数据的有效性。

3、控制器主要功能的VHDL描述

描述控制器中全部功能的VHDL代码较长,而且有些部分是常用的(如计数器等)。图像采集状态产生和同步信号的检测是其中重要的部分。下面介绍这两部分的VHDL描述。

图像采集状态 capture_s:

处理器的采集请求信号capture_r使capture_s从‘0’到‘1’,场地址发生器(计数器)的溢出位vcount_o,清除capture_s。


process (capture_r, reset, vcount_o)


begin


if reset='0' or vcount_o='1' then


capture_s<='0'; -- 清除


else if capture_r'event and capture_r='0' then


capture_s<='1'; -- 置状态位


end if;


end process;

同步信号检测:

[page]

只有在采集状态capture_s有效时(‘1’)才检测场同步信号,场同步信号下降沿置场有效状态(vsync_s),场地址发生器溢出位vcount_o清除场有效状态。只有在vsync_s有效情况下才检测行同步信号,行同步信号下降沿置行有效状态(hsync_s),行计数器溢出信号hcount_o清除行状态。只有在行状态有效的情况下计数器才工作,且将数据写入RAM。

Process (capture_s,reset,vcount_o, vsync)


Begin


If reset='0' or vcount_o='1' or capture_s='0' then


Vsync_s<='0'; -- 清除


Else if vsync'event and vsync='0' then


Vsync_s<='1'; -- 置状态位


End if;


End process;


Process (vsync_s, reset, hcount_o, hsync)


Begin


If vsync_s='0' or reset='0' or hcount_o='1' then


Hsync_s<='0'; -- 清除


Else if hsync'event and hsync='0' then


Hsync_s<='1'; -- 置状态位


End if;


End process;

五、讨论

我们在基于TI公司的TMS320C3X系列DSP开发的嵌入式指纹图像处理模块中分别用上述两种方法成功实现了指纹图像的采集。

采用I/O接口方式最关键的是要求处理器的频率远高于图像数据输出的频率。例如,如果处理的指令周期为20ns,读取每个数据需要10个指令周期,则数据的输出频率不能超过5MHz,它低于一般的CMOS图像传感器件最快的数据输出频率。例如国内使用较多的OV7610和OV7620,其正常输出数据频率为13.5MHz。在应用过程中,通常改变传感器中寄存器的设置值,降低其数据输出频率。

本文选用的是CMOS数字输出图像传感器。对于模拟视频信号,在设计时应加同步分离和A/D转换电路。图像采集的数字接口和逻辑控制与本文相同。

在我们系统中所采集的是单色图像,如果采集彩色图像逻辑设计是相同的所不同的只是数据宽度和后期处理方式。

具体应用中可根据需求对上述设计进行修改以满足不同的要求。

关键字:嵌入式系统  图像采集接口 引用地址:嵌入式系统数字图像采集接口电路设计

上一篇:用I2C总线扩展I/O总线
下一篇:高带宽嵌入式应用中SoC微控制器的可编程总线设计

推荐阅读最新更新时间:2024-05-02 21:52

基于ARM和VxWorks实现自动彩信发送的嵌入式系统
在arm微处理器硬件平台上,应用windriver公司的tornado集成开发环境,实现基于vxworks的自动发送彩信的嵌入式应用系统。该系统使用现有cdma网络,根据设定的参数发送彩信到特定的移动终端用户。 随着嵌入式应用的发展和16/32位risc处理器技术的成熟,以及支持各种高端处理器的嵌入式操作系统的涌现和完善,嵌入式无线设备可以利用cdma网络实现许多新的应用。自动发送彩信的嵌入式系统就是这种新应用之一,在特定的条件下,系统自动发送彩信到指定的移动通信终端;该应用系统是由用户根据要求设定触发条件的自动发送彩信系统,当满足触发条件时,设备会自动控制捕获、压缩图像部件拍摄外部图像,经过模数转换、数字压缩等处理后,经处理器
[单片机]
基于ARM和VxWorks实现自动彩信发送的<font color='red'>嵌入式系统</font>
嵌入式系统中的模块动态加载技术
摘要 提出一种适用于嵌入式系统的模块动态加载技术,设计实现简单,占用资源少,开销小,并且成功运用于DeltaOS.可提高系统的灵活性和扩属性.介招加载与动态链接的原理和应用情况,解释相关术语,描述基本设计思路:详细说明该技术的核心。即模块声明、调用库、两级重定位表,最后给出结论。 关键词 模块 动态加栽 嵌入式系统DeltaOS 引 言 随着电子技术的飞速发展,嵌人式设备应用越来越广泛,复杂度也越来越高。这使得硬件和软件设计比例发生了很大变化,软件开发的比重越来越大。然而传统嵌入式开发过程中需要将应用与操作系统编译链接成一个整体,然后下载到目标机上运行。如果在调试过程中发现问题,需要重新编链接然后重复下载运行的过程。这样的开发
[应用]
基于IAP的嵌入式系统升级方案
一、 需求引入 现有嵌入式设备:基于ARM Cortex-M3处理器、带以太网通讯功能。为降低设备维护成本节省宝贵的时间和金钱,需要设计网口升级固件功能。 本文描述了基于IAP和网口升级该嵌入式系统的方法,其中处理器为NXP公司的ARM Cortex-M3,开发环境为IAR Embedded Workbench for ARM。 IAP( In Applicatin Programming)在应用编程,一般指MCU可以通过通信端口(UART口、网口等)从外部接收应用程序镜像并烧录到FLASH中实现固件升级。 图1网口升级固件 二、 原理介绍 先温习下小知识:一个典型的嵌入式软件地址空间如图2所示,程序代码(RO段)
[单片机]
基于IAP的<font color='red'>嵌入式系统</font>升级方案
助力自动化发展,德承P2100系列嵌入式系统问市
德承是专业的嵌入式计算机制造商,推出了P2100系列嵌入式计算机(含P2102 和P2102E)。P2100系列旗下的P2102是一款超薄型无风扇嵌入式计算机,而P2102E则提供了额外弹性的扩展功能。透过德承创新独特的模块化设计,只要加上德承的显示屏模块,就可使P2100系列变成即插即用的工业平板电脑。 P2100系列搭载第8代Intel® Core™ U系列处理器,提供每瓦高效能运算(最多4核心,4.10 GHz),散热设计功耗(TDP)仅为15瓦,整合Intel® HD 620绘图芯片,P2100系列支持三屏显示功能(CDS/ VGA/ DP)。P2100系列适合应用于对低功耗且高效运算有需求的领域,如工业现场、生产线、
[嵌入式]
助力自动化发展,德承P2100系列<font color='red'>嵌入式系统</font>问市
【干货】教你如何以0 MIPS运行你的嵌入式系统
: Øivind Loe , 微控制器产品高级营销经理 即使是在诸如应用的无线连接这种主导功耗的事件中,让尽可能多的进程自主运行,也可大大提高电池寿命。降低功耗一直是微控器( )市场的一个主要关注点。超低功耗 MCU 现在可以大大降低工作模式和深度睡眠模式下的功耗。这种变化的效果是显而易见的,它大大提高了我们日常嵌入式应用中的寿命,并且提供了在未来使用能量收集的可能性。 然而,要基于新型 MCU 降低功耗,开发人员必须考虑到许多因素,对此 Silicon Labs 特别撰写一篇技术文章: “ 以 0 PS 运行你的嵌入式系统 ” ,帮助开发人员了解如何利用新型 MCU 中外设的自主运行,通过更接近以 “
[机器人]
学习心得:怎样高效学习嵌入式系统知识
1、学习linux   根据我在论坛的了解,我选择学习嵌入式linux,刚好我们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。     可以这样说,在论坛里说道学习linux差不多就学习linux内核。于是我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校以前就买到一本陈莉君的讲linux内核的第一版,现在有第二版了。我就开始看那本说,大家说linux内核情景分析不错,我就买了上下册,后来又买了 《深入理解linux内核》,最后也买了毛德操的《嵌入式系统》也是分析linux内核代码的,主要讲arm相关的。     看内核期间是个
[嵌入式]
如何利用逻辑分析仪功能解决嵌入式系统设计中的难题
在新的嵌入式系统设计中,不但需要测试和调试2.5 GHz串行总线及其相关的高级协议,还要面临如何让32位传统总线工作在800 MHz高数据率下的问题,因此,复杂高速嵌入式系统的设计、开发、测试和调试面临着新的挑战,本文介绍如何利用最新的逻辑分析仪功能解决这些棘手问题。 要想成功开发一个新型嵌入式系统,上市时间和系统可靠性是两个最重要的因素,但现代嵌入式系统日益增大的复杂性使这一目标很难达成。传统的嵌入式系统结构包含各种组件和互连总线,总线通常有并行互连总线和标准外设总线。 如今的系统中除了引入RapidIO 和 PCI Express等新的高速串行互连和外设总线以外,并行总线在短期内仍将存在。于是,在新的嵌入式系统设计中,
[测试测量]
嵌入式系统中的CACHE问题
摘要:描述了在实时嵌入式系统开发中遇到的与CACHE有关的问题。对引起这些问题的原因——CACHE和RAM的不一致性进行了讨论。最后,提出了解决问题的方法。 关键词:嵌入式实时系统 CACHE 不一致性 随着社会的发展、人们生活水平的提高,人们对嵌入式计算机应用的要求也越来越高。因此,对嵌入式系统的性能要求也越来越高。明显体现在嵌入式系统的CPU速度的不断提高上。但问题也随之而来,嵌入式CPU的主频不断地提高,一方面加强了CPU的处理能力,另一方面,在速度上造成了与慢速的系统存储器极不相配的情况,从而影响了整个系统的性能。 为了解决这个问题,引入了CACHE技术。CACHE是一种高速缓冲存储器,是为了解决CPU和主存之间速度
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved