基于单片机和FPGA的简易数字存储示波器设计

发布者:NexusDream最新更新时间:2016-10-20 来源: elecfans关键字:单片机  FPGA  数字存储示波器 手机看文章 扫描二维码
随时随地手机看文章
l 引言

  与传统模拟示波器相比.数字存储示波器不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能。在电子测量领域,数字存储示波器正在逐渐取代模拟示波器。但目前我国使用高性能数字存储示波器主要依靠国外产品,而且价格昂贵。因此研究数字存储示波器具有重要价值。借于此,提出了一种简易数字存储示波器的设计方案,经测试,性能优良。

2 数字存储示波器基本工作原理

  数字存储示波器与模拟示波器不同在于信号进入示波器后立刻通过高速A/D转换器将模拟信号前端快速采样,存储其数字化信号。并利用数字信号处理技术对所存储的数据进行实时快速处理,得到信号的波形及其参数,并由示波器显示,从而实现模拟示波器功能,而且测量精度高。还可存储信号,因而,数字存储示波器可以存储和调用显示特定时刻信号。

3 系统分析论证

3.1 A/D实时采样

  根据奈奎斯特采样定理,采样速率必须高于2倍的信号最高频率分量。对于正弦信号,一周期内应有2个采样点。为了不失真恢复被测信号,通常一周期内需要采样8个点以上。为了配合高速模数转换器,采用FPGA控制M/D转换器的采样速率,以实现高速实时采样。实时采样可以实现整个频段的全速采样,本系统设计选用ADI公司的12位高速A/D转换器AD9220,其最高采样速率可达10 MHz。

3.2 双踪显示

  本系统设计的双踪显示模块是以高速切换模拟开关选通两路信号进入采样电路,两路波形存储在同一个存储器的奇、偶地址位。双踪显示时,先扫描奇地址数据位,再扫描偶地址数据位。采用模拟开关代替一个模数转换器,避免两片高速A/D转换器相互干扰,降低系统调试难度,并且实现系统功能。

3.3 触发方式

  采用FPGA内部软件触发方式,通过软件设置触发电平,所设置的施密特触发器参数易于修改,从而抑制比较器产生的毛刺。当采样值大于触发电平,则产生一次触发。该方式充分利用了FPGA的资源,减少外围电路,消除硬件毛刺产生的干扰,易于调整触发电压。

3.4 波形显示位置的调节

3.4.1 行扫描调节

  通过控制FPGA内部双口RAM(1 KB)的起始地址的偏移量确定来控制波形的移动。其具体方法是将滑动变阻器R上的电平通过模数转换器转换为数字信号传输给FPGA,再与初始电平数字信号(显示位置复位时,滑动变阻器R的电平采样值)相比较决定起始地址ADR0的偏移量。该方法可易于实现波形满屏和自动显示功能。

3.4.2 列扫描调节

  MAXl97采样A、B通道的Position电位器值,所得采样值经FPGA送至16位串行D/A转换器,MAX542产生直流电平,该直流电平与列扫描波形相加送至模拟示波器显示,实现波形上下移动。为分离A、B通道,在读A通道波形数据时,FPGA必须将Position A电位器的值送至D/A转换器;而在读B通道波形数据时,也必须将Position B电位器的值送至D/A转换器,这样可在调节某一电位器时,实现相应通道波形上下移动。

3.5 波形数据存储

  数字示波器存储波形数据可采用外接的双口RAM或通用静态RAM,同时FPGA可控制RAM的地址线,从而实现波形数据的存储。双口RAM可同时进行读写操作,由于本系统设计采用FPGA,因此可充分利用FPGA的逻辑阵列和嵌入式阵列,可将双口RAM写入FPGA内部,从而无需外接RAM,减少硬件电路,提高简易数字示波器的可靠性。

4 系统设计方案

  本系统设计框图如图1所示。整个系统是以FPGA为核心,包括前端模拟信号处理模块、单片机模块、显示模块和键盘输入模块。而信号的前级处理模块又包括射级跟随器、程控放大电路、整形电路。A、B通道的信号经前级处理变为O~4 V,AD9220对其采样。波形存储控制模块将其采样数据写入FPGA内部RAM,再由波形显示控制模块进行显示。FPGA通过编程设置实现测频、键盘扫描、显示驱动、波形存储控制等功能。单片机AT89S52控制整个系统键盘和点阵液晶模块实现人机交互。通过面板按键可方便调整波形显示方式。

5 硬件电路设计

5.1 程控放大电路

  采用模拟开关CD4051、宽带运算放大器AD844及精密电位器实现10 mV/div~2 V/div的多档垂直分辨率。FPGA含有通道选择寄存器模块,通过单片机写入通道号控制模拟开关以选通不同的反馈电阻,实现不同放大倍数,将信号调理在满足AD9220的0~4 V的范围内,具体电路如图2所示。

5.2 数据采集模块

  本系统设计采用ADI公司的高速模数转换器AD9220实现波形信号的采集,AD9220最高采样速率可达10 MHz,采用外部晶体振荡器8 MHz,FPGA内部通过采样实现波形存储。AD9220有直流耦合和交流耦合两种输入方式。本系统设计采用直流耦合,0~5 V的输入方式。采用内部2.5 V参考电压。由于系统垂直分辨率只需255级,故采用AD9220的高8位。数据采集电路如图3所示。

5.3 FPGA设计

  系统采用Verilog HDL语言,在QuartusII软件下对FPGA进行逻辑电路的描述编程,可灵活实现系统所需电路和控制模块。

5.3.1 触发模块

  单片机先向FPGA模块写入设置的触发电压,FPGA内部相比较后,当采样值大于该触发电压时,则产生一次触发。图4为触发模块。

5.3.2 程控放大控制模块

  单片机首先以100 mv/div的档位对信号采样,通过比较与该信号最近的模拟开关的通道号,然后写入控制字,产生相应通道号,实现垂直分辨率的调整。

5.3.3 波形存储控制模块

  该模块为RAM模块的写地址累加器,可控制波形的存储。H_sering为单次和多次触发控制引脚,当为高电平时,单次触发,停止向RAM写入数据,所显示波形为存储波形;为低电平时,多次触发,当检测到一次触发时,即向RAM写一次数据,共l K个点,并在写操作时屏蔽触发。写地址先写奇地址,存入通道一采样后的波形数据,后写偶地址,存入通道二采样后的波形数据。如果连续多次检测不到触发时,向RAM中写入全0,显示一条直线,即实现自动捕捉功能。波形存储控制模块如图5所示。

5.3.4 波形显示控制模块

  该模块为读地址累加器,从RAM中读取数据,并产生行扫描和列扫描数据。通过单片机写入累加器基地址,改变读取数据的起始位,实现波形的平移。该模块还可计算波形的峰峰值、平均值,单片机可直接读回数值。波形显示控制模块如图6所示。

6 系统软件设计

  系统软件设计实现人机交互、信息提示、系统启动与复位等功能。首先系统初始化,显示默认通道波形,再等待按键按下。当按键按下后,完成相应功能,显示相应波形,然后循环等待。系统软件设计流程如图7所示。

7 测试结果

  使用自制的数字存储示波器和tektronix TDSl002型数字示波器测量输入信号,其中部分测量数据如表1所列。

  通过对比测试和结果分析,各种输入信号在自制数字存储示波器上可精确显示波形,并且实现波形的双踪显示及波形水平、垂直平移,频率、平均值、峰峰值的测量,误差小,达到一定的精度要求。
8 结语

  本系统设计采用单片机作为核心控制器,充分利用FPGA的可编程逻辑功能,完成相关电路设计。软硬件有机结合实现简易数字存储示波器的设计,系统总体功能完善,稳定性高,使用方便。

关键字:单片机  FPGA  数字存储示波器 引用地址:基于单片机和FPGA的简易数字存储示波器设计

上一篇:发一个51的DS18B20温度传感器的程序
下一篇:使用AT89C51和DS18B20温度测量方法

推荐阅读最新更新时间:2024-03-16 15:16

ATmega88 MCU控制寄存器SMCR
MCU 控制寄存器包含了电源管理的控制位。 · Bits 7..4 Res 保留位: ATmega88中的这些位都没有使用到,读返回值始终是 0”。 · Bits 3、2、1-SM2..0 : 休眠模式选择位 2、 1 和 0 。如 Table18 所示,这些位用于选择具体的休眠模式。 · Bit 0 – SE: 休眠使能 为了使MCU 在执行SLEEP 指令后进入休眠模式, SE 必须置位。为了确保进入休眠模式是程序员的有意行为,建议仅在SLEEP 指令的前一条指令置位SE。MCU 一旦唤醒立即清除SE。
[单片机]
ATmega88 <font color='red'>MCU</font>控制寄存器SMCR
基于Nios软核和FPGA器件实现电缆故障检测仪的设计方案
引言 电缆是通信、测试等系统信号传输的重要载体,随着电缆数量的增多及运行时间的延长,电缆也越来越频繁地发生故障。电缆线路的隐蔽性及测试设备的局限性,使电缆故障的查找非常困难。本文设计了一种以嵌入式微处理器Nios为核心的电缆故障检测仪,应用A/D器件和FPGA组成可变频率的高速数据采集系统,利用低压脉冲反射法原理来实现线缆的断路、短路、断路点、短路点的检测与定位。该仪器可广泛应用于通信维护、工程施工和综合布线,对市话电缆、同轴电缆等各种线缆进行测试和障碍维护。 1 系统总体结构 利用低压脉冲反射法检测电缆故障。主要原理是:向电缆发送一个电压脉冲,当发射脉冲在传输线上遇到故障时,由于故障点阻抗不匹配,产生反向脉冲,通过计算二者的
[测试测量]
基于Nios软核和<font color='red'>FPGA</font>器件实现电缆故障检测仪的设计方案
STM32中重要的C语言知识点整理
说在前面的话 一位初学 单片机 的小伙伴让我 推荐 C语言 书籍,因为C语言基础比较差,想把C语言重新学一遍,再去学单片机,我以前刚学单片机的时候也有这样子的想法。 其实C语言是可以边学单片机边学的,学单片机的一些例程中,遇到不懂的C语言知识,再去查相关的知识点,这样印象才会深刻些。 下面就列出了一些 STM32 中重要的C语言知识点,初学的小伙伴可以多读几遍,其中大多知识点之前都有写过,这里重新整理一下,更详细地分析解释可以阅读附带的链接。 assert_pa ram 断言(assert)就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。 断言表示为一些布尔表达式, 程序员 相信在程序中的某个特定点该表
[单片机]
STM32中重要的C语言知识点整理
富士通半导体推用于混动车供电系统的新MCU
    富士通半导体近日开发出一款新的微控制器,这款32位MB91F552微控制器适用于汽车电池供电系统以及混合动力车的电力传输电路。     除了汇集数字化供电系统各类优化控制外,MB91F552还支持峰值电流控制模式并促进了电源的稳定性,使系统成本降低。芯片中带有一个频率为200兆赫兹的脉宽调制(PWM)模块。     随着近年来电动车和混动车的普及率增加,行驶过程中产生的能量储存到电池中,这些能量随后将用来驱动电机,影音系统、灯光系统和其他车载电子电器系统。为了将这些储存的能量用于电机或其它电子器件中,则需要一个能量供应控制系统,负责管理功率转换电路,例如直流-直流转换器、直流/交流逆变器等。此外,系统中的集成电路也
[汽车电子]
基于AVR单片机的中频电源测试系统
1 引言 电参数的测量和监控是 电力 系统的重要组成部分,本文从测试系统的工程学实际出发,完成了对中频 电源 系统的 电压 、 电流 、频率、功率因数、有功功率等参数的测量和实时监控,较好的实现了中频电源测试系统的功能和工程要求。 AVR 单片机 相对传统的 51系列单片机,具有更高的集成度和更强的功能,与 C语言有很好的兼容性,RISC指令架构使其运行速度可达 1MIPS/MHZ。随着其越来越广泛的应用,必将取代 51系列成为单片机的主流。其主要功能包括看门狗、FLASH程序存储器、 E2PROM、 A/D转换器、定时器、计数器、USART接口等多种功能,这使得本测试系统的硬件实现变得简单,可靠。
[电源管理]
基于AVR<font color='red'>单片机</font>的中频电源测试系统
基于STM32F4单片机USART寄存器控制的设计
USART又叫通用同步异步收发器,塔提供了一种灵活的方法与工业使用标准NRZ异步春航数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择,支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范以及调制解调器(CTS/RTS)操作,它还允许多处理器通信,使用多换成器配置的DMA方式,可以实现高速数据通信。 USART寄存器控制框图如下 可通过对 USART_CR1 寄存器中的 M 位进行编程来选择 8(置0) 位或 9(置1) 位的字长。TX 引脚在起始位工作期间处于低电平状态。在停止位工作期间处于高电平状态。
[单片机]
基于STM32F4<font color='red'>单片机</font>USART寄存器控制的设计
单片机 简单时钟
一、简述 通过Proteus仿真电路,用7段数码管实时显示当前时间时间。 工程文件:链接:https://pan.baidu.com/s/1CkKAF8h2dzn-bMoqgL-mhQ 密码:i3a2 二、效果 三、工程结构 1、Keil 工程 2、仿真电路图 四、源文件 clock.c文件 #include reg51.h #include realTime.h #define uint unsigned int #define uchar unsigned char uint time_t;//毫秒统计值 uchar hour,min,sec;//数码管显示值,小时,分,秒 uchar co
[单片机]
<font color='red'>单片机</font> 简单时钟
基于51单片机按键控制喇叭发出多种声音
具体实现功能: 51单片机按键控制喇叭发出多种声音。 设计介绍 51单片机简介 51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 51系列单片机具有以下标准功能: 8k字节Flash,512字节RAM, 32位I/O口线,看门狗定时器, 内置4KB EEPROM, MAX810复位电路, 三个16位定时器/计数器, 一个6向量2级中断结构, 全双工串行口。 另外, 51系列在空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止工作,直到下一个中
[单片机]
基于51<font color='red'>单片机</font>按键控制喇叭发出多种声音
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved