基于 FPGA 的简易可存储示波器设计
[日期:2007-5-25]
来源:电子产品世界 作者:北京理工大学宇航科学技术学
院 杜民 马召福 刘福祥
[字体:大 中 小]
摘要: 本文介绍了一种基于 FPGA 的采样速度 60Mbit/s 的双通道简易数字示波器设计,
能够实现量程和采样频率的自动调整、数据缓存、显示以及与计算机之间的数据传输。
关键词:数据采集;数字示波器;FPGA
引言
传统的示波器虽然功能齐全,但是体积大、重量重、成本高、等一系列问题使应用受到
了限制。有鉴于此,便携式数字存储采集器就应运而生,它采用了 LCD 显示、高速 A/D 采
集与转换、ASIC 芯片等新技术,具有很强的实用性和巨大的市场潜力,也代表了当代电子
测量仪器的一种发展趋势,即向功能多、体积小、重量轻、使用方便的掌上型仪器发展。
系统组成结构及工作原理
系统的硬件部分为一块高速的数据采集电路板。它能够实现双通道数据输入,每路采样
频率可达到 60Mbit/s。从功能上可以将硬件系统分为:信号前端放大及调理模块、高速模数
转换模块、FPGA 逻辑控制模块、单片机控制模块、USB 数据传输模块、液晶显示和键盘
控制等几部分,其结构形式如图 1 所示。
图 1 系统原理结构图
输入信号经前置放大及增益可调电路转换后,成为符合 A/D 转换器要求的输入电压,
经 A/D 转换后的数字信号,由 FPGA 内的 FIFO 缓存,再经 USB 接口传输到计算机中,供
后续数据处理,或直接由单片机控制将采集到的信号显示在液晶屏幕上。
高速数据采集模块
本系统可实现双通道同步数据采集,而且每通道的采集速度要达到 60Mbit/s,考虑到两
路数据采集应保持同步并行,因此在设计中采用每通道都有独自的采样保持器和 A/D 转换
器。选用 MAXIM 公司 MAX1197 型 A/D 转换器,它是一款双通道、3.3V 供电、每通道 60
Mbit/s 采样频率的模数转换器芯片。它内部集成双路差分宽带采样保持器和 A/D 转换器,
可以输出锁存,具有低功耗、小尺寸、高动态性能的特点。
本系统的测量电压的范围可达到±300V,采用示波器探头和电路板上分压的方法将输入
信号先进行 1:1 或 10:1 或 100:1 衰减,然后再通过后续电路处理以满足 A/D 转换器的输入
电压范围要求。
被测信号通过通用探头和分压器得到的输出信号,由于输出阻抗较高,需要经过阻抗变
换成为低的输出阻抗,以保持信号的完整性。同时,对于一个系统来讲,过载是不可避免的,
在过载情况下,如果没有保护,器件很容易损坏。因此,系统中设计了由二极管和电阻构成
的过载保护电路,将输入信号限制在±4.8V 的范围之间。对于阻抗变换,选择 ADI 公司的高
性能 FET 输入单电压反馈放大器 AD8065 芯片,构成跟随器来实现阻抗变换。经过阻抗变
换的信号,还要通过增益调节,在能使输入到 A/D 转换器的电压满足 A/D 的输入电压要求,
采用模拟开关和宽带精密放大器配合,由模拟开关选通不同的接入电阻值,从而实现不同的
放大倍数,达到程控放大的目的。增益调节电路如图 2 所示,输入保护及阻抗变换电路如
图 3 所示。
图 2 增益调节电路
图 3 输入保护及阻抗变换电路
FPGA 控制单元
可编程逻辑器件 FPGA 是一种半定制的 ASIC,它允许电路设计者自行编程实现特定应
用的功能。本设计采用了原理图输入和 VHDL 语言输入两种不同的方法,控制单元承载了
大部分控制任务,为各个功能模块提供相应的控制信号以确保整个系统工作的正确性。具体
实现如下几个方面的功能:
分频电路及产生 A/D 转换器的控制信号
本数据采集系统,具有比较宽的测量范围,在 FPGA 内部设计了一个分频电路,用来
实现针对不同频率的被测信号选择不同的采样频率,确保采集数据更加精确。分频单元采用
图形输入方法实现其内部结构图如图 4 所示。在图 4 中,利用 T 触发器在输入为 1 时,每
个时钟沿到来时输出会发生跳变来实现分频的。同时我们可以看出,T 触发器的输入是有一
些逻辑组合构成的,这就构成了门控时钟。对于门控时钟,仔细分析时钟函数,以避免毛刺
的影响。而门控时钟在满足以下两个条件时,则可保证时钟信号不出现危险的毛刺,门控时
钟可以像全局时钟一样可靠的工作。
·驱动时钟的逻辑必须只包含一个“与”门或一个“或”门。如果采用任何附加逻在某些工作
状态下,会出现竞争产生的毛刺。
·逻辑门的一个输入作为实际的时钟,而该逻辑门的所有其它输入必须当成地址或控制
线,它们遵守相对于时钟的建立和保持时间的约束。
对于本设计中的 A/D 转换器,其控制信号只有两个:时钟输入信号 CLK 和使能输出信
号 OE。CLK 信号直接通过有源晶振输入 60M 的信号,而 OE 信号则通过 FPGA 内部将和
CLK 同频同相的时钟信号反相后得到,这样刚好可以满足 A/D 转换器的转换时序关系。
图 4 分频电路内部结构图
图 5 分频电路和频率选择电路符号图
上述分频电路和频率选择电路及 A/D 转换器的控制信号产生电路在顶层生成了相对应
的逻辑符号如图 5 所示。
FIFO 功能单元设计
本系统的 A/D 采样速率比较高,采样周期达到 16.7ns,而选用的华邦公司单片机 77E
58,在晶振 40MHz 的读写周期是 100ns,而且总线的传输速率又比较低,因此两者在速度
上无法匹配。在这种情况下,必须要在高速采集和低速处理之间建立相应的缓冲途径才能保
证系统的正常工作。为此在 A/D 转换器和单片机处理器中间加入一个先入先出式缓冲器(FI
FO),以缓解高速信号和低速设备之间的接口矛盾。本设计中利用 EP1K50QC208 中自带
的 EAB(嵌入式逻辑块),通过 Quartus II 中的 LPM 工具直接生成两个 512*8 位的 FIFO,
作为两路 A/D 转换器的数据缓冲。Quartus II 中产生的图形符号和其时序波形图形如图 6
所示。FIFO 的输入信号有数据输入信号,直接和 A/D 转换器的输入相连下;写信号和写使
能信号,写信号和上述频率选择信号相连,可以以合适的速率将数据写入 FIFO,写使能设
置为永远有效;读信号和读使能信号,这都有单片机发出的控制信号给出;异步清零信号则
在每次写 FIFO 前将其清空。输出信号有数据信号,和单片机的数据线相连,传送数据;满
标志信号,当有效时停止对 FIFO 的写操作;空标志信号,当有效时停止对 FIFO 的读操作。
图 6 FIFO 图形符号和其时序波形图
图 7 测频模块的符号图
频率测量模块设计
图 8 双通道波形显示
频率测量模块在本系统中起着非常重要的作用,它不仅决定着采样频率,还决定液晶显
示屏幕的基本时间基准。测量频率其实就是单位时间内的计数。在本设计中,测频模块的具
体设计思路为:首先将 A/D 转换器转换后的数据通过一个比较器得到测频脉冲,由于本设
计中的 A/D 将 0V 电压转换为 0x80,为避免在 0V 附近的小信号振荡造成测频误差,将比较
器的固定比较值设定为 0x88。然后将测频脉冲通过一个 D 触发器同步后便开始计数,在计
数过程中为避免尖脉冲或毛刺信号造成对计数的影响,根据上次测频的结果选择合适的过滤
脉宽,即比给定脉冲宽度小的信号脉冲将不会被计数,提高了整个测量的精度。整个测频模
块的符号图如图 7 所示。在图 7 中,compare 为比较模块,然后经过触发器同步后,通过
脉宽过滤模块(FreLatch1)后到计数测频模块(MeasureFrequency),测量得到的数据通过八
位寄存器 counter_out1、counter_out2 和 counter_out3 输出。OneSecondPulse 模块为产
生 1s 脉冲的模块,为计数提供基准参考脉冲。
液晶显示及键盘模块
在本次设计中,我们选用内置 SED1335 控制器的液晶显示模块 MS320240B,分辨率
为 320*240。不仅可以单独的进行文本显示或图形显示,还可以进行图形文本合成方式显示。
在本系统中能够把被测信号的波形、两个游标与波形相交点的电压值及时间值显示在液晶屏
上。在液晶屏的显示如图 8 所示。
在实现人机通信功能的单片机通信输入设备中,最简单的是由按键组成的开关矩阵构成
的键盘,它随时可以发出各种控制命令和进行数据输入。通常按键所用为机械开关,有很多
缺点,主要是按键被按下或弹起时都会有轻微的抖动,抖动时间和开关的机械特性有关,一
般为 5ms~10ms。为了避免在抖动期间扫描键盘得到错误的行值和列值,一般在检测到有
键按下后延时 10ms 再进行扫描。在本设计中,采用一个 3*8 的行列式键盘,发出各种命令
来对采集器进行类似于示波器按钮的操作。
图 9 简易示波器的上位机控制面板
USB 通信单元
本次设计采用 Cypress 公司的 CY7C68013 芯片实现 USB 传输模块的设计,CY7C68
013 是符合 USB2.0 标准的芯片。通过 USB 总线把采集的数据实时的传递给计算机,便于
上位机也可以实时的显示波形,还可以很方便的存储数据。
上位机应用程序设计
在上位机中利用计算机强大的计算能力和图形环境,建立图形化的软面板来替代常规的
仪器控制面板。软面板上具有与实际仪器相似的开关、指示灯及其它控制部件。用户通过鼠
标或键盘操作软面板,检验仪器的性能和可操作性。同时,用户不用编写测试程序, 就可
以可进行测试、测量,实现了测试的自动化、智能化。
在本设计中采用 LabVIEW 编写上位机图应用程序。简易示波器的上位机控制面板如图
9 所示,它主要实现双通道波形显示功能。显示面板采用游标来进行电压和时间的测量,可
以减小人为的读数误差提高测量准确度。当两个通道同时显示时,可以通过前面板上的“当
前通道选择”按钮来选择要显示的通道的参数。RUN/STOP 按键能够启动和停止数据采集显
示模块,便于操作和读数。前面板还带有拖拉和缩放按钮,方便查看图形。
结语
本文是基于 FPGA 的简易数字示波器系统的硬件/软件的设计思路和设计方案。此系统
设计完成后,测试表明系统可以将采集到的数据通过软件程序控制转换成相应的波形显示出
来,显示的波形和输入信号的波形基本一致,能够实现数据采集、缓存、传输及波形显示等
便携式采集系统的基本功能,具有非常广阔的应用前景。
参考文献:
1.沈兰荪,高速数据采集系统的原理与应用,北京:人民邮电出版社,1995
2.赵新民,智能仪器设计基础,哈尔滨工业大学出版社,1999
3.刘全等,便携式 20M 数字存储示波器,电子制作,2005 年第 4 期
4.王成儒,李英伟,USB2.0 原理与工程开发,北京:国防工业出版社,2004