CN102012948B - 基于usb的数据实时采集和存储系统及方法 - Google Patents
基于usb的数据实时采集和存储系统及方法 Download PDFInfo
- Publication number
- CN102012948B CN102012948B CN2010101443066A CN201010144306A CN102012948B CN 102012948 B CN102012948 B CN 102012948B CN 2010101443066 A CN2010101443066 A CN 2010101443066A CN 201010144306 A CN201010144306 A CN 201010144306A CN 102012948 B CN102012948 B CN 102012948B
- Authority
- CN
- China
- Prior art keywords
- buffer
- data
- write
- input
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及基于USB的数据实时采集和存储系统及方法,包括与成像仪相连接的数据采集装置和计算机,本发明要解决的技术问题是提供一种基于USB的数据实时采集和存储系统及方法,以克服现有技术中存在的缺陷。本发明具有采集速度快,系统实时性好,传输可靠性高,并具有使用体积小,便于携带,工作性能稳定等优点。
Description
技术领域
本发明涉及图像数据采集与处理技术,尤其涉及高光谱成像仪的数据采集和处理技术。
背景技术
随着高光谱成像技术的高度发展,数据流量越来越大,实时性要求也不断提高,这给高速实时数据采集系统带来了更大的挑战。为了避免PC系统数据处理抖动而发生数据丢失,破坏系统可靠性,更要进一步提高系统实时性,必须研究开发高速数据采集系统。因此,需要一种高效的图像数据实时采集及存储系统,实现对高光谱成像数据的高速采集、传输和存储,为高光谱成像技术提供有利的技术支持。
发明内容
本发明要解决的技术问题是提供一种基于USB的数据实时采集和存储系统及方法,以克服现有技术中存在的缺陷。
本发明的技术方案为:
一种基于USB的数据实时采集和存储系统,其特殊之处在于:包括与成像仪相连接的数据采集装置和计算机,
所述数据采集装置用于实现数字图像数据到计算机的高速数据采集和传输,包含四个接口模块、四个高速缓存模块以及两个数据发送模块,所述四个接口模块、四个高速缓存模块以及两个数据发送模块可构成四路独立的数据传输通道;
所述接口模块可实现成像仪和高速缓存模块间的电平转换和接口转换;
所述高速缓存模块可实现数据的实时采集和缓存,包含输入端缓存器、输出端缓存器、SRAM以及用以实现输入端缓存器、输出端缓存器和SRAM之间协调工作的控制单元;其中输入端缓存器的输入端与相应的接口模块相连,此输入端缓存器的输出端与SRAM的输入端相连;SRAM的输出端与输出端缓存器的输入端相连;所述输入端缓存器、输出端缓存器分别为高速同步先进先出缓存器;
所述数据发送模块可实现四个高速缓存模块与计算机的通信,包括USB控制芯片和USB连接器,其中USB控制芯片包括8051单片机、串行接口引擎SIE、通道控制缓存器(FIFO0)、A通道缓存器(FIFO1)和B通道缓存器(FIFO2),其中8051单片机用于对通道控制缓存器(FIFO0)、A通道缓存器(FIFO1)和B通道缓存器(FIFO2)进行配置,串行接口引擎SIE用于对输入数据进行译码、编码、错误纠正和位填充并变换为USB所需的电平;其中通道控制缓存器(FIFO0)用于控制A通道缓存器(FIFO1)和B通道缓存器(FIFO2)是否接收数据,A通道缓存器(FIFO1)和B通道缓存器(FIFO2)用于分别发送一个高速缓存模块的数据,其输入端与相应的高速缓存模块中的输出端缓存器的输出端相连,其输出端分别与串行接口引擎SIE相连,所述串行接口引擎SIE与USB连接器相连,USB连接器通过USB电缆与计算机相连。
上述接口模块为电平转换器,实现将LVDS信号转换为TTL电平信号;
所述四个高速缓存模块中的控制单元和高速同步先进先出缓存器通过FPGA实现。
上述计算机包含USB接口、内存、用于实现数据快速访问和存储的磁盘阵列、用于实现图像采集及存储系统开启和关闭的开启关闭模块、用于实现图像数据的实时显示的显示模块、用于实现图像数据的按需存储功能的处理单元。
一种在权利要求1所述系统中实现的数据实时采集和存储方法,其特殊之处在于,包含如下步骤:
步骤1]连接成像仪、数据采集装置和计算机;
步骤2]将每个高速缓存模块的存储空间分为n个缓存块,记为A0~A(n-1),且任意时刻指定的写缓存块和读缓存块地址不同;
设定输入端缓存器的最大输入缓存阈值和最小输入缓存阈值,设定输出端缓存器的输出缓存阈值;
将计算机内存分为m个缓存块,记为B0~B(m-1),且任意时刻指定的写缓存块和读缓存块地址不同;
步骤3]控制单元控制高速缓存模块进行数据采集;
同时USB控制芯片进行数据采集;
同时处理单元控制计算机进行数据采集;
步骤4]关闭图像采集功能。
步骤3]中所述控制单元控制高速缓存模块进行数据采集步骤如下:
步骤310]控制单元判断输入端缓存器状态是否大于最大输入缓存阈值;
步骤311]
A.若输入端缓存器状态大于最大输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则判断输出端缓存器状态是否小于最大输出缓存阈值;
若输出端缓存器状态小于最大输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;
若该读缓冲块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];
若该读缓冲块不可读,则返回步骤310];
若输出端缓存器状态大于输出缓存阈值,则返回步骤310];
B.若输入端缓存器状态小于最大输入缓存阈值,则判断输出端缓存器状态是否小于输出缓存阈值;
若输出端缓存器状态小于输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;
若该读缓存块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];
若该读缓存块不可读,则判断输入端缓存器状态是否大于最小输入缓存阈值;
若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则返回步骤310];
若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310];
若输出端缓存器状态大于输出缓存阈值,则判断输入端缓存器状态是否大于最小输入缓存阈值;
若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则返回步骤310];
若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310]。
步骤3]中所述USB控制芯片的数据采集步骤如下:
步骤320]开启A通道和B通道;否则,系统处于等待状态;
步骤321]若开启通道成功,则判断A和B哪个通道为空闲状态;
步骤322]
若A通道空闲,则第一路数据通过A通道将高速缓存模块的输出端缓存器中的数据写入到A通道缓存器(FIFO1),并且一次性读写256个16bit数据;
若B通道空闲,则第二路数据通过B通道将高速缓存中的数据写入到B通道缓存器(FIFO2)中,并且一次性读写256个16bit数据;
步骤323]若可以关闭A和B通道,则返回步骤320];否则,返回步骤322]。
步骤3]中所述处理单元控制计算机进行数据采集步骤如下:
步骤330]处理单元判断计算机内存中指定的写缓存块是否为可写;
步骤331]
若该写缓冲块可写,则将指定大小的数据从A通道缓存器(FIFO1)或B通道缓存器(FIFO2)写入该缓存块,然后返回步骤330];
若该写缓冲块不可写,则判断计算机内存中指定的读缓存块是否为可读;
若该读缓冲块可读,则将指定大小的数据从计算机内存读入到磁盘阵列,然后返回步骤320];
若该读缓冲块不可读,则返回步骤330]。
以上步骤中指定大小的数据是指不大于一个缓存块空间大小的数据。
n值取16或32;m值取16或32;m值与n值可相同也可不相同。
本发明的技术效果为:
1、采集速度快,系统实时性好,传输可靠性高,并具有使用体积小,便于携带,工作性能稳定等优点。该方案同样也适用于其它实时性要求比较高的数据采集系统。可满足不同带宽下的实际需求。例如:高分辨率成像光谱仪、立体测量相机、可见光近红外相机、短波红外相机、热红外成像仪等。在这里只需稍作改动便可以用于上述成像仪的采集处理。
2、性能稳定,具有良好的可靠性。可以实现对高分辨率、高帧频的数字图像的实时采集、显示和存储。单USB接口可以传输两路速率相同或不同的数据。单USB接口速率不小于35Mbytes/s。
附图说明
图1是本发明中系统组成示意图。
图2是本发明中实现数据采集与存储的系统结构图。
图3为本发明实施例中计算机对数据进行采集、显示和存储的软件流程图。
图4为本发明中高速缓存模块结构框图;本发明中每路数据使用一个缓存单元。
图5为本发明中方法的逻辑示意图,其中F0为输入端缓存器,F1为输出端缓存器。
图6为高速缓存模块的读写缓存块空间分配原理图。
图7为本发明中一个USB接口传输两路数据的实现原理图。
具体实施方式
本发明基于USB的数据实时采集和存储系统可用于高光谱成像仪数据实时采集,包括与高光谱成像仪相连接的数据数据采集装置和计算机。数据采集装置用于实现数字图像数据到计算机的高速数据采集和传输,包含四个接口模块、四个高速缓存模块以及两个数据发送模块,四个高速缓存模块中的控制单元和高速异步先进先出缓存器通过FPGA实现;四个接口模块、四个高速缓存模块以及两个数据发送模块可构成四路独立的数据传输通道;接口模块为电平转换器,接口模块将LVDS信号转换为TTL电平信号,可实现成像仪和高速缓存模块间的电平转换和接口转换;高速缓存模块可实现数据的实时采集和缓存,包含输入端缓存器、输出端缓存器、SRAM以及用以实现输入端缓存器、输出端缓存器和SRAM之间协调工作的控制单元;其中输入端缓存器的输入端与相应的接口模块相连,此输入端缓存器的输出端与SRAM的输入端相连;SRAM的输出端与输出端缓存器的输入端相连;输入端缓存器、输出端缓存器分别为高速异步先进先出缓存器;数据发送模块可实现四个高速缓存模块与计算机的通信,包括USB控制芯片和USB连接器,其中USB控制芯片包括8051单片机、串行接口引擎SIE、通道控制缓存器(FIFO0)、A通道缓存器(FIFO1)和B通道缓存器(FIFO2),其中8051单片机用于对通道控制缓存器(FIFO0)、A通道缓存器(FIFO1)和B通道缓存器(FIFO2)进行配置,串行接口引擎SIE用于对输入数据进行译码、编码、错误纠正和位填充并变换为USB所需的电平;其中通道控制缓存器(FIFO0)用于控制A通道缓存器(FIFO1)和B通道缓存器(FIFO2)是否接收数据,A通道缓存器(FIFO1)和B通道缓存器(FIFO2)用于分别发送一个高速缓存模块的数据,其输入端与相应的高速缓存模块中的输出端缓存器的输出端相连,其输出端分别与串行接口引擎SIE相连,串行接口引擎SIE与USB连接器相连,USB连接器通过USB电缆与计算机相连。计算机包含USB接口、内存、用于实现数据快速访问和存储的磁盘阵列、用于实现图像采集及存储系统开启和关闭的开启关闭模块、用于实现图像数据的实时显示的显示模块、用于实现图像数据的按需存储功能的处理单元。计算机内存分为多个缓存块,其输出端接磁盘阵列;磁盘阵列用于实现;处理单元用于计算机数据存储控制。计算机具有高带宽的内存,可实现数据的快速访问。计算机的磁盘阵列不仅可扩展硬盘空间,还大大提高了硬盘写入速率。
本发明基于USB的数据实时采集和存储系统所采用的数据实时采集和存储方法,包括以下步骤:
步骤1]连接成像仪、数据采集装置和计算机;
步骤2]将每个高速缓存模块的存储空间分为n个缓存块,记为A0~A(n-1),且任意时刻指定的写缓存块和读缓存块地址不同;
设定输入端缓存器的最大输入缓存阈值和最小输入缓存阈值,设定输出端缓存器的输出缓存阈值;
将计算机内存分为m个缓存块,记为B0~B(m-1),且任意时刻指定的写缓存块和读缓存块地址不同;
步骤3]控制单元控制高速缓存模块进行数据采集;同时USB控制芯片进行数据采集;同时处理单元控制计算机进行数据采集;
步骤4]关闭图像采集功能。
其中,步骤3]中控制单元控制高速缓存模块进行数据采集步骤如下:
步骤310]控制单元判断输入端缓存器状态是否大于最大输入缓存阈值;
步骤311]
A.若输入端缓存器状态大于最大输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则判断输出端缓存器状态是否小于最大输出缓存阈值;
若输出端缓存器状态小于最大输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;
若该读缓冲块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];
若该读缓冲块不可读,则返回步骤310];
若输出端缓存器状态大于输出缓存阈值,则返回步骤310];
B.若输入端缓存器状态小于最大输入缓存阈值,则判断输出端缓存器状态是否小于输出缓存阈值;
若输出端缓存器状态小于输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;
若该读缓存块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];
若该读缓存块不可读,则判断输入端缓存器状态是否大于最小输入缓存阈值;
若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则返回步骤310];
若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310];
若输出端缓存器状态大于输出缓存阈值,则判断输入端缓存器状态是否大于最小输入缓存阈值;
若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则返回步骤310];
若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310]。
其中,步骤3]中USB控制芯片的数据采集步骤如下:
步骤320]开启A通道和B通道;否则,系统处于等待状态;
步骤321]若开启通道成功,则判断A和B哪个通道为空闲状态;
步骤322]
若A通道空闲,则第一路数据通过A通道将高速缓存模块的输出端缓存器中的数据写入到A通道缓存器(FIFO1),并且一次性读写256个16bit数据;
若B通道空闲,则第二路数据通过B通道将高速缓存中的数据写入到B通道缓存器(FIFO2)中,并且一次性读写256个16bit数据;
步骤323]若可以关闭A和B通道,则返回步骤320];否则,返回步骤322]。
其中,步骤3]中处理单元控制计算机进行数据采集步骤如下:
步骤330]处理单元判断计算机内存中指定的写缓存块是否为可写;
步骤331]
若该写缓冲块可写,则将指定大小的数据从A通道缓存器(FIFO1)或B通道缓存器(FIFO2)写入该缓存块,然后返回步骤330];
若该写缓冲块不可写,则判断计算机内存中指定的读缓存块是否为可读;
若该读缓冲块可读,则将指定大小的数据从计算机内存读入到磁盘阵列,然后返回步骤320];
若该读缓冲块不可读,则返回步骤330]。
上述步骤中指定大小的数据是指不大于一个缓存块空间大小的数据。
上述步骤中n值取16或32;m值取16或32;m值与n值可相同也可不相同。
本发明原理:
为了实现数据快速采集,具体包括四路数据接口通道,高光谱成像仪的数据由接口模块的四路通道下发;因图像数据的实时传输率不低于35Mbytes/s,因此计算机接口选用USB接口,为解决大容量数据的缓存,本发明通过SRAM与FPGA内部FIFO的结合,将单端口SRAM改进为双端口SRAM。并且对SRAM的读写过程进行优化。此方法保证了硬件数据可靠性的同时,大大提高了实时系统的传输速率。
控制单元、输入端缓存器、输出端缓存器由FPGA实现,输入端缓存器为高速同步先进先出缓存器(FIFO);为了避免计算机处理数据时因抖动而发生数据丢失,破坏系统的可靠性,在本发明中,每一路数据都经过一个高速缓存模块,高速缓存模块内包括一块高速缓存SRAM,输出端缓存器为高速同步先进先出缓存器。
图1是本发明基于USB的数据实时采集和存储系统的结构示意图,由数据采集装置和计算机组成。计算机采用WINDOWS XP操作系统,通过软件控制高速数据采集装置和磁盘阵列,可对数据进行采集与存储。来自高光谱成像仪的多路数据通过数据采集装置装置中的FPGA,再通过装置中的高速USB2.0接口,实时传输到计算机的数据采集系统中存储,其中一个高速USB2.0接口可以传输两路数据。
图2为本发明基于USB的数据实时采集和存储系统的系统结构框图。成像仪采用LVDS信号下传数据。接口模块和高速缓存模块之间采用数据总线、控制总线,高速缓存模块和数据发送模块之间采用控制总线、地址总线、数据总线等,数据发送模块和计算机USB2.0接口之间采用USB2.0总线。其中图像采集装置由接口模块、电平转换器、高速缓存模块(FPGA及其配置芯片)、数据发送模块(USB2.0配置芯片)、组成。接口模块采用90LV032A。USB2.0配置芯片采用CY7C68013。
成像仪与数据采集装置相连,将拍摄到的图像数据发送到采集装置,图像采集装置直接插在计算机的USB2.0插槽上。计算机机通过设备驱动程序及自动下载固件驱动程序实现与采集装置的软件之间的通信,控制数据的采集、显示、存储等功能。
本发明的应用背景为总数据率260Mbps的4路数据,其中两路数据率为110Mbps,另2路数据率为20Mbps,每1路都是2bit的数据并行传输,共包含4对LVDS信号线,分别为时钟,使能,数据1,数据2。因这4路数据相互独立,故采用两片USB控制芯片及四路独立的数据传输通道分别对其进行采集。将一路110Mbps速率的数据和一路20Mbps速率的数据分成一组,其余两路为一组,每组数据占用一片USB控制芯片,这样每片USB控制芯片数据采集速率为130Mbps,带宽均摊后采集更加稳定可靠。
图3为本发明中计算机的软件流程图。整个软件在VC环境下开发完成,主要由USB驱动、数据采集、实时存储、数据解压缩与解压缩后图像的回放显示等部分组成。在本发明中为数据采集与实时存储各开辟一个线程,采集线程比存储线程高一个优先级。数据传输的采集与停止,是由软件与USB通信来控制,通过软件向USB控制芯片发控制指令。在采集线程中申请一块内存作为应用程序堆区缓存,用指针在线程之间传递地址数据,避免数据在PC主存中无效的搬移,提高了数据传递效率;多线程实现多功能,用事件消息进行线程同步,可以使采集和存储在逻辑上并行执行,将两个操作在物理上大块的读写时间切换,用操作系统打碎为小时间段的线程切换,避免数据拥塞在USB管脚阻碍进程,同时保证了数据的高速实时存储。在操作异常时,可以强行撤消数据采集,避免数据的溢出。为了提高缓存效率,本发明将缓存分成16个读写子块,B0~B15,读写操作各占一个块,写在前,读在后,对16个块循环读写。这样的结构缓存利用率几乎达到100%,远高于乒乓50%的利用率。子块容量小于磁盘阵列的缓存,每次可将数据完全写入磁盘缓存,充分利用硬盘的突发高带宽特性,进一步提高读写效率。
图4为本发明基于USB的数据实时采集和存储系统中高速缓存模块的结构框图。高速缓存模块由FPGA内部的FIFO及外部的一块单端口SRAM构成。FIFO与单端口SRAM共同组成了双端口高速缓存,大大提高了系统的实时性。
图5为本发明基于USB的数据实时采集和存储系统对高光谱成像仪数据实时采集方法的逻辑示意图。合理有效地全局控制可以优化SRAM的计算机内存使用。在全局控制中数据使能优先级最高。
图6为高速缓存模块的读写缓存块空间分配原理图。将SRAM存储空间分为16块,记为A0~A(n-1)。在读和写的过程只需保证不不同时访问一块存储空间,n的选择需要均衡存储空间的使用率、FIFO选择及实时数据采集装置速率,优选16和32。同理,计算机内存分为m个缓存块,记为B0~B(m-1),且任意时刻指定的写缓存块和读缓存块地址不同,空间分配原理图与高速缓存模块类同。
图7为本发明实施例中一个USB接口传输两路数据的实现原理图。USB控制芯片中的地址线不停的在两个通道中选择,发现其中一个通道空闲,即可以传输数据状态时,就将高速缓存中的数据写入到USB中,并且一次性读写256个16bit的数据。
Claims (5)
1.一种基于USB的数据实时采集和存储系统,其特征在于:包括与成像仪相连接的数据采集装置和计算机,
所述数据采集装置用于实现数字图像数据到计算机的高速数据采集和传输,包含四个接口模块、四个高速缓存模块以及两个数据发送模块,所述四个接口模块、四个高速缓存模块以及两个数据发送模块可构成四路独立的数据传输通道;
所述接口模块可实现成像仪和高速缓存模块间的电平转换和接口转换;
所述高速缓存模块可实现数据的实时采集和缓存,包含输入端缓存器、输出端缓存器、SRAM以及用以实现输入端缓存器、输出端缓存器和SRAM之间协调工作的控制单元;其中输入端缓存器的输入端与相应的接口模块相连,此输入端缓存器的输出端与SRAM的输入端相连;SRAM的输出端与输出端缓存器的输入端相连;所述输入端缓存器、输出端缓存器分别为高速同步先进先出缓存器;
所述数据发送模块可实现四个高速缓存模块与计算机的通信,包括USB控制芯片和USB连接器,其中USB控制芯片包括8051单片机、串行接口引擎SIE、通道控制缓存器(FIFO0)、A通道缓存器(FIFO1)和B通道缓存器(FIFO2),其中8051单片机用于对通道控制缓存器(FIFO0)、A通道缓存器(FIFO1)和B通道缓存器(FIFO2)进行配置,串行接口引擎SIE用于对输入数据进行译码、编码、错误纠正和位填充并变换为USB所需的电平;其中通道控制缓存器(FIFO0)用于控制A通道缓存器(FIFO1)和B通道缓存器(FIFO2)是否接收数据,A通道缓存器(FIFO1)和B通道缓存器(FIFO2)用于分别发送一个高速缓存模块的数据,其输入端与相应的高速缓存模块中的输出端缓存器的输出端相连,其输出端分别与串行接口引擎SIE相连,所述串行接口引擎SIE与USB连接器相连,USB连接器通过USB电缆与计算机相连。
2.根据权利要求1所述的基于USB的数据实时采集和存储系统,其特征在于:
所述接口模块为电平转换器,实现将LVDS信号转换为TTL电平信号;
所述四个高速缓存模块中的控制单元和高速同步先进先出缓存器通过FPGA实现。
3.根据权利要求1或2所述的基于USB的数据实时采集和存储系统,其特征在于:
所述计算机包含USB接口、内存、用于实现数据快速访问和存储的磁盘阵列、用于实现图像采集及存储系统开启和关闭的开启关闭模块、用于实现图像数据的实时显示的显示模块、用于实现图像数据的按需存储功能的处理单元。
4.一种在权利要求1所述系统中实现的数据实时采集和存储方法,其特征在于,包含如下步骤:
步骤1]连接成像仪、数据采集装置和计算机;所述计算机包含USB接口、内存、用于实现数据快速访问和存储的磁盘阵列、用于实现图像采集及存储系统开启和关闭的开启关闭模块、用于实现图像数据的实时显示的显示模块、用于实现图像数据的按需存储功能的处理单元;
步骤2]将每个高速缓存模块的存储空间分为n个缓存块,记为A0~A(n-1),且任意时刻指定的写缓存块和读缓存块地址不同;
设定输入端缓存器的最大输入缓存阈值和最小输入缓存阈值,设定输出端缓存器的最大输出缓存阈值;
将计算机内存分为m个缓存块,记为B0~B(m-1),且任意时刻指定的写缓存块和读缓存块地址不同;
步骤3]控制单元控制高速缓存模块进行数据采集;
同时USB控制芯片进行数据采集;
同时处理单元控制计算机进行数据采集;
步骤4]关闭图像采集功能;
其中步骤3]中所述控制单元控制高速缓存模块进行数据采集步骤如下:
步骤310]控制单元判断输入端缓存器状态是否大于最大输入缓存阈值;
步骤311]
A.若输入端缓存器状态大于最大输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则判断输出端缓存器状态是否小于最大输出缓存阈值;
若输出端缓存器状态小于最大输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;
若该读缓冲块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];
若该读缓冲块不可读,则返回步骤310];
若输出端缓存器状态大于最大输出缓存阈值,则返回步骤310];
B.若输入端缓存器状态小于最大输入缓存阈值,则判断输出端缓存器状态是否小于最大输出缓存阈值;
若输出端缓存器状态小于最大输出缓存阈值,则控制单元判断指定的读缓存块是否为可读;
若该读缓存块可读,则将指定大小的数据从该缓存块读入输出端缓存器,然后返回步骤310];
若该读缓存块不可读,则判断输入端缓存器状态是否大于最小输入缓存阈值;
若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则返回步骤310];
若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310];
若输出端缓存器状态大于最大输出缓存阈值,则判断输入端缓存器状态是否大于最小输入缓存阈值;
若输入端缓存器状态大于最小输入缓存阈值,则控制单元判断指定的写缓存块是否为可写;
若该写缓冲块可写,则将指定大小的数据从输入端缓存器写入该缓存块,然后返回步骤310];
若该写缓冲块不可写,则返回步骤310];
若输入端缓存器状态小于最小输入缓存阈值,则返回步骤310];
步骤3]中所述USB控制芯片的数据采集步骤如下:
步骤320]开启A通道和B通道;否则,系统处于等待状态;
步骤321]若开启通道成功,则判断A和B哪个通道为空闲状态;
步骤322]
若A通道空闲,则第一路数据通过A通道将高速缓存模块的输出端缓存器中的数据写入到A通道缓存器(FIFO1),并且一次性读写256个16bit数据;
若B通道空闲,则第二路数据通过B通道将高速缓存模块中的输出端缓存器中的数据写入到B通道缓存器(FIFO2)中,并且一次性读写256个16bit数据;
步骤323]若可以关闭A和B通道,则返回步骤320];否则,返回步骤322];
步骤3]中所述处理单元控制计算机进行数据采集步骤如下:
步骤330]处理单元判断计算机内存中指定的写缓存块是否为可写;
步骤331]
若该写缓冲块可写,则将指定大小的数据从A通道缓存器(FIFO1)或B通道缓存器(FIFO2)写入该缓存块,然后返回步骤330];
若该写缓冲块不可写,则判断计算机内存中指定的读缓存块是否为可读;
若该读缓冲块可读,则将指定大小的数据从计算机内存读入到磁盘阵列,然后返回步骤320];
若该读缓冲块不可读,则返回步骤330];
以上步骤中指定大小的数据是指不大于一个缓存块空间大小的数据。
5.根据权利要求4所述的方法,其特征在于:n值取16或32;m值取16或32;m值与n值可相同也可不相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101443066A CN102012948B (zh) | 2010-04-12 | 2010-04-12 | 基于usb的数据实时采集和存储系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101443066A CN102012948B (zh) | 2010-04-12 | 2010-04-12 | 基于usb的数据实时采集和存储系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102012948A CN102012948A (zh) | 2011-04-13 |
CN102012948B true CN102012948B (zh) | 2012-08-29 |
Family
ID=43843121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101443066A Active CN102012948B (zh) | 2010-04-12 | 2010-04-12 | 基于usb的数据实时采集和存储系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102012948B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677812A (zh) * | 2013-11-29 | 2014-03-26 | 北京深思数盾科技有限公司 | 一种硬件设备状态自适应的方法及装置 |
CN104090858A (zh) * | 2014-06-10 | 2014-10-08 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN105744120A (zh) * | 2016-02-01 | 2016-07-06 | 苏州傲科创信息技术有限公司 | 一种高速数据采集卡及数据采集方法 |
CN108243185B (zh) * | 2017-12-21 | 2020-05-12 | 中国科学院西安光学精密机械研究所 | 基于ax88180的科学级ccd千兆以太网通信系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428741A (en) * | 1993-07-26 | 1995-06-27 | Ncr Corporation | High speed image preprocessing system including a multi-purpose buffer for storing digital image data and data cropping means for selectively cropping the digital image data |
CN1637684A (zh) * | 2003-12-30 | 2005-07-13 | 中国科学院空间科学与应用研究中心 | 一种通用fifo接口测试设备和系统 |
EP1916606A2 (en) * | 2006-10-26 | 2008-04-30 | Samsung Electronics Co.,Ltd. | Storage interfacing method and apparatus |
CN101567979A (zh) * | 2009-05-26 | 2009-10-28 | 西北工业大学 | 基于usb2.0的红外摄像机与计算机间数据采集系统 |
CN101901278A (zh) * | 2009-12-18 | 2010-12-01 | 中国科学院西安光学精密机械研究所 | 一种高速数据采集卡及数据采集方法 |
-
2010
- 2010-04-12 CN CN2010101443066A patent/CN102012948B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5428741A (en) * | 1993-07-26 | 1995-06-27 | Ncr Corporation | High speed image preprocessing system including a multi-purpose buffer for storing digital image data and data cropping means for selectively cropping the digital image data |
CN1637684A (zh) * | 2003-12-30 | 2005-07-13 | 中国科学院空间科学与应用研究中心 | 一种通用fifo接口测试设备和系统 |
EP1916606A2 (en) * | 2006-10-26 | 2008-04-30 | Samsung Electronics Co.,Ltd. | Storage interfacing method and apparatus |
CN101567979A (zh) * | 2009-05-26 | 2009-10-28 | 西北工业大学 | 基于usb2.0的红外摄像机与计算机间数据采集系统 |
CN101901278A (zh) * | 2009-12-18 | 2010-12-01 | 中国科学院西安光学精密机械研究所 | 一种高速数据采集卡及数据采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102012948A (zh) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8873581B2 (en) | Graphics multi-media IC and method of its operation | |
CN113946297B (zh) | 基于FPGA和PCIe的光纤数据采集存储系统及方法 | |
CN109412914A (zh) | 流数据与axi接口通信装置 | |
CN106257434A (zh) | 一种基于增强型外设互连协议总线的数据传输方法及装置 | |
CN102012948B (zh) | 基于usb的数据实时采集和存储系统及方法 | |
CN111090603B (zh) | 一种lvds转usb3.0适配器 | |
CN103986931A (zh) | 一种fpga+dsp结构上基于srio总线传输视频数据的实现方法 | |
CN101793557B (zh) | 高分辨率成像仪数据实时采集系统及方法 | |
CN104539886A (zh) | 基于光纤通信的红外数字图像采集和传输系统及方法 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN103294836A (zh) | 基于pcie的雷达数据采集显控系统及其方法 | |
CN101901278B (zh) | 一种高速数据采集卡及数据采集方法 | |
CN116069711B (zh) | 直接内存访问控制器、异构设备、内存访问方法及介质 | |
CN112148651B (zh) | 一种增强型rapidio互联装置及设备 | |
US20090070502A1 (en) | Data Modification Module | |
CN111526317B (zh) | 一种低延时图像采集方法、装置及系统 | |
CN102841871A (zh) | 基于高速串行总线的DMA结构的pipeline读写方法 | |
CN116719755B (zh) | 一种多应用内存访问的方法、装置、设备 | |
CN103218323B (zh) | 一种高速数据采集和传输装置 | |
CN111314641B (zh) | 一种高帧频图像的采集存储显示系统及方法 | |
CN113986192B (zh) | 一种CoaXPress接口数据和Cameralink接口数据互相转换的方法 | |
CN102023947A (zh) | Ieee1394总线与高速智能统一总线的直接接口方法 | |
Zhou et al. | Optimization design of high-speed data acquisition system based on DMA double cache mechanism | |
CN113014880B (zh) | 一种基于高速数据交换的多源图像共享系统 | |
CN215376139U (zh) | 基于arm和fpga的高效数据采集系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |