一种数字相机实时采集系统的制作方法

文档序号:6628297阅读:145来源:国知局
专利名称:一种数字相机实时采集系统的制作方法
技术领域
本发明属于数据传输与处理技术领域,尤其涉及数字相机中图像数据的实时采集系统。
背景技术
随着各种新型数字相机的不断出现,数字相机越来越多地成为实时数据采集、图形图像处理、遥感监测、自动检测等系统中的探测器,广泛应用于民用、商业、工业、医疗、科研等诸多领域。但与此同时,数字相机的海量数据输出也对数据采集系统的采集速度提出了更高的要求。
目前,市场上的图像采集卡大多只能用于一些低速场合,对低分辨率相机进行图像采集,而且实时性差,在图像帧率及分辨率要求比较高的场合下,无法获得令人满意的效果。因此急需设计一种高效的数字相机实时采集系统,实现对高精度相机数据的高速采集和传输,满足现代工业生产、生活以及科学研究中日益增长的高速、高精度的数据采集要求。

发明内容
为了克服现有的图像采集卡分辨率较低、传输速率较低的缺点,本发明提供了一种数字相机实时采集系统,它可以实现对高分辨率(1024×768)、高帧率(30fps)的数字图像的实时采集、显示和存储,速率可以达到480Mbps。
本发明提供的数字相机实时采集系统,包括计算机、插在所述计算机PCI插槽上的PCI图像采集卡,以及通过数据总线与所述PCI图像采集卡连接的数字相机所述PCI图像采集卡实现了数字相机到计算机的高速数据采集和传输,具体包括CPLD逻辑控制芯片、高速缓存、PCI接口芯片及其配置E2PROM;所述数字相机通过数据总线和控制线与CPLD逻辑控制芯片相连;所述CPLD逻辑控制芯片分别与所述高速缓存和PCI接口芯片相连;所述配置E2PROM与PCI接口芯片相连;所述PCI接口芯片通过PCI总线与计算机相连接;所述CPLD逻辑控制芯片通过控制线实现计算机对数字相机的同步控制,由CPLD逻辑控制芯片输出一个宽度由计算机给出的触发信号来触发数字相机开始积分、采集并输出图像数据;所述CPLD逻辑控制芯片对数字相机采集到的图像数据首先进行整合处理,将数据变换成为32bit数据格式并实时存储在所述高速缓存中,然后等待高速缓存半满时,将存储在所述高速缓存中的数据实时读出到PCI接口芯片,经由PCI总线送入计算机;所述CPLD逻辑控制芯片控制高速缓存在每帧数据的开头置高速缓存复位,同时设置“可编程快满”偏移量和“可编程快空”偏移量,然后等待数字相机发来的行同步信号由低变高,开始保存一行有效数据,从而保证高速缓存中数据始终是从一帧图像的帧头开始,不会造成图像错位,并保证高速缓存不会因溢出而造成象素数据丢失;所述CPLD逻辑控制芯片通过读取高速缓存的状态到计算机,来确定对所述高速缓存进行相应的读出或写入操作。
在本发明中,所述数字相机输出的若是LVDS格式的数据,则所述PCI图像采集卡还设有驱动转换接口,将所述数字相机输出的LVDS格式的数据转换成TTL格式的数据后再输出给CPLD逻辑控制芯片进行处理。
在本发明中,所述高速缓存采用高速同步先进先出缓存器(FIFO),以保证数据的高速存取。
在本发明中,所述计算机用来控制CPLD逻辑控制芯片对数字相机进行单帧图像捕获、将单帧图像数据实时显示在计算机显示器上、将单帧图像数据实时保存到计算机硬盘中、对所述数字相机进行连续时间的图像采集、在计算机显示器上实时显示连续图像数据、将连续图像数据实时保存到计算机硬盘中、实时读取所述高速缓存的状态、实时置高速缓存复位。
本发明解决了目前图像采集卡对于数字相机的海量数据输出无法实现实时采集与传输的难题,系统具有以下特点采集速率高、实时性能好;操作简单、使用方便;工作稳定、可靠。而且,系统具有广泛的应用前景,只需稍作改动即可用于其它信号的采集处理。


图1是数字相机实时采集系统的第一个实施例的系统结构图,其中各数字标识说明如下

图2是数字相机实时采集系统的第二个实施例的系统结构图,其中各数字标识说明如下

图3是计算机中的软件程序流程图。
图4是数字相机实时采集系统的工作流程图。
具体实施例方式
下面结合附图和实施例来进一步说明本发明。
图1显示了本发明所述的数字相机实时采集系统的第一个实施例,此实施例是为一般的输出为TTL格式数据的数字相机而设计的,包括数字相机1、数据总线2、控制线3、PCI图像采集卡4、PCI总线9、计算机10。其中,PCI图像采集卡4是一块集成了多种芯片和接口的印刷电路板卡,它由CPLD逻辑控制芯片(简称CPLD)5、高速缓存6、PCI接口芯片7和配置E2PROM8共同组成。
PCI图像采集卡4直接插在计算机10的PCI插槽上;数字相机1与PCI图像采集卡4由数据总线2和控制线3连接数字相机1通过数据总线2将拍摄到的图像数据送给PCI图像采集卡4,PCI图像采集卡4通过控制线3发送触发脉冲给数字相机1,控制数字相机1开始积分采集数据;PCI图像采集卡4在CPLD逻辑控制芯片5的控制下实时采集、整理相机数据并送给计算机10;计算机10通过设备驱动程序实现与PCI图像采集卡4的软件接口,通过应用程序实现实时显示、实时存盘等操作。
PCI图像采集卡4内部各芯片连接关系如下数字相机1通过数据总线2与CPLD 5相连;CPLD5与高速缓存6相连,也与PCI接口芯片7相连;高速缓存6与PCI接口芯片7相连接;配置E2PROM8与PCI接口芯片7相连;最后,PCI接口芯片7通过PCI总线9与计算机10相连接。
在第一个实施例中,数字相机1采用输出为TTL格式的普通数字相机,数字相机1输出的数据可以直接送入CPLD 5处理。
图2显示了本发明所述的数字相机实时采集系统的第二个实施例,此实施例是为输出为LVDS(全称Low Voltage Differential Signal)格式数据的数字相机而设计的,其组成部件与第一个实施例基本相同,只是在第一个实施例的基础上,PCI图像采集卡4中还增加了驱动转换接口11。
在第二个实施例中数字相机1输出的是LVDS格式的数据,因此PCI图像采集卡4中设有驱动转换接口11,如采用LVDS接口转换芯片DS90C32,将数字相机1输出的LVDS数据转换成适合CPLD 5处理的TTL信号后,再送到CPLD 5进行处理。
PCI图像采集卡4是整个数字相机实时采集系统中的核心部分,它的功能是实现数字相机1与计算机10之间的数据的高速采集和传输。PCI图像采集卡4直接插在计算机10的PCI插槽上,由计算机10通过PCI总线9为其供电。其各部分的具体实施如下PCI接口芯片7与PCI总线9的信号一一对应,它们之间的接口只需将对应信号相连即PCI图像采集卡4直接插在计算机10的PCI插槽上即可,因此,设计时主要考虑PCI接口芯片局部总线的工作方式,在上述两个实施例中,PCI接口芯片均选用了通用的PCI接口芯片-PCI9054。在实施例中,PCI9054的工作时钟为33MHz,其局部总线采用数据和地址非复用的C模式,总线宽度为32位,从本地地址空间映射到PCI存储器空间的空间大小为4MB;PCI9054采用直接存储访问(DMA)工作方式,既是PCI总线的主控制器,又是局部总线的主控制器,利用其主控功能,通过DMA突发传输模式将数字相机数据传送到计算机中。PCI9054与局部总线通过地址线、数据线、控制信号线连接。这部分属于PCI图像采集卡内部电路,已经在印刷电路板上连接好。
两个实施例均采用IDT公司生产的高速同步FIFO IDT72V251作为高速缓存(简称FIFO),由于IDT72V251输入/输出端口宽度只有9bit,而PCI总线宽度为32bit,为此,实施例中采用4个IDT72V251,每个IDT72V251使用其8个输入/输出端口,并行构成32bit的外部FIFO,与PCI9054的32位数据总线进行通信。该FIFO具有标准的“满”标志位(FF)、“空”标志位(EF),可禁止数据继续写入或读出;同时,还有“可编程的快满”标志(PAF)以及“可编程的快空”标志(PAE),系统根据这些标志位来控制对FIFO的读写操作。在WEN有效时,在WCLK的每一个上升沿,FIFO会把输入数据线上的数据存入内部存储器。同样,在REN有效,并且输出允许OE有效时,在RCLK的每一个上升沿,FIFO会把内部存储器中的数据输出到输出数据线上。
CPLD 5是整个PCI图像采集卡的核心,它实现了对数字相机1的控制、对高速缓存6的控制、对PCI接口芯片7的应答以及这三者之间的逻辑协调工作。两个实施例均采用ALTERA公司的EPM7192作为逻辑控制芯片,其内部逻辑控制功能采用硬件编程语言Verilog来编程实现,利用ALTERA公司的MaxPlusII软件进行逻辑设计、调试和仿真。
配置E2PROM8是PCI接口芯片7的配置芯片,选用美国国家半导体公司的串行E2PROM 93C56,用于在系统加电时配置PCI9054,主要配置了厂家标识、设备标识以及本地总线的基地址空间、I/O空间、中断控制信号等等信息。配置信息预先烧入E2PROM中,上电后PCI9054将依次读取E2PROM的内容来初始化内部寄存器。
PCI总线9是计算机中央处理器与高速外围设备之间互连的纽带,它支持高数据传输率,可以在33M主频、32位数据总线的条件下达到峰值132MB/s的带宽,且可扩展为64位,是当今PC领域中的主流总线。
计算机10是数字相机图像数据的接收终端,它为整个采集系统提供终端显示设备、数据存储设备等硬件设备,同时也为数字相机的图像数据最终与用户见面提供了软件实现。软件部分主要包括底层的设备驱动程序和上层的应用程序。设备驱动程序提供了计算机连接到PCI板卡的软件接口,它主要完成以下了工作对设备的初始化、对端口的读写操作、对中断的处理、对内存的访问、对DMA的处理等,可以根据Windows驱动程序模型(WDM)来设计。应用程序可以采用Visual C++6.0进行开发,它提供了良好的用户界面,用户可以方便地对数字相机图像进行单帧采集、连续采集、实时显示、实时存盘等操作。
计算机中软件部分的工作流程如图3所示,计算机启动后,操作系统首先检测是否存在PCI设备,如果不存在,则不加载驱动程序。如果操作系统检测到存在PCI设备,则为PCI设备加载驱动程序,初始化PCI设备,配置PCI9054,为DMA分配内存缓冲区等,为数字相机数据的实时采集工作做好准备,DMA操作准备就绪。计算机开始实时采集数字相机图像数据时,先判断向计算机发来的数据是否是新一帧数据,如果不是,则不断循环等待,一直等到有新一帧数据到来,从一帧的开头将数据写入FIFO,这样保证了FIFO中数据始终都是从一帧图像的帧头开始的,不会造成图像错位。一直向FIFO中写数据,直到FIFO半满的时候,开始DMA传输,将FIFO中数据读出,直接送至计算机内存,这样,数字相机的图像数据连续不断地写入FIFO,而FIFO中的图像数据又以DMA方式高速实时地送入计算机,实现了数字相机数据的实时采集。而且可根据实际的需要,对相机图像数据进行实时显示或实时存储。对相机数据的实时采集工作将连续进行,直至用户选择退出。
下面以第二个实施例为例详细说明本发明的工作过程,第一个实施例只是少了驱动转换接口11进行电平转换处理的部分,其工作机理与第二个实施例均相同,整个系统的工作流程图如图4所示。
整个系统可以实现以下操作实时读相机数据、读FIFO状态以及写FIFO复位。
1.实时读数字相机1的图像数据。
计算机10在实时读取数字相机1的数据的同时,也实现了对数字相机1的同步控制。由计算机10给出脉冲宽度值,经过PCI总线9和PCI接口芯片7送到CPLD5,CPLD5根据这个脉冲宽度值输出相应宽度的触发脉冲,由控制线3发给数字相机1,触发数字相机1开始积分、采集图像,输出图像数据、行同步、帧同步以及时钟信号。
数字相机1将采集到的图像数据(包括同步信号)送到PCI图像采集卡4,PCI图像采集卡4收到数据后,首先经过驱动转换接口11进行电平转换处理,处理后的数据送到CPLD5处进行整合处理,将数据变换成为适合于PCI总线9传输的32bit的数据格式并实时存储在FIFO6中,等待FIFO达到半满状态后,将数据以DMA的方式实时地送入计算机,实现对数字相机数据的实时采集。具体操作如下CPLD5首先要对数字相机发来的数据进行判断“是否是新一帧图像的开头”,如果是,CPLD5就置FIFO6复位,同时设置“可编程快满”偏移量和“可编程快空”偏移量,这就保证了在接收一帧数据的过程中高速缓存不会溢出,从而不会有丢象素的现象发生。然后等待图像的行同步信号由低变高,这时开始传输一行有效数据,CPLD5将每两个象元的数据整合成一组32bit的数据,放到FIFO6的输入数据线上,同时设定FIFO6的写允许信号WEN有效,并给出WCLK信号,在WCLK信号的上升沿把FIFO6输入数据线上的数据写入FIFO6中。
向FIFO中写数据写到半满的时候,开始DMA传输,从FIFO6中读出数据,直接送至计算机内存。读FIFO6中数据到计算机10时,CPLD5置FIFO6的读允许信号REN有效,输出允许信号OE有效,同时给出RCLK,在RCLK的每一个上升沿,FIFO6会把内部存储器中的数据顺序输出到PCI接口芯7片的数据线上,经由PCI总线9,将数字相机的图像数据送入计算机10的内存缓冲区,最后可根据实际需要,对相机图像数据进行单帧采集、连续采集或实时显示在计算机屏幕上。
以上向FIFO中写数据和读FIFO数据是同时进行的,一旦DMA传输开始后,数字相机的图像数据就连续不断地写入FIFO,而FIFO中的图像数据又以DMA方式实时地送入计算机,实现数字相机数据的实时采集。这里置WEN信号有效与否要受FIFO6的满信号(FF)控制,只有在FIFO6不满的情况下才允许数据写入;RCLK信号的给出与否要受FIFO6空信号(EF)的控制,只有在FIFO6非空的情况下才能将其中数据读出。当本行的数据传输完毕时,行同步信号就变低,CPLD5将等待行同步信号再次变高,即下一行有效数据到来时再开始对下一行象元数据进行同样的操作。当帧同步信号和行同步信号都变低时,表示一帧图像数据已经传输完毕。
计算机10通过CPLD5,可以不断向数字相机1发送宽度由计算机10指定的触发脉冲,来触发数字相机1不断积分、采集图像,数字相机不断地输出图像数据、行同步、帧同步以及时钟信号,速率可达以30fps,这样,由计算机10同步控制数字相机1,实现了数字相机图像连续采集并传输的效果。等到帧同步信号再次变高时,CPLD5就如上所述开始采集下一帧图像。
2.计算机10除了进行读相机数据的操作外,还可以读FIFO6的状态到计算机10,来决定对所述FIFO进行正确的操作。这时,CPLD5直接将此时FIFO6的四个状态(FULL、Almost FULL、EMPTY、Almost EMPTY)发送给PCI接口芯片7,经由PCI总线9送入计算机10。
3.若计算机10要写FIFO6复位,则计算机10发出一个FIFO复位指令,经过PCI总线9和PCI接口芯片7到CPLD5,由CPLD5发出一个复位脉冲到FIFO6,使高速缓存FIFO6回到复位状态。
整个系统采用了高速PCI接口芯片,结合CPLD灵活的现场可更改性、可再配置能力,成功实现了数字相机到计算机的海量数据实时传输、显示和存储,采集速率可达480Mbps。系统具有采集速率高、实时性能好,操作简单、使用方便,工作稳定可靠等特点,用户可以方便地对数字相机进行单帧图像实时捕获、单帧图像数据实时显示、单帧图像数据实时保存、连续帧图像实时采集、连续帧图像实时显示、连续帧图像实时保存、实时读取图像采集卡中FIFO状态、实时置图像采集卡中FIFO复位。系统在数字图像采集及传输方面取得了积极的成果,而且,本系统具有广泛的应用前景,只需稍作改动即可用于其它信号的采集处理。
权利要求
1.一种数字相机实时采集系统,包括计算机、插在所述计算机PCI插槽上的PCI图像采集卡,以及通过数据总线与所述PCI图像采集卡连接的数字相机;其特征在于所述PCI图像采集卡实现了数字相机到计算机的高速数据采集和传输,具体包括CPLD逻辑控制芯片、高速缓存、PCI接口芯片及其配置E2PROM;所述数字相机通过数据总线和控制线与CPLD逻辑控制芯片相连;所述CPLD逻辑控制芯片分别与所述高速缓存和PCI接口芯片相连;所述配置E2PROM与PCI接口芯片相连;所述PCI接口芯片通过PCI总线与计算机相连接;所述CPLD逻辑控制芯片通过控制线实现计算机对数字相机的同步控制,由CPLD逻辑控制芯片输出一个宽度由计算机给出的触发信号来触发数字相机开始积分、采集并输出图像数据;所述CPLD逻辑控制芯片对数字相机采集到的图像数据首先进行整合处理,将数据变换成为32bit数据格式并实时存储在所述高速缓存中,然后等待高速缓存半满时,将存储在所述高速缓存中的数据实时读出到PCI接口芯片,经由PCI总线送入计算机;所述CPLD逻辑控制芯片控制高速缓存在每帧数据的开头置高速缓存复位,同时设置“可编程快满”偏移量和“可编程快空”偏移量,然后等待数字相机发来的行同步信号由低变高,开始保存一行有效数据,从而保证高速缓存中数据始终是从一帧图像的帧头开始,不会造成图像错位,并保证高速缓存不会因溢出而造成象素数据丢失;所述CPLD逻辑控制芯片通过读取高速缓存的状态到计算机,来确定对所述高速缓存进行读出或写入操作。
2.根据权利要求1所述的数字相机实时采集系统,其特征在于所述数字相机输出的若是LVDS格式的数据,则所述PCI图像采集卡还设有驱动转换接口,将所述数字相机输出的LVDS格式的数据转换成TTL格式的数据后再输出给CPLD逻辑控制芯片进行处理。
3.根据权利要求1所述的数字相机实时采集系统,其特征在于所述高速缓存采用高速同步先进先出缓存器,以保证数据的高速存取。
4.根据权利要求1所述的数字相机实时采集系统,其特征在于所述计算机用来控制CPLD逻辑控制芯片对数字相机进行单帧图像捕获、将单帧图像数据实时显示在计算机显示器上、将单帧图像数据实时保存到计算机硬盘中、对所述数字相机进行连续时间的图像采集、在计算机显示器上实时显示连续图像数据、将连续图像数据实时保存到计算机硬盘中、实时读取所述高速缓存的状态、实时读取象素所在的行数。
全文摘要
一种数字相机实时采集系统,属于电子技术中的数据传输与处理技术领域。为了克服现有的图像采集卡分辨率较低、传输速率较低的缺点,本发明提供了一种数字相机实时采集系统,包括数字相机、PCI图像采集卡和计算机。其核心部分PCI图像采集卡采用高速PCI接口芯片,结合高速缓存和CPLD逻辑控制芯片,实现了数字相机与PCI总线间的高速数据实时传输,很好地解决了计算机从外部设备进行高速、大数据量采集的难题。本发明具有采集速率高、实时性能好,操作简单、使用方便,工作稳定、可靠,可扩展性强等优点。
文档编号G06F3/00GK1722810SQ20051008273
公开日2006年1月18日 申请日期2005年7月11日 优先权日2005年7月11日
发明者李茂堂 申请人:中国水利水电科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1