首页> 中国专利> 一种高速数据采集卡及数据采集方法

一种高速数据采集卡及数据采集方法

摘要

本发明涉及一种高速数据采集卡及数据采集方法,包括接口单元、缓存单元、数据发送单元和控制单元。本发明解决了现有图像采集系统及方法不能满足高分辨率图像数据的实时采集技术问题。本发明具有使用体积小,便于携带,简单方便、工作性能稳定、可靠等优点。

著录项

  • 公开/公告号CN101901278A

    专利类型发明专利

  • 公开/公告日2010-12-01

    原文格式PDF

  • 申请/专利号CN200910311862.5

  • 申请日2009-12-18

  • 分类号G06F17/40;G06F13/38;

  • 代理机构西安智邦专利商标代理有限公司;

  • 代理人王少文

  • 地址 710119 陕西省西安市高新区新型工业园信息大道17号

  • 入库时间 2023-12-18 01:13:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-08

    未缴年费专利权终止 IPC(主分类):G06F17/40 授权公告日:20121219 终止日期:20151218 申请日:20091218

    专利权的终止

  • 2012-12-19

    授权

    授权

  • 2011-01-12

    实质审查的生效 IPC(主分类):G06F17/40 申请日:20091218

    实质审查的生效

  • 2010-12-01

    公开

    公开

说明书

技术领域

本发明涉及一种数据采集系统及方法。

背景技术

高分辨率成像技术的发展要求高效的图像采集及存储系统。随着高分辨率成像技术的发展,对高效可靠的图像采集及存储系统的需要更加迫切。目前,高分辨率成像仪的空间分辨率、时间分辨率都大大提高。普通图像采集及存储系统的吞吐量严重不足,不能满足高分辨率图像数据的实时采集和存储要求。若不能很好的解决该类数据传输及存储的问题,将严重阻碍高分辨率成像技术的发展。因此,设计一种高效的实时图像数据采集卡及数据采集方法,实现对高分辨率成像仪数据的高速采集,可以为高分辨率成像技术提供有利的技术支持。

发明内容

本发明目的是提供一种高速数据采集卡及数据采集方法,其解决了现有图像采集系统及方法不能满足高分辨率图像数据的实时采集技术问题。

本发明的技术解决方案:

一种高速数据采集卡,其特殊之处在于:

所述数据采集卡包括接口单元、缓存单元、数据发送单元和控制单元;

所述接口单元与成像仪相连接,可将LVDS信号转换为TTL电平信号;

所述缓存单元包括输入端缓存器、高速缓存模块、输出端缓存器;所述输入端缓存器的输入端与接口单元连接,其输出端与高速缓存模块连接;所述输出端缓存器的输入端与高速缓存模块连接;所述高速缓存模块分为多个缓存块;

所述数据发送单元包括PCI接口、PCI/PCI-E桥接器;所述输出端缓存器的输出端通过PCI接口与PCI/PCI-E桥接器连接;所述PCI/PCI-E桥接器用于实现PCI接口与PCI-E接口的转换;

所述控制单元用于实现采集卡数据缓存控制。

上述接口单元包括四路数据接口通道,所述数据采集卡还包括设置在接口单元和缓存单元间的数据整合单元,所述数据整合单元用于实现四路数据的拼接和打包。

上述PCI-E接口采用PCI-E×4接口形式。

上述输入端缓存器为高速同步先进先出缓存器,所述高速缓存模块为高速缓存SDRAM,所述输出端缓存器为高速同步先进先出缓存器。

一种基于上述高速数据采集卡的数据采集方法,其包括以下步骤:

步骤1]连接成像仪、采集卡和计算机;

步骤2]将高速缓存模块的存储空间分为n个缓存块,记为A0~A(n-1),且任意时刻指定的写缓存块和读缓存块地址不同;设定输入端缓存器的最大输入缓存阈值和最小输入缓存阈值,设定输出端缓存器的输出缓存阈值;将计算机内存分为m个缓存块,记为B0~B(m-1),且任意时刻指定的写缓存块和读缓存块地址不同;

步骤3]控制单元控制采集卡进行数据采集;

步骤4]关闭图像采集功能;

其中:

步骤3]中的控制单元采用如下步骤进行数据采集:

步骤310]控制单元判断输入端缓存器状态是否大于最大输入缓存阈值;

步骤311]

若输入端缓存器状态大于最大输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;

若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];

若该写缓冲块不可写,则判断输出端缓存器状态是否大于输出缓存阈值;

若输出端缓存器状态小于输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;

若该读缓冲块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];

若该读缓冲块不可读,则返回步骤310];

若输出端缓存器状态大于输出缓存阈值,则返回步骤310];

若输入端缓存器状态小于最大输入缓存阈值,则判断输出端缓存器状态是否小于输出缓存阈值;

若输出端缓存器状态小于输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;

若该读缓存块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];

若该读缓存块不可读,则判断输入端缓存器状态是否大于最小输入缓存阈值;

若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;

若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];

若该写缓冲块不可写,则返回步骤310];

若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310];

若输出端缓存器状态大于输出缓存阈值,则判断输入端缓存器状态是否大于最小输入缓存阈值;

若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;

若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];

若该写缓冲块不可写,则返回步骤310];

若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310]。

上述指定大小的数据是指不大于一个缓存块空间大小的数据。

上述n值取16或32;所述m值取16或32。

上述n值取16或32;所述m值与n值相同。

本发明的技术效果:

1、本发明提供的高速数据采集卡和数据采集方法解决了目前针对高分辨率成像仪的海量数据输出无法实现实时采集的难题,其具有以下特点:图像分辨率高、采集速率高、实时性能好;并具有使用体积小,便于携带,简单方便、工作性能稳定、可靠等优点。该采集卡具有广泛的应用前景,还可以用在所有的高分辨率仪器中。例如:高分辨率成像光谱仪、立体测量相机、可见光近红外相机、短波红外相机、热红外成像仪等。

2、本发明方法保证了硬件数据的可靠性的同时,大大提高了采集卡的传输速率。

3、本发明缓存空间利用率高。本发明在输入端缓存器和输出端缓冲区读和写的过程只需保证不同时访问同一个缓存块,则读写存储空间的利用率为(n-1)/n。n的选择需要均衡存储空间的使用率、输入端缓存器FIFO、输出端缓存器FIFO选择及实时采集卡速率。

4、本发明为满足PCI-E×4的带宽需求,选择将两片高速缓存SDRAM合并为单路使用,图像数据的实时传输率不低于360Mbytes/s。

附图说明

图1是本发明高速数据采集卡的示意图;

图2是本发明高速数据采集卡的结构框图;

图3为本发明高速数据采集卡中缓存单元的结构框图;

图4为本发明高速缓存模块的读写缓存块空间分配原理图;图中的blk是block的缩写;

图5为本发明数据采集方法的逻辑示意图;图中F0表示输入端缓存器,F1表示输出端缓存器。

具体实施方式

本发明高速数据采集卡包括接口单元、缓存单元、数据发送单元和控制单元;接口单元与成像仪相连接,可将LVDS信号转换为TTL电平信号;缓存单元包括输入端缓存器、高速缓存模块、输出端缓存器;输入端缓存器的输入端与接口单元连接,其输出端与高速缓存模块连接;输出端缓存器的输入端与高速缓存模块连接;高速缓存模块分为多个缓存块;数据发送单元包括PCI接口、PCI/PCI-E桥接器;输出端缓存器的输出端通过PCI接口与PCI/PCI-E桥接器连接;PCI/PCI-E桥接器用于实现PCI接口与计算机的PCI-E接口的转换;控制单元用于实现采集卡数据缓存控制。计算机具有高带宽的内存,可实现数据的快速访问。计算机的磁盘阵列不仅可扩展硬盘空间,还大大提高了硬盘写入速率。

为了实现数据快速采集,接口单元具体可包括四路数据接口通道,高分辨率成像仪的数据由四路通道下发;数据采集卡相应还包括设置在接口单元和缓存单元间的数据整合单元,数据整合单元用于实现四路数据的拼接和打包,将接收的多路数据整合为一幅完整的图像。PCI-E接口相应采用PCI-E×4接口形式。本发明中,因图像数据的实时传输率不低于360Mbytes/s,为满足带宽需求,选择将两片高速缓存SDRAM合并为单路使用,为解决大容量数据的缓存,本发明通过SDRAM与FIFO的结合,将单口SDRAM改进为双口SDRAM。并且对SDRAM的读写过程进行优化。此方法保证了硬件数据可靠性的同时,大大提高了实时采集卡的传输速率。

控制单元、输入端缓存器、输出端缓存器由FPGA实现,输入端缓存器为高速同步先进先出缓存器(FIFO);为了避免计算机处理数据时因抖动而发生数据丢失,破坏采集卡的可靠性,在本发明中,高速缓存模块为两块高速缓存SDRAM,输出端缓存器为高速同步先进先出缓存器。

本发明高速数据采集卡所采用的数据采集方法,包括以下步骤:

步骤1]连接成像仪、采集卡和计算机;

步骤2]将高速缓存模块的存储空间分为n个缓存块,记为A0~A(n-1),且任意时刻指定的写缓存块和读缓存块地址不同;设定输入端缓存器的最大输入缓存阈值和最小输入缓存阈值,设定输出端缓存器的输出缓存阈值;将计算机内存分为m个缓存块,记为B0~B(m-1),且任意时刻指定的写缓存块和读缓存块地址不同;

步骤3]控制单元控制采集卡进行数据采集;处理单元控制计算机进行数据采集;

步骤4]关闭图像采集功能;

其中:

步骤3]中的控制单元采用如下步骤进行数据采集:

步骤310]控制单元判断输入端缓存器状态是否大于最大输入缓存阈值;

步骤311]

若输入端缓存器状态大于最大输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;

若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];

若该写缓冲块不可写,则判断输出端缓存器状态是否大于输出缓存阈值;

若输出端缓存器状态小于输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;

若该读缓冲块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];

若该读缓冲块不可读,则返回步骤310];

若输出端缓存器状态大于输出缓存阈值,则返回步骤310];

若输入端缓存器状态小于最大输入缓存阈值,则判断输出端缓存器状态是否小于输出缓存阈值;

若输出端缓存器状态小于输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;

若该读缓存块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];

若该读缓存块不可读,则判断输入端缓存器状态是否大于最小输入缓存阈值;

若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;

若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];

若该写缓冲块不可写,则返回步骤310];

若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310];

若输出端缓存器状态大于输出缓存阈值,则判断输入端缓存器状态是否大于最小输入缓存阈值;

若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;

若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];

若该写缓冲块不可写,则返回步骤310];

若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310]。

以上步骤中指定大小的数据是指不大于一个缓存块空间大小的数据。

n值可取16或32;m值取16或32;m值与n值可相同也可不相同。

图1是本发明高速数据采集卡的示意图。计算机采用WINDOWS XP操作系统,控制数据采集卡和磁盘阵列,可实现对数据的采集与存储。来自成像仪的多路数据通过数据采集卡中的FPGA进行图像数据拼接,形成最终实时数据流,再通过PCI-E×4接口,以DMA方式流入计算机内存,又以DMA方式实时写入磁盘阵列,形成能被后期应用软件直接使用的、大小可超过2GB的NTFS文件。

图2为本发明高速数据采集卡的结构框图。数据采集卡直接插在计算机的PCI-E插槽上,成像仪与数据采集卡相连,将拍摄到的图像数据发送到采集卡。计算机通过设备驱动程序实现与数据采集卡的软件接口,控制采集并实时显示及实现其他功能。

图3为本发明数据采集方法中缓存单元的结构框图。高速缓存由FPGA内部的FIFO及外部的两块SDRAM构成。本发明中利用两片SDRAM扩展了带宽,使之与后续的PCI-E×4接口匹配。FIFO与SDRAM共同组成了双口高速缓存,大大提高了采集卡的实时性。

图4为高速缓存模块的读写缓存块空间分配原理图。将SDRAM存储空间分为n块,记为A0~A(n-1)。在读和写的过程只需保证不不同时访问一块存储空间,n的选择需要均衡存储空间的使用率、FIFO选择及实时采集卡速率,优选16和32。

图5为本发明数据采集方法的逻辑示意图。合理有效地全局控制可以优化SDRAM的计算机内存使用。在全局控制中数据使能优先级最高。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号