红外通信装置通信工程课程设计报告.docx

上传人:b****6 文档编号:15670380 上传时间:2023-07-06 格式:DOCX 页数:16 大小:192.75KB
下载 相关 举报
红外通信装置通信工程课程设计报告.docx_第1页
第1页 / 共16页
红外通信装置通信工程课程设计报告.docx_第2页
第2页 / 共16页
红外通信装置通信工程课程设计报告.docx_第3页
第3页 / 共16页
红外通信装置通信工程课程设计报告.docx_第4页
第4页 / 共16页
红外通信装置通信工程课程设计报告.docx_第5页
第5页 / 共16页
红外通信装置通信工程课程设计报告.docx_第6页
第6页 / 共16页
红外通信装置通信工程课程设计报告.docx_第7页
第7页 / 共16页
红外通信装置通信工程课程设计报告.docx_第8页
第8页 / 共16页
红外通信装置通信工程课程设计报告.docx_第9页
第9页 / 共16页
红外通信装置通信工程课程设计报告.docx_第10页
第10页 / 共16页
红外通信装置通信工程课程设计报告.docx_第11页
第11页 / 共16页
红外通信装置通信工程课程设计报告.docx_第12页
第12页 / 共16页
红外通信装置通信工程课程设计报告.docx_第13页
第13页 / 共16页
红外通信装置通信工程课程设计报告.docx_第14页
第14页 / 共16页
红外通信装置通信工程课程设计报告.docx_第15页
第15页 / 共16页
红外通信装置通信工程课程设计报告.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

红外通信装置通信工程课程设计报告.docx

《红外通信装置通信工程课程设计报告.docx》由会员分享,可在线阅读,更多相关《红外通信装置通信工程课程设计报告.docx(16页珍藏版)》请在冰点文库上搜索。

红外通信装置通信工程课程设计报告.docx

红外通信装置通信工程课程设计报告

 

专业技能实训报告

题目制作简易红外通信装置

学院信息科学与工程学院

专业通信工程

班级

学生

学号

指导教师

 

二〇一四年一月六日

1前言

1.1系统设计简要说明

随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。

传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。

而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。

本系统设计红外光通信装置,主要由前置电路模块、脉宽调制模块、红外发送接收模块、中级转发模块和语音输出模块五部分组成。

采用STM32作为主控制器进行A/D采集,脉宽调制,并控制数据传送,LM358主要作为前置电路放大器,18B20芯片感应环境温度,LM386模块进行功率放大。

系统设计基本上实现了红外光通信,完成了语音信号传输的功能。

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。

按性能分成两个不同的系列:

STM32F103“增强型”系列和STM32F101“基本型”系列。

增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。

两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。

时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

DS18B20,常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

2系统方案

2.1方案比较与选择

2.1.1语音采集模块

方案一:

采用驻极体麦克风,由于驻极体麦克风体积小、频率范围宽和价格优势的特点而广泛应用于各种声控电路中。

并且输入和输出阻抗很高,所以要在这种话筒外壳内设置一个场效应管作为阻抗转换器,为此驻极体电容式话筒在工作时需要直流工作电压。

方案二:

采用硅微麦克风,硅微麦克风基于CMOSMEMS技术,体积更小。

其一致性优于驻极体麦克风,所以MEMS麦克风特别适合高性价比的麦克风阵列应用。

但硅微麦克风是一个新兴的朝阳产业,尚在发展,价格比较高。

综合比较,选择方案一。

2.1.2运算放大模块

方案一:

LM358是内部有两个独立的、频率补偿的双运算放大器,能在很宽的电源电压范围内实现高增益,同时适用于单、双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。

方案二:

OP07芯片是一种双极性运算放大器,具有输入偏置电流低和开环增益高的特点,因为具有非常低的输入失调电压,不需要额外的调零措施,但OP07用单电源供电放大倍数太小,不方便使用。

综合比较,基于单电源供电和经济考虑,选择方案一。

2.1.3脉宽调制模块

方案一:

采用KA7500B芯片。

KA7500内含两个PWM控制器,其输出端可以接成共发射极和射极跟随器两种形式,可以选择双端推挽输出或者单端推挽输出,但控制复杂,存在死角问题,且价格较高。

方案二:

采用STM32来编程实现脉宽调制,利用定时器将模拟信号抽样转化成数字信号。

STM32有实时响应中断及中断优先级系统,具有低电压和低功耗两大优点,适合对红外收发的控制。

综合比较,选择方案二。

2.1.4语音输出模块

方案一:

使用LM1875进行功率放大,LM1875使用20~60V供电,驱动4欧或8欧的负载,具有低失真度和高品质性能,主要用于单声道40W高保真放大电路,内部具有欠压、过压、短路、热失控、瞬时音响峰值保护电路等诸多优点,因此在使用过程中不易损坏。

但由于供电需求太高,电路设计达不到要求,不方便使用。

方案二:

使用LM386对音频信号进行功率放大,LM386是专为低损耗电源所设计的功率放大器集成电路,其增益最高可达200,且失真低,适合应用于本音频功放模块。

综合比较,选择方案二。

2.1.5温度传感模块

方案一:

采用AD590模拟数字传感器,特别适合远程检测应用,其输出电流与绝对温度成比例,适用于150度以下温度的测量,由于模拟信号传入微处理器中还需进行模拟数字转换再处理,实现起来较为麻烦。

方案二:

采用18B20数字温度传感器来测量温度,18B20有独特的单线接口方式,与微处理器连接时仅需一条口线即可实现双向通讯,其测量范围-55℃~+125℃,符合本电路测温要求,并且单线接口方式能为微处理器节省接口。

综合比较,选择方案二。

2.2方案描述

通过驻极体麦克风将语音信号采集并转变成模拟信号输入到电路中,通过LM358运算放大器把信号放大到1~10倍之内,将信号进行偏置。

同时利用18B20测试环境温度。

利用STM32采集数据,并进行脉宽调制后通过红外发送管来传输信号,接收管收到信号后,进行放大、滤波、隔直处理,最后通过功放电路,实现语音输出。

2.3理论分析与计算

2.3.1通信原理分析

在发送电路中将语音信号通过脉宽调制模块调制成PWM波并发送,PWM波是占空比可调的脉冲波形,即将正弦波用一系列幅值相等而宽度不相等的脉冲来代替。

脉冲宽度调制内有比较器和周期锯齿波发生器,语音信号如果大于锯齿波信号,比较器输出恒定正电压值,否则输出0V。

2.3.2提高转发器效率方法

用多个二极发光管一起发送,增强了发送功率,可以利用发送功率来维持中继转发器工作,提高转发器效率。

因为话音信号大部分是小信号,将电路设计成没有话音信号时呈低电平,即消耗功率为零,也提高了转发器的效率。

3电路与程序设计

3.1总体电路图

图3.1总体电路图

3.2电路设计

3.2.1运算放大模块

拾音器将话音信号采集并输入到电路中,由于拾音器的电压信号较为微弱,需要将信号进行放大,经过LM358运算放大器的放大后,接入STM32,用一个LM358芯片作为跟随器减小后级的输出阻抗。

 

图3.2前置模块电路图

3.2.2红外发送接收模块

图3.3红外发送接收模块

3.2.3语音输出模块

当红外接收模块将接收到的信号进行处理后,在后级再加入一路增益为200的功率放大模块来增强语音信号,根据LM386的200增益对应的标准电路(如下图)我们最终实现了合适语音输出。

图3.4语音输出模块电路图

3.3程序设计

程序源代码见附录

图3.5程序流程图

4测试方案与测试结果

4.1测试方案

在接收装置没有静噪功能的情况下,将语音信号改为800Hz单音信号,在8Ω电阻负载上,测量接收装置的输出电压有效值;减少发射端输入信号的幅值至0V,测量此时接收装置输出端噪声电压。

4.2测试数据

在800Hz单音信号、8Ω电阻负载的条件下,测量的接收装置输出电压为0.64V。

将输入信号幅值减少至0V,测量的接收装置输出端噪声电压为0.07V。

4.3测试结果记录

在800Hz单音信号、8Ω电阻负载的条件下,测量的接收装置输出电压为0.79V,符合输出电压有效值不小于0.4V的要求;将输入信号幅值减少至0V,测量的接收装置输出端噪声电压为0.08V,符合读书不大于0.1V的要求。

因此接收的语音信号无明显失真。

5实训结语

经过这段时间不间断的努力,我终于完成了红外光通信设置的各项要求,利用红外发光管和红外光接收模式作为收发器件,进行定向的传输,接收到的声音没有明显的失真。

通过这次实训,不仅丰富了我的理论知识,而且使我的动手实践能力得到了提高,更激发了我的创新精神。

在这今后的人生道路上无疑是一笔宝贵的财富,受益匪浅。

为今后的发展打下了良好的基础。

由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。

最后感谢邦杰公司和学校老师给我锻炼的机会,这次难忘的经历必将使我受益终生。

参考文献

[1]丁元杰.单片微机原理及应用[M].北京:

机械工业出版社,2006:

15-88.

[2]蒋智勇,戴立权.单片微型计算机应用技术[M].沈阳:

辽宁科学技术出版社,1992:

36-78.

[3]张迎新等.单片微型计算机原理、应用及接口技术[M].北京:

国防工业出版社,2004:

26-86.

[4]先锋工作室.单片机程序设计实例[M].北京:

清华大学出版社,2003:

32-82.

[5]周航慈.单片机应用程序设计技术[M].北京:

北京航空航天大学出版社,1992:

45-89.

[6]陈爱文.基于89C51单片机控制的红外通信设计[J].机电工程技术,2007,36(12):

84-85.

[7]张利娜,洪显昌.红外通信的设计与实现[J].现代电子技术,2008,4(23):

87-89.

[8]王建校.51系列单片机及C51程序设计[M].北京:

科学出版社,2002:

67-83.

[9]张爱全.红外线遥控的基本原理和应用范围[M].山西电子技术.20036(12).40-41

[10]苏凯,刘国庆,陈国平.MCS-51系列单片机原理与设计[M].冶金工业出版社.2003.23~26

[11]于明鑫,冯文涛.MCS-51系列单片机存储容量扩展的软硬件设计[J].辽宁师专学报,2004.10,24:

23~35

[12]CraigTombling,MTillin.InnovationsinLCDtechnology[J].SyntheticMetals,2001,6:

209-214.

[13]Chorng-KuangWang.ADual-LoopAutomaticGainControlforInfraredCommunicationSystem[J].GraduateInstituteofElectronicsEngineering,2010,7:

126-128.

[14]NewmanWM,SbroullRF.PrinciplesofInteractiveComputerGraphics[M].NewYork:

McGrawHill,1979.10:

10-25

附录

部分源代码

Main.c

#include"stm32f10x.h"

#include"usart1.h"

#include"adc.h"

#include"Time_test.h"

u32flag;

u32f=0;

volatileu32time=0;

volatileu32time1=0;

/*ADC1转换的电压值通过MDA方式传到SRAM*/

extern__IOuint16_tADC_ConvertedValue;

/*局部变量,用于保存转换计算后的电压值*/

floatADC_ConvertedValueLocal;

/*软件延时*/

voidDelay(__IOuint32_tnCount)

{

for(;nCount!

=0;nCount--);

}

intmain(void)

{

SystemInit();

/*USART1config*/

USART1_Config();

/*enableadc1andconfigadc1todmamode*/

ADC1_Init();

/*TIM2定时配置*/

TIM2_NVIC_Configuration();

TIM2_Configuration();

TIM3_NVIC_Configuration();

/*TIM2开始计时*/

START_TIME;

STOP_TIME3;

while

(1)

{}

}

Time_test.c

#include"Time_test.h"

voidTIM2_NVIC_Configuration(void)

{

NVIC_InitTypeDefNVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority=4;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

voidTIM3_NVIC_Configuration(void)

{

NVIC_InitTypeDefNVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;

NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

/*TIM_Period--1000TIM_Prescaler--71-->中断周期为125us*/

voidTIM2_Configuration(void)

{

TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);

TIM_DeInit(TIM2);

TIM_TimeBaseStructure.TIM_Period=125;/*自动重装载寄存器周期的值(计数值),中断间隔125us*/

/*累计TIM_Period个频率后产生一个更新或者中断*/

TIM_TimeBaseStructure.TIM_Prescaler=(56-1);/*时钟预分频数72M/72*/

TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;/*采样分频*/

TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;/*向上计数模式*/

TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);

TIM_ClearFlag(TIM2,TIM_FLAG_Update);/*清除溢出中断标志*/

TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);

TIM_Cmd(TIM2,DISABLE);/*开启时钟*/

}

voidTIM3_Configuration(u32top)

{

TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);

TIM_DeInit(TIM3);

TIM_TimeBaseStructure.TIM_Period=top;/*自动重装载寄存器周期的值(计数值),中断间隔125us*/

/*累计TIM_Period个频率后产生一个更新或者中断*/

TIM_TimeBaseStructure.TIM_Prescaler=26;/*时钟预分频数56M/56*/

TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;/*采样分频*/

TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;/*向上计数模式*/

TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);

TIM_ClearFlag(TIM3,TIM_FLAG_Update);/*清除溢出中断标志*/

TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);

TIM_Cmd(TIM3,DISABLE);/*开启时钟*/

}

usart1.c

#include"usart1.h"

#include"misc.h"

voidUSART1_Config(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

USART_InitTypeDefUSART_InitStructure;

/*configUSART1clock*/

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA,ENABLE);

/*USART1GPIOconfig*/

/*ConfigureUSART1Tx(PA.09)asalternatefunctionpush-pull*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOA,&GPIO_InitStructure);

/*ConfigureUSART1Rx(PA.10)asinputfloating*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOA,&GPIO_InitStructure);

/*USART1modeconfig*/

USART_InitStructure.USART_BaudRate=115200;

USART_InitStructure.USART_WordLength=USART_WordLength_8b;

USART_InitStructure.USART_StopBits=USART_StopBits_1;

USART_InitStructure.USART_Parity=USART_Parity_No;

USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;

USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;

USART_Init(USART1,&USART_InitStructure);

USART_Cmd(USART1,ENABLE);

}

 

voidNVIC_Configuration(void)

{

NVIC_InitTypeDefNVIC_InitStructure;

/*ConfiguretheNVICPreemptionPriorityBits*/

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

/*EnabletheUSARTyInterrupt*/

NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;

NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStructure);

}

 

/*重定向c库函数printf到USART1*/

intfputc(intch,FILE*f)

{

/*将Printf内容发往串口*/

USART_SendData(USART1,(unsignedchar)ch);

while(!

(USART1->SR&USART_FLAG_TXE));

return(ch);

}

Adc.c

voidADC1_Init(void)

{

ADC1_GPIO_Config();

ADC1_Mode_Config();

}

SysTick.c

#include"SysTick.h"

static__IOu32TimingDelay;

/*启动系统滴答定时器SysTick*/

voidSysTick_Init(void)

{

/*SystemFrequency/1000=560001ms中断一次,表示5600个时钟周期中断一次,其中时钟周期为1/56000000hz

*SystemFrequency/10000010us中断一次

*SystemFrequency/10000001us中断一次

*/

if(SysTick_Config(SystemCoreClock/5000000))

{

/*Captureerror*/

while

(1);

}

}

voidDelay_us(__IOu32nTime)

{

TimingDelay=nTime;

while(TimingDelay!

=0);

}

voidTimingDelay_Decrement(void)

{

if(TimingDelay!

=0x00)

{

TimingDelay--;

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2