任务名称
2009年_C题:宽带直流放大器
任务要求
难度

一、任务
设计并制作一个宽带直流放大器及所用的直流稳压电源。
二、要求
1.基本要求
(1)电压增益AV≥40dB,输入电压有效值Vi≤20mV。AV可在 0~40dB范围内手动连续调节。
(2)最大输出电压正弦波有效值Vo≥2V,输出信号波形无明显失真。
(3)3dB 通频带 0~5MHz;在 0~4MHz 通频带内增益起伏≤1dB。
(4)放大器的输入电阻≥50Ω,负载电阻(50±2)Ω。
(5)设计并制作满足放大器要求所用的直流稳压电源。
2.发挥部分
(1)最大电压增益AV≥60dB,输入电压有效值Vi≤10 mV。
(2)在AV=60dB时,输出端噪声电压的峰-峰值VONPP≤0.3V。
(3)3dB 通频带 0~10MHz;在 0~9MHz 通频带内增益起伏≤1dB。
(4)最大输出电压正弦波有效值Vo≥10V,输出信号波形无明显失真。
(5)进一步降低输入电压提高放大器的电压增益。
(6)电压增益AV可预置并显示,预置范围为 0~60dB,步距为 5dB(也可以连续调节);放大器的带宽可预置并显示(至少 5MHz、 10MHz 两点)。
(7)降低放大器的制作成本,提高电源效率。
(8)其他(例如改善放大器性能的其它措施等)。

三、说明
1.宽带直流放大器幅频特性示意图如图 1 所示。 

2.负载电阻应预留测试用检测口和明显标志,如不符合(50±2)Ω的电阻值要求,则酌情扣除最大输出电压有效值项的所得分数。
3.放大器要留有必要的测试点。建议的测试框图如图 2 所示,可采用信号发生器与示波器/交、直流电压表组合的静态法或扫频仪进行幅频特性测量。

评审标准

参考答案

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


一、总体设计

设计一个宽带直流放大器及相应的直流稳压电源。该系统包括以下主要模块:

  1. 信号输入模块: 接收输入信号,范围在0~40dB。
  2. 宽带直流放大器: 放大输入信号,具有高增益和宽频带特性。
  3. 直流稳压电源: 提供稳定的直流电压供给放大器。
  4. 滤波器模块: 滤除噪声,保持信号的纯净。
  5. 示波器/交流、直流电压表: 用于检测输出信号和监测增益、频率响应等参数。

二、简单论证

设计一个增益高于40dB的宽带直流放大器,可以处理输入电压有效值小于20mV的信号,保持3dB带宽在带0~5MHz范围内;0~4MHz范围内增益波动小于1dB,确保放大信号的线性和精确度。滤波模块用于减少噪声,保持信号质量。

三、重要指标的理论分析

  1. 电压增益: 增益应大于40dB,实现对微弱信号的有效放大。
  2. 带宽: 0~4MHz通频带内增益起伏≤1dB<3dB通频带0~5MHz。
  3. 输入电压范围: 处理有效值小于20mV的输入信号,满足高敏感度要求。
  4. 稳压: 直流稳压电源需保持电压稳定,波动范围在±2%以内,确保放大器稳定工作。

四、电路原理图设计要点

  1. 信号输入模块:

    • 设计阻抗匹配电路,保证最小信号损失。
    • 输入端增加滤波电容,去除噪声。
  2. 放大器电路:

    • 选择高增益运算放大器(如AD797)。
    • 设计多级放大电路,采用反馈稳定增益。
    • 放大器输出增加滤波,提高信号纯净度。
  3. 直流稳压电源:

    • 使用三端稳压IC(如LM7805或LM317),提供稳定直流电压。
    • 增加滤波电容,减少电源纹波。
    • 电源防护电路,避免输入过压或短路损坏。
  4. 滤波器模块:

    • 采用高通和低通滤波器组合,确保特定频率范围内信号不失真。

五、核心器件设计要点

  1. 运算放大器(AD797)

    • 高增益、低噪声、高线性度,适用于高精度信号放大。
    • 带宽足够宽,满足频率响应要求。
  2. 稳压IC(如LM7805或LM317)

    • 输出电压稳定,负载调整率好。
    • 具有过温保护功能,确保安全运行。

六、MCU重要功能的C代码及介绍

以下是使用MCU(如STM32F103)监测放大器输出信号和电压稳定性的重要功能代码片段及介绍:

#include "stm32f1xx.h"

ADC_HandleTypeDef hadc1;
TIM_HandleTypeDef htim1;
UART_HandleTypeDef huart1;

void SystemClock_Config(void);
void MX_GPIO_Init(void);
void MX_ADC1_Init(void);
void MX_TIM1_Init(void);
void MX_USART1_UART_Init(void);

int main(void) {
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_ADC1_Init();
    MX_TIM1_Init();
    MX_USART1_UART_Init();

    HAL_TIM_Base_Start(&htim1);
    HAL_ADC_Start(&hadc1);

    uint32_t adcValue = 0;
    char buffer[50];

    while (1) {
        HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY);
        adcValue = HAL_ADC_GetValue(&hadc1);
        float voltage = ((float)adcValue / 4095) * 3.3;
        snprintf(buffer, sizeof(buffer), "Voltage: %.2f V\r\n", voltage);
        HAL_UART_Transmit(&huart1, (uint8_t*)buffer, strlen(buffer), HAL_MAX_DELAY);
        HAL_Delay(1000);
    }
}

void SystemClock_Config(void) {
    // 系统时钟配置代码
}

void MX_GPIO_Init(void) {
    // GPIO初始化配置
}

void MX_ADC1_Init(void) {
    ADC_ChannelConfTypeDef sConfig = {0};

    hadc1.Instance = ADC1;
    hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
    hadc1.Init.ContinuousConvMode = ENABLE;
    hadc1.Init.DiscontinuousConvMode = DISABLE;
    hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
    hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
    hadc1.Init.NbrOfConversion = 1;
    if (HAL_ADC_Init(&hadc1) != HAL_OK) {
        Error_Handler();
    }

    sConfig.Channel = ADC_CHANNEL_0;
    sConfig.Rank = ADC_REGULAR_RANK_1;
    sConfig.SamplingTime = ADC_SAMPLETIME_7CYCLES_5;
    if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) {
        Error_Handler();
    }
}

void MX_TIM1_Init(void) {
    TIM_ClockConfigTypeDef sClockSourceConfig = {0};
    TIM_MasterConfigTypeDef sMasterConfig = {0};

    htim1.Instance = TIM1;
    htim1.Init.Prescaler = 7999;
    htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim1.Init.Period = 9999;
    htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim1.Init.RepetitionCounter = 0;
    if (HAL_TIM_Base_Init(&htim1) != HAL_OK) {
        Error_Handler();
    }

    sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
    if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) {
        Error_Handler();
    }
    sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
    sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
    if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) {
        Error_Handler();
    }
}

void MX_USART1_UART_Init(void) {
    huart1.Instance = USART1;
    huart1.Init.BaudRate = 115200;
    huart1.Init.WordLength = UART_WORDLENGTH_8B;
    huart1.Init.StopBits = UART_STOPBITS_1;
    huart1.Init.Parity = UART_PARITY_NONE;
    huart1.Init.Mode = UART_MODE_TX_RX;
    huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
    huart1.Init.OverSampling = UART_OVERSAMPLING_16;
    if (HAL_UART_Init(&huart1) != HAL_OK) {
        Error_Handler();
    }
}

void Error_Handler(void) {
    while (1) {
        // 错误处理代码
    }
}

通过上述设计方案和实现代码,可有效满足题目提出的系统要求,实现宽带直流放大和稳压功能。


本题考察的主要知识点:

  1. 电压增益:要求电压增益≥40dB,并且输入电压有效值不小于20mV。
  2. 频率响应:宽带范围在0~5MHz,0~4MHz 内增益波动<1dB,超出范围内 3dB 带宽。
  3. 稳定性:设计的放大器应具有较小的波动和高稳定性。
  4. 线性度:放大器输出信号应保持正弦波形无失真。
  5. 输入输出阻抗:匹配输入、输出阻抗,负载电阻为(50±2)欧姆。
  6. 直流稳压源设计:确保放大器供电稳定,直流电压波动小于2%。
  7. 测试方法:使用示波器和直流电压表测试输出信号的增益和频率响应。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号