500兆/秒高速A/D系统的实现

最新更新时间:2006-05-07来源: 电子技术应用关键字:高速电路设计  Windows95  实时程序设计 手机看文章 扫描二维码
随时随地手机看文章

    摘要:介绍采样率为500兆/秒、采样精度为8bit的高速A/D系统的设计结构以及高速电路设计中的问题,最后还讨论了如何在Windows95下设计具有实时性要求的程序。

    关键词:高速A/D变换 高速电路设计 Windows95 实时程序设计

在现代雷达系统、激光测距以及高能物理试验中往往产生宽带信号或者上升沿比较陡的信号(一般10ns左右)。若对此类信号进行数字化处理,要求A/D部分的采样率至少应该在200M/s以上。本文介绍的系统正是针对这样的要求而开发出来的。

1 系统结构

系统分为A/D转换和数据传输控制两大部分(图1)。数据传输控制部分作成PC机的插卡在计算机的PCI扩展插槽内,它的主要功能是将A/D采样得到的数据传递给计算机,同时产生相关的控制信号去控制整个系统;A/D转换部分由于受到电源和体积的影响单独作成一个模块置于计算机外部,其中关键的核心器件ADC采用的是MAXIM公司推出的MAX101A,它的最高采样率可达500兆/秒,采样精度为8bit。两部分之间的数据传递通过扁平电缆来完成。

2 A/D转换

2.1信号调理

对于高速A/D采样电路来讲,前端调理电路显得尤为重要,不仅要有足够的带宽,而且还要将单端的输入信号变成差分信号提供给ADC,以减少偶次谐波的产生,同时本身的噪声也要很小,这样才不会对ADC的精度产生影响。考虑到上述因素,在前端部分采用了AD公司的AD8138作为缓冲放大器,它的性能指标为:-3dB带宽320MHz,输入噪声5nV/(根号Hz)。AD8138为表面封装器件,本身的体积非常小巧,使得ADC与信号输入点的距离可以很近,大大减少了外界噪声的影响。经测试,器件的模拟带宽为230MHz(图2)。

2.2 系统时钟的选择

ADC芯片MAX101A要求的采样时钟为500MHz的ECL差分时钟。对于如此高速的时钟电路,孔径晃动(jitter)是选择时钟源的一个非常重要指标。Jitter是指时钟沿本身不稳定,在一定范围内晃动,时钟沿的晃动会带来采样点的不确定性,被采样信号的频率越高造成的误差就越大(图3)。经过调研,市场上有两种比较成熟的芯片可供选择。一是Motorola公司MC12439,另一个是Synergy公司的SY89424。MC12439可输出的频率是50~800MHz(Peak-to-Peak jitter 25ps 8δ),/TRK1 SY89424的最高输出频率为1GHz(Peak-to-Peak jitter 3δ)且两者的输出电平都为差分的PECL。虽然两种芯片给出的jitter相差不大,但实际上以上参数都是在输出时钟频率小于其最大输出频率一半的条件下给出的,也就是说此时的输出时钟是内部VCO的输出经过分频后得到的。如果输出时钟不经分频而直接输出,输出时钟的频率实际上是内部锁相环VCO频率的两倍,输出时钟的稳定性与VCO时钟的占空比有直接的关系。而VCO很难保证它的占空比总是50%,后以在这种情况输出时钟jitter将大大增加。鉴于上述原因,最终选择了Synergy公司的输出频率可达1GHz的SY89424。

2.3 特殊电平时钟的产生

MAX101A芯片内部是由采样率为250兆/秒的完全独立的两个ADC拼在一起而得到的,从模拟信号输入、参考电压到数字信号输出都是完全分开的两部分。这样做给与用户很大的自由度,但同时也带来一个问题,那就是很难确定在每一次上电后究竟是哪一个ADC先输出,从而无法正确地进行数据锁存。MAX101A要求用户提供一个外加的控制信号TRK1和TRK1来确定两个ADC的先后顺序。它规定在系统采样时钟的下降沿到来时,如果TRK1为“1”,/TRK1为“0”则第一个ADC输出有效,反之则第二个ADC输出有效(图4)。这样的控制信号实现起来并不难,但MAX101A对TRK1和/TRK1的逻辑电平范围的规定是一个非常规的值,它规定输入电平在±50mV之间为逻辑“1”,在-350mV到-500mV之间为逻辑“0”。对于这样一种非标准的时钟电路,不可能用现成的芯片直接产生,为此在模拟伪真结果的基础上,采用了图5所示的电路来产生这样的时钟信号。D触发器将时钟信号二分频后经隔直电容送到电阻分压网络进行衰减,同时提供新的基准电平,这样原来的ECL信号(-900mV~-1800mV)就被转换成在0~-450mV之间的时钟信号,满足了MAX101A的要求。电容隔直方法在高速数字电路中应用十分广泛,应用这种方法可以很方便地将不同电平范围的信号(如ECL和PECL)进行相互转换而不需要额外的电路,使用起来相当方便。

2.4 高速数据的锁存

高速ADC的数据锁存在A/D系统里的设计一直都是一个难点,ADC的速度越高数据锁存的难度就越大。尽管MAX101A的数字输出已经分成了A、B两个端口,使每个数据通道的速率降为250Mbyte/s,但要将如此速度的数据准确无误的锁存下来还是相当困难的,必须进一步降低数据端口的输出速率。降低端口速率唯一的办法就是将输出端口的数据分成多路交替输出,使每一路的数据产生率降到可以接受的速度。但是分的路数越多,电路就越庞大,各种时钟与数据之间的关系也就越复杂。综合两者考虑,采取了将ADC的输出分成八路的方案,这样每一路的数据产生率为62.5Mbyte/s,完全可以用普通的锁存器来完成。数据锁存部分的结构如图6所示。MAX101A输出的锁存时钟(250MHz)经四分频后送入一个六位的移位寄存器产生6个相差4ns的时钟,其中的ABCD用于锁存各个端口的数据,CDEF经电平转换后作为EPLD锁存数据的时钟,之所以推迟两个时钟是为了补偿数据的传输延时和EPLD内部FIFO的建立时间。数据进入到EPLF后,后端的处理就方便得多了,可以用EPLD作DRAM控制接口将FIFO的数据存储到大容量的DRAM中去,也可将数据分组打包通过传输介质传递给计算机进行处理。在本系统中,采取第二种方法将数据通过电缆传递给位于计算机内的一块PCI卡上,计算机再通过它把数据存放到硬盘上。

3 高速电路的设计

在高速电路中如何避免各个信号之间的串扰(crosstalk),以及如何保证信号的完整性(integrality)是整个系统正常工作的保障。首先,对于高速电路电路板(PCB)应至少采用四层以上的多层板技术,本系统采用了六层板(表1).采有多层板的目的并不仅仅是为了走线的方便,更重要的是使用了大面积的电源或地层之后可以使各信号线与地或电源平面之间形成一个紧耦合从减少信号线之间的串扰。通常所用的在走线层大面积网格铺地的方法,虽然也可起到一定的屏蔽作用,但其面积和与信号线距离的关系远不如地平面产生的效果好。其次,系统的整体布局要合理,应该综合考虑地平面和电源层的分割。使用相同电源和地的芯片,布局尽量放在一起以避免地平面被琐碎的分割。当同一块电路板上既有模拟电路也有数字电路时,更应该仔细地考虑这两部分的布局。模拟部分和数字部分应该隔离,不仅是空间的隔离,而且电源也应该隔离,两部分最好单独供电。最后,模拟地和数字地通过磁珠(ferrite bead)在一点相连。地平面上的电流一般比较大,大电流流过时会对表面上的器件产生一公平的影响,尤其是对模拟器件产生的影响将直接反映在输出信号质量的好坏。为了减少地电流的影响,在设计地平面时应该在比较敏感的模拟器件下方加一道隔离沟阻断大电流的通路(如图7所示),以减小地电流对它的影响。

表1

名  称 用途说明
顶层 布线、元件
中间层1 模拟地、VTT
中间层2 数字地、ECL的VCC
中间层3 模拟+5V、数字+5V、数字+3.3V
中间层4 模拟-5V、数字-5V、数字+2.5V
底层 布线

高速电路的PCB设计是整个系统成败的关键,PCB的设计在很大程序上与所选用的EDA工具有关。在本系统的PCB设计上选用的是PADS公司出品的PowerPCB,它和传统的设计工具Protel相比有如下优点:

(1)支持圆弧拐角布线,减少信号线的辐射,降低串优;

(2)支持泪滴焊盘,使走线阻抗变化均匀,减少反射;

(3)可以方便地在PCB的内部层进行分割和走线;

(4)支持多种布线规则,如布线长度、走线阻抗等规则;

(5)与自动布线器Specctra接口方便;

(6)直接支持信号完整性分析软件HyperLynx。

鉴于以上种种优越性能,它非常适合于高速电路板的PCB设计。

4 Windows95下软件设计的实时性考虑

本系统的软件运行于Window 95平台之上的。设计的指标要求每秒能计时200次的操作,每次采集512点,既要求系统在5毫秒内将A/D部分采到的512Bytes传到计算机并存储在硬盘上。这个要求对于PCI接口来说是非常低的,实测结果显示系统的平均反应时间远小于这个时间。但是结果显示系统的平均反应时间远小于这个时间。但是我们发现系统每处理10 000次响应总会有一到两次的反应时间特别慢,超过5毫秒有时甚至达到40毫秒。而我们的系统要处理的是一个连续有序的事件,要求对每一个事件都必须做反应,否则后面的事件就会被误处理。经过分析表明,这种现象完全是由于Windows95操作系统本身的原因造成的。Windows95是一种多任务的平台,它的核心运行在优先级较高的Ring0上,普通的应用程序则运行在优先级低的Ring3上,应用程序靠内核的调度分时运行。Windows95是专门为PC机设计的,主要的用途是处理人们的娱乐以及办公自动化等事务,考虑的是使用起来如何方便,并没有对工业控制方面的实时性加以考虑,所以外层的应用程序有可能会随时被内核打断,根本没有什么时间的保障。要想准确无误地处理对时间要求比较荷刻的事件,必须把处理程序放在运行于内核级的中断服务程序中去执行,这样除非有更高级的中断否则程序就不会被打断。在编写中断服务程序处理函数时我们采用了Windriver提供的Kernal PlugIn功能,将自己编写的中断服务程序挂接在系统内核上。用此种方法可以实现每秒10 000次的断处理而不丢失。我们在编写中断服务程序时借用了硬件设计中FIFO的思想,先在内存中开辟一块共域作缓冲区分别设置读指针和写指针,硬件触发中断后服务程序先从A/D读取数据进行处理,然后发了指令控制A/D等待下一次事件,接着向上层应用软件发出消息请求上层应用程序从缓冲区读取数据存盘和显示。中断服务程序发出的消息有可能不会马上被上层应用程序响应,但只要缓冲区足够大,每一次事件产生的数据就不会丢失。整个程序的流程图如图8所示。

本数据采集系统成成功地在上海某科研单位得到应用。虽然设计初衷是为了满足某用户的需求,但它容易扩展成通用的A/D采样系统应用于相关的各个领域。

关键字:高速电路设计  Windows95  实时程序设计 编辑:赵思潇 引用地址:500兆/秒高速A/D系统的实现

上一篇:12位A/D转换器ADS7804与51单片机的接口及程序设计
下一篇:AD8361—0.1~2.5GHz真功率有效值响应器件及其使用方法

推荐阅读最新更新时间:2023-10-12 20:11

VxWorks操作系统及实时多任务程序设计
  系统概况   本系统运行于VME总线系统(MVME177)上,通过VME背板总线与各模件交换数据对各处理模件进行控制并显示信号处理结果。MVME177模件运行于嵌入式实时操作系统VxWorks下,人机交互界面基于X窗口系统。   一、 嵌入式实时操作系统VxWorks简介   由于声纳系统在探测到某些目标(如鱼雷)后要迅速作出反应,所以要求控制及显示系统必须是实时操作系统。实时操作系统要求能够随时打断正在执行的任务, 对内部和外部发生的事件在确定的时间内作出响应。本系统采用的VxWorks 是由美国WindRiver开发的一种类UNIX的高性能嵌入式实时操作系统。它是目前世界上用户数量最大的实时操作系统,具有优越的技术性能、
[嵌入式]
串行实时时钟芯片DSl302程序设计中的问题与对策
   摘 要: 指出了串行实时时钟芯片DSl302程序设计中几个易被疏忽而导致错误的问题,分析了问题的原因,并给出了解决问题的方法。     关键词: 串行时钟 程序设计 问题 原因 解决方法     美国Dallas公司推出的串行接口实时时钟芯片DSl302可对时钟芯片备份电池进行涓流充电。由于该芯片具有体积小、功耗低、接口容易、占用CPU I/O口线少等主要特点,故该芯片可作为实时时钟广泛应用于智能化仪器仪表中。     笔者在调试中发现在对DSl302编程中有几个问题易被疏忽而导致错误,现提供给读者参考。     1 读操作出现的错误     按照参考文献 的读操作程序框图和参
[半导体设计/制造]
基于PCI总线的实时测频卡WDM驱动程序设计方案
PCI总线是一种与CPU无关的32/64位地址数据复用总线,工作频率为33 MHz/66 MHz,它支持突发传输,具有即插即用、电源管理等功能。PCI总线以其优良性能和可适应性成为现代微机的主流总线。在开发PCI设备的过程中,需要为PCI设备写驱动程序。Windows驱动程序模型(WDM)是Microsoft公司力推的全新驱动程序模式,它支持PhP、电源管理和WMI等技术。在Windows操作平台上,WDM已成为主流的驱动模型。这里主要介绍根据工程背景开发的基于PCI总线的实时测频卡的WDM驱动程序设计。 1实时测频卡硬件系统结构 实时测频卡的主要功能是实时测定信号频率,实时识别信号调制方式。系统的电路框图如图1所示。外部待测信号
[嵌入式]
基于WiFi的网络授时时钟(带实时天气更新)STM32程序设计
本方案采用的是MCU+AT指令的形式开发,MCU是大家比较熟悉的意法半导体公司STM32F103C8T6,WiFi模块使用的是安信可ESP-12F,本方案是一个Demo设计,比较简单,仅实现了功能,算是一个抛砖引玉吧! 先上视频演示: https://v.youku.com/v_show/id_XN ... m=a2hzp.8244740.0.0 WiFi模块资料链接:wiki点ai-thinker点com/esp8266 STM32F103C8芯片资料链接: https://www.stmicroelectronics.c ... 103c8.html#overview 硬件部分,由时钟电路+WiFi模块+MCU最小系统+O
[单片机]
基于WiFi的网络授时时钟(带<font color='red'>实时</font>天气更新)STM32<font color='red'>程序设计</font>
高速电路设计中信号完整性分析
由于系统时钟频率和上升时间的增长,信号完整性设计变得越来越重要。不幸的是,绝大多数数字 电路 设计者并没意识到信号完整性问题的重要性,或者是直到设计的最后阶段才初步认识到。 本篇介绍了高速数字硬件电路设计中信号完整性在通常设计的影响。这包括特征阻抗 控制 、终端匹配、 电源 和地平面、信号布线和串扰等问题。掌握这些知识,对一个数字电路设计者而言,可以在电路设计的早期,就注意到潜在可能的信号完整性问题,还可以帮助设计则在设计中尽量避免信号完整性对设计性能的影响。 尽管,信号完整性一直以来都是硬件工程师必备的设计经验中的一项,但是在数字电路设计中长期被忽略。在低速逻辑电路设计时代,由于信号完整性相关的问题很少出现,因此对信
[模拟电子]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved