主页   电子元器件  逻辑器件

五月 27 2020

基于FPGA设计的数据采集卡


目录

1.数据采集系统

2.数据采集硬件设计

2.1PCI总线接口设计

2.2FPGA设计

3.硬件设计的测试
结束语

  数字信号处理的出现改变了信息与信号处理技术,而数据采集作为数字信号处理的前期工作,在整个数字系统中起到关键性作用。数据采集是指对设备被测的模拟或数字信号,自动采集并送到上位机中进行分析、处理。数据采集卡,即实现数据采集功能的计算机扩展卡,可以通过USB、PXI、PCI、PCI Express、火线(1394)、PCMCIA、ISA、Compact Flash、485、232、以太网、各种无线网络等总线接入计算机。本文介绍了一种基于FPGA设计的数据采集卡。

  1.数据采集系统

  数据采集是指从待测设备中自动采集信息的过程。图1显示了基于PC机的典型数据采集系统的各项组成部分。选用PC机作为控制系统操作平台,为了能和外部设备通信,PC机提供了外置的USB、串口、并口及内置的ISA、PCI等接口。PCI总线接口速度快、系统占用率低,有完备的即插即用管理体制,是目前计算机插卡式外设总线的事实标准。本文利用FPGA通过PCI接口芯片与计算机进行通信,FPGA外接FIFO存储器,A/D转换数据直接存储在FIFO中,实现了数据的高速采集与连续稳定数据流的输出。

典型数据采集系统

  图1 典型数据采集系统

  2.数据采集硬件设计

  PCI数据采集板卡的硬件整体框架如图2所示。

系统硬件框图

  图2 系统硬件框图

  2.1PCI总线接口设计

  PCI总线是一个地址/数据、命令/字节选择信号复用的总线。它采用主从信号双向握手的方式来控制数据的传输,其接口电路设计和传统总线接口电路设计有较大的差别,所以必须严格遵守PCI总线规范所规定的技术规范。本文采用PLX公司的PC19054作为PCI总线的接口控制器。PCI9054是专用的PCI接口芯片,它主要是将复杂的PCI时序转换为简单的时序。

  2.2FPGA设计

  FPGA设计用超高速集成电路硬件描述语言(VeryHighSpeedIntegratedCircuithardwareDessriptionLanguage,VHDL)实现,设计软件选用QuartusII。VHDL设计主要分为:总线读写设计,A/D控制设计,D/A控制设计,定时/计数器设计及DIO设计。

  (1)总线读写设计

  总线读写设计是FPGA设计的顶层模块,主要完成PCI9054与本地的通信,实现数据的正确传输。PCI9054单周期读、写和DMA读的VHDL语言时序控制状态机如图3所示。状态0为空闲状态,状态1为总线保持状态,状态2为DMA读状态,状态3为单周期写状态,状态4为读写操作完成状态。

本地总线状态机设计

  图3 本地总线状态机设计

  (2)控制信号说明

  ADS#:地址选通信号,双向。表示地址有效及新的总线访问周期的开始,在总线访问周围的第一个时钟周期有效。BLAST#:突发传输结束信号,双向。由当前本地总线主动方驱动,用来表明总线传输的最后一个数据传输。LW/R#:写/读信号,双向。低位读,高为写。LHOLD:保持总线请求,输出。请求使用本地总线。当控制可以实现时,本地总线仲裁回应LHOLDA。

  (3)A/D控制设计

  A/D控制是数据采集卡的主要部分,设计主要包括:A/D采样时钟的产生,分组采集控制,触发设置及FIFO读写控制等。

  (a)A/D采样时钟的产生。采样时钟的产生主要是根据设定的采样频率产生具有一定低脉宽的信号,这是为了在转换完成时能正确地读出转换数据。值得注意的是,在FIFO溢出的情况下及分组采集的组间间隔时间段内要停止输出采集脉冲。

  (b)分组采集控制。分组采集是按照内外时钟源分别进行设计的。首先根据组循环次数及首末通道设置计算出一组内总共要采集的点数,即:一组内总共要采集的点数=(末通道-首通道+1)*组循环次数。

  在内时钟模式下,启动A/D转换后,在每次转换完成后采集点数加1,直至加到一组内总共要采集点数为止,此时停止输出转换脉冲,而后进入组问间隔时间,开始对基准时钟进行计数,计到设定的组间间隔值后输出转换脉冲,再次进入转换计数周期,依此重复下去。

  在外时钟模式下,当检测到外时钟下降沿时开始输出转换脉冲并在转换完成后进行计数,直至加到一组内总共要采集的点数为止,此时停止输出转换脉冲,当再次出现外时钟的下降沿时,便开始新的一组分组采集。

  (c)触发设置。触发设置是根据板卡控制字中的触发源、触发方向及触发类型共同决定的。

  (d)FIFO读写控制。FIFO的读是由PCI9054发起的,在PCI9054读周期,在满足地址条件的情况下,产生FIFO的读信号,将A/D数据传输到主机。

  FIFO的写信号是由A/D芯片的STS信号控制的,当STS信号由高变为低时表示本次转换完成,且数据线上数据有效,而FIFO是在下降沿启动写周期,上升沿将数据打入FIFO中,因此只需将STS信号取反后赋给FIFO的写信号。

  3.硬件设计的测试

  在板卡的设计过程中,硬件设计的测试是按如下步骤进行的:首先通过功能仿真及时序仿真排除设计上的大部分错误;其次通过PCItree软件进行测试,通过简单的功能测试,如开关量输入输出;然后通过简易演示程序测试;最后通过高级程序的全面测试。在不同的测试阶段会发现各种设计问题,再将设计回归到功能仿真及时序仿真,反复修改完善程序,直到最终满足功能设计要求。

  结束语

  本文总结了基于FPGA的PCI数据采集卡的设计方案,该板卡实现了查询、中断和DMA等多种方式读取数据,可实时采集数据,实现大容量数据的缓存,有效地解决对数据高速采集和传输的需求。可直接插在PC机或与之兼容的计算机内任一PCI插槽中,构成各领域的数据采集、波形分析和处理系统,也可构成工业生产过程监控系统。

相关文章

  • 基于AD9854与FPGA的雷达信号源设计 ...
    本文介绍了使用AD9854芯片和FPGA,并基于DDS理论设计并实现了多模式多波形雷达信号源。它可模拟LFM、NLFM、单频、相位鳊码等多种脉冲信号波形,能有效验证脉冲压缩与信号处...
  • FPGA是什么? ...
    FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路...
  • 利用FPGA实现与DS18B20的通信 ...
    DS18B20是DALLAS公司生产的一线式数字温度传感器,采用3引脚TO-92型小体积封装;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达...
  • 基于AD7705与FPGA的光信号采集系统设计 ...
    光纤光栅传感器是利用光纤光栅受外界物理作用时其反射中心波长会发生偏移的机理制成的,光纤光栅传感器具有体积小、重量轻和抗电磁干扰等特点,被广泛应用于变压器、水泵等特殊环境下的温度监测...
  • 利用XC2V1000型FPGA实现FIR抽取滤波器的设计 ...
    抽取滤波器广泛应用在数字接收领域,是数字下变频器的核心部分。目前,抽取滤波器的实现方法有3种:单片通用数字滤波器集成电路、DSP和可编程逻辑器件。使用单片通用数字滤波器很方便,但字...
  • 基于FPGA的可重构密码芯片设计 ...
    目前,国内外广泛使用的密码处理芯片大都是实现某种特定密码算法的专用芯片,如MD5芯片、SHA一1芯片等。由于专用密码芯片实现的密码算法是确定的且不可更改的,因此难以满足不同密码用户...

0 条评论

留言

您的邮箱地址不会被公布

 
 
   
评分: