任务名称
2001年_B题:简易数字存储示波器
任务要求
难度

一、任务
设计并制作一台用普通示波器显示被测波形的简易数字存储示波器,示意图如下:


二、要求
1.基本要求
(1)要求仪器具有单次触发存储显示方式,即每按动一次“单次触发” 键,仪器在满足触发条件时,能对被测周期信号或单次非周期信号进=行一次采集与存储,然后连续显示。
(2)要求仪器的输入阻抗大于 100kΩ,垂直分辨率为 32 级/div,水平分辨率为 20 点/div;设示波器显示屏水平刻度为 10div,垂直刻度为 8div。
(3)要求设置 0.2s/div、0.2ms/div、20μs/div 三档扫描速度,仪器的频率范围为 DC~50kHz,误差≤5%。
(4)要求设置 0.1V/div、1V/div 二档垂直灵敏度,误差≤5%。
(5)仪器的触发电路采用内触发方式,要求上升沿触发、触发电平可调。
(6)观测波形无明显失真。
2.发挥部分
(1)增加连续触发存储显示方式,在这种方式下,仪器能连续对信号进行采集、存储并实时显示,且具有锁存(按“锁存”键即可存储当前波形)功能。
(2)增加双踪示波功能,能同时显示两路被测信号波形。
(3)增加水平移动扩展显示功能,要求存储深度增加一倍,并且能通过操作“移动” 键显示被存储信号波形的任一部分。
(4)垂直灵敏度增加 0.01V/div 档,以提高仪器的垂直灵敏度,并尽力减小输入短路时的输出噪声电压。
(5)其它。

评审标准

参考答案

GPT-4o给出的设计方案:


一、方案论证

该设计任务旨在制作一个简易的数字存储示波器,可以使用普通的模拟示波器作为显示输出设备。系统需要能够触发、采集、存储并显示波形数据。为了达到要求,需要实现高输入阻抗、低误差的A/D转换,高速大容量的存储器以及精确的D/A转换。

二、系统设计

1. 输入电路

  • 设计目标:输入阻抗大于100kΩ,确保低负载效应。
  • 设计方案:利用高输入阻抗运算放大器进行信号缓冲和放大。

2. A/D 转换

  • 设计目标:满足0.2s/div至20μs/div的采样速度,频带范围DC至50kHz,误差小于5%。
  • 设计方案:选择高速、高精度的A/D转换器,如AD9280或TI ADS8320,12位或更高分辨率。

3. 存储电路

  • 设计目标:存储深度满足32级/div,每级20点。
  • 设计方案:选用高速SRAM,如IS61C5128,存储容量足够且读取速度快。

4. 触发电路

  • 设计目标:单次触发存储,支持外部触发和内部触发。
  • 设计方案:采用带有比较器功能的运算放大器,如LM339,实现灵敏的触发信号检测。

5. 控制电路

  • 设计目标:控制A/D转换、存储和D/A转换的协同工作。
  • 设计方案:使用单片机(如STM32F103)进行时序控制和数据处理,C代码实现。

6. D/A 转换

  • 设计目标:将数字信号转为模拟信号,发送到普通示波器显示。
  • 设计方案:选用高精度的D/A转换器,如DAC8531,12位或更高。

三、重要指标分析

  1. 输入阻抗

    • 确保输入阻抗大于100kΩ,使用典型的输入缓冲放大电路,如电压跟随器。
  2. 频率范围

    • 满足DC到50kHz的要求,A/D转换器采样速率至少设置为采样信号频率的两倍以上(奈奎斯特采样定理)。
  3. 垂直灵敏度

    • 精度要求0.2s/div至20μs/div的水平扫描速率,可以满足高速信号的采样与存储。

四、原理图设计要点

  1. 输入电路

    • 使用运算放大器(如OPA2134)设计电压跟随器,确保高输入阻抗。
    • 放大电路设计为增益控制电路,实现电平调整。
  2. 触发电路

    • 使用比较器(如LM339)实现灵敏触发,调节比较器的阈值确保单次触发功能。
  3. 存储电路

    • 使用高速SRAM(如IS61C5128),并行接口连接MCU,时序控制信号由MCU提供。
  4. A/D 和 D/A 电路

    • 分别选用高速、高精度的AD9280和DAC8531进行模数转换和数模转换。

五、核心器件设计要点

  1. OPA2134运算放大器

    • 高输入阻抗(>100MΩ)、低噪声,实现输入信号缓冲。
  2. AD9280 A/D转换器

    • 高速(100MSPS),高分辨率(8位/12位可选),满足快速采样需求。
  3. IS61C5128 SRAM

    • 高速读写速度(10ns),存储容量128k×8,满足数据存储深度要求。
  4. DAC8531 D/A转换器

    • 高精度(16位),低非线性误差,确保转码的精度和稳定性。

六、MCU的重要功能C代码

#include "stm32f1xx_hal.h"

// ADC, DAC, SRAM, and Trigger initialization code here

void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_ADC1_Init(void);
static void MX_DAC_Init(void);
static void MX_USART1_UART_Init(void);
static void MX_SRAM_Init(void);

// Main function
int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_ADC1_Init();
  MX_DAC_Init();
  MX_USART1_UART_Init();
  MX_SRAM_Init();

  while (1)
  {
      if (trigger_detected()) 
      {
          collect_and_store_data();
          convert_to_dac_output();
      }
  }
}

void SystemClock_Config(void)
{
  // Clock configuration code
}

static void MX_GPIO_Init(void)
{
  // GPIO initialization code
}

static void MX_ADC1_Init(void)
{
  // ADC initialization code
}

static void MX_DAC_Init(void)
{
  // DAC initialization code
}

static void MX_USART1_UART_Init(void)
{
  // UART initialization code
}

static void MX_SRAM_Init(void)
{
  // SRAM initialization code
}

bool trigger_detected()
{
  // Trigger detection logic
}

void collect_and_store_data()
{
  // Data collection and storage logic
}

void convert_to_dac_output()
{
  // Convert stored data to DAC output
}

总结

本方案是一个简单的数字存储示波器,通过高输入阻抗放大器输入、高速A/D转换、SRAM存储和高精度D/A转换,结合MCU协调工作,满足基本和扩展的各个需求。设计中选用的组件如OPA2134、AD9280、IS61C5128等均具有高性能,确保系统能够有效工作。这一设计能在实验室环境中高效展示和测量各种信号波形。

 


这个题目考察的知识点:

  1. 信号采集与模数转换:如何采用高输入阻抗电路和高精度A/D转换器获取并转化模拟信号。
  2. 数据存储:使用高速SRAM存储采集到的数字信号,以满足实时性和存储深度的要求。
  3. 触发电路设计:设计可靠的触发电路以在特定条件下启动数据采集。
  4. 数模转换与显示:如何使用D/A转换器将数字信号恢复为模拟信号并在普通示波器上显示。
  5. 控制逻辑:利用MCU进行各模块的协调控制,包括A/D、存储、D/A和触发控制。
  6. 误差分析与系统校准:确保系统的测量误差在允许范围内,并定期校准系统以保证精度。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号