ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:70.24KB ,
资源ID:3859245      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3859245.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PCI采集卡原理和程序.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PCI采集卡原理和程序.docx

1、PCI采集卡原理和程序PM-512 高精度模入接口卡技术说明书1. 概述PM-512高精度模入接口卡适用于提供了PC104 总线的嵌入式微机。其操作系统可选用经典的MS-DOS或目前流行的 Windows 系列等多种操作系统。PM-512高精度模入接口卡安装使用简便、功能齐全。其A/D 转换启动方式可以选用程控频率触发、程控单步触发、外部TTL信号触发以及外部时钟同步触发等多种方式。A/D转换后的数据结果通过先进先出存储器(FIFO)缓存后由PC104总线读出。为方便用户,本卡还提供了符合TTL电平的8路数字量输入和8路数字量输出信号通道。2. 主要技术参数2.1模入部分( 标*为出厂标准状态

2、,下同 )2.1.1输入通道数:单端16路* / 双端8路2.1.2 输入信号范围:010V*;05V;5V;10V2.1.3 输入阻抗:10M2.1.4 输入通道选择方式:单通道程序指定/多通道自动扫描2.1.5 A/D转换分辩率:16位2.1.6 A/D最高转换速率:100KHz2.1.7 A/D采样程控频率:1KHz/5KHz/10KHz/50KHz/100KHz/外部时钟2.1.8 A/D启动方式:程控频率触发/程控单步触发/外部TTL信号触发2.1.9 A/D转换输出码制:单极性原码*双极性偏移码2.1.10 FIFO存储器容量:8K16bit(全满)/4K16bit(半满)2.1.

3、11 数据读取识别方式:FIFO半满查询/FIFO非空查询/FIFO半满中断2.1.12 系统综合误差:0.02 F.S2.2 开关量部分2.2.1 输入路数:8路TTL电平2.2.2 输出路数:8路TTL电平2.3 电源功耗: +5V(10)500mA2.4环境要求: 工作温度:1040 相对湿度: 4080 存贮温度:-55+852.5 外型尺寸:长高90mm96mm 3. 工作原理工作原理简介 PM-512高精度模入接口卡主要由高速多路模拟开关选通电路、高速高精度放大电路、高精度模数转换电路、先进先出(FIFO)缓冲存储器电路、开关量输入输出电路和接口控制逻辑电路等部分组成。3.1 高速

4、多路模拟开关选通电路本电路由2片ADG408高速多路模拟开关(或同类产品)及跨接选择器KJ1、KJ2组成,用以从16路单端信号或8路双端信号中选择其中一路,送入后端的放大器电路处理。3.2 高速高精度放大电路 本电路由4个高速高精度放大器、基准源、阻容件及跨接选择器KJ3组成,用以对通道开关选中的模拟信号进行变换处理,以提供模数转换电路所需要的信号。3.3 高精度模数转换电路 本电路由高速模数转换芯片ADS7805(或AD976)及调整电位器W1、W2、和W3组成,用以将模拟信号转换为数字信号。W1用于偏移调整,W2用于零点调整,W3用于满量程增益调整。3.4 先进先出(FIFO)缓冲存储器电

5、路 本电路用于将A/D转换的数据结果进行缓冲存储。并相应的给出“空”,“半满”和“全满”的标志信号。用户在使用过程中可以随时根据这些标志信号的状态以单次或批量的方式读出A/D转换的结果。3.5 开关量输入输出电路:本卡还提供了各8路的开关量输入输出信号通道。使用中需注意对这些信号应严格符合TTL 电平规范。3.6 接口控制逻辑电路接口控制逻辑电路用来将PC104总线控制逻辑转换成与各种操作相关的控制信号。4. 安装及使用注意本卡的安装十分简便,在关电情况下,将本卡上的P1总线连接器正确的插入主机或其它功能板卡的总线连接器中并轻轻压紧。为避免两层板卡上的元器件互相接触造成不可预计的后果,应正确选

6、用适当高度的支柱并在本卡安装完成后将其紧固。本卡采用的模拟开关是COMS 电路,容易因静电击穿或过流造成损坏,所以在安装或用手触摸本卡时,应事先将人体所带静电荷对地放掉,同时应避免直接用手接触器件管脚,以免损坏器件。禁止带电插拔本接口卡。本卡跨接选择器较多,使用中应严格按照说明书进行设置操作。设置接口卡开关、跨接套和安装接口带缆时均应在关电状态下进行。当模入通道不全部使用时,应将不使用的通道就近对地短接,不要使其悬空,以避免造成通道间串扰和损坏通道。为保证安全及采集精度,应确保系统地线(计算机及外接仪器机壳)接地良好。特别是使用双端输入方式时,为防止外界较大的共模干扰,应注意对信号线进行屏蔽处

7、理。5. 使用与操作5.1 主要可调整元件见图1。图1 主要可调整元件位置图5.2 IO基地址选择:IO 基地址的选择是通过DIP开关K1 进行的,开关拨至“OFF”处为1,反之为0。初始地址的选择范围一般为100H370H之间。用户应根据主机硬件手册给出的可用范围及是否插入其它功能卡来决定本卡的IO基地址。出厂时本卡的基地址设为300H,并从基地址开始占用连续8个地址。现举例说明见图2。A9 A8 A7 A6 A5 A4 A9 A8 A7 A6 A5 A4 (a) 100H (b) 310H图2 IO基地址选择举例5.3 输入输出插座接口定义5.3.1 模入部分J1为模拟信号输入插座,其信号

8、定义见表1。用户可根据需要选择连接信号线(单端)或信号线组(双端)。为减少信号杂波串扰和保护通道开关,凡不使用的信号端应就近与模拟地短接, 这一点在小信号采样时尤其重要。表1 J1模拟输入信号端口定义(括号内表示双端方式)插座引脚号信号定义插座引脚号信号定义1模拟地2模拟地3CH1 ( CH1+ )4CH2 ( CH2+ )5CH3 ( CH3+ )6CH4 ( CH4+ )7CH5 ( CH5+ )8CH6 ( CH6+ )9CH7 ( CH7+ )10CH8 ( CH8+ )11CH9 ( CH1- )12CH10 ( CH2- )13CH11 ( CH3- )14CH12 ( CH4-

9、)15CH13 ( CH5- )16CH14 ( CH6- )17CH15 ( CH7- )18CH16 ( CH8- )19模拟地20模拟地5.3.2 开关量部分J2为开关量输入输出插座,其信号定义见表2 。 表2 J2开关量输入输出信号端口定义插座引脚号信 号 定 义插座引脚号信 号 定 义1+5V电源输出2+5V电源输出3DI14DI25DI36DI47DI58DI69DI710DI811数字地12数字地13DO114DO215DO316D0417DO518D0619DO720DO821数字地22数字地23EC/T24NC25数字地26数字地注:EC/T为外触发启动信号/外同步时钟信号共

10、用输入端。5.4 跨接器的使用5.4.1 单端/双端方式选择KJ1、KJ2为单端/双端输入方式选择插座,其使用方法见图3。 a. 单端输入方式 b. 双端输入方式图3 单/双端输入方式选择5.4.2 A/D量程选择KJ3为A/D量程选择插座,其使用方法见图4。 a.010V输入 b. 05V输入 c. 5V输入 d. 10V输入 图4 A/D量程选择5.5 控制端口与数据格式5.5.1各控制端口的地址与功能见表3表3 端口地址与功能表(16位操作)端口地址操作命令功能基地址+0写写状态控制字基地址+0读清空FIFO,除I/O外各功能复位基地址+2写置工作允许/停止,DO=1允许,DO=0禁止基

11、地址+2读查询FIFO状态基地址+4写单步采样,写任意数值基地址+4读从FIFO中读出A/D转换结果基地址+6写写8路DO开关量数据基地址+6读读8路DI开关量数据下面分别就表3中的各项功能进行详细说明1.状态控制字格式和定义状态控制字用来确定本卡的各种工作方式,每次采样前应根据需要加以确定,其格式及定义见表4。表4 状态控制字格式及定义表(X为保留,暂无定义)D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0FE1E0XXD2D1D0CBXX A3A2A1A0A3 A2 A1 A0 为通道代码。当本卡工作在单通道程序指定方式时,这些通道代码即为程序指定的某一通道。当

12、本卡工作在多通道自动扫描方式时,这里的通道代码为指定的末通道(一定大于0),本卡将自动从0通道开始,逐次加一选择通道,直到指定的末通道为止,且周而复始。B为触发启动方式选择。B=0时为程控触发启动方式,B=1时为外部TTL信号触发启动方式。C为单通道程序指定/多通道自动扫描选择。C=0时为单通道程序指定方式。C=1时为多通道自动扫描方式。D2 D1 D0 为A/D采样程控频率选择。其定义如下:D2 D1 D0程控频率0 0 01KHz0 0 15KHz0 1 010KHz0 1 150KHz1 0 0100KHz1 0 1保留1 1 0外同步时钟方式1 1 1单步方式E1 E0 为中断信号通道

13、选择。本选择应与F位配合使用,其定义如下: E1 E0中断信号通道 0 0IRQ5 0 1IRQ7 1 0IRQ12 1 1无效F为中断允许选择。F=0禁止中断,F=1允许中断。当允许中断时,FIFO存储器的“半满”信号就将产生中断申请,以便本卡在中断方式下开始读取A/D转换结果。2.清空FIFO本操作用于清空FIFO并使除I/O以外的各种已进行过的操作恢复到初始状态,同时将FIFO的状态标志置为“空”。本操作应在每次A/D采集之前进行。3.置工作允许/停止 当状态控制字填写完毕后,本卡还不能开始工作。只有在基地址+2写1才能允许工作。此时,如果状态控制字选择的是程控触发启动方式,则本卡将按照

14、选定的程控频率开始工作。如果状态控制字选择的是外部TTL信号触发启动方式,则本卡将等待外部TTL信号的上升沿(从低电平到高电平),然后按照选定的程控频率开始工作。 采样过程中,在基地址+2写0将停止本卡的A/D转换工作,直到重新写1允许。4.查询FIFO状态 FIFO状态在工作过程中可以随时查询,以判断FIFO存储器中A/D转换结果的存储情况。其状态标志定义如下:D15D3D2 D1 D0定 义00 0 0FIFO 空0X X 1FIFO 非空0X 0 XFIFO 非半满0X 1 1FIFO 半满00 X XFIFO 非全满01 1 1FIFO 全满 一般情况下,如果本卡工作在低速或单步方式时

15、,可以用过查询判断FIFO是否为“空”进行数据的读取。而在高速工作方式时,应该通过查询判断FIFO是否为“半满”进行数据的批量读取。“全满”状态一般不要使用,因为出现了“全满”就意味着可能有数据溢出丢失。5.单步采样 在状态控制字设为单步方式,且置为工作允许后,再对基地址+4进行一次写操作(写出数据无关),本卡就进行一次采样。如果本卡同时还置为多通道自动扫描方式,则同时切换到下一个通道等待继续操作。 由于单步采样是一个程序可控的进程,所以只要执行完一次单步采样并且判断FIFO中“不空”,即可从FIFO中读出A/D转换的结果。6.从FIFO中读出A/D转换结果 执行此操作可以从FIFO中读出经过

16、缓存的A/D转换结果,此结果由16位数据组成,具体格式及定义参见5.5.3。7.读/写8位DI/DO开关量数据 执行上述读/写操作可以读入或写出数字开关量。注意此类操作均为16位操作,但只有低8位有效。其中每一位对应一路数字开关量,且数字开关量均为TTL电平标准。具体数据格式参见5.5.4。5.5.2模入通道代码数据格式见表5(端口地址为基地址+0)表5 模入通道代码数据格式通道号十进制代码十六进制代码输入方式通道号十进制代码十六进制代码输入方式1000H单双9808H单2101H单双10909H单3202H单双11100AH单4303H单双12110BH单5404H单双13120CH单650

17、5H单双14130DH单7606H单双15140EH单8707H单双16150FH单5.5.3 A/D转换结果的数据格式见表6(端口地址为基地址+4)表6 A/D转换结果数据格式D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0DB15DB14DB13DB12DB11DB10DB9DB8DB7DB6DB5DB4DB3DB2DB1DB0注:双极性时DB15为符号位。5.5.4 开关量输入输出信号的数据格式见表7 (端口地址为基地址+6)表7 开关量输入输出信号数据格式操作命令D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0读00000000D

18、I8DI7DI6DI5DI4DI3DI2DI1写00000000DO8DO7DO6DO5DO4DO3DO2DO15.6 模入码制以及数据与模拟量的对应关系5.6.1 本接口卡在单极性方式工作,且输入的模拟量为010V时,转换后的16位数码为二进制原码。此16位数码表示一个正数码,其数码与模拟电压值的对应关系为: 模拟电压值数码(16位)10(V)65536 (V) 即: 1LSB0.1526mV5.6.2 本接口卡在单极性方式工作,且输入的模拟量为05V时,转换后的16位数码为二进制原码。此16位数码表示一个正数码,其数码与模拟电压值的对应关系为: 模拟电压值数码(16位)5(V)65536

19、(V) 即: 1LSB0.0763mV5.6.3 本接口卡在双极性方式工作,且输入的模拟量为5V 时,转换后的16 位数码为二进制偏移码。此16 位数码的最高位(DB15)为符号位,“0”表示负,1”表示正。偏移码与补码仅在符号位上定义不同,此时数码与模拟电压值的对应关系为: 模拟电压值数码(16位)10(V)655365 (V) 即:1LSB0.1526mV5.6.4 本接口卡在双极性方式工作,且输入的模拟量为10V 时,转换后的16 位数码为二进制偏移码。此16 位数码的最高位(DB15)为符号位,“0”表示负,1”表示正。偏移码与补码仅在符号位上定义不同,此时数码与模拟电压值的对应关系为

20、: 模拟电压值数码(16位)20(V)6553610 (V) 即:1LSB0.3052mV5.7外触发启动信号的使用说明 本卡的A/D采样可以在外触发方式下启动工作。在本卡设置好状态控制字(外部TTL信号触发启动方式,程控频率为除单步方式以外的任一频率方式),清空FIFO并允许工作后,当外触发启动信号有一个上升沿(从低电平到高电平的变化),本卡即开始正常采样。此时只要检测FIFO的状态标志即可知道是否开始采样并按需要读出A/D转换结果。使用中需注意外启动信号应符合TTL电平标准。5.8 外同步时钟信号的使用说明 外同步时钟信号的使用要求与外触发启动信号类似,应符合TTL电平标准。其时钟频率应不

21、超过100KHz。5.9外同步时钟信号与外触发启动信号同时使用的说明本卡的A/D采样还可以采用外同步时钟信号与外触发启动信号同时使用的方式。在本卡设置好状态控制字(外部TTL信号触发启动方式,程控频率为外同步时钟方式),清空FIFO并允许工作后,当外同步时钟信号有一个上升沿(从低电平到高电平的变化),本卡即开始按照外同步时钟频率正常采样。5.10调整与校准 本卡出厂时已进行了调整与校准,如无必要,请不要进行此项工作。如果长期使用后发现零点或满度偏移,请按下述方法进行调校。5.10.1 零点校准 将任一通道对模拟地短接(单端单极性方式时)同时对该通道进行AD转换,调整W2电位器,使其转换结果为“

22、0”或接近“0”。5.10.2 满度校准在任一通道接入一接近正满度的稳定正电压信号,运行程序对该通道采样。调整W3使AD转换读数值等于或接近外加信号电压。上述零点和满度的校准过程应反复进行,最终使其满足使用要求。5.10.3 双极性校准如果测量双极性信号时偏差较大,应在零点和满度已校准好的基础上分别加入正、负信号并反复调整W1使其符合要求。6.软件编程举例:6.1输入信号为010V,对通道1连续采样100次,板基地址为300H,程序单步启动和查询FIFO“非空”后读出AD采样数据。本程序可用于AD部分调校。# include # include # include # include main

23、() int a,b,c,d,base; /* 定义过程变量 */unsigned int i; float j; /* 定义数据变量 */ clrscr(); /* 清屏 */ base=0x300; /* 基地址=300H */ a=inport(base+0); /* 清空FIFO,除I/O外各功能复位 */ outport(base+0,0x0700); /* 写状态控制字:非中断方式;程控单步启动;*/* 单通道指定模式;通道代码=0 */ outport(base+2,1); /* 置工作允许 */ for(b=0;b100;b+) /* 采样次数=100次 */ outport(

24、base+4,1); /* 启动A/D转换一次 */ do ; /* 判断FIFO中是否为“空”,为“空”等待 */ while(inport(base+2)1); i=inport(base+4); /* FIFO中“非空”,读取A/D转换结果 */ j=(float)(i*10.0/65536.0); /* 将结果转换成十进制(注) */ printf(%f , j); /* 显示 */ printf(n); for(c=0;c2000;c+) /* 为使显示看的清楚,延时一段再循环采样 */ for(d=0;d2000;d+); outport(base+2,0); /* 置工作停止 *

25、/注:如果输入信号为05V,则该语句为: j=(float)(i*5.0/65536.0);如果输入信号为5V,则该语句为: j=(float)(i*10.0/65536.0-5.0);如果输入信号为10V,则该语句为: j=(float)(i*20.0/65536.0-10.0);6.2对16个通道连续循环采样至“半满”(共4096个数据),板基地址为100H,100KHz采样频率,查询FIFO“半满”后读出AD采样数据。# include # include # include # include main() int a,b,c,base; /* 定义过程变量 */ unsigned i

26、nt i; float j; /* 定义数据变量 */ clrscr(); /* 清屏 */ base=0x100; /* 基地址=100H */ a=inport(base+0); /* 清空FIFO,除I/O外各功能复位 */ outport(base+0,0x048f); /* 写状态控制字:非中断方式;100KHz采样频率;*/* 多通道自动扫描模式;末通道代码=F(16通道) */ outport(base+2,1); /* 置工作允许 */ do ; /* 判断FIFO中是否为“半满”,非“半满”等待 */ while(inport(base+2)3); outport(base+

27、2,0); /* FIFO中“半满”,置工作停止 */ do i=inport(base+4); /* 读取A/D转换结果 */ j=(float)(i*10.0/65535.0); /* 将结果转换成十进制 */ printf(%f , j); /* 显示 */ printf(n); for(b=0;b2000;b+) /* 为使显示看的清楚,延时一段再循环显示 */ for(c=0;c0); /* 判断FIFO中是否为“空”,非“空”继续读数据 */ /* FIFO中已读“空”,结束程序 */6.3 I/O操作,板基地址为300H。注意读/写均为16位操作,但只有低8位有效。# include # include # include # include main() int do,di,base; clrscr(); base=0x300; do=0x00* outport(base+6,do); di=inport(base+6); printf(%d , di);附A. 名词注释1 单端输入方式: 各路输入信号共用一个参考电位,即各路输入信号共地,这是最常用的接线方式。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1