2024年1月4日发(作者:)

USB-24044通道24位156KHzSPS同步采集16路DI,16路DO卡用户手册北京新超仁达科技有限公司2.102012012版权所有(C)北京新超仁达科技有限公司2012在无北京新超仁达科技有限公司优先书面授权书前提下,此出版物任何一个部分不可通过任何形式进行复制、修改和翻译。对于非法复制、修改和翻译商业行为,将根据国家知识产权相关法律追求其法律责任。从此文件发布日期起,在此发表的是当前或者拟定的信息。由于我们会不断对产品进行改进和增加特征,此出版物中的信息如有变动恕不另行通知。技术支持:-1-版本:5.30

一、前言....................................................................................................................................................................3二、概述....................................................................................................................................................................3三、产品应用............................................................................................................................................................3四、性能特点............................................................................................................................................................3五、技术参数............................................................................................................................................................4六、工作原理............................................................................................................................................................46.1、逻辑框图..................................................................................................................................................46.2、工作原理简述..........................................................................................................................................46.3、触发模式..................................................................................................................................................56.3.1、软启动:......................................................................................................................................56.3.2、外触发:......................................................................................................................................56.4、SDRAM中数据存放顺序...........................................................................................................................56.5、FIFO容量.................................................................................................................................................56.6、批量数据的传输......................................................................................................................................5七、信号定义............................................................................................................................................................67.1、模拟输入输出引脚定义..........................................................................................................................67.2、数字量输入、输出引脚定义..................................................................................................................77.3、ID设置:(四位拨码开关SW设置)......................................................................................................87.4、双极性模拟量输入的电压换算..............................................................................................................8八、常用信号连接....................................................................................................................................................98.1、外部模拟输入差分信号..........................................................................................................................98.2、数字量输入...............................................................................................................................................98.3、数字量输出...............................................................................................................................................9九、软件..................................................................................................................................................................109.1、驱动安装.................................................................................................................................................109.2、测试程序................................................................................................................................................139.3、函数调用说明........................................................................................................................................139.3.1、库中部分函数说明:..................................................................................................................139.3.2、函数调用注意事项......................................................................................................................189.4、DLL函数全部是WINAPI调用约定的,即__stdcall接口.................................................................189.5、驱动文件................................................................................................................................................18十、编程指导..........................................................................................................................................................1810.1、VC程序编程说明.................................................................................................................................1810.2、VB程序编程说明.................................................................................................................................1910.3、LabVIEW程序编程说明......................................................................................................................2010.4、Delphi程序编程说明...........................................................................................................................20十一、维修服务......................................................................................................................................................2111.1、产品完整性..........................................................................................................................................2111.2、维修......................................................................................................................................................2111.3、服务......................................................................................................................................................技术支持:************-2-版本:5.30

一、前言信息社会的发展,在很大程度上取决于信息与信号处理技术的先进性。数字信号处理技术的出现改变了信息与信号处理技术的整个面貌,而数据采集作为数字信号处理的必不可少的前期工作在整个数字系统中起到关键性、乃至决定性的作用,其应用已经深入到信号处理的各个领域中。实时信号处理、数字图像处理等领域对高速度、高精度数据采集卡的需求越来越大。ISA总线由于其传输速度的限制而逐渐被淘汰。我公司推出的基于PCI总线、USB总线等数据采集卡综合了国内外众多同类产品的优点,以及使用的便捷、稳定的性能、极高的性价比,获得多家客户的好评,是一系列真正具有可比性的产品,也是您理想与明智的选择。衷心感谢您选用我公司的产品!二、概述USB-2404板是一款USB2.0总线高速、高精度4通道同步采集卡,高达24位精度、156KSPs采样率。本卡支持外触发和软件定时触发。4路模拟信号、1路外触发信号(下降沿触发)通过板上的IDC-20接头P1口输入。16路DI、16路DO通过IDC-40接头P2口输入、输出。USB-2404模拟量输入信号采用差分输入方式进入ADC转换,AD转换结果存储在大容量存储器SDRAM(容量4M字)中。AD芯片自带差分放大器和数字滤波器。USB-2404卡的USB主控芯片采用CYPRESS公司的CY68013A。本板是一款USB2.0总线高速、高精度数据采集板,支持热插拔,即插即用。运用现场可编程门阵列FPGA设计,提高可靠性。出厂时提供Win98/2000/XP下驱动程序和动态链接程序(DLL)及编程指导(DEMO程序),有VB/VC/LABVIEW采集程序例程,并提供两年的质保服务。三、产品应用USB-2404是一款基于USB2.0总线的数据采集卡,可直接和计算机的USB口相连,构成实验室、产品质量检测中心等各种领域的数据采集、波形分析和处理系统。也可构成工业生产过程监控系统。它的主要应用场合为:�电子产品质量检测�医学检测�高精度信号采集�无相差采集�IO控制四、性能特点·采用独自四片AD7765(156KHz)·高性能,24-bitΣ-ΔADC,无丢失码·信噪比:112dbmin@156KHz;·用户只需单5V供电(在USB口供电不足的情况下)·双极性输入(±5V*,±10V)·AD触发方式:软件定时触发、外触发(下降沿触发)·高精度4.096V参考电源·硬件自带数字滤波器·4路模拟信号差分输入,可软件选择任意几个通道同时工作·采样频率可软件设置(范围:1.95KHz~156.25KHz)·电源管理芯片,自动决定是外供电还是采用USB总线供电·外供电源防接反保护,如果外电源接反,二极管正向导通,板载1A保险丝将起保护作用·板载大容量存储器(4M字),支持连续采集,实现实时监控技术支持:************-3-版本:5.30

·用户4K字节EEPROM空间,方便用户写入自己的参数·板卡ID识别(0~15),支持一台机器插入多块USB-2404卡·16路数字量输入,16路数字量输出。输出带锁存功能,上电自动清零·USB2.0总线,CYPRESSFX2低功耗主控芯片·GPIF胶链接传输数据·提供WIN7/VISTA/2000/XP下驱动程序及动态连接库·尺寸大小(不含外壳):91(W)×139(L)(mm)·*号为出厂默认设置五、技术参数·工作电压:·工作温度:·存储温度:·湿度:5V±0.25V0℃~70℃-10℃~85℃5%~95%六、工作原理6.1、逻辑框图CH1..CH4(模拟信号差分输入)16路DI16路DOADC(内含差分运算放大器)缓冲器锁存器TRIG(外触发信号)4位拨码(ID)现场可编程门阵列FPGA(内含地址译码、数据锁存、数据缓冲、控制电路等)SDRAM(存储器,4M字)USB总线芯片CY68013AUSB2.0总线逻辑方框图6.2、工作原理简述USB-2404由以下功能模块组成:USB2.0总线桥电路,地址译码及数据锁存,AD转换,数据存储等功能组成。地址译码及数据锁存:由现场可编程门阵列FPGA芯片控制。由于是USB2.0总线,用户可以不关心具体I/O地址,直接调用我公司提供的动态连接库即可。8位数据模式,具体的IO地址由USB总控芯片解释。AD转换:外部模拟信号由IDC-20接头P1接入,经过高速差分运算放大器,进入AD转换,AD控制时序由FPGA完成。技术支持:************-4-版本:5.30

数据存储:AD转换的结果存储在SDRAM中。读、写数据的时序由FPGA控制。数字IO:16路数字量输入、16路数字量输出。输出带锁存功能,且上电自动清零。USB2.0总控芯片:负责总线通讯,胶链接传输数据时在FPGA控制下完成。CY68013当成从FIFO处理。6.3、触发模式6.3.1、软启动:在这种模式下,用户配置采样频率和同步通道后,启动AD,便可进行连续不间断采样,每一通道都能达到设定的采样频率,各通道之间无相差。6.3.2、外触发:在这种模式下,需要接入外触发信号(下降沿有效),用户配置采样频率和同步通道后,启动AD,AD并不马上开始工作,而是等待外触发信号下降沿到来,下降沿一到,AD马上工作。外触发时序图如下:被忽略(注意:如果外触发信号的下降沿早于AD启动信号AD_Run,则此下降沿被忽略)6.4、SDRAM中数据存放顺序本卡采用SDRAMFIFO化的技术,数据位宽为16位(D0~D15),四路模拟信号(CH1~CH4)通过AD转换以后,结果存放在FIFO中。以四通道同时工作为例,其他依此类推。软件可任意勾选几个通道同时工作。一个通道的转换结果占用4个字节,其中数据占3个字节,1个字节的状态位。CH1、CH2、CH3、CH4的转换结果依次存放在FIFO中的第1、2,3、4,5、6,7、8个位置,第二轮CH1、CH2、CH3、CH4的转换结果依次存放在FIFO中的第9、10,11、12,13、14,15、16个位置。。。依此类推(分两次写,一次写16bit)4路同步的情况,CH1、CH2、CH3、CH4被同步采样;各通道之间无相差。数据交织存放。具体可参照DEMO软件。6.5、FIFO容量本卡采用1片SDRAM,容量为4M字,FPGA将SDRAMFIFO化,USB主控芯片内含1K字FIFO,所以本板总的FIFO容量为:硬FIFO+软FIFO=4M字+1K字(构成海量FIFO),上位机一次读取18432个字节的数据量,该数据量能被2、3整除,分配到每个通道上的数据是一样多。上位机是一次读取18432个字节,也可以更多或更少,但必须是512的倍数,因为USB端点2数据满512字节时,才打包提交。同时,为了上位机处理方便,一次读取的字节数最好能被(通道数×4)整除。6.6、批量数据的传输USB的主控芯片的端点2我们配置为批量读方式,端点0配置为控制传输,当外部FIFO(SDRAM)不为空且USB端点2的FIFO不满,USB就自动从外FIFO中读取一个数至内FIFO中,当端点2数据满512时,就自动打包提交。外部FIFO(SDRAM)满标志为高时,代表数据有溢出,应当停止AD,清空FIFO后,重新开始采样。否则FIFO中的数据存放顺序会被打乱。由于USB主控芯片采用胶链接,与16位宽度的SDRAM无缝对接,但USB总线是8位位宽,所以内部有16位转成2个8位的操作,低8位在前,高8位在后。技术支持:************-5-版本:5.30

七、信号定义7.1、模拟输入输出引脚定义P1:IDC-20芯,模拟输入插头,在输入的插头上标有对应的号码。信号定义如下:插座引脚号1719信号定义AINA0+AINB0+AINA1+AINB1+AINA2+AINB2+AINA3+AINB3+AGNDTRIG插座引脚号24681信号定义AINA0-AINB0-AINA1-AINB1-AINA2-AINB2-AINA3-AINB3-AGNDGNDAINAn+、AINAn-:±5V模拟信号差分输入对,n=0,1,2,3,分别对应4路A/D输入通道;AINBn+、AINBn-:±10V模拟信号差分输入对,n=0,1,2,3,分别对应4路A/D输入通道;举例说明:如果是通道3,接入的模拟信号范围是±10V,那么模拟信号就应该从AINB3+、AINB3-脚输入;如果通道3接入的模拟信号范围是±5V,那么模拟信号既可以从AINB3+、AINB3-脚输入;也可以从AINA3+、AINA3-脚输入,但两者只能二选一,为了追求精度,这种情况,推荐从AINA3+、AINA3-脚输入。17、18脚:AGND,模拟地;19脚:TRIG,为外触发。20脚:GND,为数字地。其中:模拟地和数字地是相通的。技术支持:************-6-版本:5.30

7.2、数字量输入、输出引脚定义P2:IDC-40(数字量输入、输出)插头,在输入的插头上标有对应的号码。信号定义如下:插座引脚号7293133353739信号定义DI0DI2DI4DI6DI8DI10DI12DI14AGNDAGNDDO0DO2DO4DO6DO8DO10DO12DO14AGNDAGND插座引脚号2468122426283信号定义DI1DI3DI5DI7DI9DI11DI13DI15AGNDAGNDDO1DO3DO5DO7DO9DO11DO13DO15AGNDAGNDDI0~DI15:开关量输入通道0~15;DO0~DO15:开关量输出通道0~15;17~20,37~40:AGND。技术支持:************-7-版本:5.30

7.3、ID设置:(四位拨码开关SW设置)如果系统插入了两块一样的卡,可通过设置不同的ID来进行区分。具体设置如下表:ID3ID2ID1ID0BoardIDON(1)ON(1)ON(1)ON(1)0ON(1)ON(1)ON(1)OFF(0)1ON(1)ON(1)OFF(0)ON(1)2ON(1)ON(1)OFF(0)OFF(0)3ON(1)OFF(0)ON(1)ON(1)4ON(1)OFF(0)ON(1)OFF(0)5ON(1)OFF(0)OFF(0)ON(1)6ON(1)OFF(0)OFF(0)OFF(0)7OFF(0)ON(1)ON(1)ON(1)8OFF(0)ON(1)ON(1)OFF(0)9OFF(0)ON(1)OFF(0)ON(1)10OFF(0)ON(1)OFF(0)OFF(0)11OFF(0)OFF(0)ON(1)ON(1)12OFF(0)OFF(0)ON(1)OFF(0)13OFF(0)OFF(0)OFF(0)ON(1)14OFF(0)OFF(0)OFF(0)OFF(0)15注意:OFF:0,ON:17.4、双极性模拟量输入的电压换算双极性方式工作时,转换后的24位数码为补码。此时24位数据的最高位(DB23)为符号位,“1”表示负,“0”表示正。如量程为-5~+5V时,此时数据与模拟电压值的对应关系为:如果DB23=0:模拟电压值=数据(24位)×4.096×1.5781÷8388607;如果DB23=1:模拟电压值=(数据(24位)-16777215)×4.096×1.5781÷8388607;如量程为-10~+10V时,此时数据与模拟电压值的对应关系为:如果DB23=0:模拟电压值=数据(24位)×4.096×3.167÷8388607;如果DB23=1:模拟电压值=(数据(24位)-16777215)×4.096×3.167÷8388607;技术支持:************-8-版本:5.30

八、常用信号连接8.1、外部模拟输入差分信号AINA1++∽信号输入连接器AINA1-AINB2++∽AINB2-外部触发信号从TRIG和GND输入。8.2、数字量输入芯片本身带弱上拉,外部数字量输入信号浮空(即不接)的情况下,采集回来的信号为1(高电平),当外部数字量输入信号为低电平时,采集回来的信号为0(低电平);开关量输入电平不能低于-0.3V或高于+5V。8.3、数字量输出输出不要对地线、电源短路。由于数字量输出是TTL输出,驱动能力有限,不能直接驱动继电器或电磁阀,可按以下电路来驱动继电器:VCCK?3IN400212RELAY SPST280504dout2k1或直接购买我公司的继电器板P800或PCLD-885。技术支持:************-9-版本:5.30

九、软件USB-2404的软件包括USB-2404驱动程序,动态链接库及调用例程。9.1、驱动安装注意:如果USB口的供电能力较弱,则必须外供5V电,否则将提示发现“unknowdevice”。首先区分自己的操作系统是32位还是64位。如何判断自己操作系统究竟是32位还是64位呢?方法其实很简单。具体方法如下:点击“开始”按钮,右键点击“计算机->属性”,即可打开查看有关计算机基本信息的窗口,在这个窗口中会显示操作系统的版本和类型。如果是64位系统,则会在图中的红框处显示“64位操作系统”。根据自己的操作系统,选择相应驱动文件夹下的,双击运行此批处理,完成文件的拷贝。重新启动计算机。如果是WIN7/VISTA系统,启动系统的时候,按F8,选“禁用驱动程序签名强制”项进入系统。将USB-2404模块利用出厂附带的USB线缆插入某一USB口。操作系统将自行检测新硬件,并弹出“添加新硬件向导”对话框,如下图所示:技术支持:************-10-版本:5.30

点击“下一步”点击“下一步”技术支持:************-11-版本:5.30

点击“下一步”该步:如果是WIN7系统,则点击“从计算机的设备驱动程序列表中选择”,如下图所示:3、选择“通用串行总线”,点击“从磁盘安装...”按钮,选择“”所在的文件夹(用户根据自己的操作系统来选择相应的路径,x86(32-bitOS)、x64(64-bitOS)),点击“确定”按钮,然后点击“下一步”按钮。根据向导提示完成安装。出现如下界面时,技术支持:************-12-版本:5.30

点击“完成”按钮,完成驱动程序的安装。说明:中途如提示未经微软数字签名,是否继续安装,点“仍然继续”,安装完成后如从(控制面板/系统/设备管理器)中可找到外部设备:USB-2404驱动程序新超科技,则可证明硬件驱动安装正确。4、如果同一机器里插有我方多块USB2404,则按照上述方法依次安装驱动。说明:驱动安装完成后,无需重启计算机,除非windows要求你这么做,你只需重新插拔一下USB设备即可。9.2、测试程序提供测试程序为VB,VC编写,可对USB-2404卡的所有功能进行测试。用户可参照例程自行编程。9.3、函数调用说明提供动态链接库作为调用接口,它所封装的函数可以在应用程序运行时调用。任意一种可以调用DLL链接库的编程工具均可进行编程。下列函数为DLL函数原型,请注意数据格式的匹配及函数的返回类型。9.3.1、库中部分函数说明:打开设备:函数:HANDLEWINAPIUSB2404_OpenDevice(longcard_id)功能:打开USB2404设备,返回硬件操作句柄,出错则为无效参数:card_id:指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)返回值:NULL表示打开设备失败;其它值表示打开设备成功详细参阅板卡ID设置章节。关闭设备函数:BOOLWINAPIUSB2404_CloseDevice(HANDLEhDevice)功能:关闭USB设备参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回返回值:如果函数调用成功,则返回TRUE,调用失败,返回技术支持:************-13-版本:5.30

软启动AD函数:BOOLWINAPIUSB2404_ADStart(HANDLEhDevice)功能:软启动AD(如果为外触发模式,则还需要外触发信号的配合,详见《触发模式》章节)参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE设置采样频率函数:BOOLWINAPIUSB2404_SetFreDiv(HANDLEhDevice,BYTEFreDiv)功能:设置AD采样频率参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回FreDiv:取值范围(1-80)FreDiv:参数取值决定采样频率,系统采用40M晶振时钟,如果FreDiv=1,采样频率为:40M÷256≈156.25KHz;如果FreDiv=80,采样频率为:40M÷256÷80≈1.95KHz;固本采集卡支持的采样频率范围为:1.95KHz~156.25KHz。因为分频因子只能为整数,所以想要的采样频率和实际的采样频率可能有区别,请以实际的采样频率为准。返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE注意:如果不调用USB2404_SetFreDiv函数,则FPGA默认是156.25KHz的采样频率。设置同步通道函数:BOOLWINAPIUSB2404_SetADCh(HANDLEhDevice,BYTEChSelect)功能:设置AD同步通道数参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回ChSelect:取值范围(1-15)ChSelect取值与同步通道数的对应关系如下:ChSelect取值同步通道0没有一个通道工作1通道02通道13通道0、14通道25通道0、26通道1、27通道0、1、28通道39通道0、310通道1、311通道0、1、312通道2、313通道0、2、314通道1、2、315通道0、1、2、3相应位为1代表该通道有效。返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE注:FPGA默认为一个通道也不选择。技术支持:************-14-版本:5.30

设置AD触发模式函数:BOOLWINAPIUSB2404_SetADMode(HANDLEhDevice,BYTEADMode)功能:设置AD触发模式参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回ADMode:取值范围(0-1)ADMode取值与触发方式的对应关系如下:ADMode取值触发方式0外触发1软启动返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE注:FPGA默认为软启动。将AD二进制原码转换成电压函数:voidWINAPIFun_DataToV(double*data,BYTEADRange)功能:将AD二进制原码转换成电压参数:data:AD采样数值(0-16777215)ADRange:取值范围(0-1),0:±5V;1:±10V;取决于AD的量程设置。返回值:对应的电压值停止AD函数:BOOLWINAPIUSB2404_ADStop(HANDLEhDevice)功能:停止AD参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE清RAM函数:BOOLWINAPIUSB2404_CLRRAM(HANDLEhDevice)功能:清空SDRAM参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE读取DRAM的状态函数:BYTEWINAPIUSB2404_ReadDramState(HANDLEhDevice,BOOL*b_Success)功能:读取DRAM的状态参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回b_Success,如果*b_Success=TRUE,则函数调用成功,否则函数调用失败返回值:如果函数调用成功,则返回DRAM的状态,调用失败,返回255返回值含义如下:Bit7~Bit3Bit2Bit1Bit00DRAM_FFDRAM_HFDRAM_EFDRAM_FF:该位为1代表DRAM全满;DRAM_HF:该位为1代表DRAM半满;DRAM_EF:该位为1代表DRAM空;注:全满一定半满且不为空,为空一定不半满和全满。板卡ID函数:BYTEWINAPIUSB2404_GetID(HANDLEhDevice,BOOL*b_Success)功能:获取板卡的物理ID参数:hDevice,设备操作句柄,由USB2404_OpenDevice函数返回b_Success,如果*b_Success=TRUE,则函数调用成功,否则函数调用失败返回值:如果函数调用成功,则返回物理ID(0-15),调用失败,返回技术支持:************-15-版本:5.30

DI函数:BYTEWINAPIUSB2404_DI(HANDLEhDevice,BYTEdich,BOOL*b_Success)功能:获取八位数字量输入参数:hDevice,设备操作句柄,由USB2404_OpenDevice函数返回dich,USB2404共有16位数字量输入,分成两个八组,(0-1),0对应前8位,1对应后8位b_Success,如果*b_Success=TRUE,则函数调用成功,否则函数调用失败返回值:如果函数调用成功,则返回八位数字量输入值(0-255),调用失败,返回255函数:WORDWINAPIUSB2404_DIALL(HANDLEhDevice,BOOL*b_Success)功能:获取十六位数字量输入参数:hDevice,设备操作句柄,由USB2404_OpenDevice函数返回b_Success,如果*b_Success=TRUE,则函数调用成功,否则函数调用失败返回值:如果函数调用成功,则返回十六位数字量输入值(0-65535),调用失败,返回65535函数:BYTEWINAPIUSB2404_DIBIT(HANDLEhDevice,BYTEdiBIT,BOOL*b_Success)功能:获取某位数字量输入参数:hDevice,设备操作句柄,由USB2404_OpenDevice函数返回diBIT,USB2404共有16位数字量输入,(0-15),0对应第1位,15对应16位b_Success,如果*b_Success=TRUE,则函数调用成功,否则函数调用失败返回值:如果函数调用成功,则返回某位数字量输入值(1或0),调用失败,返回1DO函数:BOOLWINAPIUSB2404_DO(HANDLEhDevice,BYTEdodata,BYTEdoch)功能:控制八位数字量输出参数:hDevice,设备操作句柄,由USB2404_OpenDevice函数返回dodata,要输出的八位数字量值(0-255)doch,USB2404共有16位数字量输出,分成两个八组,(0-1),0对应前8位,1对应后8位返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE函数:BOOLWINAPIUSB2404_DOALL(HANDLEhDevice,WORDdodata)功能:控制十六位数字量输出参数:hDevice,设备操作句柄,由USB2404_OpenDevice函数返回dodata,要输出的十六位数字量值(0-65535)返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE函数:WORDWINAPIUSB2404_DOBIT(HANDLEhDevice,WORDdodata,BYTEBITValue,BYTEwhichBIT,BOOL*b_Success)功能:数字量按位输出(可以指定某位为1或0)参数:hDevice,设备操作句柄,由USB2404_OpenDevice函数返回dodata,函数调用之前十六位数字量输出的状态(0-65535)BITValue,决定whichBIT指定的位输出高还是低,(0或1),0输出低电平,1输出高电平whichBIT,指定哪位,(0-15)b_Success,如果*b_Success=TRUE,则函数调用成功,否则函数调用失败返回值:如果函数调用成功,则返回新的十六位数字量输出的状态,调用失败,返回原值微秒延时函数函数:voidWINAPIDelayUs(intdly)功能:微秒延时参数:dly,微秒数返回值:无技术支持:************-16-版本:5.30

获取动态链接库的版本:函数:doubleWINAPIxc_GetVersion()功能:读当前计数器的值参数:无返回值:动态链接库的版本号往USB总控芯片发送请求命令函数:BOOLWINAPIUSB2404_IOCTL_VENDOR_REQUEST(HANDLEhDevice,BYTErequest)功能:往USB总控芯片发送请求命令参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回request:请求命令(0xB2、0xB3、0xBA)B2命令含义:USB总控芯片允许传输并复位USB端点FIFOB3命令含义:USB总控芯片初始化BA命令含义:USB总控芯片禁止传输返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE从USB块读数据函数:BOOLWINAPIUSB2404_IOCTL_BULK_READ(HANDLEhDevice,unsignedchar*Buffer,longBufferSize,unsignedlong*nBytes)功能:从USB块读数据参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回Buffer:用来接收读取的数据BufferSize:需要读取的字节数nBytes:指针,指向实际读取的字节数返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE注意:一次AD结果24位分成3个字节,外加一个状态字节,共四个字节,其中状态字节在四个字节的最前,再次为AD结果的低字节,再次为AD结果的中字节,最后为AD结果的高字节。以四通道同步为例,数据存放顺序为:Buffer[0],Buffer[1],Buffer[2],Buffer[3],分别为第一路AD的状态、结果低、结果中、结果高字节;Buffer[4],Buffer[5],Buffer[6],Buffer[7],分别为第二路AD的状态、结果低、结果中、结果高字节;Buffer[8],Buffer[9],Buffer[10],Buffer[11],分别为第三路AD的状态、结果低、结果中、结果高字节,分别为第四路AD的低、高字节;Buffer[12],Buffer[13],Buffer[14],Buffer[15],分别为第四路AD的状态、结果低、结果中、结果高字节;。。。依此类推。其中,状态寄存器结构如下:Bit71:数据有效0:数据无效Bit61:超量程0:不超量程Bit50Bit40Bit3~Bit0Don'tcare读写EEPROM的操作函数:BOOLWINAPIUSB2404_RWEEp(HANDLEhDevice,WORDaddr,longlen,unsignedchar*buffer,BOOLbIsRead=TRUE)功能:读写板上EEPROM参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回addr:从0X1000开始,范围0X1000~0X1FFFlen:需要读取的字节数,最大0X1000(即4096个字节)buffer:读、写数据缓冲区指针bIsRead:读还是写,默认是读操作返回值:如果函数调用成功,则返回TRUE,调用失败,返回技术支持:************-17-版本:5.30

从EEPROM读出一个字节函数:BOOLWINAPIUSB2404_REEp_B(HANDLEhDevice,WORDaddr,unsignedchar*buffer)功能:从EEPROM读出一个字节参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回addr:从0X1000开始,范围0X1000~0X1FFFbuffer:读、写数据缓冲区指针返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE写一个字节至EEPROM函数:BOOLWINAPIUSB2404_WEEp_B(HANDLEhDevice,WORDaddr,unsignedchar*buffer)功能:写一个字节至EEPROM参数:hDevice:卡的操作句柄,由USB2404_OpenDevice函数返回addr:从0X1000开始,范围0X1000~0X1FFFbuffer:读、写数据缓冲区指针返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE(用户可利用以上三个EEPROM操作函数,写入自己的参数到板载的EEPROM上)9.3.2、函数调用注意事项调用函数的正确顺序为:1、加载驱动,打开设备。(应用程序在初始化时调用一次USB2404_OpenDevice即可)2、对板卡进行访问,可进行AD转换操作。3、关闭设备。(推荐放在退出整个应用程序的时候调用USB2404_CloseDevice)9.4、DLL函数全部是WINAPI调用约定的,即__stdcall接口在使用各种编程语言时应注意选择,VisualC++/C++Builder/Delphi可以使用两种类型的调用约定。要在函数定义中明确指出__stdcall还是__cdecl;VisualBasic/PowerBuilder等语言应该使用__stdcall调用接口。9.5、驱动文件文件名_文件类型及功能Win32/64标准设备驱动WDM模式的设备驱动程序库底层驱动程序库的用户级函数接口封装所用的动态库。基于MicrosoftVisualC++工程开发环境的驱动程序函数接口输入库。基于MicrosoftVisualC++工程开发环境的函数调用头文件。基于MicrosoftVisualBasic工程开发环境的驱动程序函数接口输入模块文件适用的操作系统Win7,VistaWin2000,WinXP所有操作系统所有操作系统所有操作系统所有操作系统十、编程指导本公司提供的动态链接库经精心设计,支持所有的高级语言,高级语言如何调库请参阅相关书籍.本卡是中高速数据采集卡,在windows下编程,为了避免丢数,建议采用多线程。10.1、VC程序编程说明编程前,将及USB_2404.h程序拷贝到用户当前目录中。(需要的文件在VC目录中)技术支持:************-18-版本:5.30

VC编程的基本流程:利用显式调用加载函数。、USB_2404.h文件必须在当前工作目录中。方法,程序的开始处加入如下语句:#pragmacomment(lib,“”)#include“USB_2404.h”详细可以参考VC目录中的程序,USB_2404.h文件包含了需要的函数的声明过程。利用USB2404_OpenDevice函数获得板卡的操作句柄。在退出程序时必须执行如下操作:利用USB2404_CloseDevice函数关闭句柄。例://获得所有USB2404的操作函数#pragmacomment(lib,“”)#include“USB_2404.h”HANDLEhDevice=INVALID_HANDLE_VALUE;//硬件操作句柄Main(){//获得USB2404硬件操作句柄hDevice=USB2404_OpenDevice(0);//创建设备驱动句柄,设备号为0,取决于4位拨码开关………………………//用户程序//退出USB2404_CloseDevice(hDevice);//关闭操作句柄}详细可以参考光盘上的USB2404的VC目录下的例子。在编程时必须注意,硬件操作句柄HANDLE必须为全局变量或必须传递给有相应硬件操作的函数。硬件句柄只要在程序启动时打开一次即可,不需要每次打开或关闭。10.2、VB程序编程说明编程前,请将动态链接库程序拷贝到用户当前目录中或windows系统的system32目录中。VB编程的基本流程:在工程菜单中选择添加模块,将模块添加进来(该模块在光盘中USBUSB2404vb目录中,应用时将文件拷贝到当前工作目录),此文件为所有函数的声明文件。在模块中定义一个硬件操作句柄,为一个long属性的全局变量,这样可以被用户程序中的所有form调用(例:中声明的句柄hDevice)。利用USB2404_OpenDevice函数获得板卡的操作句柄。在退出程序时必须执行如下操作:利用USB2404_CloseDevice函数关闭句柄注:模块已经包含了所有必要的USB2404函数的声明语句。技术支持:************-19-版本:5.30

例:DIMhDeviceaslongPrivateSubForm_Load()hDevice=USB2404_OpenDevice(0)‘打开设备0号,获得驱动句柄…………………‘其他操作EndSub………………………………………PrivateSubForm_Unload(CancelAsInteger)USB2404_CloseDevicehDevice‘关闭操作句柄EndSub注:VB中如果设备操作句柄不等于&H0为有效句柄。10.3、LabVIEW程序编程说明本公司生产的所有采集卡的相关接口函数,均以动态链接库的形式提供给用户。在使用LabVIEW对本公司采集卡进行开发时,只需通过LabVIEW中的CallLibraryFunctionNode节点来调用我们所提供的动态链接库函数即可对硬件进行相关操作。10.4、Delphi程序编程说明在Delphi中调用动态链接库的方式分为静态调用和动态调用,本公司所提供的例程均采用静态调用方式。编程前,请将动态链接库程序拷贝到用户当前目录中或windows系统的system32目录中Delphi编程的基本流程:1.在.pas文件中的implementation处声明动态连接库中的函数。2.定义一个硬件操作句柄,为一个ulong属性的全局变量。3.利用USB2404_OpenDevice函数获得板卡的操作句柄。在退出程序时必须执行如下操作:利用USB2404_CloseDevice函数关闭句柄例:varhDevice:ulong;//句柄…………………eate(Sender:TObject);vari:ulong;beginhDevice:=USB2404_OpenDevice(0);end;…………………………//其他操作stroy(Sender:TObject);技术支持:************-20-版本:5.30

USB2404_CloseDevice(hDevice);//关闭操作句柄end;注:Delphi中如果设备操作句柄不等于$0为有效句柄。有关用户其他方面的应用请参考光盘中的例程。提供的DEMO程序由VC6.0编写,采用线程的办法取数。详细请参阅DEMO程序。十一、维修服务11.1、产品完整性USB-2404产品应包括以下内容,请检查其完整性:1、USB-2404一块(贴有出厂日期)。2、USB连接电缆一条。3、20、40芯扁平线缆各一条。4、软件光盘一张(含驱动软件及说明书)。5、配套端子板P-500,需单独购买。11.2、维修本产品自售出之日起两年内,凡用户正确使用下,出现产品质量问题的,免费维修。(出厂日期的贴条撕毁无效)因违反操作规定和要求而造成损坏的,收取元器件成本费和维修费。11.3、服务当您购买USB2404之后,软、硬件及其它技术上使用问题均可通过电话或E-mail与我们联系,我们将提供令您满意的服务。厂家保留对手册的更新和修改的权利,如有改动,恕不另行通知,请到公司的官方网站()下载,感谢您的支持和理解。技术支持:************-21-版本:5.30