|
|
|
嵌入式体系数字图象汇集接口电路设想 |
|
|
择要:本文介绍了两种用于嵌入式体系的数字图象汇集接口体例,I/O接口和内存直接写入。在对汇集速率请求不高的利用中,I/O接口体例可以简化接口电路设想,减少体系资本。对请求及时进行图象措置的体系,直接写入内存法可以在不需求措置器干预的环境下,直接将图象数据写入体系存储区内,实现高速图象汇集。
关头词:嵌入式体系,图象汇集,电路设想
Abstract: In this paper, we present two different interfaces between digital a image sensors and a processor for embed systems, I/O mode and DMW (Direct Memory Write) mode. In I/O mode, processor can read image data through I/O port, and the interface is simple. In DMW mode, image data can be write into RAM directly while a processor is suspended.
Key words: Embed System, Image Capture, Electronic Circuit
一、弁言
跟着半导体技术的飞速生长,具有图象服从的嵌入式利用愈来愈多。从数码相机、可视德律风、多服从挪动德律风等消耗产品到门禁、数字视频监督等产业节制及安防产品,图象汇集和措置已成为首要的构成部分之一。图象汇集需求进行同步旌旗灯号的措置,比凡是的A/D数据汇集过程复杂,电路的设想也较为坚苦。传统PC上的图象汇集卡都是在Philips、Brooktree等半导体公司供应的接口芯片根本上,由专业公司开产生产。在嵌入式体系中不合的措置器和图象传感器的旌旗灯号定义及接口体例不合,没有通用的接口芯片。别的,操纵体系中的现有资本设想图象汇集电路,可以减少器件数量、减少产品体积和降落体系本钱。所以,凡是嵌入式体系中请求自行设想图象汇集接口电路。本文针对不合汇集速率的请求,提出了两种图象汇集接口电路的设想体例。
目前市场上主流的图象传感器有CCD、CMOS两种器件,此中CMOS器件上世纪90年代产生,比来几年来获得了敏捷生长。传感器的输入有摹拟和数字两种。因为CMOS器件功耗小、利用便利,具有直接数字图象输入服从,作者在设想时选用了CMOS数字输入图象传感器件。其他体例器件的接口设想与此近似,将在会商中申明。
本文内容做以下摆设:第二部分简述图象旌旗灯号的特性;第3、四部分别离介绍I/O和内存直接写入两种接口设想体例;最后部分是会商。
2、图象旌旗灯号介绍
图1给出了采样时钟(PCLK)和输入数据(D)之间的时序关系。在读取图象数据时用PCLK锁存输入数据。除采样时钟(PCLK)和数据输入(D)外,另有程度标的目标的行同步旌旗灯号(HSYNC))和垂直标的目标的场同步旌旗灯号(VSYNC)。对隔行扫描器件,另有帧同步旌旗灯号(FRAME)。如图2,一帧包含两场。图2中窄的矩形条是同步脉冲,同步脉冲期间数据端口输入的数据有效。
PLCK存在时,图象数据端口持续不竭地输入数据。因为行之间和场之间输入数据有效,在汇集图象数据必须考虑同步旌旗灯号,读取有效数据才气包管图象的完整性。
3、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;
4、内存直接写入接口设想
在措置器速率较慢且图象数据输入的频次不克不及降落的环境下,采取上述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;
同步旌旗灯号检测:
只需在汇集状况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;
5、会商
我们在基于TI公司的TMS320C3X系列DSP开辟的嵌入式指纹图象措置模块中别离用上述两种体例成功实现了指纹图象的汇集。
采取I/O接口体例最关头的是请求措置器的频次远高于图象数据输入的频次。比方,如果措置的指令周期为20ns,读取每个数据需求10个指令周期,则数据的输入频次不克不及超越5MHz,它低于一般的CMOS图象传感器件最快的数据输入频次。比方海内利用较多的OV7610和OV7620,其一般输入数据频次为13.5MHz。在利用过程中,凡是改变传感器中存放器的设置值,降落其数据输入频次。
本文选用的是CMOS数字输入图象传感器。对摹拟视频旌旗灯号,在设想时应加同步分离和A/D转换电路。图象汇集的数字接口和逻辑节制与本文不异。
在我们体系中所汇集的是单色图象,如果汇集彩色图象逻辑设想是不异的所不合的只是数据宽度和后期措置体例。
详细利用中可按照需求对上述设想进行点窜以满足不合的请求。
|
|
|
|
相关风度图片: |
|
相关技术论文: |
|
|