新闻中心

EEPW首页>嵌入式系统>设计应用> 一种实时数据采集与存储系统的实现方法

一种实时数据采集与存储系统的实现方法

作者: 时间:2011-08-19 来源:网络 收藏

本文引用地址: //m.amcfsurvey.com/article/150322.htm

  3.4 多线程的数据软件设计

  在要求高速、和连续采集和的情况下,一方面要求不间断地进行,同时还要进行数据,否则将会丢失数据,造成数据不完整。为了解决这个问题,我们在软件中,引入了Windows的多任务处理技术(multitasking)。在程序里创建两个工作线程分别完成和数据存储工作。缓冲方式采用上面所说双缓冲区模式,当线程(SampleThreadProc)把采集到的数据写入第一缓冲区时,数据存储线程(StorageThreadProc)把第二缓冲区的数据存入SCSI硬盘;当数据采集线程把数据写入第二缓冲区时,数据存储线程把第一缓冲区的数据存入SCSI硬盘;如此循环。另外通过实际实验测试Adaptec19160Ultra160-SCSI硬盘控制器,配合希捷公司出品的ST3146707LCSCSI硬盘,持续写入速率能达到80Mbytes/sec。远大于45Mbytes/sec的采集速率。所以当数据采集线程写满其中一个缓冲区之前,数据存储线程已经把另一个缓冲区里的数据存储入SCSI硬盘。所以这种能保证数据的实时性、完整性和连续性。其程序流程图如图1。



评论


相关推荐

技术专区

关闭