基于FPGA 的微型示波器设计

2023-08-14 02:21熊跃军龚承岳石阳波
通信电源技术 2023年10期
关键词:模拟信号开发板示波器

王 培,熊跃军,刘 倩,龚承岳,石阳波

(长沙学院,湖南 长沙 410022)

0 引 言

在电子信息技术飞速发展的时代,在科研研究实验中示波器作为一种实用性的测量工具是必不可少的。示波器的主要功能就是通过接收不可见的电信号,将之转化为人们所熟知的图形,供科研人员研究。本文设计的微型示波器可分为2 个部分,分别为硬件设备和应用程序,与各大高校使用的示波器有所区别。目前,大多数实验室所配置的示波器基本都是大型的、笨重的、结构复杂、功能烦琐。微型示波器相较于大型的示波器而言,具有体积小、便于运输、结构简单、使用方法简易等优势。利用现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)技术设计的微型示波器比较于大型传统的示波器而言,不论是在设计难易、设计开销,还是在使用难易等方面都具有很大的优势[1,2]。

1 系统功能概述

本系统是以FPGA 的开发板为核心设计而成,主要由高速AD 模块、FPGA 开发板及程序三部分组成。高速AD 模块主要由高速AD 芯片(AD9280)、衰减电路(衰减到0 ~2 V)、模拟电压输入接口(-5 ~5 V)外加电源模块(±5 V,3V3)构成。首先,高速AD/DA 模块会在模拟电压输入接口接收外部模拟信号,模拟信号经过衰减电路,再由AD9280芯片采用二进制数据采集,进行模拟-数字信号的转换。FPGA开发板对数据进行接收处理,获得基本参数。FPGA 开发板及程序由数据抽样存贮模块以及液晶显示器(Liquid Crystal Display,LCD)显示模块分别对数据进行抽样、处理和储存,完成界面绘制、波形变化绘制和数据变化显示。

2 系统设计方案

微型示波器的工作流程如图1 所示。当开发板接通电源时,FPGA 会通过Verilog 代码对开发板进行配置,实现对开发板的初始化设置,此时外部的高速高精度A/D 模块开始采集模拟数据。然后实验所需要的检测模拟信号通过运算放大器AD8065进行放大,以达到AD9280 元件的检测要求,再被32MSPS 模数转换器AD9280 转换为开发板可识别的数字信号。进入FPGA 后,该数字信号分成2 路,一路输入到测量模块,用于测量信号的幅值;另一路将数据写到双口随机存取存储器(Random Access Memory,RAM)中,在此过程还要不停地判断触发条件,一旦满足触发条件,就记录此时的RAM 地址用于绘制波形[3]。软件方面最重要的就是在于与硬件之间进行数据交互,通过添加IP 核接口实现 Nios II 处理器与外设之间的信息传输,自定义IP 核封装Avalon-MM 接口,Nios II 处理器使用一些通信协议保持与自定义的IP 核进行沟通,如Avalon-MM 总线协议,实现硬件加速模块与软核数据的通信。Nios II 处理器可以接收触发电平、抽样率、波形的缩放比例等控制参数[4]。

图1 微型示波器工作流程

3 硬件设计

本次设计的硬件设备包括3 部分,分别是LCD液晶屏、FPGA 开发板和高速AD/DA 模块,其中高速AD/DA 模块负责对模拟信号进行采集、模拟信号输出、数字化处理和数字信号数据传输;FPGA 开发板负责与高速AD 模块进行数据对接,同时与LCD液晶屏进行数据交互;LCD 液晶屏负责示波器的面板,主要是进行测量参数的实时变化显示、波形变化显示以及控制功能输入口。系统的硬件设计框架如图2 所示[1]。相较于其他的开发方式,如单片机和嵌入式,以FPGA 为核心的开发方式的优点在于内部可嵌入软核,增强开发板的数据处理能力,还有时钟周期小、内部延时小、自定义集成电路等。一个FPGA 芯片可以快速进行数据采集、数据处理、数据交互和数据缓存与传输,不仅可以提高设备的稳定性,还可以减少不必要的浪费[2]。模拟信号首先经过信号调理电路(衰减电路)进行降压处理,AD 转换电路对外部模拟信号进行采样处理,将模拟信号转换为数字信号,由FPGA 将AD 模块转化的数字信号进行存贮和处理,再将信号的参数和波形绘制呈现在LCD液晶屏上。

图2 硬件主体框架

3.1 高速AD 模块

高速AD 模块是一款以AD9280 为核心芯片的模块。AD9280 芯片由亚德诺半导体技术有限公司主导设计,具有高性能、低功耗的特点[5]。

AD9280 内部采用多级差分流水线架构,能够分级快速处理数据,从一个分级阶段到一个更高级的阶段,每个阶段都可以提高采集的精度,达到百万级采样速率且保持低温低功率运行,如图3 所示。AD9280 芯片输出的数字信号的数据格式是以直列二进制输出格式表示。不同于其他元件,AD9280 含有很多可编程硬件部件,而且这些硬件部件有电压电流、负载变化、温度、湿度等其他可影响因素无关的特性,运行速度极快。

图3 多级差分流水线架构

此外,通过所研究的时序波形可以发现,如图4所示,AD9280 芯片在处理采集的数据时,并不是第一时间进行数据处理,而是要经过25 ns 的等待时间才接收数据。时钟输入是从AVDD 引脚通过内部缓冲与一个逆变器进入。该特性允许AD9280 芯片适应+5 V 或+3.3 V 互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)逻辑门电路输入信号,流水线架构可以在输入时钟的上升和下降边缘上运行;驱动时钟输入的逻辑是高速或高级CMOS(HC/HCT,AC/ACT)逻辑,以确保最小化占空比的变化。此外,CMOS 逻辑提供了对称的电压阈值水平和足够的上升与下降时间来支持AD9280 芯片达到32 MSPS 的采样频率[7]。

AD9280 芯片用一个超出范围的信号(OTR)表示一个溢出状态,可用来确定测量电压是否低或高溢出,只有OTR 信号为低电位时,AD9280 芯片才会正常运行,于此可以判断所得数据是否正确。因此,在模拟数据输入端口需要设计一个电压衰减电路,降低电压至有效范围之内。

图4 AD9280 时序波形分析

3.2 高速DA 模块

由3PD9780 芯片构成的高速DA 模块,是一种电流输出数模转换器(Digital to Analog Converter,DAC),是由思瑞浦公司研发的一款以大量P 沟道金属氧化物半导体(Positive Channel Metal Oxide Semiconductor,PMOS)电流源阵列组成的芯片。该阵列被分成32 个相等的电流,能够提供高达20 mA 的总电流,构成5个最高有效值(Most Significant Bit,MSBs)。其余的3 个MSB 也采用了相等加权的电流源,其总和等于一个MSB 电流源的7/8。使用电流源实现上下位有助于保持DAC 的高输出阻抗(即>100 kW)。所有这些电流源都通过PMOS 差动电流开关切换到2 个输出节点中的一个或另一个。这些开关是基于一种新的架构,大大提高了失真性能。由这8 个数据输入(MSB)引脚和一个时钟输入引脚组成输入数据,具有8 位数据位,且3PD9780 芯片支持高达125 MSPS 的时钟速率。3PD9780 的工作原理比较简单,只需要输入一个时钟信号,给定合理的参考电压,则会产生差分电流信号。经过一个7 阶低通滤波器,再经过2 个AD8066 将差分电流信号变为单端信号并放大。3PD9780 的原理如图5所示。

图5 3PD9780 的原理

4 软件设计

为了搭建微型示波器系统,提出一种不同于其他系统的示波器,极大程度地发挥了FPGA 的优势,采用并行模式并创造了多个模块,以达到能够在一个时钟周期内进行多级数据处理的目的,主要分4 个层次:数据处理区、驱动层、数据交互区以及用户界面(User Interface,UI)。软件设计结构如图6 所示。

图6 软件设计结构

UI 界面主要是实现AD 采集的波形数据以及波形变化的显示,再者识别触摸点并发送识别的触摸坐标至数据处理模块。

数据交互层通过Avalon-MM 接口模块实现Nios II 处理器与各个模块之间的数据交换,保持交换数据的准确性以及速率[7]。

数据处理层包含参数测量、AD 数据采集、先进先出队列(First In First Out,FIFO)暂缓模块以及数据存储模块,主要是实现对AD 采集信号的数据进行测量、高精度采集以及存储和传输像素数据,保证数据的完整性、有序性。

驱动层作为系统必不可少的一部分,主要是对FPGA 的IO 口进行配置,使得软件程序可对LCD 实现操作;其中的时钟模块是用来控制各个模块的运行,保证各个模块互不相扰,可以正常运行。

5 系统调试测试

本文主要进行对系统的可行性以及测量数据与一般示波器的对比测试,系统演示和测量数据对比(图7、表1)表明,微型示波器系统可以实现系统的正常运行,拥有一般示波器的功能,且测试数据的误差很小,满足一般需求。

图7 GWINSTEK 示波器与本系统比较数据

表1 测量数据对比

本系统通过与GWINSTEK 示波器进行数据比较,使用信号发生器生成一系列测试信号,考虑到信号发生器损耗、老化、测试连接线等问题,对二者的数据进行比较分析得出结论如下。本系统的电压测量误差0.1 ~0.02Vpp,频率测量在0.001 kHz 范围内,系统性能良好。

6 结 论

本文介绍了基于FPGA 的微型示波器的设计方案和实现,通过FPGA 硬件和Quartus Prime 集成开发环境的联合应用,可以实现对大多数电信号进行测试,并且通过与GWINSTEK 示波器检测对比,说明本系统可以媲美大多数的大型示波器。

猜你喜欢
模拟信号开发板示波器
一种基于ADG426多路模拟开关的模拟信号输入接口设计
一种模拟信号选通运算电路的设计
一款教学示波器的Y通道设计与实现
可携带式虚拟双踪示波器
Microchip最新推出两款PIC32 Curiosity开发板
模拟信号的三种调制方法比较研究
浅析单片机开发板的设计与制作
基于TEGRA K1的实时信号处理示波器的设计
基于单片机的模拟信号自动追踪控制器
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板