单片机控制系统的调频收音机设计说明.docx
- 文档编号:5366076
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:28
- 大小:527.10KB
单片机控制系统的调频收音机设计说明.docx
《单片机控制系统的调频收音机设计说明.docx》由会员分享,可在线阅读,更多相关《单片机控制系统的调频收音机设计说明.docx(28页珍藏版)》请在冰豆网上搜索。
单片机控制系统的调频收音机设计说明
中北大学
课程设计说明书
题目:
单片机控制的调频收音机设计
中北大学
课程设计任务书
2015/2016学年第一学期
学院:
信息与通信工程学院
专业:
电子信息科学与技术
课程设计任务书
1.设计目的:
在学习专业基础课和专业课的基础上,主要在电子仪器、微机综合设计与实践、单片机与A/D和D/A和光、计、电综合应用等几个方面开展实践活动,巩固所学知识、培养动手能力。
2.设计容和要求(包括原始数据、技术参数、条件、设计要求等):
设计要求:
1)接收FM信号频率围88~108MHz。
2)调制信号频率围100~15kHz,最大频偏75kHz。
3)最大不失真输出功率〉=100mV(负载阻抗8欧)。
4)接收机灵敏度<=1mV。
5)镜像抑制性能优于20dB。
6)能够正常收听FM广播。
3.设计工作任务与工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
设计说明书符合要求;
相应器件的工作原理;
系统工作原理图;
参考文献原文不少于3篇。
课程设计任务书
4.主要参考文献:
[1]郭天祥.新概念51单片机C语言教程:
入门、提高、开发、拓展全攻略.:
电子工业.2009(01)
[2]有德等.单片微型机原理、应用与实验.:
复旦大学.2006
[3]康华光.《电子技术基础》(模拟部分第五版)高等教育,2006
[4]康华光.《电子技术基础》(数字部分第五版)高等教育,2007
[5]PhilipsSemiconductors.TEA5767HNDatasheet.2002
5.设计成果形式与要求:
设计说明书与相关电路图
6.工作计划与进度:
2016年1月4日~2016年1月10日:
查资料
2016年1月11日~2016年1月18日:
在指导教师指导下设计方案
2016年1月19日~1月21日:
完成实验或仿真,完成课程设计说明书
2016年1月22日:
答辩
学科部主任审查意见:
签字:
年月日
一、引言……………………………………………………………1
二、方案设计与论证………………………………………………1
1、各板块设计………………………………………………………1
2、设计所需各器件、芯片简介………………………………………2
3、硬件电路设计………………………………………………10
4、软件设计……………………………………………………14
5、程序设计……………………………………………………16
6、试仪表与数据………………………………………………33
三、设计心得………………………………………………………34
四、参考文献………………………………………………………35
单片机控制的调频收音机设计
一、引言
虽然电视、手机、互联网等媒体和各种便携式娱乐设备已经普与到千家万户,但传统的收音机在丰富的娱乐媒介中任然占有重要地位。
随着信息化的发展,收音机逐渐数字化,集成化,而且成本越来越低,这使得在各种设备中嵌入收音机的现象更加普遍。
TEA5767系列单片数字收音机就被广泛地应用在数字音响,便携式CD、VCD、DVD、MP3、MP4、手机、PDA等数字消费电子系统中。
但是该数字收音机芯片与传统的超外差式收音机的调谐原理不太一样,传统的超外差式收音机的固定频率为10.7MZ,而TEA5767系列数字收音机的固定中频为225KHz,由于固定中频不同,锁相环系统的软件控制就有很大的差别,这就给广大芯片应用设计者带来一定的难度。
本设计采用宏晶科技生产的8位微控制器STC89
C52来控制数字收音机模块TEA5767,构成一个FM数字收音机系统。
该收音机的设计具有电路简单易懂、体积小,易调谐的特点,同时该收音机系统还具有抗干扰能力强,频带宽、音质好的优点。
关键词:
单片机;调频;c语言程序;
二、方案设计与论证
本设计是一个数字调频收音机,调频就是频率调制,所谓频率调制就是原来等幅恒频的高频信号的频率,随着调制信号(音频信号)的幅度变化而变化,调频收音机(FMRadio)就是接收这些频率调制的无线电信号,经过解调还原成原信号的电子设备。
FMRadio电路一般主要由接收天线、振荡器、混频器、AGC(自动增益控制)、中频放大器、中频限幅器、中频滤波器、鉴频器、低频静噪电路、搜索调谐电路、信号检测电路与频率锁定环路、音频输出电路等组成。
本设计就是用单片机控制集成了上述所有FM功能的专用芯片,设计一个数字FM收音机系统。
1各板块设计
本设计采用模块化设计,整个系统由控制模块、FM音频模块、电源模块和功放模块组成,系统的整体方案框图如下图
(1):
图
(1)系统方案设计框图
(1)控制模块。
控制模块是本设计的核心,通过外围电路和向TEA5767芯片写入相关程序,控制部分要实现能够改变收音机的接收频率、工作模式、音量等各项参数的功能。
因此必须需要一个微控制器才能达到要求,本设计采用STC89C52单片机作为系统的控制核心。
(2)无线FM模块。
采用相关厂家生产的TEA5767模块来实现。
(3)电源模块
单片机的供电电压要3.8V~5.5V,TEA5767的供电电压要2.5V~5.0V。
由于收音机模块的应用围很广,比如手机中就采用3.7V锂电池供电,DVD、电视等系统中则是对220V市电进行变压后供电。
本设计中采用7805稳压芯片对系统进行供电,由于这个电源可以很容易得到,设计中不再单独给出。
(4)功放模块
TEA5767音频输出具有立体声方式,也可以采用单声道输出,具体方式可以通过编程设定,为简化设计,本设计采用单声道输出,功放芯片使用TDA2030,供电采用+5V供电,设计中不给出电源设计。
2设计所需各器件、芯片简介
(1)单片机简介
本设计采用宏晶科技生产的STC89C52芯片,芯片采用40脚双列直插式封装,32个I/O口,芯片工作电压3.8~5.5V,工作温度0-70°C(商业级),工作频率可高达30MHz,芯片的外形和引脚见下图
(2)
图
(2)STC89C52外形和引脚图
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片晶振与时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
(2)FM芯片简介
2.1TEA5767芯片简介
FM模块的控核心芯片采用飞利浦公司的TEA5767数字立体声FM芯片,该芯片把所有的FM功能都集成到一个不足6*6平方米的用HVQFN40封装的小方块中。
芯片工作电压2.5V~5.0V,典型值是3V;RF接收频率围是76~108MHz,(最强信号+噪声)/噪声的值在60dB左右,失真度在0.4%左右;双声道音频输出的电压在60~90mV左右,带宽为22.5KHz。
芯片的引脚分布与其引脚定义分别见图(3)和表
(1),图(4)是芯片的应用结构框图。
图(3)TEA5767芯片引脚分布
管脚
定义
管脚
定义
1
空脚
21
空脚
2
锁相环输出
22
左声道输出
3
本振
23
右声道输出
4
本振
24
软静音时间常数
5
本振电源
25
检波输出
6
数字地
26
基准
7
数字电源
27
中频中心频率调整时间常数
8
数据线
28
中频限幅器退藕1
9
时钟线
29
中频限幅退藕2
10
空脚
30
空脚
11
三线读写控制
31
空脚
12
总线模式选择
32
增益控制
13
总线使能端
33
模拟地
14
软口1
34
模拟电源
15
软口2
35
射频输入1
16
晶振
36
高频地
17
晶振
37
射频输入2
18
相位滤波
38
高放AGC时间常数
19
导频低通滤波
39
锁相环开关输出
20
空脚
40
空脚
表
(1)TEA5767管脚定义
图(4)TEA5767应用结构框图
参见部结构框图,TEA5767主要具有以下特征:
(1)集成高灵敏度的低噪声放大器。
(2)FM到中频的混频器可以工作在87.5-108MHz的欧美频段或76-91MHz的日本频段,并且可预设接收日本108MHz的电视音频信号的能力。
(3)射频具有自动增益控制功能,并且LC调谐振荡器只需固定片装电感。
(4)置的FM解调器可以省去外部鉴频器,并且FM的中频选择性可以在芯片部完成。
(5)可以采用32.768KHz或13MHz的振荡器产生参考时钟或可以直接输入6.5MHz的时钟信号。
(6)集成锁相环调谐系统
(7)可以通过I2C或三线串行总线来获取中频计数器值或接收的高频信号电平,以便进行自动调谐功能,本设计采用第一种方式,详细的I2C通信介绍请见第5节。
(8)SNC(立体声噪音抑制)、HCC(高频衰减控制)、静音处理等可以通过串行数字接口进行控制。
(9)免费调谐立体声解码器。
(10)自动调节温度围(在VCCA,VCC(VCO)和VCCD=5V)。
2.2TEA5767寄存器描述
单片机和TEA5767进行通信有两种方式,一种是I2C模式,一种是三线模式,本设计采用I2C模式,I2C通信协议操作参见第5章。
TEA5767的寄存器一共有五位,数据通信的读写顺序为:
地址——数据字节1——数据字节2——数据字节3——数据字节4——数据字节5,下面就对芯片的寄存器进行详细说明。
芯片寄存器地址的格式如下:
R/W=0为读模式;R/W=1为写模式
2.3FM模块介绍
在方案设计时就已经确定FM部分采用按照datasheet推荐的应用设计电路图生产的模块。
本设计FM模块采用金秋实生产的B20C封装的完整版收音机模块,外接引脚只有10个,开发者只需要关注引脚而不需要关注模块的部结构,开发方便简单。
下图(5)是模块的引脚封装和引脚功能简介(引出引脚的功能和芯片引脚的定义完全一样)。
图(5)TEA5767模块引脚图
引脚号
符号
简介
1
ANT
天线接口
2
MPX
FM解调器MPX信号输出(置空)
3
R
右声道输出
4
L
左声道输出
5
GND
地
6
VCC
电源正极
7
WR
读/写模式(仅三线控制有效)
8
MODE
总线模式选择(1为三线模式;0为I2C模式)
9
CLK
总线时钟线输入
10
DATA
总线数据线输入/输出
表(23)TEA5767引脚定义表
(3)I2C总线简介
I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。
它只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL。
典型的I2C结构如图(6)所示
图(6)典型的I2C总线结构
I2C总线需通过上拉电阻接正电源,当总线空闲时,两根线均为高电平。
连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA与SCL都是线“与”关系。
每个接到I2C总线上的器件都有唯一的地址。
主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。
由总线上接收数据的器件则为接收器。
在多主机系统中,可能同时有几个主机企图启动总线传送数据。
为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。
I2C总线的数据字节必需保证是8位长度。
数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。
图(7)是I2C总线字节传送与应答时序
图(7)I2C总线字节传送与应答时序
由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线的数据传送。
如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续传送。
当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。
这个信号是由对从机的“非应答”来实现的。
然后,从机释放SDA线,以允许主机产生终止信号。
I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。
在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/T),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。
每次数据传送总是由主机产生的终止信号结束。
但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。
在总线的一次数据传送过程中,可以有以下三种组合方式:
(1)主机向从机发送数据,数据传送方向在整个传送过程中不变:
A表示应答,A非表示非应答(高电平)。
S表示起始信号,P表示终止信号(下同)。
(2)主机在第一个字节后,立即从从机读数据
(3)在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向位正好反相。
I2C总线的寻址在协议有明确的规定:
采用7位的寻址字节(寻址字节是起始信号后的第一个字节),寻址字节的位定义如下
其中D7~D1位组成从机的地址。
D0位是数据传送方向位,为“0”时表示主机向从机写数据,为“1”时表示主机由从机读数据。
主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果一样,则认为自己正被主机寻址,根据R/T位将自己确定为发送器或接收器。
从机的地址由固定部分和可编程部分组成。
在一个系统中可能希望接入多个一样的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。
由于本设计采用的STC89C52单片机没有I2C总线接口,所以要通过模拟来实现,利用软件实现I2C总线的数据传送,即软件与硬件结合的信号模拟。
为了保证数据传送的可靠性,标准的I2C总线数据传送有严格的时序要求。
I2C总线的起始信号、终止信号、发送“0”与发送“1”的模拟时序如下图(8)所示[1]。
图(8)I2C总线数据传送模拟时序
3.硬件电路设计
按照设计方案,系统硬件电路由电源部分、微控制器部分和FM模块部分组成,下面的介绍将分块对电路进行设计,其中电源部分由于
电路原理图
(1)微控制器部分
微控制器部分以STC89C52为核心,包括复位电路,晶振电路和按键控制电路,特别注意的是电源输入要加上去藕电容,电路原理图见下图(9)
图(9)微控制器模块原理图
(2)TEA5767模块部分原理图
如图(10)所示,R2、R3是I2C数据线和时钟线的上拉电阻,C5是天线的匹配电容,天线用30cm左右的铜导线代替。
E1是外接天线,C6、C7和R4、R5构成音频输出网络,8脚接地,选择为工作模式。
模块10脚接单片机P2.0,模块9脚接芯片P2.1
图(10)TEA5767模块部分原理图
(3)功放模块原理图
功放部分采用TDA2030单声道A类音频放大芯片,电路原理图如下所示:
图(11)功放电路原理图
(4)电路总原理图
图(12)电路总原理图
4.软件设计
软件采用可移植性强的C语言程序来设计,主要由两大部分组成,一个是模拟I2C总线程序,一个是对芯片寄存器进行操作的主程序。
对芯片寄存器进行操作的关键是设置接收频率,接收频率设置参数可以通过以下式子得到:
FRF:
接收频率(kHz)
FIR:
中频(TEA5767为225kHz)
FREFS:
参考频率(由TEA5767外接晶振而定),本设计外接32.768kHZ的晶振。
4.1软件设计思想
软件设计的核心是单片机与TEA5767进行通信,写入相关参数控制无线模块运行。
本设计只实现基本功能,即实现TEA5767的频率选择,不实现音量控制、电台储存和频率显示。
为了便于设计观察,在程序设计时编写了串口通信协议,频率可以通过串口调试软件显示出来,但是在设计硬件的时候没有加入串口,所以这个程序只是供设计参考。
根据设计要求,系统实现电台搜索和串口读出,软件设计的流程图如下:
图(13)软件设计流程图
5、程序设计
根据软件流程图,写出相应的程序如下:
(1)主程序:
#include
#include
#include
#include
#include"uart.h"//添加串口头文件
#include"I2C.h"//添加I2C头文件
sbits1=P3^4;//手动减小键P3.4口
sbits2=P3^5;//手动增加键P3.5口
sbits3=P3^6;//自动减小键P3.6口
sbits4=P3^7;//自动增加键P3.7口
#definemax_freq108000//最大接收频率108MHz,这里的单位采用的是KHz
#definemin_freq87500//最小接收频率87.5MHz
unsignedintmax_pll=0x339b;//108MHz时的pll,芯片部寄存器有14位用于设置频率
unsignedintmin_pll=0x299d;//87.5MHz时的pll.
unsignedcharradio_write_data[5]={0x2a,0xb6,0x40,0x11,0x40};
//要写入TEA5767的数据,数据字节1是0x2a,左右声道正常工作,不采用搜索模式
//第一字节后六位和第二字节为pll频率设定,初始频率设定为89.8MHz;第三字节0x40设//定搜索停止标准,ADC输出大小为7时停止搜索,第四字节0x11,晶振设定为//32.786MHz;SWPORT1输出准备好信号;第五字节,6.5MHz锁相环参考频率关闭。
unsignedcharradio_read_data[5];//TEA5767读出的状态
unsignedlongfrequency;
unsignedintpll;
voiddelay_ms(unsignedinti)//us延时函数
{
unsignedintj,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
//延时片刻后通过i2c写入数据
voidradio_write(void)
{unsignedchari;
iic_start();
iic_write8bit(0xc0);//TEA5767写地址
if(!
iic_testack())
{
for(i=0;i<5;i++)
{
iic_write8bit(radio_write_data[i]);
iic_ack();//每发送一个字节都要进行总线应答测试
}
}
iic_stop();
}
//由频率计算PLL
voidget_pll(void)
{
unsignedcharhlsi;
unsignedinttwpll=0;
hlsi=radio_write_data[2]&0x10;
if(hlsi)
pll=(unsignedint)((float)((frequency+225)*4)/(float)32.768);
//频率单位:
khz
else
pll=(unsignedint)((float)((frequency-225)*4)/(float)32.768);
//频率单位:
khz
}
//由PLL计算频率
voidget_frequency(void)
{
unsignedcharhlsi;
unsignedintnpll=0;
npll=pll;
hlsi=radio_write_data[2]&0x10;
if(hlsi)
frequency=(unsignedlong)((float)(npll)*(float)8.192-225);//频率单位:
KHz
else
frequency=(unsignedlong)((float)(npll)*(float)8.192+225);//频率单位:
KHz
}//读TEA5767状态,并转换成频率
voidradio_read(void)
{
unsignedchari;
unsignedchartemp_l,temp_h;
pll=0;
iic_start();
iic_write8bit(0xc1);//TEA5767读地址
if(!
iic_testack())
{
for(i=0;i<5;i++)
{
radio_read_data[i]=iic_read8bit();
iic_ack();//总线应答
}
}
iic_stop();
temp_l=radio_read_data[1];
temp_h=radio_read_data[0];
temp_h&=0x3f;
pll=temp_h*256+temp_l;
get_frequency();
}//手动设置频率,mode=1,+0.01MHz;mode=0:
-0.01MHz,不用考虑TEA5767用于搜台的//相关位:
SM,SUD
voidsearch(bitmode)//模式输入在p3.4,p3.5口
{
radio_read();
if(mode)
{
frequency+=10;//每次增加10KHz
if(frequency>max_freq)
frequency=min_freq;//如果超过最高频率,那么就回到最低频率重新搜索
}
else
{
frequency-=10;
if(frequency frequency=max_freq;//如果低于最低频率,那么就回到最高频率向下进行减搜索 } get_pll(); radio_write_data[0]=pll/256;//得道pll设定位的高位 radio_write_data[1]=pll%256;//得道pll设定位的低位 radio_write_data[2]=0x41;//设定搜索停止 radio_write_data[3]=0x11;/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制系统 调频 收音机 设计 说明