当前位置: 东星资源网 > 高考资料 > 高考报名 > 正文

基于PC的高速数据采集卡设计_PC设计

时间:2019-02-28 来源:东星资源网 本文已影响 手机版

  一、引言      数据采集(Data Acquisition)技术是信息科学的一个重要分支,主要研究数字化信息的采集、存储、处理等方面的内容。随着电子技术的不断发展和人们对信息量需求的不断扩大,对高速、大容量的数据采集系统的需求也越来越高,以往的数据采集系统多采用单片机系统实现,由于单片机的速度和容量的限制,难于设计高速大容量的数据采集卡。近年来,由于PC机的广泛应用,采用PC机实现数据采集系统已成必然趋势,因此,笔者研制了基于PC的高速数据采集卡。
  图1数据采集卡硬件结构图
  
  二、硬件结构及功能
  
  本数据采集卡是采集高频地质雷达信号,数据采集电路分为模拟电路和数字电路两部分,其实现框图如图1所示:
  其中接口及地址译码电路是为数据采集卡中各部分电路分配系统地址、提供启动信号和必要的控制信号;前置放大器是一个台阶增益为2的256倍程控增益放大器,是对来自雷达发射波采样保持后的信号进行阻抗匹配,并进行程控增益放大,使该信号的电压幅度尽可能接近A/D转换器的输入电压满度值,以便得到信噪比较高的数字化输出结果;A/D转换器是16位的,是将前置程控增益放大器输出的模拟信号数字化;延时电路1是用于启动天线发射子系统发射高频高压雷达脉冲信号,该延时是可编程的,它主要用来消除电路自身和传输线路带来的时滞影响,使得发射启动信号与接收启动信号之间的时间差控制在有效范围内。延时电路2是在系统启动脉冲触发下,延迟一个可编程时间段后,产生一个触发脉冲,用于启动天线接收子系统的采样保持和数据采集卡的A/D转换。微机总线采用ISA总线,ISA总线是在PC总线的基础上发展起来的,但比PC总线在性能上有了较大的提高,其布线要求没有PCI接口板的要求高,又能满足本数据采集系统的速度要求。
  ISA为工业标准总线,该总线较PC总线在性能上有了较大的提高,如其寻址空间的范围、数据总线的宽度、中断处理能力等都有很大的提高。ISA信号线分为5类:数据线、地址线、控制线、状态线、辅助线和电源线,只简介本数据采集卡用到的信号线。
  图2ISA和GAL连接图
  地址线A0~A19共20根,为输出信号。在系统总线周期由CPU驱动,在DMA周期由DMA驱动。数据线D0~D7和SD8~SD15双向。
  AEN:地址允许信号,由DMA控制器发出。AEN=1表示目前为DMA总线周期;AEN=0表示CPU在行使总线控制权。
  -IOR:I/O读命令输出。信号有效时,将选中的I/O设备接口中的数据读到数据总线。
  -IOW:I/O写命令输出。信号有效时,把数据总线上的数据写入所选中的单元。
  -IOCS16:是三态信号,信号有效时,将数据读到数据总线。本数据采集卡是把A/D转换的数据通过总线存储到微机中。
  
  三、 I/O端口地址译码
  
  为了CPU便于对I/O设备进行寻址和选择,必须给I/O设备进行编址。CPU通过I/O设备的地址码向I/O设备写数据或者从I/O设备的地址码中读数据,一般系统占用低端512个I/O端口地址,即0000H∽01FFH,留给用户使用的一般从512∽1024 I/O端口地址之间的地址,即0200H∽03FFH。单个地址编码可以采用与门、或门、非门等简单的基本器件实现,例如某个设备使用0200H端口地址,即转化为二进制为001000000000B,笔者用A0∽A9地址线来实现,既A9=1,A0∽A8全为0,另外需要AEN地址允许信号置成低电平,对端口写数据-IOW或是对端口读数据-IOR置成低电平,假设是对端口读数据,信号SIG=/AEN*/IOR*/A9*/A8*/A7*/A6*/A5*/A4*/A3*/A2*/A1*/A0,只要把地址线A0∽A8分别接上非门,然后把A0∽A9,IOR和AEN接在与非门上,地址线上只要出现0200H端口地址,就出现一个高电平脉冲,就达到了单个地址的编码。一般I/O设备都有多个地址端口,即每一台设备占用若干个地址编码,分别表示相应的设备的存储器的地址,通常设计I/O设备地址使用连续的地址码,这样再采用单个地址的编码方法既复杂又难于实现,目前大部分采用通用编程阵列GAL,它以可灵活编程实现各种逻辑功能的特点而成为构成数字系统的理想器件,具有可以设计任意地址范围的译码器,并因其电可擦除、可重新编程、输出逻辑宏单元可组态、可以加密及其成本低等诸多优点而得到广泛的应用。我们采用GAL20V8作为地址译码来设计数据采集卡电路,其相关的部分电路连线图如图2所示。
  首先是GAL的24个引脚标号,按顺序排好,然后对输出的引角进行编码,STRAD的地址编码为0208H高电平的写信号,SD0的OE端地址为0202H,OA0是A0的反向,/RDDATA是读74HC245的信号,地址为0200H,低电平有效,IO16的OE端地址是0200H,/DACS的地址为从0200H开始,低电平有效,它再配合其他的器件来实现DA转换器片选及锁存,/WRGAIN写增益信号,地址为0209H,低电平有效,/WR是写入DA转换器的延迟时间,地址为0204H,0205H,0206H,0207H,通过这几个地址写入数据,并且和/WRGAIN写增益信号一起控制前置放大器的放大倍数,其地址为0209H。
  GAL的输入信号与PC62的地址线A0∽A9和-IOR、-IOW及AEN相连,输出信号为SD0,此信号是为了打标触发设置的,WR是控制其中一个74HC245总线收发器,OSA0是控制DA转换器的高字节的写入,STRAD是启动AD转换器的信号,WRGAIN是控制前置放大的写增益信号,RDDATA是控制从另一个74HC245读入数据到总线端口的信号,DACS是片选DA转换器的锁存和片选的,-IOCS16是控制高8位的数据写入信号。
  
  四、数据的读写及编程实现
  
  数据的读入即从I/O卡存储器读数据到总线上,然后由主机CPU进行处理,数据的写入即从总线向I/O卡的存储器写入数据,还需地址总线允许信号AEN和I/O端口读信号IOR或I/O端口写信号IOW等信号的配合,才能完成数据的读写。例如:STRAD启动AD转换器的信号,当地址总线选中0208H时,通过GAL译码电路使STRAD出现一个高电平信号,就启动了AD;/RDDATA信号设置地址为0200H,当地址总线上出现0200H地址时,通过GAL译码产生一个低电平,使RDDATA信号有效,并且IO16三态信号允许,74HC245中的数据才能通过ISA总线的数据线SD8∽SD15读到总线上,然后主机CPU进行处理。
  调试用汇编程序摘录如下:
  MOV DX,0208
  OUT DX,AL
  MOV CX,0100
  A1:LOOP A1
  MOV CX,0200
  MOV BX,0200
  A2:OUT DX,AL
  MOV DX,0200
  IN AL,DX
  MOV AH,AL
  INCDX
  INAL,DX
  MOV [BX],AX
  INCBX
  INCBX
  LOOP A2
  INT 3
  
  五、实验结果及误差改进措施
  
  本数据采集卡可以直接插在PC的ISA插槽上使用,具有方便灵活使用的特点,I/O地址已经设定,一般不需改动,如果改动,可以用GAL编程器重新设置地址,只要把几个端口地址重新编码即可,但相应的软件涉及到端口地址的必须改动。由于采集高频信号需要相当高速度及大容量的要求,我们采用等效采样技术避免了高速度的要求,经过实验验证,本数据采集卡可以实现高频信号的采集,我们是对雷达高频信号的采集,最高频率可达30GHZ。其采集结果如图3所示:
  图3实测雷达反射波形
  在数据采集过程中,不可避免的会产生误差,为了提高采样精度,对同一点多次采样并以平均值取代该点样值。实践证明n次采样的平均值取代单次采样得到的值,通常更接近于样点的真实数值,因而可以对延时误差有效地加以改善。

标签:采集卡 数据 设计 PC