0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用FPGA器件和模数转换器实现A/D数据采集卡的设计

电子设计 来源:国外电子元器件 作者:徐法东,翟正军 2020-03-04 08:10 次阅读

高速A/D采集技术已在许多领域得到愈来愈广泛的应用,本文将详细论述采用CPLD技术来实现120MHz高速A/D采集卡的设计方法,该采集卡具有包括负延迟触发在内的多种触发方式,采用CPLD复杂可编程逻辑器件(又称FPGA)EPM7128SQC100-7和AD公司的高速模数转换器(A/D)AD9054BST-135来实现。

1、芯片介绍

1.1 EPM7128SQC100-7简介

EPM7128SQC100-7内含128个宏单元(或2500个可用门),其引脚到引脚的最短传输延时为7ns,采用单+5V电源供电,可通过 JTAG接口实现在线编程,并带有可供84个用户使用的I/O脚(其中4个为专用输入脚)。该器件采用PQFP-100封装。其中TDI、TDO、 TMS、TCLK脚为编程脚;GCLK、GOE、GCLEAR、REDIN脚为专用输入脚;VCCINT、VCCIO脚接+5V电源;GND脚接地; I/O为用户可编程输入输出脚。在I/O脚作输出使用时,可由用户设定为0,1和Z三种状态。

1.2 AD9054BST-135简介

AD9054BST-135是一种低价位135MSPS的8位A/D转换器,其模拟输入电压峰峰值为1V,且内置2.5V参考电压,采用+5V单电源供电,并可与TTL电平接口,具有单8位或双8位A/D转换结果输出模式,采用TQFP-44脚封装形式,其内部结构如图1所示,各管脚的定义如下:

AIN:模拟电压输入正端;

模拟电压输入负端;

ENCODE:时钟输入正端;

:时钟输入负端,通常应通过电容耦合接地;

:输出数据模式设置引脚。该脚为1时,采用单8位A/D转换结果输出模式。该脚为0时,采用双8位A/D转换结果输出模式;

DS:数据同步控制引脚,正脉冲输入;

AD7~DA0:A/D转换输出;

D B7~DB0:A/D转换输出;

V REFOUT:+2.5V参考电压输出;

V REFIN:参考电压输入;

DVD:+5V电源输入端;

GND:电源地。

采用FPGA器件和模数转换器实现A/D数据采集卡的设计

使用时,如将接地,则AD9054工作于双8路数据输出模式。上电后,DA7~DA0及DB7~DB0均以二分之一的ENCODE频率(即120MHz/2)输出A/D 转换结果,因此从DA7~DA0及DB7~DB0读取的A/D转换结果,无法知晓DA口与DB口的数据所对应的采样点在时序上的先后。这样,需要加一个数据同步脉冲DS信号,并让DS正脉冲的后沿后的4个时钟周期上的DA口与DB口同步有效,即在DS后沿的第2N+1与2N+3个ENCODE上升沿期间输出第K点采样值的转换结果;在DS后沿后第2N+2与2N+4个ENCODE上升沿期间输出第K+1点采样值的转换结果(注:N≥1,K≥0,K=0对应的采样值为DS下降沿后ENCODE第一次上升沿时刻所对应的采样输入值)。因此,在施加DS信号后就可以得知任一时刻A口数据与B口数据所对应的采样点在时间上的先后顺序,以便读取有用的A/D转换数据。

2、系统设计原理

图2是基于CPLD的高速 A/D采集卡的系统设计原理框图。图中,89C51送往EPM7128S的控制信号包括一个A/D启动信号SAD、一个读SRAM信号RRD和一个地址加一控制脉冲ACLK。而EPM7128S送往AD9054的信号为一个DS同步信号,送往89C51的信号为转换结束信号(接INT0)和超前触发地址串行输出信号SADR。

EPM7128S送往61128-15SRAM的信号包括读信号RD、写信号WE、数据信号DINA0~7和DINB0~7以及地址信号ADR0~16。其中两片SRAM的地址信号共用。为了节省EPM7128S的I/O口线,可将61128-15的片选线接地。

QA信号为外触发A/D转换控制信号。

采用FPGA器件和模数转换器实现A/D数据采集卡的设计

在本文所介绍的A/D数据采集卡中,负延迟触发存贮深度为2k字节。上电复位后, 89C51向EPM7128S发一个A/D启动信号时,EPM7128S也会发一个DS同步脉冲给AD9054,在四个时钟后,EPM7128S输出WE 信号有效,同时将AD9054输出的双8位数据信号以60MHz的频率经锁存处理后送往SRAM,每锁存AD9054数据一次(2字节)将地址 ADR0~13加1。当地址为3FF时(即1k),清地址计数器以使其为零。此后,地址计数器仍以60MHz的频率加1计数,而锁存器仍以60MHz的频率锁存双8位数据并写入SRAM。当地址为3FF时再一次清零,在外触发信号QA到来之前,CPLD就这样控制着整个电路以使其在2k字节存贮深度内作超前循环采集。当某一时刻的QA信号到来时,CPLD首先将此时的地址信号的前10位ADR0~9锁存,随后将地址计数器置为400H,而后地址计数器仍以 60MHz的频率加1计数,而锁存器也以60MHz的频率锁存双8位数据并写入SRAM。当地址计数器为1FFFFH(即128k)时,地址计数器停止计数,锁存器停止锁存数据并对外输出高阻态,CPLD向89C51送出转换结束信号ADEND,并置WE信号无效。

当89C51收到ADEND中断信号后,就可以读取SRAM中的A/D数据以及CPLD中的超前地址ADR0~9。首先89C51将送出一个RRD信号给 EPM7128S,EPM7128S收到RRD信号后立即置RD信号有效,同时将地址计数器清零。此时,两片SRAM均输出地址为0的单元的数据,同时由 CPLD的SADR线输出负延迟触发地址ADR0~9中的ADR0位。89C51则可通过P0和P2口由DINA和DINB分别读取SRAM中的数据,并通过P1口由SADR读地址ADR0位。此后89C51便向EPM7128S发出一个地址加一脉冲ACLK,EPM7128S在收到这个ACLK脉冲后使 ADR0~13加1,同时CPLD由SADR线输出负延迟触发地址ADR0~9中的ADR1位。这样,89C51便可通过不断地发ACLK脉冲来使P0、 P2口的DINA和DINB分别读取SRAM中的数据,并通过P1口来由SADR读负延迟触发地址ADR0~9。

3、CPLD部分的设计

由于EPM7128SQC100的内部逻辑电路是整个系统设计的关键,因此,了解EPM7128SQC100的内图2基于CPLD的高速A/D采集卡统框图基于复杂可编程逻辑器件(CPLD)的120MHz高速A/D采集卡的设计部结构十分重要。图3是其内部结构原理框图。

采用FPGA器件和模数转换器实现A/D数据采集卡的设计

图3中有三个574锁存器,其作用是将AD9054输出的在时序上未对齐的DA、DB两组数据变为时序上对齐的两组数据DINA、DINB,图4是其对齐操作时序图。

将120MHz信号二分频后所得到的60MHz信号可作为整个逻辑电路的工作频率。工作时,同步控制电路首先将外输入信号与内部60MHz信号同步,然后送往各单元电路。地址计数器的工作情况有两种:一是进行A/D采集时以60MHz频率计数,二是89C51读数时以ACLK脉冲频率计数。RD、WE发生电路的作用是当89C51发SAD信号时,电路输出WE信号有效,RD信号无效;而当89C51发RRD信号时,电路输出RD信号有效,WE信号无效。 DS信号发生电路的作用是在收到89C51的SAD信号时发送一个DS正脉冲。

10位移位寄存器的作用是当外触发信号QA到达时将地址计数器中的ADR0~9锁存,当收到RRD信号后,系统每接收一个ACLK脉冲便将寄存器移位输出一次,顺序是低位在前。

4、单片机的软件设计

单片机的软件设计主要是负责把各种控制信号和数据送给CPLD,并把采集到的数据通过接口送到上位机或其它设备。本卡中的接口有串口和并口两种类型。对CPLD的操作的软件流程框图如图5所示。

采用FPGA器件和模数转换器实现A/D数据采集卡的设计

采用FPGA器件和模数转换器实现A/D数据采集卡的设计

由于采用了负延迟触发,所以由SRAM所读取的256k字节并不是按时间的先后顺序存放的,因此必须进行重新排序整理。

5、注意事项

在利用本文的设计方法进行120MHz A/D设计时应注意以下几点:

(1)应选用高速器件。

(2)电路中的器件布局要合理,高频信号线应尽量的短。

(3)进行时序分析时应充分考虑器件延时,必要时应考虑长线传输延时,这也是高频信号线应尽量短些的原因之一。

(4)尽量采用同步设计。也就是说整个电路要尽最大可能按某一高频时钟同步工作。本电路的同步时钟为60MHz。

(5)电路内部要尽量滤去毛刺。特别是触发器、计数器的时钟信号、清零信号和置位信号,更应如此。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593271
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168307
  • 模数转换器
    +关注

    关注

    25

    文章

    2299

    浏览量

    126018
收藏 人收藏

    评论

    相关推荐

    数模和模数转换器

    数模和模数转换器数模和模数转换器能将模拟量转换为数字量的电路称为模数转换器,简称A/D
    发表于 09-16 15:59

    基于FPGA数据采集卡

    有会做基于FPGA数据采集卡的么,毕设要用的,实在不会啦,求指导~~~
    发表于 04-14 16:40

    SAR模数转换器AD7989-1和AD7989-5

    模数转换器在100 kSPS下的功耗仅为400 μW.  SAR模数转换器作用:  1、功耗根据吞吐速率上下调整,以解决高密度数据采集系统设计中的散热问题。  2、提供100 kSPS和500
    发表于 11-29 11:09

    数据采集卡入门

    数据采集(DAQ),是指从传感和其它待测设备等模拟和数字被测单元中自动采集非电量或者电量信号,送到上位机中进行分析,处理。 数据采集卡,即实现
    发表于 01-10 10:59

    数据采集卡如何运用

    可以选用VC++\Labview等程序进行编程。数据采集卡,从传感和其它待测设备等模拟和数字量被测单元自动采集数据的过程。通俗点讲就是把物理量转换成计算机能识别的数字量,比如,压力、
    发表于 01-17 15:13

    基于采用FPGA控制MV-D1024E系列相机的图像采集系统设计

    间提供简单、灵活的通信接口。  通常情况下,图像采集系统以CCD或CMOS等数字式相机为基础,还需要采集卡来完成数据采集,常见的采集卡有基于DSP
    发表于 07-02 08:11

    数据采集卡概述

    自己位置的温度信号,数据采集卡就至少需要6个AD转换器,来满足系统检测的要求。绝大多数数据采集卡上只有一个AD转换器,通过使用模拟开关来分时采集
    发表于 07-10 08:22

    FPGA实现数据采集的方式对比(传统串口、数据采集卡及外设计接口)

    转换器采用转换速率为20 MHz的MAX1425。系统工作过程为:主机通过CY7C68013给数据采集系统一个采样控制命令,存入FPGA的控
    发表于 01-07 07:00

    如何采用可编程逻辑器件A/D转换器组成高速数据采集卡

    CLC5958的内部结构及基本特性CLC5958应用的注意事项有哪些采用可编程逻辑器件A/D转换器组成的高速
    发表于 04-15 06:50

    如何采用CPLD技术来实现120MHz高速AD采集卡的设计?

    本文将详细论述采用CPLD技术来实现120MHz高速AD采集卡的设计方法,该采集卡具有包括负延
    发表于 04-30 06:27

    模数转换器的相关资料分享

    模数转换器(Analog To Digital Converter)简称ADC(也可以写成A/D),是指将连续变化的模拟信号转换为离散的数字信号的
    发表于 02-07 08:29

    为什么我们需要模数转换器?哪个ADC转换器更好?

    为数字量的过程称为模数转换,缩写为A/D,完成此功能的电路称为模数转换器,简称ADC。1)采样是指以固定的间隔用一系列信号样本替换原来的连续
    发表于 02-15 18:16

    嵌入式模数转换器的原理及应用

    嵌入式模数转换器的原理及应用   前言   在数据采集系统中,模数转换器是其中至关重要的环节,模数转换器的精度以及系统的成本直接
    发表于 12-29 11:14 1035次阅读
    嵌入式<b class='flag-5'>模数转换器</b>的原理及应用

    基于高速模数转换器TLC5540实现高速数据采集卡的软硬件设计

    在高速数据采集卡中,核心部分是高速模数转换器。随着制造ADC的技术不断技术,美国的TI公司和ADI公司都开发出采样速度在100Msps,但价位低廉的器件。本设计采用TI公司的TLC55
    发表于 04-19 17:38 1545次阅读
    基于高速<b class='flag-5'>模数转换器</b>TLC5540<b class='flag-5'>实现</b>高速<b class='flag-5'>数据采集卡</b>的软硬件设计

    逐次比较式模数转换器如何获取最佳采样频率

    数据采集系统的前向通道一般是由三部分组成的: 传感器, 信号放大电路和模数转换器(ADC) 。 逐次比较式的模数转换器是试验机控制系统的数据采集模块及其它工业
    发表于 08-01 11:42 2770次阅读
    逐次比较式<b class='flag-5'>模数转换器</b>如何获取最佳采样频率