一、任务
设计并制作一个红外光通信装置。
二、要求
1.基本要求
(1)红外光通信装置利用红外发光管和红外光接收模块作为收发器件,用来定向传输语音信号,传输距离为 2m,如图 1 所示。
(2)传输的语音信号可采用话筒或Φ3.5mm 的音频插孔线路输入,也可由低频信号源输入;频率范围为 300~3400Hz。
(3)接收的声音应无明显失真。当发射端输入语音信号改为 800Hz 单音信号时,在 8Ω电阻负载上,接收装置的输出电压有效值不小于 0.4V。不改变电路状态,减小发射端输入信号的幅度至 0V,采用低频毫伏表(低频毫伏表为有效值显示,频率响应范围低端不大于 10Hz、高端不小于 1MHz)测量此时接收装置输出端噪声电压,读数不大于 0.1V。如果接收装置设有静噪功能,必须关闭该功能进行上述测试。
(4)当接收装置不能接收发射端发射的信号时,要用发光管指示。
2.发挥部分
(1)增加一路数字信道,实时传输发射端环境温度,并能在接收端显示。数字信号传输时延不超过 10s。温度测量误差不超过 2℃。语音信号和数字信号能同时传输。
(2)设计并制作一个红外光通信中继转发节点,以改变通信方向 90°,延长通信距离 2 m,如图 2 所示。语音通信质量要求同基本要求(3)。
中继转发节点采用 5V 直流单电源供电,电路见图 3。串接的毫安表用来测量其供电直流电流。
(3)在满足发挥部分(2)要求的条件下,尽量减小中继转发节点供电电流。
(4)其他。
三、说明
1.本装置的通信信道必须采用红外光信道,不得使用其他通信装置。发射端及转发节点必须采用分立的红外发光管作为发射器件,安装时需外露发光管,以便检查。不得采用内部含有现成通信协议的红外光发射芯片或模块。
2.中继转发节点除外接的单 5V 供电电源外,不得使用其他供电装置(如电池、超级电容等)。
3.测试时,自备 MP3 或录音机及音频连接线。
GPT-4o给出的设计方案:
本题要求设计一个红外光通信装置,能够传输语音信息,并通过中继转发保证信号传输质量。以下是详细设计方案:
红外发射与接收装置:
调制与解调电路:
温度传感器与中继站:
信号调制与传输:
信号接收与解调:
温度监控与响应时间:
红外LED驱动电路:
调制信号生成:
红外接收器选择:
解调与滤波电路:
红外LED:
红外接收器:
MCU 控制器:
下面是用于处理温度传感信息和控制中继转发功能的C代码示例:
#include "stm32f4xx.h"
// 初始化函数
void system_init() {
HAL_Init(); // 初始化HAL库
// 初始化ADC、UART和GPIO等
init_adc();
init_uart();
init_gpio();
}
void read_temperature() {
uint16_t adc_value = HAL_ADC_GetValue(&hadc1); // 读取ADC值
float temperature = (adc_value * 3.3 / 4096.0 - 0.5) * 100; // 将ADC值转换为温度
display_temperature(temperature); // 显示温度
}
void transmit_signal() {
uint8_t data = receive_uart(); // 从UART读取数据
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, data); // 控制红外LED
}
void main(void) {
system_init(); // 系统初始化
while(1) {
read_temperature(); // 读取并显示温度
transmit_signal(); // 发送红外信号
HAL_Delay(1000); // 延时1秒
}
}
FPGA用于信号调制与解调,以下是FPGA实现信号调制与解调的示例代码:
module signal_modulation(
input wire clk,
input wire rst_n,
input wire [7:0] audio_in,
output reg ir_led
);
reg [23:0] carrier;
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
carrier <= 24'd0;
end else begin
carrier <= carrier + 24'd1_000_000; // 1MHz载波
end
end
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
ir_led <= 1'b0;
end else begin
ir_led <= audio_in[7] & carrier[23]; // 简单的AM调制
end
end
endmodule
module signal_demodulation(
input wire clk,
input wire rst_n,
input wire ir_receiver,
output reg [7:0] audio_out
);
reg [23:0] carrier;
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
carrier <= 24'd0;
end else begin
carrier <= carrier + 24'd1_000_000; // 1MHz载波
end
end
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
audio_out <= 8'd0;
end else if (carrier[23]) begin
audio_out <= {audio_out[6:0], ir_receiver}; // 简单的AM解调
end
end
endmodule
通过上述设计和代码,可以实现红外光通信装置的设计和功能,满足题目中传输语音信息、实时温度传感、中继转发的要求。设计中包含了红外发射与接收电路、信号调制与解调、温度传感器的实时监测等关键功能。
本题考察的主要知识点
本项目主要考察以下几个知识点:
这些知识点涵盖了无线通信、电路设计、信号处理和嵌入式系统开发等领域。