数据采集模块使用说明Word格式.docx
《数据采集模块使用说明Word格式.docx》由会员分享,可在线阅读,更多相关《数据采集模块使用说明Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
2.1.4通讯协议:
USB2.0
2.2模入部分:
2.2.1输入通道数:
6;
2.2.2输入信号范围:
±
5V;
2.2.3输入阻抗:
≥10MΩ;
2.2.4程控增益:
×
1;
2;
10;
100;
500;
2.2.5输入通道选择方式:
单通道程序指定/多通道自动扫描;
2.2.6A/D转换精度/最高采样速率:
12位AD/500K;
2.2.7A/D采样程控频率:
1KHz/10KHz/25KHz/50KHz/100KHz/250KHz/500KHz;
2.2.8A/D启动方式:
程控触发
2.2.9FIFO存储器容量:
8K×
16bit(全满)/4K×
16bit(半满);
2.2.10通道切换时间:
(模拟开关导通时间+放大器建立时间)≤2μS;
2.2.11A/D转换非线性误差:
±
1LSB(A/B型),±
2LSB(C型);
2.3模出部分:
2.3.1输出通道数:
2路
2.3.2输出范围:
电压方式:
0~+10V
2.3.3输出阻抗:
≤2Ω(电压方式)
2.3.4D/A转换分辨率:
12位
2.3.5电压输出方式负载电流:
≤10mA
2.4开关量部分
2.4.1输入路数:
2路TTL电平/2路光隔,5V*/12V/24V开关量输入电平可选。
2.4.2输出路数:
2路TTL电平/2路光隔。
2.5电源功耗:
+5V(±
10%)≤500mA(自供电,不建议长期使用)
+9V(±
10%)≤500mA(外供电)
2.6使用环境要求:
工作温度:
10℃~40℃
相对湿度:
40%~80%
存贮温度:
-55℃~+85℃
3.工作原理
多功能数据采集模块主要由多路模拟开关选通电路、高精度放大电路、模数转换电路、DC/DC电路、先进先出(FIFO)缓冲存储器电路、模数转换电路、供电电路等部分组成。
3.1模入部分
3.1.1高速多路模拟开关选通电路
本电路由6片CD4501(或同类产品)及跨接选择器组成。
3.1.2高速高精度、差分、可编程增益放大器电路
该电路由片高速高精度放大器lf347、lm351组成,用以对通道开关选中的模拟信号进行变换处理,以提供模数转换电路所需要的信号。
3.1.3高速模数转换电路
本模块选用B-B公司的A/D器件ADS7822(12bit)、ADS7818(12bit)或ADS8325(16bit)作为本卡的模数转换器件。
采用外部精密基准电源。
3.1.4先进先出(FIFO)缓冲存储器电路
本电路用于将A/D转换的数据结果及通道代码进行缓冲存储。
并相应的给出“空”,“半满”和“全满”的标志信号。
用户在使用过程中可以随时根据这些标志信号的状态以单次或批量的方式读出A/D转换的结果。
3.2开关量输入输出电路
本模块提供了2路非隔离/隔离的开关量输入、2路非隔离/隔离的开关量输出信号通道。
使用中需注意对这些信号的电平要求,选合适的驱动。
3.3接口控制逻辑电路
接口控制逻辑电路用来将USB总线控制逻辑转换成与各种操作相关的控制信号。
3.4供电电路
供电电路由DC/DC芯片LM340及其外围电路组成外供电电路,以满足USB总线自供电功率的不足。
外供电需输入8-15V的直流电源,插座中心为正极。
4.模入码制以及数据与模拟量的对应关系
本接口卡在双极性方式工作时,转换后的12位数码为二进制偏移码。
此时12位数码的最高位(DB11)为符号位,“0”表示负,1”表示正。
偏移码与补码仅在符号位上定义不同,此时数码与模拟电压值的对应关系为:
输入信号为-5~+5V时:
模拟电压值=数码×
10(V)/4096-5(V)
即:
1LSB=2.44mV
5.软件
5.1驱动安装:
多功能数据采集模块在硬件安装完成后还需进行驱动安装,其具体安装步骤如下:
1.将模块USB接口插入计算机USB插座。
2.启动计算机,操作系统将自行检测新安装的硬件,并弹出”添加新硬件向导”对话框,在“添加新硬件向导”对话框出现时,点击“下一步”按钮。
3.选中“显示指定位置的所有驱动程序的列表...”单选钮,点击“下一步”按钮。
4.点击“下一步”。
5.点击“从软盘安装”按钮,弹出“从磁盘安装”对话框。
6.点击“浏览”按钮,选择“Usb7kC.inf”所在的目录(光盘\数据采集模块\驱动),点击“确定”按钮。
7.回到“添加新硬件向导”,点击“下一步”按钮。
8.点击“完成”按钮,第一块模块安装完成。
5.2函数介绍:
usb7KChelper.dll是为数据采集模块配制的工作在中英文Windows95/98/2000/XP/NT环境下的一个动态链接库,它所封装的函数可以被其它应用程序在运行时直接调用。
用户可以用任何一种可以使用DLL链接库的编程工具来编写。
所列函数的说明格式为C++应用程序中调用DLL库函数时的常用格式,无论使用哪一种开发工具,务必请注意数据格式的匹配及函数的返回类型。
动态链接库(usb7KChelper.dll所有函数说明如下:
#ifndefUSB7360_H
#defineUSB7360_H
#ifdefUSB7KCTRANS_EXPORTS
#defineZT_API__declspec(dllexport)
#else
#defineZT_API__declspec(dllimport)
#endif
//定义错误号
#defineZT_SUCCESS0//无错误
#defineERR_PARAMETER11//参数1错
#defineERR_PARAMETER22//参数2错
#defineERR_PARAMETER33//参数3错
#defineERR_PARAMETER44//参数4错
#defineERR_PARAMETER55//参数5错
#defineERR_PARAMETER66//参数6错
#defineERR_PARAMETER77//参数7错
#defineERR_PARAMETER88//参数8错
#defineERR_PARAMETER99//参数9错
#defineERR_PARAMETER1010//参数10错
#defineERR_PARAMETER1111//参数11错
#defineERR_PARAMETER1212//参数12错
#defineERR_PARAMETER1313//参数13错
#defineERR_PARAMETER1414//参数14错
#defineERR_PARAMETER1515//参数15错
#defineERR_PARAMETER1616//参数16错
#defineERR_PARAMETER1717//参数17错
#defineERR_PARAMETER1818//参数18错
#defineERR_PARAMETER1919//参数19错
#defineERR_PARAMETER2020//参数20错
#defineERR_PARAMETER_BASEADDR21//针对ISA卡,板卡基地址超出范围,基地址应该为0x100至0x3F0之间未被系统占用的地址
#defineERR_PARAMETER_CARDNO22//针对PCI卡,板卡索引号超出范围,这版驱动中板卡索引号默认从1开始
#defineERR_PARAMETER_CHMODE23//通道方式参数错误,通道方式超出范围,一般只有0--3共4种方式
#defineERR_PARAMETER_CH24//通道号参数错误,通道号超出范围
#defineERR_PARAMETER_CHIP25//芯片号参数错误,芯片号超出范围
#defineERR_PARAMETER_PORT26//口号参数错误,口号超出范围
#defineERR_PARAMETER_AI_RANGE27//AD量程参数错,此卡不支持这种AD输入量程
#defineERR_PARAMETER_AI_AMP28//AD增益参数错
#defineERR_PARAMETER_AI_STARTMODE29//AD启动方式参数错
#defineERR_PARAMETER_AO_RANGE30//DA量程参数错,不支持这种DA输出量程
#defineERR_PARAMETER_ADFREQ31//AD采集频率(或AD分频系数)参数错
#defineERR_PARAMETER_IRQ32//与中断相关参数错,可能是此卡不支持这种中断方式或中断号
#defineERR_PARAMETER_NULL_POINTER33//空指针错。
原因:
缓冲区首地址为空或者用户传入的参数导致引用到空指针
#defineERR_AD_OVERTIME34//AD超时。
对于ISA卡,出错原因可能是:
未插卡或IO地址与板卡上设置不匹配。
当用定时启动AD或外触发启动AD时,一般不应检查AD是否超时
#defineERR_OPEN_DEVICE35//打开设备失败,对于PCI卡,出错原因可能是:
未插卡或未装驱动,或dll与sys版本不一致
#defineERR_CLOSE_DEVICE36//关闭设备失败
#defineERR_TIMING37//定时未到或外触发脉冲未到
#defineERR_IOADDR_DA_OVERTIME38//带光隔DA写过程超时
#defineERR_OPEN_IRQ39//打开中断出错
#defineERR_FUNC_CANNT_RUN40//此函数不能在这台计算机上运行
#defineERR_ASYNC_FUNC_FAILED41//异步函数调用失败
#defineERR_FUNC_OPERATE42//在当前的卡的设置状态下,不应该调用此函数
#defineERR_EXCHANGE_DATA43//与底层驱动之间交换数据出错
extern"
C"
ZT_APIlong_stdcallZT7360_OpenDevice(unsignedlongcardNO);
//函数名称:
ZT7360_OpenDevice
//函数功能:
打开设备。
必须在调用其他函数之前调用。
//放在程序初始化时调用比较恰当,只调用一次即可
//入口参数:
//cardNO:
模块号,默认从1开始
//如果系统中只用了一个USB模块,令这个参数为1就行了
//返回值:
0表成功
//-1表失败,应该进一步调用ZT