Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
USB-2401 高精度采集卡 新超科技
- 1 - www.xckz.com 010-62987860
USB-2401
5通道模拟量输入,16通道数字量输入、输出板
一、概述
USB-2401板是一款专门针对微弱信号测量的高精度卡,采用 AD公司的 AD7714芯片,基于Σ-△架构,24 位无丢失码,带自校准功能,无需电位器校准。同时此 AD 器件具有低噪声、低功耗的特点。本卡
可通过软件设置滤波器截止频率和程控增益(1-128 倍放大),以提高测量的精确性。外部模拟量信号通过
板上的 20芯 IDC接头(J1)进入。USB-2401提供 16路数字量输入输出,TTL电平。16路数字量输入输出信号通过板上的 40芯 IDC
接头(J2)输入输出。数字量输出带上电自动清零功能,CPU输出数据为正向驱动。输入可根据现场需要,由跳线选择拉高还是拉低(出厂默认拉低),方便了用户的使用。
USB-2401卡的USB主控芯片采用CYPRESS公司的CY68013。技术成熟,功能强大,USB2.0总线,支持热插拔,即插即用。同时运用大规模现场可编程门阵列FPGA设计,提高可靠性。
出厂时提供 Win7/8/2000/XP 下测试程序和动态链接程序(DLL)及编程指导(DEMO 程序),有VB/VC/LABVIEW采集程序例程,并提供两年的质保服务。
二、性能特点
·AD有 5通道输入,可根据需要采用 3路差分输入或 5路准差分输入·程控增益(1-128倍)可选·AD上电自动硬复位,同时支持软复位,可在需要时,通过调用函数进行软复位·Σ-△架构,最高可实现 24 位无误码输出,同时保证 0.0015%的非线性度·滤波器截止频率可选(4.8Hz-1.01KHz)·低功耗,典型电流值为 226μA(省电模式仅为 4 μA)
·低噪声(<150 nV rms)
·串行三线(SPI)接口·本卡具备自校准(包括零刻度、满刻度校准)功能
·模拟信号输入最大(1倍放大):单极性:0-2.5V,双极性:-2.5V-2.5V(默认)(注意:如果采用程控增益放大,放大以后的信号不能超过量程,范围:单极性 0-2.5/(2^gain) V,双极性-2.5/(2^gain)V-2.5/(2^gain)V)·高精度参考电源 AD780·FPGA总控数字电路,提高可靠性·16路数字量输入,16路数字量输出 ,TTL电平·数字量输入可通过跳线 JP1选择拉高还是拉低·数字量输出带上电自动清零功能,各输出信号具有锁存功能
·电源管理芯片,自动决定是外供电还是采用 USB总线供电·外供电源具有防接反保护设计
·提供WIN7/8/2000/XP下驱动程序及动态连接库·尺寸大小:12(W) X 10(L) X 2.7(H) (cm)·工作电流:<350mA·^符号代表次方
三、技术参数
·工作电压: 5V±0.25V·工作温度: 0℃~50℃
USB-2401 高精度采集卡 新超科技
- 2 - www.xckz.com 010-62987860
·湿 度: 5%~95%
四、工作原理
1、工作原理图
AIN 1 ..AIN 6 DI 0 ..DI 15 DO 0 ..DO 15
逻辑方框图
2、工作原理简述USB-2401由五大功能模块组成:USB2.0总线桥电路,地址译码及数据锁存,开关量输入,开关量
输出,串行 AD五大功能组成。地址译码及数据锁存:由大规模现场可编程门阵列 FPGA芯片控制。由于是 USB总线,用户可以不
关心具体 I/O地址,直接调用我公司提供的动态连接库即可。8位数据模式。数字量输入:16路数字量输入信号由 J2 40芯 IDC头接入。输入信号(TTL电平,0-5V)经过数据
缓冲器件后进入 FPGA,由 FPGA读入计算机中。缓冲器件设计了上拉或下拉跳线,用户可根据需要选择。数字量输出:计算机输出的数字信号由 FPGA经锁存芯片后,由 J2 40芯 IDC型接头输出开关量信号。
由于输出有锁存电路,所以数字量输出具有保持功能。
串行 AD:AD与控制芯片 FPGA采用三线通讯模式,通过操作 AD内部的八个寄存器,来完成对 AD转换的控制。基于 AD的所有操作,都从 AD的通讯寄存器开始。串行 AD控制步骤如下:1、写通讯寄存器,选中高位滤波寄存器做写;2、往高位滤波寄存器写值;(决定单、双极性,滤波器截止频率)3、写通讯寄存器,选中低位滤波寄存器做写;4、往低位滤波寄存器写值;(决定滤波器截止频率)5、写通讯寄存器,选中模式寄存器做写;6、往模式寄存器写值;(决定放大倍数,校准模式)7、轮询 AD是否转换完成?完成跳转到第 8步;未完成继续轮询状态。8、写通讯寄存器,选中数据寄存器做读;9、读数据寄存器,得到 24位 AD结果。
数据锁存
USB2.0总 线
FPGA(总控数字电路)
数据驱动
USB总线芯片(CY68013)
24位串行 AD
USB-2401 高精度采集卡 新超科技
- 3 - www.xckz.com 010-62987860
五、使用方法
1、J1信号引脚定义(AIN为 AD输出端;DI为数字量输入端)
引脚号 信号 引脚号 信号
1 AIN1 2 AIN23 AIN3 4 AIN45 AIN5 6 AIN67 GND 8 GND9 厂家保留 10 厂家保留
11 厂家保留 12 厂家保留
13 厂家保留 14 厂家保留
15 GND 16 GND17 厂家保留 18 厂家保留
19 GND 20 GNDJ1接口输入信号定义表
AD最多有5个通道输入,4个伪差分输入对(AIN1、AIN6)、(AIN2、AIN6)、(AIN3、AIN6)、(AIN4、AIN6),一个全差分输入对(AIN5、AIN6);
或者三个通道输入:三个全差分输入对(AIN1、AIN2)、(AIN3、AIN4)、(AIN5、AIN6);
2、J2信号引脚定义(DO为数字量输出端;DI为数字量输入端)
引脚号 信号 引脚号 信号
1 DI 0 2 DI 13 DI 2 4 DI 35 DI 4 6 DI 57 DI 6 8 DI 79 DI 8 10 DI 911 DI 10 12 DI 1113 DI 12 14 DI 1315 DI 14 16 DI 1517 GND 18 GND19 DO 0
20 DO 1
21 DO 222 DO 3
23 DO 424 DO 5
25 DO 626 DO 7
27 DO 828 DO 9
29 DO 1030 DO 11
31 DO 1232 DO 13
33 DO 1434 DO 15
35 GND 36 GND37 GND 38 GND
USB-2401 高精度采集卡 新超科技
- 4 - www.xckz.com 010-62987860
39 GND 40 GNDJ2接口输入信号定义表
3、数字量输入拉高、拉低通过三针跳线 JP1选择,JP1的作用如下:2-3连接,表示拉低,外部数字量输入信号浮空(即不接)的情况下,采集回来的信号为 0(低电平),
当外部数字量输入信号为高电平时,采集回来的信号为 1(高电平);1-2连接,表示拉高,外部数字量输入信号浮空(即不接)的情况下,采集回来的信号为 1(高电平),
当外部数字量输入信号为低电平时,采集回来的信号为 0(低电平);
用户可根据外部数字量信号的情况来选择拉高还是拉低。开关量输入电平不能低于-0.3V 或高于+5V。
5、数字量输出
输出不要对地线、电源短路。由于数字量输出是 TTL输出,驱动能力有限,不能直接驱动继电器或电
磁阀,可按以下电路来驱动继电器:
2k1 2
IN4002
dout8050
K?
RELAY SPST
43
12
VCC
或直接购买我公司的继电器板 P800或 PCLD-885。
6、模拟量输入6.1、如果用户测量压力或电阻传感器,需要测量电桥的电压。
AIN+
12
1
2
3
4 AIN-POWERSUPPLY
GND
请注意:AIN+ 、AIN-对地线的电压不能超过±2.5伏。
6.2、如果输入信号为无源传感器输出或隔离变送器输出,可以按以下连接。
USB-2401 高精度采集卡 新超科技
- 5 - www.xckz.com 010-62987860
RGND
SIGNAL
1 2
AIN+
AIN-
R
电阻 R的范围为 1K-10K欧姆。
6.3、测量热电偶信号
R=1K - 10K ohmGND
thermal couples
AIN-
AIN+
7、安装用户的计算机必须支持 USB接口,由于 2.0接口速度更快,因此建议用户尽量采用 USB2.0接口。如
果没有 USB2.0接口,用户可以通过安装扩展卡来实现。
一些品牌的笔记本计算机的供电能力有限,如果 USB2401因此不能正常工作,请额外配备+5伏电源(注意外部供电电压为 5伏±5%),电源要求必须是稳压电源,输出电流大于 500毫安,此外用户也可以另外配置一个 USB HUB,将 USB401直接连接到 HUB上。
电源插座:
输入电源电压+5 伏,范围±5%,电流:大于 500毫安。插座极性如下:
地线
+5伏
用户在应用时请尽量采用随机配备的原装电缆。如果需要单独配备电缆,请按照以下原则配备:
电缆要选择粗的电缆以满足供电要求。
电缆必须满足 USB传输速度的要求。
六、软件
USB-2401的软件包括 USB-2401驱动程序,动态链接库及调用例程。6.1、驱动安装
USB-2401 高精度采集卡 新超科技
- 6 - www.xckz.com 010-62987860
注意:如果 USB口的供电能力较弱,则必须外供 5V电,否则将提示发现“unknow device”。首先区分自己的操作系统是32位还是64位。如何判断自己操作系统究竟是32位还是64位呢?方法其实很简单。具体方法如下:点击“开始”按钮,右键点击“计算机->属性”,即可打开查看有关计算机基本信息的窗口,在这个
窗口中会显示操作系统的版本和类型。如果是64位系统,则会在图中的红框处显示“64位操作系统”。
根据自己的操作系统,选择相应驱动文件夹下的 install.bat,双击运行此批处理,完成文件的拷贝。将 USB-2401模块利用出厂附带的 USB线缆插入某一 USB口。操作系统将自行检测新硬件,在
设备管理器中,在 USB-2401上点右键,选择更新驱动程序,(以 WIN7安装为例):
USB-2401 高精度采集卡 新超科技
- 8 - www.xckz.com 010-62987860
选择驱动程序所在的路径(此路径是笔者驱动程序所在的路径,仅供参考),点击“下一步”
或者选“从计算机的设备驱动程序列表中选择”,如下图所示:
选择“通用串行总线”,点击“从磁盘安装...”按钮,选择“USB2401.inf”所在的文件夹(用
户根据自己的操作系统来选择相应的路径,x86(32-bit OS)、 x64(64-bit OS)),点击“确定”按钮,然后点击“下一步”按钮。当出现出现如下界面时,勾选“始终信任来自北京新超仁达科技有限公司
的软件复选框”,然后点击“安装”按钮。
USB-2401 高精度采集卡 新超科技
- 9 - www.xckz.com 010-62987860
根据向导提示完成安装。出现如下界面时,
点击“完成”按钮,完成驱动程序的安装。
说明:安装完成后如从(控制面板/系统/设备管理器)中可找到外部设备:“USB2401驱动程序 新超
科技”,则可证明硬件驱动安装正确。
如果同一机器里插有我方多块 USB-2401,则按照上述方法依次安装驱动。
说明:驱动安装完成后,无需重启计算机,除非 windows要求你这么做,你只需重新插拔一下 USB设备即可。
6.2、测试程序
USB-2401 高精度采集卡 新超科技
- 10 - www.xckz.com 010-62987860
提供测试程序为 VB,VC,LABVIEW 编写,可对 USB-2401 卡的所有功能进行测试。用户可参照例程自
行编程,进行二次开发。
6.3、函数调用说明
提供动态链接库作为调用接口,它所封装的函数可以在应用程序运行时调用。任意一种可以调用 DLL
链接库的编程工具均可进行编程。下列函数为 DLL 函数原型,请注意数据格式的匹配及函数的返回类型。
库中部分函数说明:
打开设备:
函数:BOOL WINAPI USB2401_OpenDevice(long card_id,HANDLE* hDevice)功能:打开 USB 设备
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
hDevice: 返回设备句柄
返回值:如果函数调用成功,则返回TRUE值,调用失败,返回FLASE
关闭设备
函数:BOOL WINAPI USB2401_CloseDevice(long card_id)功能:关闭USB设备
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
返回值:如果函数调用成功,则返回TRUE,调用失败,返回FALSE
八位数字量输入
函数:BYTE WINAPI USB2401_DI(long card_id,BYTE dich,BOOL * b_Success)功能:八位数字量输入函数
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
Dich: di组号(0-1),共两组,一组8位,(0-1),0对应前8位,1对应后8位
b_Success:如果*b_Success=TRUE,则函数调用成功,否则函数调用失败
返回值:如果函数调用成功,则返回八位数字量输入值(0-255),调用失败,返回0
十六位数字量输入
函数:WORDWINAPI USB2401_DIALL(long card_id,BOOL * b_Success)功能:十六位数字量输入函数
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
b_Success:如果*b_Success=TRUE,则函数调用成功,否则函数调用失败
返回值:如果函数调用成功,则返回十六位数字量输入值(0-65535),调用失败,返回0
某位数字量输入
函数:BYTE WINAPI USB2401_DIBIT(long card_id,BYTE diBIT,BOOL * b_Success)功能:某位数字量输入函数
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
diBIT: USB2401共有16位数字量输入,(0-15),0对应第1位,15对应16位
b_Success:如果*b_Success=TRUE,则函数调用成功,否则函数调用失败
返回值:如果函数调用成功,则返回某位数字量输入值(1或0),调用失败,返回0
八位数字量输出
函数:BOOL WINAPI USB2401_DO(long card_id,BYTE dodata,BYTE doch)功能:八位数字量输出函数
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
dodata: 要输出的八位数字量值(0-255)
doch: USB2401共有16位数字量输出,分成两个八组,(0-1),0对应前8位,1对应后8位
返回值:如果函数调用成功,则返回 TRUE,调用失败,返回 FALSE
USB-2401 高精度采集卡 新超科技
- 11 - www.xckz.com 010-62987860
十六位数字量输出
函数:BOOL WINAPI USB2401_DOALL(long card_id,WORD dodata)功能:十六位数字量输出函数
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
dodata: 要输出的十六位数字量值(0-65535)
返回值:如果函数调用成功,则返回 TRUE,调用失败,返回 FALSE
某位数字量输出
函数:WORD WINAPI USB2401_DOBIT(long card_id,WORD dodata,BYTE BITValue,BYTE whichBIT,BOOL *b_Success)
功能:某位数字量输出函数
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
dodata: 函数调用之前十六位数字量输出的状态(0-65535)BITValue: 决定whichBIT指定的位输出高还是低,(0或1),0输出低电平,1输出高电平
whichBIT: 指定哪位,(0-15)
b_Success:如果*b_Success=TRUE,则函数调用成功,否则函数调用失败
返回值:如果函数调用成功,则返回新的十六位数字量输出的状态,调用失败,返回 0
AD 软复位
函数:BOOL WINAPI USB2401_ADReset(long card_id,BYTE bValue)功能:AD 软复位(通过连续的写入一串 1完成 AD 的复位)
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
bValue: 可写入任意值,一般写0x0;返回值:如果函数调用成功,则返回 TRUE,调用失败,返回 FALSE
AD 函数,直接得到原码
函数:DWORD WINAPI USB2401_AD(long card_id,BYTE ch,BYTE gain,float FFNotchFre,BYTE pol)功能:得到 AD 转换结果,24 位原码
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
ch: 通道号,取值(0-7)ch的取值含义如下:0:AIN1,AIN6 Pseudo Differential (伪差分)
1:AIN2,AIN6 Pseudo Differential2:AIN3,AIN6 Pseudo Differential3:AIN4,AIN6 Pseudo Differential
4:AIN1,AIN2 Fully Differential (全差分)
5:AIN3,AIN4 Fully Differential6:AIN5,AIN6 Fully Differential7:AIN6,AIN6 Test Mode (测试模式,用户不用关心)
如果信号从AIN1,AIN6接入,AIN1接信号的正端,AIN6接信号的负端,AIN1,AIN6组成伪差分对,此时ch参数填0,其它依此类推。
由此可以看出,AD最多有5个通道输入,4个伪差分输入对(AIN1、AIN6)、(AIN2、AIN6)、(AIN3、AIN6)、(AIN4、AIN6),一个全差分输入对(AIN5、AIN6);
或者三个通道输入:三个全差分输入对(AIN1、AIN2)、(AIN3、AIN4)、(AIN5、AIN6);
gain: 决定程控增益,取值(0-7)
gain的值与放大倍数的关系如下:
gain的值: 程控放大倍数:
0 1
USB-2401 高精度采集卡 新超科技
- 12 - www.xckz.com 010-62987860
1 2
2 4
3 8
4 16
5 32
6 64
7 128
FFNotchFre: 滤波器截止频率,取值(4.8Hz-1.01KHz),此参数决定AD转换的精度,要保证
24位无丢失码,FFNotchFre的值必须小于60Hz;当FFNotchFre的值达到1KHz或以上时,AD的精度将
降低到12位水平。
注:实际写入AD内部高、低滤波积存器的值code(12位) = (2457600 / 128)/ FFNotchFre;
Pol: 极性,为1表示单极性,为0表示双极性
(如果待测信号是双极性的,即信号有正有负,为了能正确的测量,Pol参数必须设置为0)
返回值:24位 AD结果,十进制表示,范围(0-16777215)
转换函数
函数:double WINAPI USB2401_DWToValue(DWORD data,BYTE pol,BYTE gain)
功能:根据 AD 的码制对应关系,将原码转换成电压值
参数:data: 24位原码值,十进制表示,取值范围(0-16777215)Pol: 极性,为1表示单极性,为0表示双极性
(如果待测信号是双极性的,即信号有正有负,为了能正确的测量,Pol参数必须设置为0)
gain: 决定程控增益,取值(0-7)
gain的值与放大倍数的关系如下:
gain的值: 程控放大倍数:
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
返回值:转换后的电压值
AD 函数,直接得到电压值(此函数包含了对两个函数 USB2401_AD、USB2401_DWToValue)
函数:double WINAPI USB2401_VAD(long card_id,BYTE ch,BYTE gain,float FFNotchFre,BYTE pol)功能:直接得到电压值
参数:card_id: 指定设备序号(由板上拨码开关SW设置,0-15,用于区分板卡的物理ID)
ch: 通道号,取值(0-7)ch的取值含义如下:0:AIN1,AIN6 Pseudo Differential (伪差分)
1:AIN2,AIN6 Pseudo Differential2:AIN3,AIN6 Pseudo Differential3:AIN4,AIN6 Pseudo Differential
4:AIN1,AIN2 Fully Differential (全差分)
5:AIN3,AIN4 Fully Differential6:AIN5,AIN6 Fully Differential7:AIN6,AIN6 Test Mode (测试模式,用户不用关心)
如果信号从AIN1,AIN6接入,AIN1接信号的正端,AIN6接信号的负端,AIN1,AIN6组成伪差分对,此时ch参数填0,其它依此类推。
USB-2401 高精度采集卡 新超科技
- 13 - www.xckz.com 010-62987860
由此可以看出,AD最多有5个通道输入,4个伪差分输入对(AIN1、AIN6)、(AIN2、AIN6)、(AIN3、AIN6)、(AIN4、AIN6),一个全差分输入对(AIN5、AIN6);
或者三个通道输入:三个全差分输入对(AIN1、AIN2)、(AIN3、AIN4)、(AIN5、AIN6);
gain: 决定程控增益,取值(0-7)
gain的值与放大倍数的关系如下:
gain的值: 程控放大倍数:
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
FFNotchFre: 滤波器截止频率,取值(4.8Hz-1.01KHz),此参数决定AD转换的精度,要保证
24位无丢失码,FFNotchFre的值必须小于60Hz;当FFNotchFre的值达到1KHz或以上时,AD的精度将
降低到12位水平。
注:实际写入AD内部高、低滤波积存器的值code(12位) = (2457600 / 128)/ FFNotchFre;
Pol: 极性,为1表示单极性,为0表示双极性
(如果待测信号是双极性的,即信号有正有负,为了能正确的测量,Pol参数必须设置为0)
返回值:实际待测信号的电压值
6.3.2 函数调用注意事项
调用函数的正确顺序为:
1、加载驱动,打开设备。(应用程序在初始化时调用一次 USB2401_OpenDevice 即可)2、对板卡进行访问,可进行开关量输入输出、脉冲计数操作。3、关闭设备。(推荐放在退出整个应用程序的时候调用 USB2401_CloseDevice)6.4、DLL函数全部是WINAPI调用约定的,即__stdcall接口
在使用各种编程语言时应注意选择,
Visual C++/C++ Builder/Delphi
可以使用两种类型的调用约定。要在函数定义中明确指出__stdcall 还是__cdecl;
Visual Basic/PowerBuilder等语言
应该使用__stdcall调用接口。
6.5、驱动文件
文件名 文件类型及功能 适用的操作系统
cyusb.sys Win32/64标准设备驱动WDM 模式的
设备驱动程序库
Win7,Vista
Win2000,WinXP
USB2401.dll 底层驱动程序库的用户级函数接口
封装所用的动态库。
所有操作系统
USB2401.lib 基于Microsoft Visual C++工程开发
环境的驱动程序函数接口输入库。
所有操作系统
USB_2401.H 基于Microsoft Visual C++工程开发
环境的函数调用头文件。
所有操作系统
PcMod.Bas 基于Microsoft Visual Basic 工程开发
环境的驱动程序函数接口输入模块
文件
所有操作系统
USB-2401 高精度采集卡 新超科技
- 14 - www.xckz.com 010-62987860
七、编程指导
本公司提供的动态链接库经精心设计,支持所有的高级语言,高级语言如何调库请参阅相关书籍.
7.1、VC 程序编程说明
编程前,将 USB2401.lib及 USB_2401.h程序拷贝到用户当前目录中。(需要的文件在 VC目录中)VC编程的基本流程:利用显式调用加载函数。USB2401.lib、USB_2401.h文件必须在当前工作目录中。方法,程序的开始处加入如下语句:
#pragma comment(lib, “USB2401.lib”)#include “USB_2401.h”
详细可以参考 VC目录中的程序,USB_2401.h文件包含了需要的函数的声明过程。利用 USB2401_OpenDevice函数获得板卡的操作句柄。在退出程序时必须执行如下操作:利用 USB_CloseDevice函数关闭句柄。
例:
//获得所有 USB2401的操作函数#pragma comment(lib, “USB2401.lib”)#include “USB_2401.h”
HANDLE hDevice = INVALID_HANDLE_VALUE; //硬件操作句柄
Main(){
//获得 USB2401硬件操作句柄hDevice=USB2401_OpenDevice(0); //创建设备驱动句柄,设备号为 0
……………………… //用户程序
//退出USB2401_CloseDevice(0); //关闭操作句柄
}
详细可以参考光盘上的 USB2401的 VC目录下的例子。
在编程时必须注意,硬件操作句柄 HANDLE必须为全局变量或必须传递给有相应硬件操作的函数。硬件句柄只要在程序启动时打开一次即可,不需要每次打开或关闭。
7.2、VB 程序编程说明
编程前,请将 USB2401.dll动态链接库程序拷贝到用户当前目录中或 windows系统的 system32目录中VB编程的基本流程:
在工程菜单中选择添加模块,将 PcMod.bas模块添加进来(该模块在光盘中\USB\USB2401\vb目录中,应用时将文件拷贝到当前工作目录),此文件为所有函数的声明文件。
在模块中定义一个硬件操作句柄,为一个 long属性的全局变量,这样可以被用户程序中的所有 form
USB-2401 高精度采集卡 新超科技
- 15 - www.xckz.com 010-62987860
调用(例:PcMod.bas中声明的句柄 hDevice)。利用 USB2401_OpenDevice函数获得板卡的操作句柄。
在退出程序时必须执行如下操作:
利用 USB2401_CloseDevice函数关闭句柄
注:PcMod.bas模块已经包含了所有必要的 USB2401函数的声明语句。
例:
DIM hDevice as longPrivate Sub Form_Load()
hDevice = USB2401_OpenDevice(0) ‘打开设备 0号,获得驱动句柄………………… ‘其他操作
End Sub
………………………………………
Private Sub Form_Unload(Cancel As Integer)
USB2401_CloseDevice card_id ‘关闭操作句柄
End Sub
注:VB中如果设备操作句柄不等于&H0为有效句柄。
7.3、LabVIEW 程序编程说明
本公司生产的所有采集卡的相关接口函数,均以动态链接库的形式提供给用户。在使用 LabVIEW对本公司采集卡进行开发时,只需通过 LabVIEW中的 Call Library Function Node节点来调用我们所提供的动态链接库函数即可对硬件进行相关操作。
7.4、Delphi 程序编程说明
在 Delphi中调用动态链接库的方式分为静态调用和动态调用,本公司所提供的例程均采用静态调用方式。
编程前,请将 USB2401.dll动态链接库程序拷贝到用户当前目录中或 windows系统的 system32目录中
Delphi编程的基本流程:1.在.pas文件中的 implementation处声明动态连接库中的函数。2.定义一个硬件操作句柄,为一个 ulong属性的全局变量。3.利用 USB2401_OpenDevice函数获得板卡的操作句柄。在退出程序时必须执行如下操作:
利用 USB2401_CloseDevice函数关闭句柄
例:
varhDevice:ulong;//句柄…………………procedure TForm1.FormCreate(Sender: TObject);vari:ulong;begin
USB-2401 高精度采集卡 新超科技
- 16 - www.xckz.com 010-62987860
hDevice:= USB2401_OpenDevice(0);end;…………………………//其他操作procedure TForm1.Formdestroy(Sender: TObject);beginUSB2401_CloseDevice(0); //关闭操作句柄
end;注:Delphi中如果设备操作句柄不等于$0为有效句柄。有关用户其他方面的应用请参考光盘中的例程。
八、维修服务
8.1、产品完整性USB2401产品应包括以下内容,请检查其完整性:1、 USB2401一块(贴有出厂日期)。2、 40芯IDC扁平线一条。3、 USB连接电缆一条。4、如果USB口供电不足,可选配外接电源,需单独购买。5、软件光盘一张(含驱动软件及说明书)。8.2、维修本产品自售出之日起两年内,凡用户正确使用下,出现产品质量问题的,免费维修。(出厂日期的贴
条撕毁无效)因违反操作规定和要求而造成损坏的,收取元器件成本费和维修费。
8.3、服务当您购买 USB-2401之后,软、硬件及其它技术上使用问题均可通过电话或 E-mail与我们联系,我们将
提供令您满意的服务。建议用户在使用前,认真阅读本手册。
厂家保留对手册的更新和修改的权利,如有改动,恕不再另行通知,请到公司的官方网站
(www.xckz.com)下载。