历史上的今天
返回首页

历史上的今天

今天是:2025年01月26日(星期日)

2018年01月26日 | 基于DSP和CMOS图像传感器的实时图像采集系统的实现方案

2018-01-26 来源:21IC中国电子网

DSP是基于可编程超大规模集成电路和计算机技术发展起来的一门重要技术,DSP芯片的快速数据采集与处理功能以及片上集成的各种功能模块为DSP应用于各种场合提供了极大的方便。而CMOS图像传感器与CCD相比,由于CMOS图像传感器能将时序处理电路和图像信号的前端放大与数字化部分集成于一个芯片内,因而其发展一直受到业界的高度重视。现在,随着技术与工艺的发展,CMOS图像传感器不仅在噪声上得到了有效改善,而且分辨率也得到了明显提高。CMOS图像传感器将以其低廉的价格、实用的图像质量、高集成度和相对较少的功耗在视频采集领域得到广泛的应用。为此,本文提出了一种基于DSP和CMOS图像传感器,同时由复杂可编程逻辑控制芯片CPLD控制的实时图像采集系统的实现方案。


1 硬件设计


图1所示是该图像采集系统的电路结构框图。由图1可见,该图像采集系统主要由OV6630图像传感芯片、CPLD控制模块、SRAM数据存储器、FLASH程序存储器、DSP信号处理器等几部分组成。其图像采集芯片用美国Omni Vision公司开发的彩色CMOS图像传感器OV6630,该芯片与传统的CCD传感器相比,其最明显的优势是集成度高,功耗小,生产成本低,容易与其它芯片整合。该芯片将CMOS光感应核与外围支持电路集成在一起。由于其运用了专有的传感器技术,因而能够消除普通的光电干扰。该芯片的像素阵列为352&TImes;288,即101376像素,还有4行、4列可供选择。图像数据的输出有多种格式(YCrCb4:2:2,GRB4:2:2和RGB原始数据输出格式),本系统选用8通道Y输出RGB原始数据输出格式,以及逐行扫描的工作方式。其输出格式为:


奇数扫描行BGBG……


偶数扫描行GRGR……

 

根据人眼对彩色响应带宽不高的大面积着色特点,每个象素没有必要同时输出3种颜色。因此,数据采样时,奇数扫描行的第1,2,3,4,…象素分别采样和输出B,G,B,G,…数据;偶数扫描行的第1,2,3,4,…象素分别采样和输出G,R,G,R,…数据。在实际处理时,每个象素的R,G,B信号由象素本身输出的某一种颜色信号和相邻象素输出的其他颜色信号构成。这种采样方式在基本不降低图像质量的同时,可以将采样频率降低60%以上。


系统中的核心处理芯片选用TI公司的加强型定点DSP芯片TMS320VC5410A,该DSP的工作频率可达160 MHz,内部有64KBRAM空间可以灵活的映射为数据或程序存储空间。由于DSP的内部存储空间有限,所以,本设计在外部扩展了一大小为1 MB的SRAM数据存储器CY7C1021和256 K的FLASH程序存储器SST39VF400A。控制芯片CPLD选用Altera公司的MAX7000系列芯片EPM7128SLC84-15。该芯片包含84个I/O管脚、128个宏单元,每16个宏单元可组成一个逻辑阵列块,工作电压为5.0 V。该芯片在系统中处于总体时序控制地位,既用于给图像传感器芯片提供控制信号。也用于SRAM和FLASH的片选和读写控制,同时还负责LCD的显示控制。


2 软件设计


当系统配置完毕以后,便可以进行图像数据的采集与处理。在采集图像的过程中,最主要的工作是判别一帧图像数据的开始和结束的时刻。在仔细研究了OV6630输出的同步信号(VSYNC是垂直同步信号、HREF是水平同步信号、PCLK是输出数据同步信号)的基础上。笔者用VHDL语言实现了采集过程起始点的精确控制。图2所示为图像采集期间三个同步信号与数据信号的时序关系图。


每一个帧同步信号VSYNC周期包含288个水平同步信号HREF脉冲,而每一个HREF周期包含352个PCLK时钟脉冲,每一个PCLK时钟可输出一个RGB像素的视频数据。

 

通过监测系统中的垂直同步信号VSYNC的变化,即可得知新的一帧图像是否开始,一帧图像开始后,仅当HREF为高且PCLK输出下降沿时,才能输出一个有效的像素值。VSYNC的上升沿表示一帧新的图像的到来,下降沿则表示一帧图像数据采集开始(CMOS图像传感器是按列采集图像的)。HREF是水平同步信号,其上升沿表示一列图像数据的开始。PCLK是输出数据同步信号。只有当HREF为高电平时,才能开始有效的采集数据,PCLK下降沿的到来表明数据的产生,PCLK每出现一个下降沿可传输一位数据。HREF为高电平期间,共可传输352位数据。在一帧图像中,即VSYNC为低电平期间,HREF将出现288次高电平。而当下一个VSYNC信号的上升沿到来时,即表明分辨率为352&TImes;288的图像采集过程的结束。


CPLD控制的实现过程首先是按顺序检测VSYNC和CHSYNC信号是否有效,这时要注意防止毛刺信号的干扰。由于毛刺信号时间很短,设计时可采用设标志位的方法,即当检测到信号的有效沿后(对于VSYNC是上升沿,而对于CHSYNC是下降沿),可在等待一定时间后再次检测信号,看其是否仍然有效,如果有效,则说明信号是正确的。


由于系统中的像素数据是按PCLK时钟输出的,所以,可用来存储图像的SRAM使能信号CE。另外,其读写信号也是由CPLD产生的。因此,读信号RE只要在CPLD写操作中置“1”即可。由于在数据输出时,PCLK的上升沿信号比较稳定,而RAM可在WR上升沿将数据写入,因此,可以在HREF有效后(HREF=1)采用PCLK作为写信号RW。


由于图像像素点的个数已知,即数据个数已知,故在计数完毕后,CPLD将发出计数完毕信号。而DSP在接收到中止信号后,即可开始读取RAM中的数据,并对数据进行压缩和相应的处理,然后把数据放到LCD液晶屏的数据总线,最后将采集到的图像在液晶屏上显示出来。图3为图像采集系统的软件流程图。

 


3 结束语


本系统采用DSP和CPLD的综合方案来将图像的采集和数据的处理分而治之。实验结果表明,该系统图像清晰,且能满足实时显示的要求,可广泛应用在网络视频和工业自动监测等方面。

推荐阅读

史海拾趣

Fermionics Lasertech Inc公司的发展小趣事

作为一家有社会责任感的企业,Fermionics Lasertech Inc公司始终关注环境保护和社会公益事业。他们积极推行绿色制造理念,采用环保材料和节能技术生产产品;同时,公司还积极参与各类公益活动,回馈社会。这些举措不仅提升了公司的社会形象,也为公司的可持续发展注入了强大动力。

Amphenol RF公司的发展小趣事

在电子科技日新月异的今天,Fermionics Lasertech Inc公司由一群热衷于激光技术研究的科学家和工程师创立。他们致力于开发新型激光器,以满足电子制造行业对高精度加工的需求。在经历无数次实验和失败后,他们终于研发出了具有划时代意义的超精密激光切割设备,这一技术突破为公司赢得了第一笔大额订单,也为公司的后续发展奠定了坚实的基础。

Armel Electronics Inc公司的发展小趣事

随着公司产品的不断升级和市场的逐步扩大,Armel Electronics Inc公司开始寻求更广阔的市场空间。公司积极与国内外知名企业展开合作,共同开发新产品,开拓新市场。通过国际合作,Armel不仅提升了自身的技术水平,还进一步扩大了市场份额,实现了公司的快速发展。

Displaytech公司的发展小趣事

Displaytech公司成立于1989年,作为一家LCD模块供应商在香港崭露头角。当时,液晶显示技术正逐渐崭露头角,Displaytech凭借其敏锐的市场洞察力和技术实力,迅速在市场中占据了一席之地。公司初期专注于小型到中型LCD的制造,为工业、消费和医疗行业的客户提供高质量的产品和技术支持。

台湾岱恩(DAIN)公司的发展小趣事

Displaytech一直致力于技术创新和产品升级。在多年的发展过程中,公司不断推出新的LCD产品,包括触摸屏TFT、单色图形LCD和字符显示模块等。同时,公司还加强了表面贴装能力、PCB组装服务、工具和注塑成型等业务的拓展,进一步提升了整体竞争力。

Allied Controls Incorporated公司的发展小趣事

2012年,Displaytech进行了公司重组,SEACOMP成为公司各部门的主要实体。这次重组不仅优化了公司的组织架构,也进一步整合了公司的资源,提高了运营效率。同时,公司还在中国东莞购买了一家制造工厂,命名为MH MFG,加强了电子合同制造部门的力量。

这些故事只是Displaytech公司发展历程中的一部分,但它们充分展示了公司在电子行业中的实力、创新精神和国际化视野。通过不断的技术创新、产品升级和市场拓展,Displaytech已经成为电子行业中一家具有影响力的企业。

问答坊 | AI 解惑

PN结问题

请问各位大侠: 新的PN结两端有电压吗?(从理论上来解释,而不是从实际测量的角度) 用导线将两端连接起来有电流流过吗? 谢谢!…

查看全部问答>

2009年全国电子大赛模块资料大全(欢迎补充)

本帖最后由 paulhyde 于 2014-9-15 03:21 编辑 希望坛子里的朋友可以联合起来,对这些资料进行一定的规整,这样大家使用起来都方便。 1、对此项提议有兴趣的朋友请跟帖报名,每个人领一个任务,估计半天左右的时间就可以搞定,以标题【EEWORLD模 ...…

查看全部问答>

GPRS在IPCP协商之后的这一帧是什么帧?

GPRS端:7E 80 21 01 07 00 16 03 06 00 00 00 00 81 06 00 00 00 00 83 06 00 00 00 00 66 F8 7E                  C  I  L     D GGSN ...…

查看全部问答>

wince platform builder 更新/pb 5.0集成.net cf 2.0

求06和07年的更新包,有资源的朋友加我QQ380562238或发我邮箱,cw68ster@gmail.com,先谢过大家啦。 或者如何手动把.Net FrameWork Compact 2.0集成到pb 5.0里面?希望尽量详细点,小弟还是初级菜鸟...…

查看全部问答>

FrameBuffer驱动和Lcd驱动的关系

大家好,我想问以下几个问题(操作系统是uclinux) 1.大家都说操纵lcd的显示就是操作framebuffer,但是从底层驱动的角度上来说如何把lcd和framebuffer挂上钩? 2.framebuffer的驱动程序是fbmem.c吗?如果是的话里面的fb_read,fb_write等函数是写 ...…

查看全部问答>

求基于IAR编译软件的嵌入汇编例程

                                 现在我的主程序是用C语言写的,为了提高速度想嵌入一段汇编语言程序,求基于IAR编译软件的嵌入汇编例程。谢谢!…

查看全部问答>

分享ARM7学习经验—12864液晶显示(五)

板上有个小型12864点阵液晶,型号是OCM12864-9,不带字库,需要使用取模软件,常用的有PCTOLCD2002非常经典。 12864与芯片的连接方式如图所示 RS/A0 数据/指令选择  P0.21 R/W读/写控制         P ...…

查看全部问答>

CCSv5链接Beaglebone无法配置,求解

前面配置都一一照做了,到Test Connection时出现上面的错误提示,如何解决?…

查看全部问答>

防火卷帘门控制器的研制

需要准备什么资料啊,抛点东西过来吧,有程序参考参考最后,谢谢了 一、防火卷帘门控制器研制基本要求    防火卷帘门可自动/手动控制三相电动机正反转实现门的开启和关闭。    防火卷帘门平时开启。当防火卷帘门控制器接收到来至保护区的 ...…

查看全部问答>

STM32中断问题

大家好,我最近在STM32上做一个测试程序,是有关中断问题的。测试程序中有三个中断,定时器TIM4溢出中断,定时器2溢出中断,USART2收发中断。其中USART2的中断优先级最高,其次是TIM2,最低是TIM4,三个中断单独使用都正常。现在我将定时器2溢出中 ...…

查看全部问答>