关键字:数据采集卡,AD采集卡,AD/DA采集卡,AD数据采集卡,高速采集卡, USB数据采集卡
随着科学技术的发展,计算机在测量与控制中的应用日益广泛。为了使外部世界的模拟信号与计算机接口,需要进行模/数转换,该转换一般通过A/D芯片来完成。目前市场上出现了各种A/D芯片,且各种A/D芯片具有不同的控制方式和应用条件。对于高速数据采集,最大采样频率取决于A/D的转换时间以及数据的传输时间。提高最大采样频率可通过缩短A/D的转换时间或提高数据的传输速度来实现。如果与PC机接口,数据的传输速度决定于PC机的主频以及数据的传输方式,常用的有查询和中断方式,若采用DMA传输方式则可进一步提高数据的传输速度。本文选取AD1674芯片,设计具有查询、中断和DMA三种数据传输方式的数据采集电路。该电路既可以采用定时器定时,通过8253定时器的控制设煊可变的采样变(步进间隔为1μs),获得高准确的采样间隔;也可以采用软件定时,通过端口写启动A/D来实现。在时序方面,该电路解决了A/D控制信号与计算机时序匹配问题,可能与高档PC机进行接口。
1 硬件设计
1.1 AD1674接口电路
文献[1]详细介绍了AD1674芯片的性能和控制信号的时序。在完全受控方式下,最好是用逻辑控制信号CE启动数据读或A/D转换;在CE有效时,片选信号CS应有效,并且控制信号R/C和A0已确定,只有满足这种时序,AD1674才能正常工作。
1.2 A/D转换及数据的读时序
对A/D接口电路而言,只有PC机的时序与AD1674的要求时序匹配才能保证电路的正常工作。该电路的A/D转换及数据的读时序如图1所示。
A在/D转换时,8253的定时脉冲或端口写脉冲QD经过延时和调节定时宽度后,使A/D的使能控制CE开始启动A/D转换。同时QD宽度为1μs的低电平脉冲(在端口写启动方式下,1μs的低脉冲是由端口写脉冲经调节定时宽度后获得)使R/C的转换有效,A0及片选CS可在A/D转换前设置为有效。当读取A/D转换后的数据时,端口读信号或 DMA读信号D直接使A/CD的使能控制CE启动数据读,此时R/C=1,R/C的读有效,开始12位数据的读取。当A0=0时,读取高八位数据;当A0 =1时,读取数据低四位,读完后A0=0,准备下一次A/D转换。可见该时序既能与PC机接口,又能使AD1674正常工作。
1.3 A/D转换及数据读取的实现电路
本电路的AD1674工作在完全受控方式。A/D转换为12位,而转换后数据分两次读取,即先读数据的高八位,后读数据的低四位。
1.3.1 A/D转换的启动方式
A/D转换的启动方式有两种:8253定时器硬件启动和写端口软件启动。
8253 定时器启动方式应用于对数据采集的时隔要求准确的场合,该方式是利用8253的定时脉冲启动A/D转换,通过8253数据总线缓冲器(端口地址为 &0X23F)输出鉴别通道的计数初值,通过向6位锁存器74LS174(端口地址为&0X23B)写入控制字设定8253的控制字以及 A/D片选控制位。6位锁存器数据位定义说明如下:
A1A0=00:&0X23D口输出的数据为计数器0的计数值。
A1A0=01:&0X23F口输出的数据为计数器1的计数值。
A1A0=10:&0X23F口输出的数据为计数器2的计数值。
A1A0=11:&0X23F口输出的数据为计数器8253的方式字。
G0&G1=1:起动计数器0和计数器1;G0&G=0:禁止计数器0和计数器1。
具体的实现电路如图2所示。首先将8253定时通道0与通道1串联起来定时,通道0的时钟输入CLK0的频率是2MHz,工作在方式3(方波比率发生器)下,通道0的输出OUT0为频率1MHz的方波,作为通道1的输入时钟CLK1。通道1设定为方式2,即通道1的输出OUT1从输出开始一直维持高电平,计数回零后,输出为低电平