100Ksps12位32通道ADWord格式文档下载.docx

上传人:b****2 文档编号:1540186 上传时间:2023-04-30 格式:DOCX 页数:16 大小:64.48KB
下载 相关 举报
100Ksps12位32通道ADWord格式文档下载.docx_第1页
第1页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第2页
第2页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第3页
第3页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第4页
第4页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第5页
第5页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第6页
第6页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第7页
第7页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第8页
第8页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第9页
第9页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第10页
第10页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第11页
第11页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第12页
第12页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第13页
第13页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第14页
第14页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第15页
第15页 / 共16页
100Ksps12位32通道ADWord格式文档下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

100Ksps12位32通道ADWord格式文档下载.docx

《100Ksps12位32通道ADWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《100Ksps12位32通道ADWord格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。

100Ksps12位32通道ADWord格式文档下载.docx

●中断源:

定时器中断

●触发方式:

PC机软件触发

DA的性能指标:

●通道数:

4路独立输出

●输出方式:

电压输出,-5V-+5V或0-10V

●精度:

接口:

●总线方式:

32位PCI总线

●接头方式:

DB37(针式)

开关量指标:

●24路数字量输入

●8路数字量输出,复位清零功能

●2路脉冲计数功能

●工作温度:

0-70℃

三、AD板工作原理简介

信号从模拟量输入接头J2输入,然后经过阻容元件、多路开关进入仪器放大器,经过仪器放大器实现阻抗匹配和干扰抑制,再送到程控放大器,然后送到A/D芯片。

PC机首先选通相应的通道,然后触发A/D,A/D完成后,读取A/D结果。

DA芯片采样AD公司的12位独立DA转换器,实现两路DA的独立输出。

由于有复位控制功能,当计算机复位或计算机重新启动时,DA输出自动降到最低电压,能够保证系统的安全,这在很多工控项目中都非常重要。

板上的定时器定时给计算机发出中断,软件通过响应中断,实现实时控制功能。

一般信号采集直接采用单端即可,将信号的地线与本板的模拟地线相接,将信号线接本板的通道线。

由于本板有很强的共模噪声抑制能力,将信号直接接采集板能够保证有很高的采集精度。

对于噪声特别严重的信号,可以采用双端的方式输入,首先将板配置成双端采集模式,然后将信号的两端接通道的两端。

本板出库时,设置为单端方式。

阻容元件是根据用户需要,可以灵活配置的元件,接线如图1所示。

图1阻容元件接线

●滤波:

当阻容元件是电容式,该元件起滤波作用

●下拉:

当阻容元件为大电阻,如10K欧,则表示将信号下拉,当外部接线断路时,数据采集的结果仍然为0,这在一些控制系统中非常有用。

●电流探测:

当采用精密的电阻,用以检测电流时,由于本板的输入阻抗非常大,因此信号源的电流大部分都流经探测电阻,电阻两端的电压可以由采集板检测,从而根据与电流的关系,计算出电流的大小。

本板的阻容元件出库时空接,用户可以根据自己的需要焊接,元件的规格是表面贴元件0805系列。

四、硬件使用方法

1、操作元件布置

本板的操作元件布置如图3所示。

JP2和JP3联合控制单端与双端的选择。

JP4用于程控放大器设置,当没有程控放大器时,JP4的1、2短接;

当有程控放大器时,JP4的2、3短接。

出库时不带程控放大器,JP2的1、2短接。

J2是AD模拟信号的输入和DA的模拟信号输出。

W2用于选择AD输入的模拟信号类型,当W2的1,2短接时,输入的信号为单极性信号,输入的AD信号范围是从0V到10V,当W2的2,3短接时,输入的信号为双极性信号,输入的AD信号范围是从-5V到+5V;

WR2用于AD信号的调零,WR3用于AD信号的增益调整。

W2用于选择AD输入信号极性,当1、2闭合时,输入0-10伏,当2、3闭合时,输入-5伏到+5伏。

JP4用于选择是否带程控放大器,当不带程控放大器时,1、2闭合、当带程控放大2、3闭合时。

WR4、WR5用于DA0的增益、零点调整。

WR7、WR6用于DA1的增益、零点调整。

WR8、WR9用于DA2的增益、零点调整。

WR11、WR10用于DA3的增益、零点调整。

2、口地址与中断

PCI总线板卡的口地址与中断由系统自动分配,一般用户可以非常方便地使用,做到即插即用。

对于工控领域的应用,需要得到板卡的物理地址,或是多块板卡同时工作,需要得到各个板卡物理地址,可以参照下文软件所述的方法实现对板卡的物理寻址。

地址分配是:

假设基地址=IOBase

定时器82C54的地址是:

IOBase0-IOBase+3,可读,可写

ADL:

采集结果低8位地址,IOBase+4

ADH:

采集结果高8位地址IOBase+5

采集完成状态:

读IOBase+6的D1

开关量输入DI0-DI7:

IOBase+7

开关量输入DI8-DI15:

IOBase+8

开关量输入DI16-DI23:

IOBase+9

DAL(DA输出的低8位):

DAH(DA输出的高4位给通道选择位):

DACS,DA输出控制字节:

IOBase+10

通道及增益设置:

IOBase+11,低5位选择32通道中的一个通道,D5,D6确定增益

启动A/D命令,写IOBase+12

开关量输出命令:

IOBase+13

3、AD的单端与双端输入方式选择

通过短接器JP2和JP3实现单端与双端的转换。

单端方式:

JP2的1、2短接,4、5短接;

JP3的1、2短接,4、5短接。

双端方式:

JP2的2、3短接、5、6短接;

JP3的2、3短接,5、6短接。

出库时,设置成单端方式。

4、AD的增益调整与零点调整

WR2用于信号的零点调整。

零点调整时,首先将信号输入线接地,然后观察采集软件的采集结果,直到输出为零。

WR3用于信号的增益调整。

增益调整时,请使用新电池接在输入信号线上,然后用4位半的万用表量出电池的电压,作为标准电压,然后观察采集软件的采集结果,直到采集的结果为标准电压。

5、AD模拟输入量程的选择

W2用于选择AD输入信号的量程,当W2的1、2短接时,输入范围是0-10V,当W2的2、3短接时,输入范围是-5V至+5V。

6、AD电压信号与AD输出数码的关系

输出采用偏移码方式。

当输入为-5V至+5V:

输入-5.000v时,对应的数码是0H;

当输入是0电压时,输出的数码为800H;

当输入的电压为+5.000v时,输出的数码为FFFH;

当输入为0V至+10V:

输入0v时,对应的数码是0H;

当输入是5V电压时,输出的数码为800H;

当输入的电压为+10.000v时,输出的数码为FFFH。

7、控放大器的设置

本板可以接程控放大器,程控放大器可以是PGA204、PGA205或PGA206。

当选择PGA204时,4种放大倍数是1、10、100、1000。

当选择程控放大器PGA205时,4种放大倍数是1、2、4、8。

当选择程控放大器PGA206时,4种放大倍数是1、2、5、10。

程控放大器由两个控制端A0和A1控制,当A1A0为二进制的00、01、10、11时,分别选择4种放大倍数1、10、100、1000或1、2、4、8或1、2、5、10。

假设采集板的口地址的基地址是IOBase,程控放大器的控制端A0、A1对应的控制位是:

IOBase+9控制字节的Bit5和Bit6。

当不接程控放大器时,应该将JP4的1、2短接,当接有程控放大器,并且使用程控放大器时,应该将JP4的2、3短接。

8、接线插座的信号定义

J2是37芯的D形接头,如图2所示,模拟量输入与模拟量输出接口针脚的定义是:

1、20、2、21、3、22、4、23、5、24、6、25、7、26、8、27对应模拟输入通道0-15。

11、30、12、31、13、32、14、33、15、34、16、35、17、36、18,37对应模拟输入通道0-15。

19针是模拟地线。

针9、28、10、29对应DA输出的通道0、通道1、通道2、通道3。

当采用单端时,针脚1至8对应通道0/2/4/6/8/10/12/14,针脚20至27对应通道1/3/5/7/9/11/13/15,针脚11至18对应通道16/18/20/22/24/26/28/30,针脚30至37对应通道17/19/21/23/25/27/29/31。

当采用双端时,针脚1/20/2/21/3/22/4/23/5/24/6/25/7/26/8/27对应通道0至15的高端,针脚11/30/12/31/13/32/14/33/15/34/16/35/17/36/18/37对应通道0至15通道的低端。

图2模拟量接线

图3数字量接线

图3是数字量的接线示意图。

39是+5伏输出,40针是地线。

DOO是开关量输出的第一路,DO1、DO2、DO3、DO4、DO5、DO6、DO7分别是开关量输出的第2、3、4、5、6、7、8路。

DI0、DI1、DI2、…、DI23对应开关量输入的0-23,共计24路开关量输入。

CLK1,OUT1,G1是定时器1的时钟、输出与门控;

CLK2,OUT2,G2是定时器2的时钟、输出与门控。

五、软件使用说明

pci总线有即插即用的特点,为用户使用本卡提供了很多方便,对于大多少用户,可以直接采用本公司提供的驱动软件,可以实现数据采集功能。

在工业控制中,往往需要软件独立控制硬件,并且需要了解硬件的物理地址,以便于实现可靠的控制和采集功能。

有些用户的软件在Dos下编制,也需要了解板卡的起始地址和中断号,因此,这里介绍获取板卡口地址和中断号的方法。

以下为了说明方便,设定口地址为IOBase。

并用C语言介绍。

1、口地址与中断的获取

本公司提供两个软件,帮助用户实现对板卡口地址与中断的查询及编程工作:

intSetCardNoByOrder(0,WORDNewCardNo);

该函数的功能是设定一个板的卡号,该卡号记录在板上的EEProm中,该卡号是这块板的标识号,在一台计算机中,这中卡号应该是唯一的。

设定卡号时,应该只有一块板插在计算机的PCI槽中,通过运行本软件,就可以在卡上设定该卡的卡号。

相当于ISA总线中设定基地址。

在用户软件中,就是通过该卡号来查询卡的基地址与中断号。

intGetIOBaseByCardNo(WORDCardNo,WORD*IOBase,WORD*IRQNum);

这个函数的作用是得到对应卡号的卡的基地址和中断号。

该函数返回的结果是0时,表示失败,返回的结果是1时,表示返回的结果成功。

产生IOBase是返回的口地址,IRQNum是中断号。

例如:

假设用户有3块PCI卡,分别是AD板AD7201、开关量板IO701和功率驱动板IO702,工控项目中需要软件明确了解3块卡的基地址,并且可能的插入的PCI槽是不确定的,那么就可以通过以下方法实现口地址的查询:

首先关闭计算机,将计算机中的瑞博华公司的板卡从计算机中拔出,然后插入AD7201板卡,运行本公司提供的工具,设置板卡的卡号为1;

依据相同道理,可以设置开关量板IO701的卡号为1、功率驱动板IO702的卡号为2。

然后将所有的板卡都插入计算机。

再运行GetIOBaseByCardNo函数功能,输入板卡号,就可以得到各个板的口地址与中断。

2、定时器的使用

定时器的作用是向PC发出定时中断,用户软件在定时中断中采集数据,由于采用硬件定时中中断,所以可以保证相邻两次采样时刻非常准确。

定时器采用82C54,占用IOBase+3和IOBase这两个地址,并且只有写有效。

写IOBase+3为写控制字节,控制字节为0x34。

写IOBase为写定时器分频数,该数16位,分两次写入,首先写入低8位,然后写入高8位。

定时器的输入时钟为500KHz。

例如设置定时器输出频率为50的程序如下:

outportb(IOBase+3,0x34);

outportb(IOBase,(10000&

0xff));

//500,000/10000=50,送低8位

outportb(IOBase,(10000>

>

8));

//送高8位

3、通道号设置

通道号设置:

写IOBase+11,D0-D4确定通道号

4、程控放大器设置

程控放大器有两种类型可以选择,一种是PGA204,增益分别是1、10、100、1000;

另一种是PGA205,放大倍数分别是1、2、4、8。

两种放大器的放大倍数由控制端A0、A1控制,当A1A0分别是00、01、10、11时,对应的放大倍数为1、10、100、1000或1、2、4、8。

IOBase+11的D5位=A0;

IOBase+11的D6位=A1;

特别要注意的是,IOBase+11的低5位D0、D1、D2、D3、D4是控制通道号。

5、软件触发启动A/D的方法

outportb(IOBase+12,0);

//立即启动AD

6、A/D完成的查询方法

while(!

(inportb(IOBase+6)&

0x2));

//等待bit1==1,表明A/D芯片正在工作,当为高电平时,表明A/D完成。

7、读取A/D结果的方法

inportb(IOBase+4)//读取结果低8位

(inportb(IOBase+5)//读取结果高4位;

8、AD综合编程实例

假设程控放大器是PGA205,设定增益=2,那么A1A0=01;

intControlByte;

//控制字节,对应的地址是IoBase+11。

其D0-D4是通道号,D5是PGA的A0,D6是PGA的A1。

ControlByte=0;

//控制字节初始化

ControlByte=ControlByte&

0xBF;

//A1=D6=0;

ControlByte=ControlByte|0x20;

//A0=D5=1;

outportb(IOBase+11,ControlByte);

//使程控放大器的A0=0A0=1

ControlByte=ControlByte&

0xE0;

//选择通道0

//设置定时器

outportb(IOBase+3,0x36);

//设置定时器的控制字

i=MainFreq/FrqSamp0;

outportb(IOBase,i&

0xff);

//送控制字节

outportb(IOBase,(i>

8)&

0xff);

for(i=0;

i<

NumChn+1;

i++){//采集所有通道的信号

outportb(IOBase+12,0);

ControlByte=ControlByte|((i+1)&

0x1f);

//选择下一个通道

//等待bit1==1,

if(i>

=1)//跳过第一次转换

TmpADBuff[i-1]=inportb(IOBase+4)+//读取结果

((inportb(IOBase+5)&

0xf)<

<

8);

}

ControlByte=ControlByte&

0xe0;

outportb(IOBase+11,ControlByte);

//设置到通道0

9、开关量输入编程说明

24路开关量输入的口地址是IOBase+7、IOBase+8、IOBase+9。

对应的D0-D7是8路开关量输入的电平状态,当对应的针是高电平时,读入的是1,当对应的针脚是低电平时,输入的是0。

DI0-DI23对应0-23这24个通道。

对应的输入针的定义是:

DIO-DI7对应J1的9、10、11、12、13、14、15、16。

DI8-DI5对应J1的17、18、19、20、21、22、23、24。

DI16-DI23对应J1的25、26、27、28、29、30、31、32。

J1的40是地线,39是高电平输出。

10、开关量输出编程说明

8路开关量输出的口地址是IOBase+13。

对应的D0-D7是8路开关量输出的电平状态,当对应的位输出1时,当对应的针是高电平时,当对应的位输出0时,对应的针脚输出低电平。

对应的针脚是J1的1至8。

11、DA编程说明

DAL是DA输出的低8位,其口地址是IOBase+8。

DAH的低4位是DA输出的高4位,与DAL共同合成12位DA输出。

DAH的D4,D5决定DA输出的通道号。

DAH的口地址是:

IOBase+9。

当为DA0通道时,D4=0,56=0;

当DA1通道时,D4=1,D5=0;

当DA2通道时,D4=0,56=1;

当DA3通道时,D4=1,D5=1。

当设定了对应通道的DA值后,要使该值生效,必须运行以下生效命令:

Outportb(IOBase+10,0);

例如,设定DA1为中间电压输出,DA2为最大电压输出的程序如下:

outportb(IOBase+8,0xff);

//送DA1的低8位

outportb(IOBase+9,0x17);

//送DA1的高4位,并选中通道1

//使设定值生效

//送DA2的低8位

outportb(IOBase+9,0x2f);

//送DA2的高4位

outportb(IOBase+10,0);

二>

WINDODW95下的软件说明

本板提供了很完善的WIN98/2000/NT/XP驱动程序,采用动态链接库的方式,用户使用方便、快捷,所提供的DEMO软件,能满足大量的实际需要,如实时控制、波形显示、波形记录等。

在Windows下编程,有两种编程方式,一种是采用查询方式,可以实时读取当前信号的幅值,以及开关量状态,这种方式特别适合于工业现场的实时控制;

另一种方式是采用硬件定时采集的方式,通过调用本公司提供的动态连接库,可以实现在Windows下高速、实时、连续采集信号。

查询方式的采集主要依靠以下函数实现。

开关量采集子程序

只要运行本程序,就可以采集采集板的开关量输入,以及脉冲量的输入

其中:

IOChn=9,是一个固定数

IOV()是一个数组

IOV(0):

是第一个8路开关量输入,每位对应1位,当该位=0,表明输入低电平,=1表明输入高电平

IOV

(1):

是第二个8路开关量输入,每位对应1位,当该位=0,表明输入低电平,=1表明输入高电平

IOV

(2):

是第三个8路开关量输入,每位对应1位,当该位=0,表明输入低电平,=1表明输入高电平

函数成功返回TRUE,失败返回FALSE

DeclareFunctionDllRbh_DILib"

adcard.dll"

Alias"

_Rbh_DI@8"

(ByValIOChnAsInteger,ByRefIOVAsInteger)AsInteger

模拟量采集子程序

只要运行本程序,就可以采集采集板的模拟量输入

adchn:

是模拟通道数,从1开始,如4通道,则该数就是4

采集的结果放置在数组ADResult()数组中,该数据是全局变量,在模块中定义,定义类型是长整型数

采集结果存放的通道对应是0-31通道,对应数组元素ADResult(0)-ADResult(31)

数据编码方式:

采用偏移二进制码,如12位的A/D,最大值是4095,最小值是0

DeclareFunctionDllRbh_ADResultLib"

_Rbh_ADResult@8"

(ByValadchnAsInteger,ByRefADVAsInteger)AsInteger

初始化程序

只要运行本程序,就可以设置模拟采集的通道数,采集的起始通道号,程控放大器的放大倍数

ADNumChn:

ADBegChn:

是起始通道号,从0开始,如第二通道,则ADBegChn=1

ADAmpGain:

程控增益控制数,该数有4档,对应0,1,2,3.分别对应程控放大倍数1/2/4/8或1/10/100/1000

DeclareFunctionDllRbh_InitLib"

_Rbh_Init@12"

(ByValADNumChnAsInteger,ByValADBegChnAsInteger,ByValADAmpGainAsInteger)AsInteger

开关量输出控制程序

只要运行本程序,就可以从开关量输出端输出开关量

DONum=1,是一个固定常数

DOV是数组:

DOV(0)是要输出的开关量字节,8位输出,每位对应J3的1个输出端,当输出0时,输出低电平,当输出1时,对应端输出高电平

DeclareFunctionDllRbh_DOLib"

_Rbh_DO@8"

(ByValDONumAsInteger,ByRefDOVAsInteger)AsInteger

模拟量输出控制程序

只要运行本程序,就可以控制模拟量输出

DAChn:

是模拟通道号,从0开始,如2通道,则该数就是1

DAValue:

DA输出量,采样偏移二进制编码,最大值是4095,最小值是0

DeclareFunctionDllRbh_DALib"

_Rbh_DA@8"

(ByValDAValueAsInteger,ByValDAChnAsInteger)AsInteger

脉冲量输出控制程序

只要运行本程序,就可以设置脉冲量的输出

TC:

对应通道的控制字节

CTValueL:

初始值的低8位

CTValueH:

初始值的高8位

CTChn:

对应的通道号,从0开始,如第二通道时,值=1

脉冲计数芯片采用8254-2芯片,建议用户先熟悉该芯片的功能及使用方法

DeclareFunctionDllRbh_CounterOutLib"

_Rbh_CounterOut@16"

(ByV

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2