版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统数字图像采集接口电路设计
摘要:本文介绍了两种用于嵌入式系统的数字图像采集接口方法,I/O接口和内存直接写入。在对采集速度要求不高的应用中,I/O接口方法可以简化接口电路设计,减少系统资源。对于要求实时进行图像处理的系统,直接写入内存法可以在不需要处理器干预的情况下,直接将图像数据写入系统存储区内,实现高速图像采集。
关键词:嵌入式系统,图像采集,电路设计
Abstract:Inthispaper,wepresenttwodifferentinterfacesbetweendigitalaimagesensorsandaprocessorforembedsystems,I/OmodeandDMW(DirectMemoryWrite)mode.InI/Omode,processorcanreadimagedatathroughI/Oport,andtheinterfaceissimple.InDMWmode,imagedatacanbewriteintoRAMdirectlywhileaprocessorissuspended.
Keywords:EmbedSystem,ImageCapture,ElectronicCircuit
一、引言
随着半导体技术的飞速发展,具有图像功能的嵌入式应用愈来愈多。从数码相机、可视电话、多功能移动电话等消费产品到门禁、数字视频监视等工业控制及安防产品,图像采集和处理已成为重要的组成部分之一。图像采集需要进行同步信号的处理,比通常的A/D数据采集过程复杂,电路的设计也较为困难。传统PC上的图像采集卡都是在Philips、Brooktree等半导体公司提供的接口芯片基础上,由专业公司开发生产。在嵌入式系统中不同的处理器和图像传感器的信号定义及接口方式不同,没有通用的接口芯片。另外,利用系统中的现有资源设计图像采集电路,可以减少器件数量、缩小产品体积和降低系统成本。所以,通常嵌入式系统中要求自行设计图像采集接口电路。本文针对不同采集速度的要求,提出了两种图像采集接口电路的设计方法。
目前市场上主流的图像传感器有CCD、CMOS两种器件,其中CMOS器件上世纪90年代产生,近年来得到了迅速发展。传感器的输出有模拟和数字两种。由于CMOS器件功耗小、使用方便,具有直接数字图像输出功能,作者在设计时选用了CMOS数字输出图像传感器件。其他方式器件的接口设计与此类似,将在讨论中说明。
本文内容做如下安排:第二部分简述图像信号的特点;第三、四部分分别介绍I/O和内存直接写入两种接口设计方法;最后部分是讨论。
二、图像信号介绍
图1给出了采样时钟(PCLK)和输出数据之间的时序关系。在读取图像数据时用PCLK锁存输出数据。除采样时钟和数据输出(D)外,还有水平方向的行同步信号(HSYNC))和垂直方向的场同步信号。对于隔行扫描器件,还有帧同步信号。如图2,一帧包括两场。图2中窄的矩形条是同步脉冲,同步脉冲期间数据端口输出的数据无效。
PLCK存在时,图像数据端口连续不断地输出数据。由于行之间以及场之间输出数据无效,在采集图像数据必须考虑同步信号,读取有效数据才能保证图像的完整性。
三、I/O接口设计
对于MCU、DSP处理器,I/O是最方便的访问方式之一。以I/O方式读取图像数据不仅可以简化电路设计,而且程序也很简单。但由于读取每一个像素都要检测状态,在处理器速度低的情况下,读取图像慢。在处理器速度快或图像采集速度要求不高的应用中,I/O接口方式是一个较好的选择。
1、电路原理和结构
在图像传感器和处理器之间,利用两个锁存器分别锁存状态和图像数据,处理器通过两个I/O端口分别读取。图3中,在采样时钟的上升沿数据锁存器保存传感器输出的图像数据,当处理器通过I/O口读取图像时,数据锁存器输出数据。其它情况下,锁存器输出处于高阻状态。处理器通过状态锁存器读取同步信号和图像就绪指示信号。在数据锁存器保存图像数据的同时,状态锁存器产生Ready信号。处理器读取图像数据时,Ready信号自动清除。处理器读取状态时锁存器驱动总线,其他情况下输出处于高阻状态。
2、图像读取流程
要保证图像的完整性就必须从一场图像的第一行开始读取,对于隔行扫描输出的图像则必须从一帧的第一行开始读取。读取每行图像数据时,则从该行的第一个像素开始。因此,在读取图像数据前应先判断场和行的起始位置。图4是通过I/O接口方式读取图像数据的流程。读取每个像素数据前先查询数据状态,如果数据已准备好则读取数据。
3、同步信号检测
为了简化电路设计,用处理器直接读取同步信号,然后找出场和行的起始位置。
从图2可以看出,处理器读取同步信号时,信号可能处在同步脉冲状态或正常状态。对于那些同步信号反向的器件,则分别为‘0’和‘1’。如果信号处于同步脉冲状态,第一次检测到的正常状态就起始位置。如果信号处于正常状态,则首先检测到脉冲状态,然后用同样的方法确定起始位置。
通过上述方法可以检测出场的起始位置和行起始位置。
4、用VHDL设计锁存器
在应用中,以上两个锁存器的功能和其他逻辑集中在一起,用可编程逻辑器件实现。下面分别为它们的VHDL表示。
设DO(0-7)是锁存器输出端,DI(0-7)是锁存器输入端,DM(0-7)是中间状态,Data_R是数据读信号,则数据锁存器的VHDL描述为:
Process(reset,PCLK)--锁存图像数据
Begin
Ifreset=‘0‘then
DM="00000000";--清除数据
ElseifPCLK‘eventandPCLK=‘1‘then
DM=DI;--锁存数据
Endif;
Endprocess;
Process(DM,Data_R)--读取图像数据
Begin
IfData_R=‘0‘then
DO=DM;--输出图像数据
Else
DO="ZZZZZZZZ"--输出高阻
Endif;
Endprocess;
进一步设数据有效状态为Dstatus,状态读写信号为Status_R(低点平时有效),则状态锁存器的VHDL描述为:
Process(reset,PCLK,Data_R)--数据有效状态控制
Begin
Ifreset=‘0‘orData_R=‘0‘then
Dstatus=‘0‘;--清除状态
ElseifPCLK‘enentandPCLK=‘1‘then
Dstatus=‘1‘;--设置状态
Endif;
Endprocess;
Process(Dstatus,Status_R)--读取状态和同步信号
Begin
IfStatus_R=‘0‘then
DO0=Dstatus;
DO1=VSYNC;
DO2=HSYNC;
DO3=FRAME;
Else
DO="ZZZZZZZZ";--高阻状态
Endif;
Endprocess;
四、内存直接写入接口设计
在处理器速度较慢且图像数据输出的频率不能降低的情况下,采用上述I/O接口方法不能得到完整的图像。另外,有些应用中要求能够实时采集图像。为此,我们设计了高速数据图像采集方法―内存直接写入法。由于SRAM访问控制简单,电路设计方便,被大量嵌入式系统采用,本文以SRAM作为存储器。
1、电路原理和结构
内存直接写入方法通过设计的图像采集控制器不需处理器参与,直接将图像数据写入系统中的内存中,实现高速图像采集。
图5是接口结构图,当需要采集图像时,处理器向控制器发出采集请求,请求信号capture_r从高到低。控制器接到请求脉冲后,发出处理器挂起请求信号HOLD,使处理器的外总线处于高阻状态,释放出总线。控制器收到处理器应答HOLDA后管理总线,同时检测图像同步信号。当检测到图像开始位置时,控制器自动产生地址和读写控制信号将图像数据直接写入内存中。图像采集完成后,控制器自动将总线控制权交还处理器,处理器继续运行,控制器中与采集相关的状态复位。控制器可以根据同步信号或设定的采集图像大小确定采集是否完成。
在图5中,控制器包括同步信号检测、地址发生器、SRAM写控制器、总线控制器和处理器握手电路等主要部分。同步信号检测确定每一场和每一行的起始位置;地址发生器产生写SRAM所需的地址;SRAM写控制器产生写入时序;总线控制器在采集图像时管理总线,采集完成后自动释放;处理器握手电路接受处理器命令、发总线管理请求和应答处理器。
2、SRAM写控制时序
采集图像过程中,控制器自动将数据写入到硬件设定的内存中。写内存时,控制器产生RAM地址、片选信号(/CS)、读信号(/RD)和写信号(/WD),同时锁存传感器输出的数据并送到数据总线(D)上。每写入一个数据后,地址(A)自动增1。采集时/CS保持有效状态而/RD处于无效状态。地址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
ifreset=‘0‘orvcount_o=‘1‘then
capture_s=‘0‘;--清除
elseifcapture_r‘eventandcapture_r=‘0‘then
capture_s=‘1‘;--置状态位
endif;
endprocess;
同步信号检测:
只有在采集状态capture_s有效时才检测场同步信号,场同步信号下降沿置场有效状态,场地址发生器溢出位vcount_o清除场有效状态。只有在vsync_s有效情况下才检测行同步信号,行同步信号下降沿置行有效状态,行计数器溢出信号hcount_o清除行状态。只有在行状态有效的情况下计数器才工作,且将数据写入RAM。
Process(capture_s,reset,vcount_o,vsync)
Begin
Ifreset=‘0‘orvcount_o=‘1‘orcapture_s=‘0‘then
Vsync_s=‘0‘;--清除
Elseifvsync‘eventandvsync=‘0‘then
Vsync_s=‘1‘;--置状态位
Endif;
Endprocess;
Process(vsync_s,reset,hcount_o,hsync)
Begin
Ifvsync_s=‘0‘orreset=‘0‘orhcount_o=‘1‘then
Hsync_s=‘0‘;--清除
Elseifhsync‘eventandhsync=‘0‘then
Hsync_s=‘1‘;--置状态位
Endif;
Endprocess;
五、讨论
我们在基于TI公司的TMS320C3X系列DSP开发的嵌入式指纹图像处理模块中分别用上述两种方法成功实现了指纹图像的采集。
采用I/O接口方式最关键的是要求处理器的频率远高于图像数据输出的频率。例如,如果处理的指令周期为20ns,读取每个数据需要10个指令周期
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电动机采购合同
- 正规工作协议
- 最简单的店铺转让合同
- 马铃薯种植收购合同范文
- 环卫工人聘用合同
- 公司劳务用工协议书范文
- 主播与公司合作协议范本
- 农村道路协议书样板
- 饭店小店转让协议书
- 个人购房合同书
- 面向对象程序设计知到章节答案智慧树2023年山东建筑大学
- 蛋白尿的鉴别诊断
- 2023年德国专利法中文版
- 气瓶内残液残气处理操作规程
- 小学数学-分数混合运算教学设计学情分析教材分析课后反思
- 2023学年完整公开课版Robots will do everything
- 2023年中考语文专题复习:记叙文阅读 专项练习题汇编(含答案)
- 2023年陕西普通高中学业水平考试通用技术试题
- JJG 539-2016数字指示秤
- GB/T 6579-2007实验室玻璃仪器热冲击和热冲击强度试验方法
- GB/T 18508-2014城镇土地估价规程
评论
0/150
提交评论