实时高速数据采集与存储系统的一种实现方法
发布时间:2008/5/26 0:00:00 访问次数:678
    
    
    来源:微计算机信息 作者:沈羽 齐伟民 张毅
    
    摘要:pci-7300a_revb超高速数字i/o卡的应用,介绍一种大容量、高速、实时数据采集与存储系统的实现方法。并根据自己的开发经验,指出实现过程中应该注意的一些问题。
    
    关键词:高速、实时、数据采集与存储、pci-7300a_revb
    
    1、引言
    
    随着信息科学的飞速发展,数据采集和存储技术已经是数字信号处理中非常重要的环节,将决定整个系统的性能。它广泛应用于雷达,通信,遥测遥感等领域。它己经成为人们获得外界信息的重要手段。基于总线的数据采集与存储系统,由于可靠且易于实现、经济等优点,得到了广泛的应用。但当数据传输率很高时,保持高速数据存储过程的可靠性、实时性将会成为一个比较棘手的问题。为此一些厂商提供了双总线技术、64位/66mhzpci总线系统来解决这问题。但这些技术较为昂贵,且忽略了现有的硬件设备。经过实验与探索,我们选用adlink公司的pci-7300a_revb超高速数字i/o卡,利用现有的单(32位/33mhz)pci总线的计算机
    
    系统构成低成本的硬件平台,并利用自己开发的软件系统,最终实现了高速(45mbytes/sec)持续的数据采集于存储。
    
    2、硬件组成及注意事项
    
    为了利用现有的硬件设备,降低成本;我们采用adlink公司出品的pci-7300a_revb超高速数字i/o卡作为数据采集部分。该卡的主要特性如下:
    
    ·32位数字i/o通道
    
    ·32位pci总线
    
    ·通过触发信号控制数据采集操作的开始。
    
    ·100针scsi型连接器
    
    ·分散/聚拢方式的dma
    
    ·最高传输速率80mbytes/sec
    
    要实现实时高速的数据存储,使用的一般的硬盘是不行的。所以我们选用希捷公司出品的型号为st3146707lc的scsi硬盘,该硬盘的容量是146gb,能满足记录大量数据的需要,其转速为10krpm。相应的scsi硬盘控制器,选用adaptec公司出品的型号为adaptec19160的ultra160-scsi硬盘控制器.
    
    在搭建硬件平台的过程中有些问题是必须注意的,否则系统不能正常工作。首先,pci-7300a_revb卡虽然采用分散/聚拢方式的dma,但它对cpu资源的占用率是非常高的。经过实验证明,要保证整个数据采集与存储系统正常工作,只能使用奔四1.7g以上的计算机系统。其次,windows系统允许多个设备共享一个中断请求号(irq)。为了保证存储过程的实时性,必须确保scsi硬盘控制器和pci-7300a_revb卡使用不同的irq。可以在主板bios里把pnp(即插即用) /pci设备的irq进行手动配置。最后windows 2000 service pack 2 (sp2) 及早期版本不支持大于137gb容量的硬盘。须要先安装service pack 3,再在注册表(hkey_local_machine\system\currentcontrolset\services\atapi\parameters)里添加一个reg_dword类型的参数enablebiglba,并把值设成0x1。这样146gb的硬盘才能工作正常。
    
    3、软件设计
    
    软件设计直接决定硬件是否能正常工作,以及能否充分发挥硬件的性能。
    
    3.1 pcis-dask及双缓冲区模式的工作原理
    
    pcis-dask是adlink公司为自己的产品提供的驱动程序包,提供了专门用于实现高速数据采集的连续多缓冲区操作的一组api函数。通过这组api函数,我们可以按照双缓冲区的原理,非常方便地实现对数据的实时、高速、连续的采集与存储。
    
    双缓冲区模式,在工程上称为“乒乓” 缓冲区模式。跟常用的单缓冲区模式相比双缓冲区模式的优点是,它可以使用较小容量的内存,不间断地缓冲几乎无限量的数据(输入与输出端需协同工作)。这种缓冲区模式的工作原理是:在内
    
    
    来源:微计算机信息 作者:沈羽 齐伟民 张毅
    
    摘要:pci-7300a_revb超高速数字i/o卡的应用,介绍一种大容量、高速、实时数据采集与存储系统的实现方法。并根据自己的开发经验,指出实现过程中应该注意的一些问题。
    
    关键词:高速、实时、数据采集与存储、pci-7300a_revb
    
    1、引言
    
    随着信息科学的飞速发展,数据采集和存储技术已经是数字信号处理中非常重要的环节,将决定整个系统的性能。它广泛应用于雷达,通信,遥测遥感等领域。它己经成为人们获得外界信息的重要手段。基于总线的数据采集与存储系统,由于可靠且易于实现、经济等优点,得到了广泛的应用。但当数据传输率很高时,保持高速数据存储过程的可靠性、实时性将会成为一个比较棘手的问题。为此一些厂商提供了双总线技术、64位/66mhzpci总线系统来解决这问题。但这些技术较为昂贵,且忽略了现有的硬件设备。经过实验与探索,我们选用adlink公司的pci-7300a_revb超高速数字i/o卡,利用现有的单(32位/33mhz)pci总线的计算机
    
    系统构成低成本的硬件平台,并利用自己开发的软件系统,最终实现了高速(45mbytes/sec)持续的数据采集于存储。
    
    2、硬件组成及注意事项
    
    为了利用现有的硬件设备,降低成本;我们采用adlink公司出品的pci-7300a_revb超高速数字i/o卡作为数据采集部分。该卡的主要特性如下:
    
    ·32位数字i/o通道
    
    ·32位pci总线
    
    ·通过触发信号控制数据采集操作的开始。
    
    ·100针scsi型连接器
    
    ·分散/聚拢方式的dma
    
    ·最高传输速率80mbytes/sec
    
    要实现实时高速的数据存储,使用的一般的硬盘是不行的。所以我们选用希捷公司出品的型号为st3146707lc的scsi硬盘,该硬盘的容量是146gb,能满足记录大量数据的需要,其转速为10krpm。相应的scsi硬盘控制器,选用adaptec公司出品的型号为adaptec19160的ultra160-scsi硬盘控制器.
    
    在搭建硬件平台的过程中有些问题是必须注意的,否则系统不能正常工作。首先,pci-7300a_revb卡虽然采用分散/聚拢方式的dma,但它对cpu资源的占用率是非常高的。经过实验证明,要保证整个数据采集与存储系统正常工作,只能使用奔四1.7g以上的计算机系统。其次,windows系统允许多个设备共享一个中断请求号(irq)。为了保证存储过程的实时性,必须确保scsi硬盘控制器和pci-7300a_revb卡使用不同的irq。可以在主板bios里把pnp(即插即用) /pci设备的irq进行手动配置。最后windows 2000 service pack 2 (sp2) 及早期版本不支持大于137gb容量的硬盘。须要先安装service pack 3,再在注册表(hkey_local_machine\system\currentcontrolset\services\atapi\parameters)里添加一个reg_dword类型的参数enablebiglba,并把值设成0x1。这样146gb的硬盘才能工作正常。
    
    3、软件设计
    
    软件设计直接决定硬件是否能正常工作,以及能否充分发挥硬件的性能。
    
    3.1 pcis-dask及双缓冲区模式的工作原理
    
    pcis-dask是adlink公司为自己的产品提供的驱动程序包,提供了专门用于实现高速数据采集的连续多缓冲区操作的一组api函数。通过这组api函数,我们可以按照双缓冲区的原理,非常方便地实现对数据的实时、高速、连续的采集与存储。
    
    双缓冲区模式,在工程上称为“乒乓” 缓冲区模式。跟常用的单缓冲区模式相比双缓冲区模式的优点是,它可以使用较小容量的内存,不间断地缓冲几乎无限量的数据(输入与输出端需协同工作)。这种缓冲区模式的工作原理是:在内