CN108681510A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN108681510A CN108681510A CN201810488724.3A CN201810488724A CN108681510A CN 108681510 A CN108681510 A CN 108681510A CN 201810488724 A CN201810488724 A CN 201810488724A CN 108681510 A CN108681510 A CN 108681510A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- cached
- external storage
- signal
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0884—Parallel mode, e.g. in parallel with main memory or CPU
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N33/00—Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
- G01N33/48—Biological material, e.g. blood, urine; Haemocytometers
- G01N33/50—Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing
- G01N33/5005—Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing involving human or animal cells
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Immunology (AREA)
- Chemical & Material Sciences (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Hematology (AREA)
- Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Urology & Nephrology (AREA)
- Biotechnology (AREA)
- Food Science & Technology (AREA)
- Medicinal Chemistry (AREA)
- Microbiology (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- Cell Biology (AREA)
- Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Tropical Medicine & Parasitology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据处理技术领域,特别涉及一种数据处理方法及装置。该方法为:采集针对一个细胞并行产生的各个光信号,并将各个光信号分别转换成相应的数字信号;将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定第一缓存器中缓存的数据量大于等于第一设定阈值时,将第一缓存器中缓存的数据包写入外置存储设备,其中,指定数据宽度是基于外置存储设备的总线宽度预设的;从外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据处理方法及装置。
背景技术
目前,一般采用光散射法对血液样本中的白细胞进行分类,在用激光照射白细胞对其进行分类的原理如下:白细胞经过鞘液处理后逐一通过流动室,流动室一侧设置有激光发射器,激光发射器可对通过的白细胞进行激光照射,而产生前向散射光信号,侧向散射光信号和侧向荧光信号,具体的,参阅图1所示,根据针对每个细胞所产生的三个信号来鉴别细胞类型,其中,前向散射光信号表征细胞的体积大小,侧向散射光信号表征细胞内容物多少及复杂程度,侧向荧光强度信号表征细胞核及细胞器核酸含量,用这三个通道的光信号表征一个细胞的特性。具体的,光信号被探测器探测后转为电信号输出至数据处理单元进行处理,并将处理结果上传至个人计算机(Personal Computer,PC)中进行处理,PC根据细胞的三个电信号,在一个多维坐标系上将细胞定位,那么,一次测量中的每个细胞都在多维坐标系上找到对应位置,形成样本的散点图。由于各类细胞在这些信号上的差异性,在散点图上各个类会聚集在一起,而类和类之间有间隙,从而进行分类。
现有技术中,由于细胞流经流动室的速度极快,产生的脉冲信号持续时间仅为1us,为了尽可能详尽的捕捉到细胞产生的脉冲的特征信息,一般采用规格为40MSPS的ADC对三路光学信号进行并行采样。那么,每秒生成的流量为:40M*16(数据位宽)*3(通道数)/8/1024/1024=228.88MB/S,若需要进一步提升采样率则会生成更大的数据量,如,若采用规格为60MMSPS的ADC,则每秒会产生343.32MB数据,受目前传输架构的限制目前通信接口和应用场景的限制,我们很难将所有数据保存下来,但是为了进一步检验FPGA脉冲识别算法的准确率,电子模拟***的电噪声,光学结构造成的光噪声以及样本流是否均匀稳定等问题,我们需要看到所有的原始数据,并对原始数据做出分析。目前,通常直接采用PCI/PCIE采集卡接口、USB接口或高速集成采集卡将数据处理单元处理后的数据传输至PC的硬盘中,当出现数据高并发采集的情况时,在短时间内向PC的硬盘写入大量数据可能会导致PC死机,从到导致检测数据丢失,获取到的数据不完整。
发明内容
本发明实施例的目的是提供一种数据处理方法及装置,用以解决现有技术中存在的在数据高并发采集的情况下,获取到的数据不完整的问题。
本发明实施例中提供的具体技术方案如下:
第一方面,本发明提供一种数据处理方法,该方法包括:采集针对一个细胞并行产生的各个光信号,并将上述各个光信号分别转换成相应的数字信号;将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定上述第一缓存器中缓存的数据量大于等于第一设定阈值时,将上述第一缓存器中缓存的数据包写入外置存储设备,其中,上述指定数据宽度是基于上述外置存储设备的总线宽度预设的;从上述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将上述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
采用本发明提供的数据处理方法,将采集到的并行产生的各个光信号转换成相应的数字信号,并通过组包的方式将各数字信号组包成指定数据宽度的数据包,以及将该数据包转存至外置存储设备中,且指定数据宽度是基于该外置存储设备的总线宽度预设的,并将数据写入外置存储设备的流控与从外置存储设备读取数据的流控独立开来,在采集高并发数据的情况下,避免了在短时间内向PC的硬盘写入大量数据导致PC宕机,从而造成数据丢失,最终获取到的数据不完整的情况的发生。
可选的,该方法进一步包括:
将上述第一缓存器中缓存的数据导入本地第三缓存器,并判断上述第三缓存器中缓存的数据量是否大于等于第一设定阈值;在判定上述第三缓存器中缓存的数据量大于等于第一设定阈值时,将上述第三缓存器中缓存的数据包写入外置存储设备。
上述可选的实施方式表征,可以将外置存储设备数据输入流控单独封装在一个缓存器中,该一个缓存器用于管理外置存储设备数据输入流控,具体的,在判定该一个缓存器中缓存的数据量大于等于设定阈值时,将该一个缓存器中缓存的数据包写入外置存储设备中。
可选的,该方法进一步包括:
判断本地第四缓存器中缓存的数据量是否小于第二设定阈值;在判定上述第四缓存器中缓存的数据量小于第二设定阈值时,从上述外置存储设备获取数据包,并存储至上述第四缓存器中;在判定上述第二缓存器中缓存的数据量小于第三设定阈值时,对上述第四缓存器中缓存的数据进行解包处理,并存储至上述第四缓存器中,以及在接收到上位机的数据上传指令时,将上述第四缓存器中缓存的相应的数字信号上传至上位机进行相应处理。
上述可选的实施方式表征,可以将外置存储设备数据输出流控单独封装在一个缓存器中,该一个缓存器用于管理外置存储设备数据输出流控,具体的,在判定该一个缓存器中缓存的数据量小于设定阈值时,外置存储设备向该一个缓存器中写入数据。
可选的,上述各个光信号包括前向散射光信号,侧向散射光信号和侧向荧光信号。
上述可选的实施方式表征,各个光信号具体包括前向散射光信号,侧向散射光信号和侧向荧光信号,各个数字信号具体包括:前向散射光信相对应的数字信号1,侧向散射光信号相对应的数字信号2和侧向荧光信号相对应的数字信号3。
可选的,上述存储器为先进先出FIFO缓存器;上述外置存储设备为DDR2内存。
上述可选的实施方式表征,为芯片配置的缓存装置可以为若干FIFO缓存器,而外置存储设备可以是由若干DDR2内存组成的DDR2阵列,当然,缓存装置也可以为其他具有缓存功能的缓存器,外置存储设备也可以是其他具有存储功能的存储器,本发明实施例中,在此不做具体限定。
第二方面,本发明提供一种数据处理装置,该装置包括:数据采集单元,用于采集针对一个细胞并行产生的各个光信号,并将上述各个光信号分别转换成相应的数字信号;数据写入单元,用于将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定上述第一缓存器中缓存的数据量大于等于第一设定阈值时,将上述第一缓存器中缓存的数据包写入外置存储设备,其中,上述指定数据宽度是基于上述外置存储设备的总线宽度预设的;数据获取单元,用于从上述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将上述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
可选的,上述数据写入单元进一步用于:
将上述第一缓存器中缓存的数据导入本地第三缓存器,并判断上述第三缓存器中缓存的数据量是否大于等于第一设定阈值;在判定上述第三缓存器中缓存的数据量大于等于第一设定阈值时,将上述第三缓存器中缓存的数据包写入外置存储设备。
可选的,上述数据获取单元进一步用于:
判断本地第四缓存器中缓存的数据量是否小于第二设定阈值;在判定上述第四缓存器中缓存的数据量小于第二设定阈值时,从上述外置存储设备获取数据包,并存储至上述第四缓存器中;在判定上述第二缓存器中缓存的数据量小于第三设定阈值时,对上述第四缓存器中缓存的数据进行解包处理,并存储至上述第四缓存器中,以及在接收到上位机的数据上传指令时,将上述第四缓存器中缓存的相应的数字信号上传至上位机进行相应处理。
可选的,上述各个光信号包括前向散射光信号,侧向散射光信号和侧向荧光信号。
可选的,上述存储器为先进先出FIFO缓存器;上述外置存储设备为DDR2内存。
第三方面,本发明提供一种计算设备,该计算设备包括:存储器,用于存储程序指令;处理器,用于调用上述存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项方法。
第四方面,本发明提供一种计算机存储介质,上述计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述第一方面中任一项方法。
本发明有益效果如下:
综上所述,本发明实施例中,在进行数据处理的过程中,采集针对一个细胞并行产生的各个光信号,并将上述各个光信号分别转换成相应的数字信号;将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定上述第一缓存器中缓存的数据量大于等于第一设定阈值时,将上述第一缓存器中缓存的数据包写入外置存储设备,其中,上述指定数据宽度是基于上述外置存储设备的总线宽度预设的;从上述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将上述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
采用本发明提供的数据处理方法,将采集到的并行产生的各个光信号转换成相应的数字信号,并通过组包的方式将各数字信号组包成指定数据宽度的数据包,以及将该数据包转存至外置存储设备中,且指定数据宽度是基于该外置存储设备的总线宽度预设的,并将数据写入外置存储设备的流控与从外置存储设备读取数据的流控独立开来,在采集高并发数据的情况下,避免了在短时间内向PC的硬盘写入大量数据导致PC宕机,从而造成数据丢失,最终获取到的数据不完整的情况的发生。
附图说明
图1为采用光散射法白细胞进行细胞分类的光学示意图;
图2为本发明实施例中,一种数据处理方法的详细流程图;
图3为本发明实施例中,一种数据传输流程及硬件设计框架示意图;
图4为本发明实施例中,另一种数据处理方法的详细流程图;
图5为本发明实施例中,ARM从FPGA中获取数据的详细流程图;
图6为本发明实施例中,一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,本发明实施例中术语“和”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
当本发明提及“第一”、“第二”、“第三”或者“第四”等序数词时,除非根据上下文其确实表达顺序之意,否则应当理解为仅仅是起区分之用。
下面将通过具体实施例对本发明的方案进行详细描述,当然,本发明并不限于以下实施例。
参阅图2所示,本发明实施例中,一种数据处理方法的详细流程如下:
步骤200:采集针对一个细胞并行产生的各个光信号,并将上述各个光信号分别转换成相应的数字信号。
具体的,在接收到数据采集指令时,启动相应的计时器,并采集针对一个细胞产生的至少一个光信号,以及将上述至少一个光信号包含的每一个光信号分别转换成相应的脉冲信号,其中,上述至少一个光信号是并行产生的。
实际应用中,采用光散射法对血液样本中的白细胞进行细胞分类时,白细胞通过鞘液处理后会逐一通过流动室,而在利用激光照射通过流动室的白细胞时,会产生相应的前向散射光信号(FS),侧向散射光信号(SS)和侧向荧光信号(SF),那么,通过采集上述前向散射光,侧向散射光和侧向荧光进行采集,处理和分析后,即可识别出各白细胞的类别。
具体的,本发明实施例中,在执行步骤200时,在接收到个人计算机(PersonalComputer,PC)下发的数据采集指令时,ARM控制现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA)启动相应的计算时(计数器)对***时钟进行计数,同时启用安装在各个信号通道的信号采集设备分别采集三个信号通道的光信号。
进一步的,针对每一个信号通道分别设置有相应的模数转换器(Analog toDigital,A/D转换器),信号采集设备在采集到相应的光信号之后,可通过设置在该信号通道的A/D转换器将采集到的光信号转换成相应的脉冲信号(即数字信号)。
本发明实施例中,上述各个光信号包括前向散射光信号,侧向散射光信号和侧向荧光信号。
例如,假设信号通道1中安装的信号采集设备1用于采集前向散射光信号,信号通道2中安装的信号采集设备2用于采集侧向散射光信号,信号通道3中安装的信号采集设备3用于采集侧向荧光信号,那么,信号采集设备1在采集到针对细胞X产生的前向散射光信号时,使用设置在信号通道1中的A/D装换器1将信号采集设备1采集到的前向散射光信号转换成相应的数字信号1;信号采集设备2在采集到针对细胞X产生的侧向散射光信号时,使用设置在信号通道2中的A/D装换器2将信号采集设备2采集到的侧向散射光信号转换成相应的数字信号2;信号采集设备3在采集到针对细胞X产生的侧向荧光信号时,使用设置在信号通道3中的A/D装换器3将信号采集设备3采集到的侧向荧光信号转换成相应的数字信号3。
本发明实施例中,针对一个细胞的前向散射光信号,侧向散射光信号和侧向荧光信号是并行产生的,相对应的,使用安装在各个通道上的信号采集设备进行光信号并行采集,并针对采集到的各个光信号在各自对应的信号通道中进行并行处理。
步骤210:将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定上述第一缓存器中缓存的数据量大于等于第一设定阈值时,将上述第一缓存器中缓存的数据包写入外置存储设备,其中,上述指定数据宽度是基于上述外置存储设备的总线宽度预设的。
实际应用中,针对不同信号通道产生的数字信号而言,可以通过在数字信号上添加信号通道号的方式,标识出任一数字信号所属的信号类别。
显然,本发明实施例中,可通过数字信号中包含的信号通道号来区分该数字信号的类别归属。
例如,假设用信号通道号“00”表示前向散射光信号对应的信号通道,用信号通道号“01”表示侧向散射光信号对应的信号通道,用信号通道号“11”表示侧向荧光信号对应的信号通道,那么,若数字信号A中包含的信号通道号为“00”,则表示数字信号A相应的光信号为前向散射光信号;若数字信号B中包含的信号通道号为“01”,则表示数字信号B相应的光信号为侧向散射光信号;若数字信号C中包含的信号通道号为“11”,则表示数字信号C相应的光信号为侧向荧光信号。
本发明实施例中,在对各个数字信号添加相应信号通道后之后,基于预设的组包规则对添加信号通道号后的各数字信号进行组包处理,即将各数字信号组包成指定数据宽度的数据包,并将组包处理以后得到的数据包缓存至本地第一缓存器中,由于本地的缓存器不大(一般仅有几兆),那么,就需要将缓存的数据转存到外置硬件设备中,本发明实施例中,判断上述第一缓存器中缓存的指定数据宽度的数据包的数据量是否达到第一设定阈值,并在判定上述第一缓存器中缓存的数据量大于等于第一设定阈值时,将上述第一缓存器中缓存的指定数据宽度的数据包写入外置存储设备中。
较佳的,上述存储器可以为先进先出(First In First Out,FIFO)缓存器;上述外置存储设备可以为DDR2内存。
由上述描述可知,FPGA需要将获取到的各数字信号存储至外置存储设备中,那么,由于数字信号数据宽度与外置存储设备的总线宽度标准不一致,那么,就需要将数字信号进行组包处理,使得组包后的数据包的数据宽度与外置存储设备的总线宽度相匹配。
例如,假设外置存储设备为4片16bit的DDR2,其总线宽度为64位,一个数字信号的数据宽度为16bit(数据+其它信息),那么,即可将三路并行的数字信号进行组包处理,组包成数据宽度为64bit的数据包(即一个数据包中包含4个数字信号,如,同一时间戳信息的三个数字信号和下一时间戳信息的任一数字信号),并缓存至FPGA本地的第一FIFO缓存器中。
进一步的,本发明实施例中,一种较佳的实施方式为,FPGA中在第一缓存器之后还设置有第三缓存器,第三缓存器用于外置存储设备数据输入流控的管理。
具体的,在将各数字信号组包成指定数据宽度的数据包之后,首先,将组包后的数据包存储至第一缓存器,接着,将第一缓存器中缓存的数据包导入第三缓存器中,相对应的,可以通过判断第三缓存器中缓存的数据量是否大于等于第一设定阈值的方式,来确定是否需要将第三缓存器中缓存的指定数据宽度的数据包写入外置存储设备中,具体的,在判定所述第三缓存器中缓存的数据量大于等于第一设定阈值时,将所述第三缓存器中缓存的数据包写入外置存储设备。
上述具体实施方式中,将外置存储设备数据输入流控的管理独立封装至第三缓存器中,通过判断第三缓存器中缓存的数据量的大小,具体实现将数据写入外置存储设备的控制。
步骤220:从上述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将上述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
上面描述了FPGA将组包后的,指定数据宽度的数据包写入外置存储设备(如,DDR2)的过程,那么,FPGA还需要从外置存储设备中读取指定数据宽度的数据包,并进行解包处理,得到与ARM总线宽度相匹配的数据宽度的数字信号,并上传至上位机。
本发明实施例中,一种较佳的实施方式为,外置存储设备(DDR2)在处于空闲状态时,会判断FPGA本地的第二缓存器中缓存的数据量是否小于第二设定阈值,若判定第二缓存器中缓存的数据量小于第二设定阈值,则向第二缓存器输出数据,FPGA对接收到的指定数据宽度的数据包进行解包处理,得到相应的各数字信号,并存储在第二缓存器中,FPGA在接收到上位机通过ARM发送的数据上传指令时,将第二缓存器中缓存的各数字信号上传至上位机。
进一步的,本发明实施例中,一种较佳的实施方式为,FPGA中在第二缓存器之前还设置有第四缓存器,第四缓存器用于外置存储设备数据输出流控的管理。
具体的,在从外置存储设备获取数据包之前,判断第四缓存器中缓存的数据量是否小于第二设定阈值,并在判定第四缓存器中缓存的数据量小于第二设定阈值时,通过接收外置存储设备输出的数据包的方式,从外置存储设备获取指定数据宽度的数据包,并存储至第四缓存器中,进一步的,在判定第二缓存器中缓存的数据量小于第三设定阈值时,对所述第四缓存器中缓存的指定数据宽度的数据包进行解包处理,得到相应数据宽度的数字信号,并存储至第二缓存器中,以及在接收到上位机通过ARM发送的数据上传指令时,将第二缓存器中缓存的各数字信号上传至上位机。
上述具体实施方式中,将外置存储设备数据输出流控的管理独立封装至第四缓存器中,通过判断第四缓存器中缓存的数据量的大小,具体实现从外置存储设备读取数据的控制。
本发明实施例中,一种较佳的向外置存储设备写入数据和从外置存储设备读取数据的具体实施方式为,在确定当前采集任务完成,并基于预设的数据写入方式将采集到的数据全部写入外置存储设备之后,再基于预设的数据读取方式执行从外置存储设备读取数据的操作,并将读取到的数据进行解包处理,上传至PC端。当然,在硬件设备支持的情况下,也可以在执行数据采集,向外置存储设备写入数据的同时,执行从外置存储设备读取数据的操作,并将读取到的数据进行解包处理,上传至PC端。本发明实施例中,可根据不同应用场景和/或不同用户需求进行相应向外置存储设备写入数据和从外置存储设备读取数据的规则设置,在此不做具体限定。
示例性的,参阅图3所示,本发明实施例中,一种数据传输流程及硬件设计框架示意图。硬件(各通道的检测器)采集到光信号后,经由A/D转换器将各模拟脉冲信号转换为相应数字信号,如,FS数据,SS数据和SF数据,对各数字信号添加通道号并进行组包处理,将组包成指定数据宽度的数据包存储至FPGA的FIFO1中,然后,导入用于外置存储设备(如,DDR2阵列)数据输入流控管理的FIFO2,接着,将组包后的指定数据宽度的数据包存储在外置存储设备中,数据输出接口FIFO3用于外置存储设备数据输出流控的管理,即可以在确定FIFO3中缓存的数据量小于设定值时,从外置存储设备中获取数据包,并将获取到的数据包进行解包处理,得到相应的各数字信号,并存储至与ARM接口相对应的FIFO4中,在接收到PC通过ARM下发的数据上传指令时,将FIFO4中缓存的各数字信号上传至PC端。当然,外置存储设备可以是由DDR2内存组成的DDR2阵列,也可以是其他有存储功能的存储设备,用于从FPGA的FIFO4中读取数据的微控制器可以是ARM,也可以是其他具有该功能的微控制器,本发明实施例中,在此不做具体限定。
下面采用具体的应用场景对上述实施例作进一步详细说明,示例性的,参阅图4所示,本发明实施例中,一种数据处理方法的详细流程如下:
步骤400:配置数据采集时间。
具体的,在PC端配置数据采集任务,采集任务的配置至少包括数据采集时间的配置。
步骤401:开始执行整机时序。
步骤402:ARM下发相应参数。
具体的,ARM向FPGA下发的相应参数至少包括数据采集时间和采集开始命令。
步骤403:判断FPGA内部定时器是否小于预置采集时间,若是,则执行步骤404;否则,执行步骤408。
具体的,FPGA在接收到ARM下发的相应参数之后,启动一个内部定时器用于计时,并开始采集原始数据,通过判断内部定时器记录的时间与预置的采集时间的关系,确定是执行向DDR2写入数据,还是执行从DDR2读取数据的操作,也就是说,本发明实施例中,向DDR2写入数据和从DDR2读取数据的操作是分开(先后)执行的,若FPGA内部定时器小于预置采集时间,则说明采集任务未完成,此时仅能执行向DDR2写入数据的操作;由于数据写入DDR2的速度远远大于数据采集的速度,那么,即可以默认为FPGA内部定时器大于或等于采集时间时,确定采集任务已完成,此时,可以确定向DDR2写入数据执行完成,可以开始执行从DDR2读取数据,并上传至PC端的操作。
步骤404:原始数据组包后存入FIFO1。
具体的,FPGA本地设置有FIFO缓存器1,将采集到的原始数据组包成指定数据宽度的数据包之后,存储至FIFO1中,当然,该制定数据宽度是基于DDR2的总线宽度预设的,组包成指定数据宽度是为了能够将组包后的数据包存储至DDR2中。
步骤405:FIFO1数据存入FIFO2。
具体的,FPGA本地设置有FIFO2,用于DDR2数据输入流控的管理,在将组包后的数据包存储至FIFO1之后,导入FIFO2中。
步骤406:判断FIFO2中数据量是否大于等于第一阈值,若是,则执行步骤407;否则,返回继续判断。
具体的,通过判断FIFO2中缓存的数据包的数据量是否大于等于预设的第一阈值的方式,确定是否执行从FIFO2向DDR2中写入数据的操作。
步骤407:FPGA向DDR2发起写操作。
具体的,当判定FIFO2中缓存的数据包的数据量大于等于预设的第一阈值时,将FIFO2中缓存的数据包写入DDR2中。
步骤408:判断FIFO3数据量是否小于第二阈值,若是,则执行步骤409;否则,返回继续判断。
步骤409:DDR2向FIFO3写入数据。
具体的,FPGA本地设置有FIFO3,也就是说,FPGA的FIFO3从DDR2获取数据的方式。
步骤410:判断FIFO4数据量是否小于第三阈值,若是,则执行步骤411;否则,返回继续判断。
步骤411:FIFO3数据解包并向FIFO4写入数据。
步骤412:ARM读取数据。
步骤413:上传数据至PC端。
进一步的,参阅图5所示,本发明实施例中ARM从FPGA中获取数据的详细流程如下:FPGA判断本地FIFO3中缓存的数据量是否小于第二阈值,若是,则DDR2向FIFO3中写入数据;否则,返回继续判断。同时,FPGA判断本地FIFO4中缓存的数据量是否小于第三阈值,若是,则对FIFO3中缓存的数据包进行数据解包处理,并将解包后的数据存入FIFO4中;否则,返回继续判断。FPGA在接收到PC端通过ARM下发的数据上传指令之后,则将FIFO4中缓存的数据通过ARM外部接口上传至PC端。
基于上述实施例,参阅图6所示,本发明实施例中,一种数据处理装置,至少包括数据采集单元60,数据写入单元61和数据获取单元62,其中,
数据采集单元60,用于采集针对一个细胞并行产生的各个光信号,并将上述各个光信号分别转换成相应的数字信号;
数据写入单元61,用于将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定上述第一缓存器中缓存的数据量大于等于第一设定阈值时,将上述第一缓存器中缓存的数据包写入外置存储设备,其中,上述指定数据宽度是基于上述外置存储设备的总线宽度预设的;
数据获取单元62,用于从上述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将上述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
可选的,上述数据写入单元61进一步用于:
将上述第一缓存器中缓存的数据导入本地第三缓存器,并判断上述第三缓存器中缓存的数据量是否大于等于第一设定阈值;在判定上述第三缓存器中缓存的数据量大于等于第一设定阈值时,将上述第三缓存器中缓存的数据包写入外置存储设备。
可选的,上述数据获取单元62进一步用于:
判断本地第四缓存器中缓存的数据量是否小于第二设定阈值;在判定上述第四缓存器中缓存的数据量小于第二设定阈值时,从上述外置存储设备获取数据包,并存储至上述第四缓存器中;在判定上述第二缓存器中缓存的数据量小于第三设定阈值时,对上述第四缓存器中缓存的数据进行解包处理,并存储至上述第四缓存器中,以及在接收到上位机的数据上传指令时,将上述第四缓存器中缓存的相应的数字信号上传至上位机进行相应处理。
可选的,上述各个光信号包括前向散射光信号,侧向散射光信号和侧向荧光信号。
可选的,上述存储器为先进先出FIFO缓存器;上述外置存储设备为DDR2内存。
综上所述,本发明实施例中,,在进行数据处理的过程中,采集针对一个细胞并行产生的各个光信号,并将上述各个光信号分别转换成相应的数字信号;将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定上述第一缓存器中缓存的数据量大于等于第一设定阈值时,将上述第一缓存器中缓存的数据包写入外置存储设备,其中,上述指定数据宽度是基于上述外置存储设备的总线宽度预设的;从上述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将上述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
采用本发明提供的数据处理方法,将采集到的并行产生的各个光信号转换成相应的数字信号,并通过组包的方式将各数字信号组包成指定数据宽度的数据包,以及将该数据包转存至外置存储设备中,且指定数据宽度是基于该外置存储设备的总线宽度预设的,并将数据写入外置存储设备的流控与从外置存储设备读取数据的流控独立开来,在采集高并发数据的情况下,避免了在短时间内向PC的硬盘写入大量数据导致PC宕机,从而造成数据丢失,最终获取到的数据不完整的情况的发生。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
采集针对一个细胞并行产生的各个光信号,并将所述各个光信号分别转换成相应的数字信号;
将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定所述第一缓存器中缓存的数据量大于等于第一设定阈值时,将所述第一缓存器中缓存的数据包写入外置存储设备,其中,所述指定数据宽度是基于所述外置存储设备的总线宽度预设的;
从所述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将所述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
2.如权利要求1所述的方法,其特征在于,进一步包括:
将所述第一缓存器中缓存的数据导入本地第三缓存器,并判断所述第三缓存器中缓存的数据量是否大于等于第一设定阈值;
在判定所述第三缓存器中缓存的数据量大于等于第一设定阈值时,将所述第三缓存器中缓存的数据包写入外置存储设备。
3.如权利要求2所述的方法,其特征在于,进一步包括:
判断本地第四缓存器中缓存的数据量是否小于第二设定阈值;
在判定所述第四缓存器中缓存的数据量小于第二设定阈值时,从所述外置存储设备获取数据包,并存储至所述第四缓存器中;
在判定所述第二缓存器中缓存的数据量小于第三设定阈值时,对所述第四缓存器中缓存的数据进行解包处理,并存储至所述第二缓存器中,以及在接收到上位机的数据上传指令时,将所述第二缓存器中缓存的相应的数字信号上传至上位机进行相应处理。
4.如权利要求1-3任一项所述的方法,其特征在于,所述各个光信号包括前向散射光信号,侧向散射光信号和侧向荧光信号。
5.如权利要求1-3任一项所述的方法,其特征在于,所述存储器为先进先出FIFO缓存器;所述外置存储设备为DDR2内存。
6.一种数据处理装置,其特征在于,包括:
数据采集单元,用于采集针对一个细胞并行产生的各个光信号,并将所述各个光信号分别转换成相应的数字信号;
数据写入单元,用于将各数据信号组包成指定数据宽度的数据包,并存储至本地第一缓存器,以及在判定所述第一缓存器中缓存的数据量大于等于第一设定阈值时,将所述第一缓存器中缓存的数据包写入外置存储设备,其中,所述指定数据宽度是基于所述外置存储设备的总线宽度预设的;
数据获取单元,用于从所述外置存储设备获取数据包,并对获取到的数据包进行解包处理,将解包处理后得到的数字信号存储至本地第二缓存器,以及在接收到上位机的数据上传指令时,将所述第二缓存器中缓存的相应的数字信号上报至上位机进行相应处理。
7.如权利要求6所述的装置,其特征在于,所述数据写入单元进一步用于:
将所述第一缓存器中缓存的数据导入本地第三缓存器,并判断所述第三缓存器中缓存的数据量是否大于等于第一设定阈值;
在判定所述第三缓存器中缓存的数据量大于等于第一设定阈值时,将所述第三缓存器中缓存的数据包写入外置存储设备。
8.如权利要求7所述的装置,其特征在于,所述数据获取单元进一步用于:
判断本地第四缓存器中缓存的数据量是否小于第二设定阈值;
在判定所述第四缓存器中缓存的数据量小于第二设定阈值时,从所述外置存储设备获取数据包,并存储至所述第四缓存器中;
在判定所述第二缓存器中缓存的数据量小于第三设定阈值时,对所述第四缓存器中缓存的数据进行解包处理,并存储至所述第二缓存器中,以及在接收到上位机的数据上传指令时,将所述第二缓存器中缓存的相应的数字信号上传至上位机进行相应处理。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至5任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488724.3A CN108681510A (zh) | 2018-05-21 | 2018-05-21 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488724.3A CN108681510A (zh) | 2018-05-21 | 2018-05-21 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108681510A true CN108681510A (zh) | 2018-10-19 |
Family
ID=63806963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810488724.3A Pending CN108681510A (zh) | 2018-05-21 | 2018-05-21 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108681510A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488299A (zh) * | 2019-01-29 | 2020-08-04 | 深圳市帝迈生物技术有限公司 | 一种数据的处理方法及装置、计算机存储介质 |
CN111797117A (zh) * | 2020-07-02 | 2020-10-20 | 北京润科通用技术有限公司 | 一种数据处理方法及装置 |
CN111860251A (zh) * | 2020-07-09 | 2020-10-30 | 迈克医疗电子有限公司 | 数据处理方法及装置 |
CN114674729A (zh) * | 2022-03-02 | 2022-06-28 | 迈克医疗电子有限公司 | 脉冲识别方法、装置、存储介质、设备及血液细胞分析仪 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009068685A1 (en) * | 2007-11-30 | 2009-06-04 | Universiteit Maastricht | Diagnostic and therapeutic tools for diseases altering vascular function |
CN103389261A (zh) * | 2013-07-23 | 2013-11-13 | 清华大学深圳研究生院 | 空间并行的流式细胞测量仪和测量方法 |
CN103631976A (zh) * | 2013-05-30 | 2014-03-12 | 中国科学院电子学研究所 | 一种小型多通道串行数据记录器 |
CN107505249A (zh) * | 2017-08-23 | 2017-12-22 | 中国科学院苏州生物医学工程技术研究所 | 用于稀有细胞筛选的微流控芯片*** |
-
2018
- 2018-05-21 CN CN201810488724.3A patent/CN108681510A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009068685A1 (en) * | 2007-11-30 | 2009-06-04 | Universiteit Maastricht | Diagnostic and therapeutic tools for diseases altering vascular function |
CN103631976A (zh) * | 2013-05-30 | 2014-03-12 | 中国科学院电子学研究所 | 一种小型多通道串行数据记录器 |
CN103389261A (zh) * | 2013-07-23 | 2013-11-13 | 清华大学深圳研究生院 | 空间并行的流式细胞测量仪和测量方法 |
CN107505249A (zh) * | 2017-08-23 | 2017-12-22 | 中国科学院苏州生物医学工程技术研究所 | 用于稀有细胞筛选的微流控芯片*** |
Non-Patent Citations (1)
Title |
---|
陈夏盛: "血细胞分析仪通用信号采集存储***设计", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488299A (zh) * | 2019-01-29 | 2020-08-04 | 深圳市帝迈生物技术有限公司 | 一种数据的处理方法及装置、计算机存储介质 |
CN111488299B (zh) * | 2019-01-29 | 2023-12-29 | 深圳市帝迈生物技术有限公司 | 一种数据的处理方法及装置、计算机存储介质 |
CN111797117A (zh) * | 2020-07-02 | 2020-10-20 | 北京润科通用技术有限公司 | 一种数据处理方法及装置 |
CN111860251A (zh) * | 2020-07-09 | 2020-10-30 | 迈克医疗电子有限公司 | 数据处理方法及装置 |
CN111860251B (zh) * | 2020-07-09 | 2023-09-15 | 迈克医疗电子有限公司 | 数据处理方法及装置 |
CN114674729A (zh) * | 2022-03-02 | 2022-06-28 | 迈克医疗电子有限公司 | 脉冲识别方法、装置、存储介质、设备及血液细胞分析仪 |
CN114674729B (zh) * | 2022-03-02 | 2023-11-21 | 迈克医疗电子有限公司 | 脉冲识别方法、装置、存储介质、设备及血液细胞分析仪 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681510A (zh) | 数据处理方法及装置 | |
CN106951587A (zh) | Fpga调试***及方法 | |
US20060259822A1 (en) | Profiling system | |
CN112861468B (zh) | 一种软硬件协同仿真验证的方法、装置和介质 | |
US20100180245A1 (en) | Methods and products for determining and visualizin ic behavior | |
CN103198001B (zh) | 能够自测pcie接口的存储***及测试方法 | |
CN103617004A (zh) | 一种对分布式文件***进行读写基准测试的工具及方法 | |
US10540466B1 (en) | Systems and methods for streaming waveform data during emulation run | |
CN102611836B (zh) | 一种基于Labview的高速图像采集方法 | |
CN110376503B (zh) | 一种ai加速芯片性能测试方法及其装置 | |
TWI604303B (zh) | 輸入輸出擴展晶片以及其驗證方法 | |
CN107290253B (zh) | 样本检测数据的处理方法及装置 | |
CN105487953B (zh) | 一种总线性能分析方法和装置 | |
CN111143092B (zh) | 故障录波数据处理方法、***及终端设备 | |
TW201743069A (zh) | 邏輯分析儀及其資料擷取與效能測試之方法 | |
CN101998135A (zh) | 移动电视信号采集及播放***、控制方法 | |
CN103969484A (zh) | 高刷新率波形合成器和高刷新率示波器 | |
CN108874645A (zh) | 一种整合fio性能数据的方法及*** | |
US20220327060A1 (en) | Embedding Data in Address Streams | |
CN103440186B (zh) | 测试缓存加速的方法及其*** | |
CN105974171B (zh) | 一种快速实现线显示的示波器和方法 | |
CN114556283B (zh) | 一种数据写入、一致性检查和读取的方法及装置 | |
CN114328153A (zh) | 一种rdma性能测试***、方法、装置及介质 | |
CN104331352B (zh) | cache一致性芯片地址带外读取检测方法及装置 | |
CN202735510U (zh) | 新型高速导航雷达记录回放*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |