- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于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供电、每通道60Mbit/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触发器的输入是有一些逻辑组合构成的,这就构成了门控时钟。对于门控时钟,仔细分析时钟函数,以避免毛刺的影响。而门控时钟在满足以下两个条件时,则可保证时钟信号不出现危险的毛刺,门控时钟可以像全局时钟一样可靠的工作。 [p]
·驱动时钟的逻辑必须只包含一个“与”门或一个“或”门。如果采用任何附加逻在某些工作状态下,会出现竞争产生的毛刺。
·逻辑门的一个输入作为实际的时钟,而该逻辑门的所有其它输入必须当成地址或控制线,它们遵守相对于时钟的建立和保持时间的约束。
对于本设计中的A/D转换器,其控制信号只有两个:时钟输入信号CLK和使能输出信号OE。CLK信号直接通过有源晶振输入60M的信号,而OE信号则通过FPGA内部将和CLK同频同相的时钟信号反相后得到,这样刚好可以满足A/D转换器的转换时序关系。
图4 分频电路内部结构图
图5 分频电路和频率选择电路符号图
上述分频电路和频率选择电路及A/D转换器的控制信号产生电路在顶层生成了相对应的逻辑符号如图5所示。
FIFO功能单元设计
本系统的A/D采样速率比较高,采样周期达到16.7ns,而选用的华邦公司单片机77E58,在晶振40MHz的读写周期是100ns,而且总线的传输速率又比较低,因此两者在速度上无法匹配。在这种情况下,必须要在高速采集和低速处理之间建立相应的缓冲途径才能保证系统的正常工作。为此在A/D 转换器 和单片机 处理器 中间加入一个先入先出式缓冲器(FIFO),以缓解高速信号和低速设备之间的接口矛盾。本设计中利用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脉冲的模块,为计数提供基准参考脉冲。 [p]
液晶显示及键盘模块
在本次设计中,我们选用内置SED1335控制器的液晶显示模块MS320240B,分辨率为320*240。不仅可以单独的进行文本显示或图形显示,还可以进行图形文本合成方式显示。在本系统中能够把被测信号的波形、两个游标与波形相交点的电压值及时间值显示在液晶屏上。在液晶屏的显示如图8所示。
在实现人机通信功能的单片机通信输入设备中,最简单的是由按键组成的开关矩阵构成的键盘,它随时可以发出各种控制命令和进行数据输入。通常按键所用为机械开关,有很多缺点,主要是按键被按下或弹起时都会有轻微的抖动,抖动时间和开关的机械特性有关,一般为5ms~10ms。为了避免在抖动期间扫描键盘得到错误的行值和列值,一般在检测到有键按下后延时10ms再进行扫描。在本设计中,采用一个3*8的行列式键盘,发出各种命令来对采集器进行类似于示波器按钮的操作。
图9 简易示波器的上位机控制 面板
USB通信单元
本次设计采用Cypress公司的CY7C68013芯片实现USB传输模块的设计,CY7C68013是符合USB2.0标准的芯片。通过USB总线把采集的数据实时的传递给 计算机 ,便于上位机也可以实时的显示波形,还可以很方便的存储数据。
上位机应用程序设计
在上位机中利用 计算机 强大的计算能力和图形环境,建立图形化的软 面板 来替代常规的仪器控制面板。软面板上具有与实际仪器相似的开关、指示灯及其它控制部件。用户通过鼠标或键盘操作软面板,检验仪器的性能和可操作性。同时,用户不用编写测试程序, 就可以可进行测试、测量,实现了测试的自动化、智能化。
在本设计中采用LabVIEW编写上位机图应用程序。简易示波器的上位机控制面板如图9所示,它主要实现双通道波形显示功能。显示面板采用游标来进行电压和时间的测量,可以减小人为的读数误差提高测量准确度。当两个通道同时显示时,可以通过前面板上的“当前通道选择”按钮来选择要显示的通道的参数。RUN/ST OP 按键能够启动和停止数据采集显示模块,便于操作和读数。前面板还带有拖拉和缩放按钮,方便查看图形。
结语
本文是基于FPGA的简易 数字示波器 系统的硬件/软件的设计思路和设计方案。此系统设计完成后,测试表明系统可以将采集到的数据通过软件程序控制转换成相应的波形显示出来,显示的波形和输入信号的波形基本一致,能够实现数据采集、缓存、传输及波形显示等便携式采集系统的基本功能,具有非常广阔的应用前景。