任务名称
2001年_E题:数据采集与传输系统
任务要求
难度

一、任务
设计制作一个用于 8 路模拟信号采集与单向传输系统。系统方框图参见图 1。


二、要求
1.基本要求
(1)被测电压为 8 路 0~5V 分别可调的直流电压。系统具有在发送端设定 8 路顺序循环采集与指定某一路采集的功能。
(2)采用 8 位 A/D 变换器。
(3)采用 3dB 带宽为 30kHz~50kHz 的带通滤波器(带外衰减优于 35dB/十倍频程)作为模拟信道。
(4)调制器输出的信号峰-峰值 vsp-p为 0~1V 可变,码元速率 16k 波特(码元/秒);制作一个时钟频率可变的测试码发生器(如 0101…码等),用于测试传输速率。
(5)在接收端具有显示功能,要求显示被测路数和被测电压值。
2.发挥部分
(1)设计制作一个用伪随机码形成的噪声模拟发生器,伪随机码时钟频率为 96kHz,周期为 127 位码元,生成多项式采用 。其输出峰-峰值 0~1V 连续可调。
(2)设计一个加法电路,将调制器输出 与噪声电压 相加送入模拟信道。在解调器输入端测量信号与噪声峰-峰值之比( ),当其比值分别为 1、3、5 时,进行误码测试。测试方法:在 8 路顺序循环采集模式下,监视某一路的显示,检查接收数据的误码情况,监视时间为 1 分钟。
(3)在( )=3 时,尽量提高传输速率,用上述第(2)项的测试方法,检查接收数据的误码情况。
(4)其它(如自制用来定量测量系统误码的简易误码率测试仪,其方框图见图 2)。

评审标准

参考答案

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


一、方案概述

设计并实现一个用于8路模拟信号采集与发送的传输系统。系统包括信号采集模块、信号调理模块、AD转换模块、信号调制与发送模块、信号接收解调模块和结果显示模块。

简单论证

  • 信号采集与调理:通过放大器和滤波器对输入的8路模拟信号进行调理,以确保信号在合理范围内,没有高频噪声干扰。
  • AD转换:使用8位A/D转换器将模拟信号转化为数字信号,确保数据传输的准确性和高效性。
  • 信号调制与发送:采用键控调制,把数字信号调制到高频载波上进行发送。目标频率范围为30kHz~50kHz,确保信道容量。
  • 信号接收与解调:接收信号后通过解调器还原为数字信号,再通过DA转换器转换为模拟信号,进行显示和进一步处理。

二、重要指标理论分析

  1. 输入电压范围

    • 需要处理0~5V的输入信号电压,确保系统能够适应常用的传感器输出范围。
  2. 取样频率与位数

    • 采用8位A/D转换,实现对输入信号的数字化处理,确保信号的细节捕捉。
  3. 信号调制与发送

    • 采用FSK调制技术,在30kHz~50kHz范围内进行调制和发送。FSK(频移键控)适合于数据传输,具有良好的抗干扰能力。
  4. 信噪比

    • 需要噪声系数小于35dB,确保系统在有噪环境中依然能够稳定、准确地传输信号。

三、原理图设计要点

  1. 输入调理电路

    • 每路输入信号经过运算放大器和低通滤波器,滤除高频噪声,增强信号。
    • 滤波器采用一阶或二阶RC电路,截止频率根据应用需求选定。
  2. A/D转换电路

    • 采用8位A/D转换器,如ADC0804,进行模数转换。
    • 保证A/D转换器的参考电压稳定,减少噪声干扰。
  3. 调制与发送电路

    • 使用FSK调制芯片,如XR-2206,调制经过模数转换的数字信号。
    • 高频信号由放大器加强后,通过天线或传输线发送。
  4. 接收与解调电路

    • 采用对应的FSK解调芯片,如XR-2211,接收并解调信号。
    • 解调后的信号经D/A转换器复原为模拟信号。

四、核心器件设计要点

  1. A/D转换器(如ADC0804)

    • 采用稳定的参考电压,确保转换精度。
    • 与微控制器的接口时序匹配,保证数据有效采集。
  2. 调制芯片(如XR-2206)

    • 确保输入频率范围与所需载波频率匹配。
    • 输出信号经过滤波和放大,保持清晰稳定。
  3. 接收和解调芯片(如XR-2211)

    • 设定相应的中心频率和频偏匹配发送端的调制频率。
    • 确保高灵敏度和低误码率。

五、简单C代码

假设使用STM32系列MCU进行AD采集与频率控制,下面是部分实现的C代码:

#include "stm32f4xx_hal.h"

ADC_HandleTypeDef hadc1;
UART_HandleTypeDef huart1;

void SystemClock_Config(void);
void MX_ADC1_Init(void);
void MX_USART1_UART_Init(void);
void ReadADC(uint32_t channel_value[]);

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

    uint32_t adc_values[8]; // 储存8路模拟信号的AD结果

    while (1) {
        ReadADC(adc_values);  // 读取AD采样值

        // 可以将采样值通过串口或其他方式发送
        // HAL_UART_Transmit(&huart1, (uint8_t*)adc_values, sizeof(adc_values), HAL_MAX_DELAY);

        HAL_Delay(100);  // 延时100ms,控制采样率
    }
}

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

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

    hadc1.Instance = ADC1;
    hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
    hadc1.Init.ContinuousConvMode = DISABLE;
    hadc1.Init.DiscontinuousConvMode = DISABLE;
    hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
    hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
    hadc1.Init.NbrOfConversion = 8;
    HAL_ADC_Init(&hadc1);

    // 配置ADC各通道
    for (int i = 0; i < 8; i++) {
        sConfig.Channel = i;
        sConfig.Rank = 1;
        sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
        HAL_ADC_ConfigChannel(&hadc1, &sConfig);
    }
}

void MX_USART1_UART_Init(void) {
    // 串口初始化代码
}

void ReadADC(uint32_t channel_value[]) {
    for (int i = 0; i < 8; i++) {
        HAL_ADC_SelectChannel(&hadc1, i);  // 选择通道
        HAL_ADC_Start(&hadc1);  // 开始转换
        if (HAL_ADC_PollForConversion(&hadc1, HAL_MAX_DELAY) == HAL_OK) {
            channel_value[i] = HAL_ADC_GetValue(&hadc1);  // 获取结果
        }
        HAL_ADC_Stop(&hadc1);  // 停止转换
    }
}

总结

该设计方案通过智能的硬件配置和科学的方法论证,能够高效地进行8路模拟信号的采集与发送,满足系统的功能和性能需求。


这个题目考察的知识点:

  1. 模拟信号调理:包括放大和滤波,用于处理8路0~5V模拟输入信号,确保信号的准确性和稳定性。
  2. A/D转换:利用8位AD转换器实现模拟信号的数字化,考察如何正确配置和使用AD转换器。
  3. 数字信号调制与发射:使用FSK调制技术,把数字信号调制到高频载波上实现信号传输。
  4. 信号接收与解调:采用FSK解调技术,还原并处理接收到的信号。
  5. 系统集成与显示:涉及如何将各个模块有效结合,包括数据的传输、处理和显示。
  6. 噪声控制:考察如何设计电路以确保噪声小于35dB,保证系统的稳定性。
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号