一、连续不间断大容量采集存盘
在虚拟仪器、实验室数据分析、医疗设备、记录仪等诸多研究和应用领域中,对数据的要求很高,一方面数据容量较大,如几百兆甚至几仟兆,另一方面采样速度都较高,如100KHz、200KHz、300KHz等,更重要是要求在高速长时间的采集数据过程中,不能丢掉一个点,必须全部存入硬盘,同时还要进行一些点的抽样分析,这在DOS环境中实现起来就有较大的难度,就更别说在Windows这样的多任务环境中(对于Windows多任务机制请参阅有关Windows手册)。大家知道Windows的各应用程序总是不断地被任务调度器调度,循环处在睡眠、排队、就绪、触发运行等状态中。Win95任务之间的切换密度至少大于1毫秒,那么如果要以100KHz频率采样(即每10微秒就得传输一个数据),很显然有大量的数据在传输中由于任务之间的切换而被丢失掉。这就是基于Windows客户程序在传统模式下,高速连续采集传输数据时所具有的局限性。为了突破这种局限性,就得采用别的办法,如非客户程序、内核程序、驱动程序(如VxD、微代码)等,再加上我们所掌握的新技术,如内存映射、直接写盘技术以及独有的设计思想便可以很好的解决这些问题。从2000年9月开始,已有部分用户实际使用,反映良好。我们自己也经过全面测试,比如在Windows98下使用USB2803模板且软件协议为USB1.1版本,实际结果是:以150KHz频率,双通道采集正弦波且存盘,写满整个硬盘近4000兆数据,其时间长达好几个小时,随后再读盘回放磁盘数据,整个波形没有发现任何串道、断点和畸形状。如果使用USB2.0版本,其速度度会更快。
二、后台工作方式
我们的驱动程序为用户提供了后台工作方式进行数据传输,这样可以保证您的前台应用程序能实时高效的进行数据处理。后台方式的特点是在进行数据采集和传输过程中不占用客户程序的任何时间,当采集的数据长度达到客户指定的值时便触发客户事件,客户程序接受该事件便开始进行数据处理。在数据处理的同时,驱动程序依然在进行下一批数据的传输,即实现了并行操作,极大的提高了数据的吞吐量和计算机系统的整体处理能力。
三、与设备无关性
通过总结各数据采集卡的的共同特点,设计了完全一致的接口方式,可以让您的应用程序不仅能适应您所购买的我公司第一种产品,同时也能不经修改地适应我公司的其他同类产品,如USB2000、USB2803、USB2803等众多产品,其AD数据采集部分的软件接口是完全一致的。所以可以保证您的应用程序在我们的硬件产品基础上极为容易地进行功能和应用扩展,节省您的大部分软件投资,极大的缩短工程开发周期。
四、驱动程序的坚固性
我们的驱动程序都是经过严密彻底的测试和验证,并经部分用户试用之后,确认没有任何问题后才予以正式发行的,所以当您使用起来应该有十足的安全感。
五、驱动程序特点
由于我们的驱动程序均采用动态虚拟技术(Windows 98),微内核代码(Windows 2000)以及WDM标准格式,因此可动态装载和卸载,而且可以重入,即可实现多道任务同时访问硬件设备的功能。这样可以保证您的软硬件资源可以被充分有效的利用。
六、函数接口数量
我们提供的驱动程序用户接口不象有些公司提供的多达上百个函数,使您眼花缭乱、不知所从。我们所提供的关键函数实际上只有不到5个,其它的都是一些辅助性的函数,用户可用可不用。其原因是我们把所有复杂的大量的工作为您一一解决,尽可能地把复杂的问题封装在驱动程序内部,但同时也不缺乏灵活性,故而使您编程容易、使用方便。通常情况下,您稍稍熟悉一下我们的设备驱动程序说明书,您花上一刻钟时间便可以用我们的驱动程序接口编写出对设备访问的基本代码。
七、安装程序特点
关于驱动程序的安装方式我们采用大多数Windows应用程序所使用的标准模式,因而简捷、方便、直观。您只需执行安装盘上的Setup.exe启动文件即可进行驱动程序的安装工作。在安装过程中您设置好安装目标路径以及文件夹名称等信息后,安装程序便自动而又快捷地为您安装好驱动程序,随后您便可以用驱动程序接口编写应用程序或用我们提供的简易测试程序测试设备了。
八、多语言编程环境
本系统提供Visual C++,C++ Builder, Visual Basic,Delphi, LabView/CVI的函数接口,使您完全可以根据自己的需要和喜爱选择合适的编程语言。请记住,您得使用32位编程模式。另外,局于编幅所限。
九、为Visual Basic环境提供直接的多线程支持
在VB环境中进行各种实时控制和用户级后台操作,不用子线程,那简直是不可想象的事情。但是在通常情况下,要在VB环境中实现多线程操作并不象VC那么容易了。往往要相当复杂的对象操作,而且很不具有灵活性。但是有了我们的驱动程序支持,使这件事变得极为容易,甚至比VC还要容易。比如执行CreateVBThread函数,跟上hThread和NewRoutine两个参数,即可创建线程对象,并获得对象句柄,随后便可用ResumeThread函数启动子线程。在VB应用程序中,可以创建任意多个子线程。
十、跨平台设计
至今,Windows98与Windows 2000是两大主流操作系统,它们各有其优点,但随着计算机的进一步网络化以及追求高可靠性和高稳定性,Windows2000将成为用户更好的操作系统。所以我们尽力做到了跨平台设计,使您的用户程序基本不作修改,就象Microsoft Word软件一样,便可运行在其他平台上。
十一、自动卸载功能
在您已安装了本软件系统后,如果不再准备使用本系统,您可以通过我们为您提供的组件unInstallShield从Windows系统中自动卸载本软件系统。
十二、LabView/CVI支持
LabView/CVI是美国国家仪器公司(National Instrument)的虚拟仪器开发平台,特别是基于图形化编程的LabView语言,在测量、工控、虚拟仪器方面受到广大工程师和用户的青睐。其全球销售量仅次于C++语言。我们自主开发的硬件(PCI、USB、ISA总线系列)产品提供了基于LabView的驱动软件接口模块,与LabView软件平台完全兼容,让您轻松实现图形化编程。
十三、所提供的组件
如果您采用Typical安装选项,那么您一般可以得到我们为您提供的如下组件:
Hardware Help 硬件使用说明Word帮助文档; ReadmeFile 安装目录等信息简介; Setup关于硬件参数设置的应用程序; Software Help 软件使用说明Word帮助文档; Test Application 基于Microsoft Visual C++代码的硬件测试应用程序; Visual C++ Sample Microsoft VC++演示程序(这个程序对驱动程序演示说明最全面); Visual Basic Microsoft VB演示及接口程序文件(USB2803.Bas) C++ Builder Borland C++ Builder演示程序; LabView 美国国家仪器公司(National Instrument)的虚拟仪器开发平台的演示程序及接口模块程序 UnInstallShield 本软件卸载应用程序;