CN110347369A - 一种多缓存多线程数据采集方法 - Google Patents

一种多缓存多线程数据采集方法 Download PDF

Info

Publication number
CN110347369A
CN110347369A CN201910488486.0A CN201910488486A CN110347369A CN 110347369 A CN110347369 A CN 110347369A CN 201910488486 A CN201910488486 A CN 201910488486A CN 110347369 A CN110347369 A CN 110347369A
Authority
CN
China
Prior art keywords
data
thread
buffering area
user buffering
fifo memory
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
Application number
CN201910488486.0A
Other languages
English (en)
Inventor
蒋永翔
孙宏昌
邓三鹏
刘朝华
祁宇明
杨文宁
王彤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University of Technology and Education China Vocational Training Instructor Training Center
Original Assignee
Tianjin University of Technology and Education China Vocational Training Instructor Training Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University of Technology and Education China Vocational Training Instructor Training Center filed Critical Tianjin University of Technology and Education China Vocational Training Instructor Training Center
Priority to CN201910488486.0A priority Critical patent/CN110347369A/zh
Publication of CN110347369A publication Critical patent/CN110347369A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多缓存多线程数据采集方法,包括数据采集卡和嵌入式系统,数据采集卡具有FIFO存储器1和FIFO存储器2;嵌入式系统作为上位机,在嵌入式系统中采用双线程和两级用户缓冲区,形成线程1、线程2和用户缓冲区1、用户缓冲区2,线程1用于将数据从数据采集卡的FIFO存储器中取出放入用户缓冲区1,线程2用于从用户缓冲区读取数据及数据处理。FIFO存储器1和FIFO存储器2依次轮换存储;线程1对用户缓冲区1和用户缓冲区2交替写入,线程2对用户缓冲区1和用户缓冲区2进行交替读取。本发明解决了FIFO存储器数据溢出和用户缓冲区数据“丢点”的问题,应用多缓存多线程数据采集方法可实现高速、连续、大容量的无丢点数据显示和存盘。

Description

一种多缓存多线程数据采集方法
技术领域
本发明属于数据处理技术领域,具体涉及一种多缓存多线程数据采集方法。
背景技术
在数据采集系统中,数据采集卡获取的数据在嵌入式系统(上位机)上的显示和存储通常采用定时器实现。由于数据需要边采集边传输至嵌入式系统并进行相应的信号处理,且对同步性要求较高,而现代CPU处理速度远远快于计算机接口传输速度,而数据传输几乎只能通过接口来完成,所以在高速大数据采集中,数据的丢点和数据访问冲突问题就显得尤为突出。本发明涉及的一种多缓存多线程数据采集方法,通过多缓存防止了数据的溢出,多线程确保了处理线程总是等待采集线程先行,既保证了FIFO存储器数据不溢出又保证了用户缓冲区数据不“丢点”,为高速、连续、大容量的无丢点数据显示和存盘提供了解决方法。
发明内容
本发明的目的在于用于解决系统数据采集过程中上位机与下位机通讯过程中数据丢失的问题,提供一种多缓存多线程数据采集方法。
本发明是通过以下技术方案实现的:
一种多缓存多线程数据采集方法,包括数据采集卡和嵌入式系统,数据采集卡具有FIFO存储器1和FIFO存储器2;
嵌入式系统作为上位机,在嵌入式系统中采用双线程和两级用户缓冲区,形成线程1、线程2和用户缓冲区1、用户缓冲区2,线程1用于将数据从数据采集卡的FIFO存储器中取出放入用户缓冲区1,线程2用于从用户缓冲区读取数据及数据处理;
数据采集卡的FIFO存储器1存满后,数据采集卡向上位机发送信号通知上位机开始采集数据,然后上位机开始进行FIFO存储器数据的读取,数据读取过程中,数据采集卡采集到的新数据将存入FIFO存储器2,FIFO存储器2存满后,再转到FIFO存储器1,如此FIFO存储器1和FIFO存储器2依次轮换存储;
上位机对数据采集卡的FIFO存储器进行数据读取时,线程1和线程2同步进行,线程1将数据从FIFO存储器中取出并写入用户缓冲区1,同时线程2读取数据,由线程2从用户缓冲区1中读取线程1写入的数据并进行后续数据处理,线程2工作量大于线程1,因此,线程2读取的用户缓冲区总是落后于线程1写入的用户缓冲区,当线程2从用户缓冲区1读取处理数据过程中,如线程1已执行到用户缓冲区1写数据完成时,线程1即可向用户缓冲区2写入数据,线程2则继续对用户缓冲区1中的数据进行处理;待线程2完成对用户缓冲区1的数据读取和处理后,转向对用户缓冲区2进行数据读取和处理,如此,线程1对用户缓冲区1和用户缓冲区2交替写入,线程2对用户缓冲区1和用户缓冲区2进行交替读取。
本发明的优点和有益效果为:
本发明解决了FIFO存储器数据溢出和用户缓冲区数据“丢点”的问题,应用多缓存多线程数据采集方法可实现高速、连续、大容量的无丢点数据显示和存盘。
相对于现有技术,本发明所述的一种多缓存多线程数据采集方法具有以下优势:
(1)避免了FIFO存储器缓冲区的溢出。
(2)避免了用户缓冲区的丢点。
附图说明
图1为一种多缓存多线程数据采集方法系统结构图。
对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据以上附图获得其他的相关附图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合具体实施例进一步说明本发明的技术方案。
参见附图1,一种多缓存多线程数据采集方法,包括数据采集卡和嵌入式系统,在数据采集卡的FIFO存储器中增加二级缓存,形成FIFO存储器1和FIFO存储器2。
嵌入式系统作为上位机,在嵌入式系统中采用双线程和两级用户缓冲队列,形成线程1、线程2和用户缓冲区1、用户缓冲区2。线程1用于将数据从数据采集卡的FIFO存储器中取出放入用户缓冲区1,线程2用于从用户缓冲区读取数据进行图形化显示,同时,完成数据在存储设备中的文件保存。
数据采集方法如下:
数据采集卡的FIFO存储器1存满后(FIFO存储器的空满状态通过其状态引脚判别),数据采集卡向上位机发送信号通知上位机开始采集数据,然后上位机开始进行FIFO存储器数据的读取,数据读取过程中,数据采集卡采集到的新数据将存入FIFO存储器2,FIFO存储器2存满后,再转到FIFO存储器1,如此FIFO存储器1和FIFO存储器2依次轮换存储,避免了单一FIFO存储器情况下由于接口传输速度小于CPU处理速度而造成数据溢出的问题,即,避免了数据采集卡采集的数据丢失问题。
上位机对数据采集卡的FIFO存储器进行数据读取时,线程1和线程2同步进行,线程1将数据从FIFO存储器中取出并写入用户缓冲区1,同时线程2读取数据,由线程2从用户缓冲区1中读取线程1写入的数据并进行后续数据处理(例如数据的图形化显示、数据的后续存盘处理),由于线程2工作量大于线程1,因此,线程2读取的用户缓冲区总是落后于线程1写入的用户缓冲区,当线程2从用户缓冲区1读取处理数据过程中,如线程1已执行到用户缓冲区1写数据完成时,线程1即可向用户缓冲区2写入数据,线程2则继续对用户缓冲区1中的数据进行处理;待线程2完成对用户缓冲区1的数据读取和处理后,转向对用户缓冲区2进行数据读取和处理,如此,线程1对用户缓冲区1和用户缓冲区2交替写入,线程2对用户缓冲区1和用户缓冲区2进行交替读取。
以上对本发明做了示例性的描述,应该说明的是,在不脱离本发明的核心的情况下,任何简单的变形、修改或者其他本领域技术人员能够不花费创造性劳动的等同替换均落入本发明的保护范围。

Claims (1)

1.一种多缓存多线程数据采集方法,其特征在于:包括数据采集卡和嵌入式系统,数据采集卡具有FIFO存储器1和FIFO存储器2;
嵌入式系统作为上位机,在嵌入式系统中采用双线程和两级用户缓冲区,形成线程1、线程2和用户缓冲区1、用户缓冲区2,线程1用于将数据从数据采集卡的FIFO存储器中取出放入用户缓冲区1,线程2用于从用户缓冲区读取数据及数据处理;
数据采集卡的FIFO存储器1存满后,数据采集卡向上位机发送信号通知上位机开始采集数据,然后上位机开始进行FIFO存储器数据的读取,数据读取过程中,数据采集卡采集到的新数据将存入FIFO存储器2,FIFO存储器2存满后,再转到FIFO存储器1,如此FIFO存储器1和FIFO存储器2依次轮换存储;
上位机对数据采集卡的FIFO存储器进行数据读取时,线程1和线程2同步进行,线程1将数据从FIFO存储器中取出并写入用户缓冲区1,同时线程2读取数据,由线程2从用户缓冲区1中读取线程1写入的数据并进行后续数据处理,线程2工作量大于线程1,因此,线程2读取的用户缓冲区总是落后于线程1写入的用户缓冲区,当线程2从用户缓冲区1读取处理数据过程中,如线程1已执行到用户缓冲区1写数据完成时,线程1即可向用户缓冲区2写入数据,线程2则继续对用户缓冲区1中的数据进行处理;待线程2完成对用户缓冲区1的数据读取和处理后,转向对用户缓冲区2进行数据读取和处理,如此,线程1对用户缓冲区1和用户缓冲区2交替写入,线程2对用户缓冲区1和用户缓冲区2进行交替读取。
CN201910488486.0A 2019-06-05 2019-06-05 一种多缓存多线程数据采集方法 Pending CN110347369A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910488486.0A CN110347369A (zh) 2019-06-05 2019-06-05 一种多缓存多线程数据采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910488486.0A CN110347369A (zh) 2019-06-05 2019-06-05 一种多缓存多线程数据采集方法

Publications (1)

Publication Number Publication Date
CN110347369A true CN110347369A (zh) 2019-10-18

Family

ID=68181597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910488486.0A Pending CN110347369A (zh) 2019-06-05 2019-06-05 一种多缓存多线程数据采集方法

Country Status (1)

Country Link
CN (1) CN110347369A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209228A (zh) * 2020-01-02 2020-05-29 上海航天计算机技术研究所 一种加速多路星上载荷文件存储的方法
CN111436943A (zh) * 2020-04-15 2020-07-24 山东省科学院自动化研究所 一种非接触式浴室跌倒检测监护系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101403980A (zh) * 2008-11-12 2009-04-08 西安交通大学 一种电子产品码多线程处理方法
CN101950261A (zh) * 2010-09-09 2011-01-19 中兴通讯股份有限公司 数据存储与鉴权并行的处理方法和终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101403980A (zh) * 2008-11-12 2009-04-08 西安交通大学 一种电子产品码多线程处理方法
CN101950261A (zh) * 2010-09-09 2011-01-19 中兴通讯股份有限公司 数据存储与鉴权并行的处理方法和终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JERRY*CAT: "双fifo的乒乓式读写", 《HTTPS://BLOG.CSDN.NET/A931863759/ARTICLE/DETAILS/78137305/》 *
张彦铎等: "高速图像采集系统的研制", 《武汉工程大学学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209228A (zh) * 2020-01-02 2020-05-29 上海航天计算机技术研究所 一种加速多路星上载荷文件存储的方法
CN111209228B (zh) * 2020-01-02 2023-05-26 上海航天计算机技术研究所 一种加速多路星上载荷文件存储的方法
CN111436943A (zh) * 2020-04-15 2020-07-24 山东省科学院自动化研究所 一种非接触式浴室跌倒检测监护系统及方法

Similar Documents

Publication Publication Date Title
JP4439491B2 (ja) マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法
CN110347369A (zh) 一种多缓存多线程数据采集方法
CN100361523C (zh) 一种数字相机实时采集系统
CN107527317A (zh) 基于图像处理的数据传输系统
RU2016119814A (ru) Инструкция и логика для доступа к памяти в кластерной машине широкого исполнения
CN103034581B (zh) 一种嵌入式系统跟踪调试方法及装置
CN110058816B (zh) 一种基于ddr的高速多用户队列管理器及方法
US20100211755A1 (en) Method and apparatus for allocating storage addresses
CN115080206B (zh) 一种基于多线程机制的高速回波数据实时记录系统及记录方法
CN106959929B (zh) 一种多端口访问的存储器及其工作方法
CN102841871A (zh) 基于高速串行总线的DMA结构的pipeline读写方法
CN115640052A (zh) 用于图形处理器中多核多流水线并行执行优化方法
CN103136038A (zh) 嵌入式系统及其线程与缓冲区管理方法
CN101901278B (zh) 一种高速数据采集卡及数据采集方法
CN101793557B (zh) 高分辨率成像仪数据实时采集系统及方法
US7694041B2 (en) Method for managing buffers pool and a system using the method
CN104809093A (zh) 对串行接口传输的数据进行处理的方法及装置
CN112948287B (zh) 一种基于Hashmap缓存机制的SD卡读写方法及系统
CN117896399A (zh) 用于高场和超高场磁共振成像的通信系统和方法
CN108647278A (zh) 一种文件管理方法及系统
CN110019051A (zh) 一种基于通用文件系统的高速数据记录方法
CN116383132A (zh) Soc芯片及其数据存储方法
CN103593307B (zh) 一种电磁法勘探系统处理采集数据的方法和装置
CN106445842B (zh) 一种数据缓存器和数据缓存方法
EP2902910A1 (en) Electronic device, and method for accessing data in electronic device

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191018