1AMPCI-9102数据采集板使用说明书2一.概述AMPCI-9102板是PCI总线通用数据采集控制板,该板可直接插入具备PCI插槽的工控机或个人微机,构成模拟量电压信号、数字量电压信号采集、监视输入和模拟量电压信号输出、数字量电压信号输出及计数定时系统。AMPCI-9102板为用户提供了单端16路/双端8路模拟量数据采集输入通道,模拟量输入通道具有程控放大功能,4路12Bit模拟量电压信号输出,16BitTTL数字量输入和16BitTTL数字量输出,6路16位计数定时通道,基准时钟8M,可构成脉冲计数、频率测量、脉冲信号发生器等电路。对AMPCI-9102板的所有读写操作均为16Bit即D00~D15,当对82C54进行读写时只有D00~D07有效。二.性能和技术指标•模拟信号输入A/D分辩率12Bit•16路单端/8路双端模拟信号通道•模拟信号输入具有1/2/4/8倍的程控放大•模拟信号输出D/A分辩率12Bit•模拟信号输出通道4路•16BitDI/16BitDO数字量输入/输出(74HC电平)•6路16位计数定时通道•A/D输入电压范围:±5V(出品状态)、0-10V、±10V•输入阻抗:100MΩ•A/D转换时间:8.5uS•A/D转换精度:优于±0.1%•模拟信号输入程控放大倍数:1/2/4/8•输出电压范围:±5V(出品状态)、0-5V、0-10V•计数定时部分:16BIT/6通道三.AMPCI-9102软件安装WIN2000/XP环境下AMPCI-9102安装说明软件运行环境包括Windows2000和WindowsXP软件安装过程1、将AMPCI-9102卡插入到主机的某一PCI插槽内。2、启动Windows/2000或Windows/XP。3、当出现“添加新硬件向导”对话框时,将带有驱动程序的光盘放入光驱,并选择“下一步”;在随后出现的对话框中,选择或输入光盘的g:\ampci-9102\9102win2k\Pcisdk.inf文件。并依照相应提示,完成驱动程序的安装,注意如果同时插入两块AMPCI板卡,则这一步需安装两次,三块板卡时需安装三次,即插入几块板卡就需安装几次,这一过程主机均有提示。至此AMPCI9102板WIN2K环境安装完成,点击“我的电脑”–“属性”–“硬件”-“设备管理器”–“系统设备”可看到AMPCI-9102板3四.安迈AMPCI-9102卡函数介绍用户在使用时可通过调用函数Am9102.dll,从而不用关心具体的I/O端口,通过调用Am9102.dll完成对本板的操作,Am9102.dll在光盘上9102winw2k目录内的”9102-dll”文件夹内,调用Am9102.dll的测试程序举例也在该文件夹内函数如下:1BOOL_stdcallAM9102_Open(HANDLE*phPLX9052,WORDnCardNum);2WORD_stdcallAM9102_AD(HANDLEhPLX9052,WORDCH,WORDGain);3void_stdcallAM9102_DA(HANDLEhPLX9052,WORDCH,WORDdate);4void_stdcallAM9102_D0(HANDLEhPLX9052,WORDdate);5WORD_stdcallAM9102_DI(HANDLEhPLX9052);6void_stdcallAM9102_WR8254(HANDLEhPLX9052,WORDCS,WORDCH,WORDdtae);7WORD_stdcallAM9102_RD8254(HANDLEhPLX9052,WORDCS,WORDCH);8void_stdcallAM9102_Close(HANDLEhPLX9052);1.打开AMPCI设备:函数:BOOL_stdcallAM9102_Open(HANDLE*phPLX9052,WORDnCardNum)功能:打开AMPCI-9102卡入口有效参数:nCardNum=0,1,2,3...出口返回值:1打开设备成功0打开设备失败2.对某通道模拟量进行一次A/D变换:函数:WORD_stdcallAM9102_AD(HANDLEhPLX9052,WORDCH,WORDGain)功能:对某通道模拟量进行一次A/D变换入口有效参数:CH–通道号,取值范围0-15,对应模拟量输入通道0-15Gain-增益,取值范围0-3,对应程控放大倍数1/2/4/8出口返回值:A/D转换结果,输出范围0000-0FFF3.某通道模拟量输出进行一次D/A变换:函数:void_stdcallAM9102_DA(HANDLEhPLX9052,WORDCH,WORDdate)功能:输出一次D/A变换入口有效参数:CH–通道号,取值范围0-3,对应D/A模拟量输出通道1-通道4date-D/A转换数值,取值范围0000-0FFF出口返回值:无4.16BIT开关量输出:函数:void_stdcallAM9102_D0(HANDLEhPLX9052,WORDdate)功能:输出16BIT数字量入口有效参数:date-输出数值,取值范围0000-FFFF出口返回值:无5.16BIT开关量输入:函数:WORD_stdcallAM9102_DI(HANDLEhPLX9052)4功能:读入16BIT数字量输入状态入口有效参数:无出口返回值:DI-输出数值范围0000-FFFF6.写计数定时器82C54-A或82C54-B函数:void_stdcallAM9102_WR8254(HANDLEhPLX9052,WORDCS,WORDCH,WORDdtae)功能:写计数定时器82C54计数数值或控制字入口有效参数:CS-0或1;0时写82C54-A,1时写82C54-BCH-寄存器号,;取值范围0-3,0/1/2对应82C54通道0/1/2的数据寄存器,3为选择写控制寄存器date-要写入的数值;取值范围0000-00FF,要写入的计数值或控制字注意当82C54工作在16位计数工作方式时,计数值要分两次写到82C54,82C54是8位数据操作出口返回值:无82C54的工作方式及控制字意义请阅读光盘82C54数据手册7.读计数定时器82C54-A或82C54-B函数:WORD_stdcallAM9102_RD8254(HANDLEhPLX9052,WORDCS,WORDCH)功能:读计数定时器82C54计数数值入口有效参数:CS-0或1;0时读82C54-A,1时读82C54-BCH-寄存器号;取值范围0-2,0/1/2对应82C54通道0/1/2的数据寄存器注意当82C54工作在16位计数工作方式时,计数值要分两次读回,82C54是8位数据操作出口返回值:读出的计数值,输出数值范围0000-00FF8.关闭AMPCI设备:函数:void_stdcallAM9102_Close(HANDLEhPLX9052)功能:关闭某一AMPCI9102卡入口有效参数:无出口返回参数:无五.使用5.1AMPCI-9102板I/O端口地址分配⑴模拟输入通道选择、增益选择寄存器(I/O写操作)Offset=00H,Offset:相对地址的偏移量,即该写操作的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00XXXXXXXXG1G0XXC3C2C1C05说明:C3~C0:A/D转换通道选择位G1/G0:程控放大增益选择位1C3~C0:模拟信号输入通道选择位,对应关系如下:通道代码C3~C0:C3C2C1C0通道代码数值对应选择通道号000000H通道1000101H通道2001002H通道3..........................11100EH通道1511110FH通道16注:双端输入时C3无意义,此时只有通道1~通道8这8个输入通道2G1~G0:程控放大增益选择位G1/G0增益选择位:G1G0程控增益放大倍数AMPCI-9102程控增益放大倍数AMPCI-9102H型0011012101041001181000⑵启动A/D转换(I/O写操作)Offset=02H,Offset是相对地址的偏移量,该写操作的I/O地址设定要转换的通道号后必须执行该操作,D15~D00此时无意义⑶查询A/D转换状态位+A/D转换数据(I/O读操作)Offset=0AHOffset:相对地址的偏移量,该读操作的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00ZXXXB11B10B9B8B7B6B5B4B3B2B1B0B11~B0:A/D转换数据,12BIT的A/D转换数值Z:A/D转换状态位,当:Z=1,A/D转换器正在进行转换,数据无效Z=0,转换结束,B11-B0是有效A/D转换数据6⑷16位数字量输出寄存器(I/O写操作)Offset=0CHOffset:相对地址的偏移量,该写操作的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00A15A14A13A12A11A10A09A08A07A06A05A04A03A02A01A00A15~A00:16Bit数字量输出,对应J2的A15~A00⑸16位数字量输入寄存器(I/O读操作)Offset=0EHOffset:相对地址的偏移量,该读操作的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00B15B14B13B12B11B10B9B08B07B06B05B04B03B02B01B00B15~B00:16Bit数字量输入,B15~B00对应J2插座的B15~B000⑹D/A-1输出数据寄存器(I/O写操作)Offset=10HOffset:相对地址的偏移量,输出D/A1的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00XXXXB11B10B09B08B07B06B05B04B03B02B01B00B11~B00:D/A1输出数据;X:未用位⑺D/A-2输出数据寄存器(I/O写操作)Offset=12HOffset:相对地址的偏移量,输出D/A2的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00XXXXB11B10B09B08B07B06B05B04B03B02B01B00B11~B00:D/A2输出数据;X:未用位⑻D/A-3输出数据寄存器(I/O写操作)Offset=14HOffset:相对地址的偏移量,输出D/A3的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00XXXXB11B10B09B08B07B06B05B04B03B02B01B00B11~B00:D/A3输出数据;X:未用位7⑼D/A-4输出数据寄存器(I/O写操作)Offset=16HOffset:相对地址的偏移量,输出D/A4的I/O地址D15D14D13D12D11D10D09D08D07D06D05D04D03D02D01D00XXXXB11B10B09B08B07B06B05B04B03B02B01B00B11~B00:D/A4输出数据;X:未用位⑽计数定时器82C54-A(I/O读操作+写操作)Offset=18H~1Eh,读写它的I/O地址,对82C54的读写操作只有D7~D0有意义82C54-A的I/O地址具体分配如下:I/O地址Offset=I/O操作对应寄存器定义18H读操作/写操作82C54-A的通道0数据寄存器1AH读操作/写操作82C54-A的通道1数据寄存器1CH读操作/82C54-A的通道2数据寄存器1EH写操作82C54-A的控制寄存器⑾计数定时器82C54-B(读操作+写操作)Offset=20H~