基于单片机的数字fm收音机设计.docx
- 文档编号:25902247
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:29
- 大小:1.15MB
基于单片机的数字fm收音机设计.docx
《基于单片机的数字fm收音机设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字fm收音机设计.docx(29页珍藏版)》请在冰豆网上搜索。
基于单片机的数字fm收音机设计
毕业论文
题目基于单片机的数字FM收音机设计
学生姓名学号13021101
班级:
130211
专业:
电气制动化技术
分院:
工程技术分院
指导教师:
2015年11月20日
目录
摘要II
1 基于单片机的FM收音机工作原理1
1.1 FM收音机的基本工作原理1
1.2 数字调节FM收音机的工作原理1
1.3 用单片机完成数字调节的FM收音机的功能设计2
2 硬件电路设计3
2.1 硬件组成3
2.1.1 数字FM收音机系统控制中心单片机3
2.1.2 收音功放芯片TDA20304
2.1.3 PT2257音量模块5
2.1.4 FM收音模块6
2.2 FM电路及其设计8
2.3 单片机控制与显示电路10
2.4 供电电路与放大电路10
3 软件设计12
3.1键盘与显示函数设计 13
3.1.1 LCD液晶显示函数13
3.1.2 键盘读键子程序14
3.2数字调节与收音控制程序设计14
3.2.1 EA5767HN读写寄存器14
3.2.2 TEA5767HN的数据传输18
3.2.3 TEA5767HN的读写流程18
3.2.4 收音模块的初始化18
结论21
参考文献22
致谢23
基于单片机的数字FM收音机设计
摘要
本文在具体分析了STC89C52单片机的技术特点与数字FM收音机的基础上,提出了采用单片机控制收音机实现数字调频的方法,并给出了具体的软硬件设计。
该系统利主要由STC89C52单片机、液晶显示器、按键、调频收音模块TEA5767、功放LM386组成[1]。
实际运行时,用TEA5767搜索频率,利用单片机STC89C52控制处理,经LM386芯片放大音频功率同时再通过液晶显示器显示频率,最终实现87.5MHz~108MHz调频广播的接收。
相关的功能验证实验表明,本系统达到了既定的设计目标。
关键词:
单片机技术;收音机;频率搜索;液晶显示
序言
当前时代,虽然电视、手机、互联网等媒体和各种便携式娱乐设备已经普及到千家万户,但传统的收音机在丰富的娱乐媒介中任然占有重要地位。
随着信息化的发展,收音机逐渐数字化,集成化,而且成本越来越低,这使得在各种设备中嵌入收音机的现象更加普遍。
例如,本文所要论述的是通过单片机来控制TEA5767模块及驱动液晶显示器实现FM收音并显示频率。
TEA5767HN是由PHILIPS公司推出的针对低电压应用的单芯片数字调谐FM立体声收音机芯片,其内集成了完整的IF频率选择和鉴频系统,只需很少的低成本外围元件,就可实现FM收音机的全部功能。
另外,它具有高性能的RFAGC电路,其接收灵敏度高;参考频率选择灵活;可实现自动搜台[2]。
TEA5767系列单片数字收音机就被广泛地应用在数字音响,便携式CD、VCD、DVD、MP3、MP4、手机、PDA等数字消费电子系统中。
但是该数字收音机芯片与传统的超外差式收音机的调谐原理不太相同,传统的超外差式收音机的固定频率为10.7MZ,而TEA5767系列数字收音机的固定中频为225KHz,由于固定中频不同,锁相环系统的软件控制就有很大的差别,这就给广大芯片应用设计者带来一定的难度。
本设计采用宏晶科技生产的8位微控制器STC89C52来控制数字收音机模块TEA5767,构成一个FM数字收音机系统。
该收音机的设计具有电路简单易懂、体积小、易调谐的特点,同时该收音机系统还具有抗干扰能力强,频带宽、音质好的优点。
本次设计研究的FM收音机分为硬件电路和程序设计两个方面。
从硬件电路来说,数字调频收音机系统主要由STC89C52单片机、液晶显示器、按键、调频收音模块TEA5767、功放LM386组成,主要是实现所需电压值、稳压、搜台、控制和频率显示等方面功能。
实际运行时,STC89C52单片机作为CPU进行总体控制[3],液晶显示器显示电台频率,四个按键SW1~SW4起调频选台作用(按下按键SW1电台频率增加,按下按键SW2电台频率减少,按下按键SW3电台上调,按下按键SW34电台下调),TEA5767搜索频率,LM386芯片放大音频功率,最终实现87.5MHz~108MHz调频广播的接收;从系统程序来说,主要是如何将电台频率换算出PLL控制字写入TEA5767,以及PLL控制字转换成频率送显示。
相关的实验表明,本系统达到了既定的设计目标。
1 基于单片机的FM收音机工作原理
1.1 FM收音机的基本工作原理
FM收音机由输入回路、高放回路、本振回路、混频回路、中放回路、鉴频回路和音频功率放大器组成。
如图1-1所示。
调频的接收天线以耳机的地线替代,也可直接插上配给的天线ANT,二者工作原理相同。
调频广播的高频信号输入回路直接经电容C、L组成的LC振荡回路,实际上构成一带通滤波器,其通频带为88MHz—108MHz。
在集成块内部接受的调频信号经过高频放大,谐振放大。
被放大的信号与本地振荡器产生的本振信号在内部进行FM混频,混频后输出。
图1-1FM收音机原理框图
FM混频信号由FM中频回路进行选择,提取以中频10.7MHz为载波的调频波。
该中频选择回路由10.7MHz滤波器构成。
中频调制波经中放电路进行中频放大,然后进行鉴频得到音频信号,经功率放大输出,耦合到扬声器,还原为声音。
此外,因在调频波段未收到电台信号时,内部增益处于失控而产生的噪声很大。
为此,通过检出无信号时的控制电平,控制静噪电路工作,使音频放大器处于微放大状态,从而达到静噪功能。
1.2 数字调节FM收音机的工作原理
此设计的基本原理与上述传统收音机的原理相似,在此不再累述。
主要组成部分有单片机、存储器、功放、收音芯片。
此处介绍不同之处。
此方案通过单片机根据键盘输入,通过I2C对TEA5767模块的控制寄存器进行读写操作,以实现TEA5767模块的自动手动搜索功能,音频信号经过由TDA2822构成的功放电路放大处理由扬声器输出。
并将从TEA5767模块中读取的频率字换算后显示在LCD上。
按存储键时,单片机将频率字写入24c02实现存台功能,按读取键即可收听所存电台。
1.3 用单片机完成数字调节的FM收音机的功能设计
该设计分为两部分:
硬件电路和程序。
硬件电路包括控制模块、FM调频模块、电源供电模块和接收模块四部分。
主控制器采用的是单片机STC89C52,调频模块采用的是TEA5767芯片,电源供电模块可采用电池直接供电或通过变压设备得到要求的电源。
本设计采用模块化设计,整个系统由MCU控制模块、TEA5767模块、音量控制模块和功放模块显示模块组成,系统的整体方案框图如图1-2所示:
图1-2系统框图
从图1-2中可以看出,MCU控制模块仅仅通过I2C总线与收音模块连接并控制收音机工作。
本设计使用单片机P3口的两个I/O脚来模拟I2C总线的SDA和SCL时序并与TEA5767通信;TEA5767输出的左右声道音频信号可通过音量控制模块进行前级放大及音量控制,然后输入到TDA7057进行后级功率放大,最后输出到扬声器。
单片机可通过I2C总线进行音量调节;ROM存储模块主要用于存储电台数据、音量数据和时钟数据,为存储和读取数据带来方便。
系统可通过按键进行操作,通过MCU检测按键信号并经单片机实现手动搜台、自动搜台、音量控制、时钟调整等功能,各项操作提示和操作结果均可通过LCD显示出来。
稳压电源模块产生的5V和3.3V电压可分别为各个模块器件供电。
第2章硬件电路
2.1主控电路
1.引脚描述
单片机的基本系统也称为最小系统,这种系统所选择的单片机内部资源已能满足系统的硬件需求,不需外接存储器或I/O接口,含有时钟电路和复位电路,外由电源供电。
这种单片机内一定含有用户的程序存储器,用户程序写入到内部只读程序存储器。
单片机STC89C52采用双列直插封装(DIP),有40个引脚。
该单片机采用ATMEL公司的高密度非易失性存储技术制造,与美国Intel公司生产的MCS-51系列单片机的指令和引脚设置兼容。
如图2-1所示为STC89C52的引脚结构图。
图2-1STC89C52单片机外形图及引脚图
STC89C52在本设计中发挥着至关重要的作用,它是这个系统的控制核心。
STC89C52与外围的硬件相连,向FM收音模块发出指令,决定自动搜索或手动搜索模式。
再通过读按键的方式判断外围电路的指令,该指令经过单片机分析后直接向收音模块发出信号,收音模块在收到信号后,响应外围电路的指令,调整收音的频道。
收音的频道经过单片机的 处理之后,将所搜索到的频率显示在LCD1602液晶显示屏上。
2.1.2 收音功放芯片TDA2030
收音机系统直接接收到的信号一般都比较微弱,因此需要用通过功率放大器把信号放大之后在用扬声器输出。
这个环节需要选用一个体积小、输出功率大、失真小的音频功放芯片。
德律风根生产的TDA2030采用V型5脚单列直插式塑料封装结构。
按引脚的形状引可分为H型和V型。
该集成电路广泛应用于汽车立体声收录音机、中功率音响设备,具有内部保护电路。
具体外形如图2-2,引脚功能如表2-1,具体参数如表2-2
图2-2TDA2030外形图
表2-1TDA2030功能引脚
表2-2TDA2030主要参数表
2.1.3 PT2257音量模块
在收音系统中还需要一个芯片来控制收音机输出的音量,PT22257是由CMOS技术制造而成的2声道音量控制器,只有8个脚位,采用I2C控制界面,具备0~-79dB的衰减范围,低噪声,高立体分离度及使用极少的周边原件。
内部连接图2-3和外观图2-4所示:
图2-3PT2257内部电路图
图2-4PT2257外观图
表2-3PT2257引脚
2.1.4 FM收音模块
FM模块的控核心芯片采用飞利浦公司的TEA5767数字立体声FM芯片,该芯片把所有的FM功能都集成到一个不足6*6平方米的用HVQFN40封装的小方块中。
芯片工作电压2.5V~5.0V,典型值是3V;RF接收频率范围是76~108MHz,(最强信号+噪声)/噪声的值在60dB左右,失真度在0.4%左右;双声道音频输出的电压在60~90mV左右,带宽为22.5KHz。
芯片的引脚分布及其引脚定义分别见图2-5和表2-3。
图2-5TEA5767芯片引脚分布
表2-4引脚定义
管脚
定义
管脚
定义
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)集成高灵敏度的低噪声放大器;
(2)内置的FM解调器可以省去外部鉴频器,并且FM的中频选择性可在芯片内部完成;(3)可以采用32.768KHz或13MHz的振荡器产生参考时钟或可以直接输入6.5MHz的时钟信号;(4)可以通过I2C或三线串行总线来获取中频计数器值或接收的高频信号电平,以便进行自动调谐功能(5)射频具有自动增益控制功能,并且LC调谐振荡器只需固定片装电感。
其基本工作原理分析:
(1)天线输入电路:
RF ANT 天线经过C1耦合送入LI、C2、C4组成的RF带通滤波器(87.6MHz~108MHz和76MHz~87.5MHz)送入TEA5767的35、37脚,通过TEA5767内部高通放大。
模拟电源由FM 3V3经过R1限流C5滤波后送入TEA5767的34脚。
(2)可调式LC谐振回路:
2、3、4脚接内部VCO,外接变容二极管D1、D2。
2脚为调谐电压输出,自动搜索时电压在1V内变化。
VCO供电由FM 3V3经过R4限流C13滤波送如TEA5767的第5脚。
(3)I2C控制总线:
内置I2C接口,通过TEA5767的8、9脚控制,CPU通过I2C对其进行搜台、选台操作。
数字电源由FM 3V3经过R7限流C19滤波送如TEA5767的第7脚。
(4)CO震荡电路:
O震荡电路主要由XT1(32.768)、C14送入TEA5767的17脚输入,再从18脚输出到C15,产生32.768的基本时钟。
(5)音频输出电路:
经过TEA5767处理后的模拟音频信号从23(右声道)、22(左声道)输出到后级功放电路放大。
原理框图如图2-6所示:
图2-6原理框图
2.2 FM电路及其设计
FM接收电路是系统硬件电路中的核心部分之一,本硬件系统采用单芯片TEA5767HN模块作为FM接收电路的核心元器件。
Philips公司提供的TEA5767HN模块芯片为低电压、低功耗和低价位的全集成单芯片立体声无线电产品,它只需要极少的外围元件,并且基本上不需要外部对高频信号的手动调准。
另外,其频带范围较宽,可以完全免费调到欧洲、美国和日本的调频波段。
其模块应用接线图如图2-7所示:
图2-7FM模块应用接线图
图2-7中VCC接3.3V的电源,并通过磁珠及电容器件进行干扰抑制,注意磁珠FB应选用特征频率为100MHz,直流电阻的贴片元件,这样有利于对高频噪声进行抑制但同时又不是系统产生过多的直流损耗22uF的电容最好选用钽电容,2个0.1uF的电容可选用介电常数高、高频性能好的陶瓷电容,这样就保证了整个FM Module的电源系统的稳定。
BUS-MODE是用来选择CPU与FM Module,串口通信的方式,为I2C的通信方式DATA和CLK即为I2C通信的数据线和时钟线,系统的CPU通过I2C接口即可对FM Module进行控制。
W/READ在该系统没有使用,此时FM Module通过W/READ,CLK,DATA与系统的CPU实现三线方式串行通信。
BUS-ENABLE为总线使能信号,当BUS-ENABLE为逻辑低时使FM Module进入省电模式,该系统中把其直接拉高,是因为FM Module可以通过I2C接口控制其进入省电模式。
FM_ANT为FM Module的天线接口即射频信号输入脚,目前在此类消费电子产品中,天线大多采用耳机线代替,该产品也不例外,上图中的J3即为立体声耳机接口。
耳机左右声道信号线上感应到的毫伏级的FM信号即可通过J3脚的脚③进入到FM Nodule中。
当然这么小的信号不会对耳机上的音质有什么影响,而且由于有上图中的3个0.22uH空心电感的隔离作用,FM的信号可以损耗很小的地被FM Module接收。
值得注意的是3个空心电感应该在电路板上紧靠耳机接口放置以增加接收的灵敏度,并且电感的直流阻抗应尽量小,这样可以减少音频的功率损耗。
3个电感的选用考虑到空心结构的、可能外形尺寸比较大,不太合适于便携式产品的应用,可以选用陶瓷支架的电感。
尽量不要选用非线性比较大的铁氧支架电感,因为这有可能影响耳机的音质。
2.3 单片机控制与显示电路
微控制器部分以STC89C52为核心,包括复位电路,晶振电路、LCD显示电路和按键控制电路,电路原理图见图2-8。
其中S1用于增大选定项,S2用于减小选定项,S3选定执行对象,S4用于选择执行对象,S5用于控制系统复位。
LCD显示电路显示接受信号的频道、音量的大小和时钟。
晶振电路为系统提供稳定的震荡频率。
图2-8单片机控制电路
2.4 供电电路与放大电路
供电电路直接输入DC9V,经过ASM1117-5V进行5V稳压输出。
模块3.3V电源由ASM1117-3.3直接提供。
如图2-9所示:
图2-9供电电路
放大电路如图2-10所示。
该电路功能是放大收音机收到的信号。
图2-10放大电路
3 软件设计
基于STC89C52的单片机控制平台的TEA5767数字收音机的软件设计主要包括六个部分:
I2C总线通信协议、TEA5767HN收音模块控制、PT2257音量控制、AT24C02存储模块控制、键盘扫描及状态显示。
本文的软件系统设计应当着重分析TEA5767HN收音模块控制、PT2257音量模块这两部分的工作原理以及编程思路。
本系统程序使用C语言编写,主程序由启动、初始化、键盘扫描、按键处理、液晶显示等5大模块组成。
其中系统初始化包括STC89C52的初始化、TEA5767HN的初始化和LCD的初始化;按键处理通过调用函数的方法实现按键复用功能,可实现手动搜台、自动搜台、音量控制、时间调整等操作;显示模块可显示系统的各个工作状态。
其主程序流程图如图3-1所示:
图3-1主程序流程图
开机启动后,系统驱动硬件开始工作,进去默认的状态,等待键盘指令。
键盘按下后单片机开始判断按键,并执行相应的操作。
3.1键盘与显示函数设计
3.1.1 LCD液晶显示函数
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志位低电平,表示不忙,否则指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块哪里显示字符,图3-2是1602的内部显示地址
图3-2LCD1602内部地址
LCD1602初始化指令:
延时15mS
写指令38H(不检测忙信号)延时5mS
写指令38H(不检测忙信号)延时5mS
写指令38H(不检测忙信号)
以后每次写指令和读/写数据操作均需要检测忙信号
写指令38H:
显示模式设置
写指令08H:
显示关闭
写指令01H:
显示清零
写指令06H:
显示光标移动设置
写指令0CH:
显示开及光标设置
3.1.2 键盘读键子程序
图3-3流程图
3.2数字调节与收音控制程序设计
3.2.1 EA5767HN读写寄存器
吃透芯片的寄存器是编好程序的关键TEA5767HN有5个写寄存器和5个读寄存器,每个寄存器可存储8位数据。
写寄存器可以存储控制信息,包括软件静音、模式选择、PLL可编程计数器的设置、向上向下搜索模式选择、静左/右音频、可编程端口的设置、待机节能模式、欧洲/日本频段选择、晶振频率选择、ADC门限设置、去加重设置等。
读寄存器可检测接收电路状态,反馈控制信息,包括搜索到有效电台标志位、搜索到有效电台后PLL可编程计数器的状态、4bADC的输出、以及7bIF中频输出。
下面就对芯片的寄存器进行详细说明。
芯片寄存器地址的格式如下:
表3-1芯片寄存器地址格式
R/W=0为读模式;R/W=1为写模式
(2)写模式下5个数据字节的格式及各位的描述。
①数据字节1
字节格式
表3-2数据字节1字节格式
位描述
表3-3数据字节1位描述
②数据字节2
a)字节格式
表3-4数据字节2字节格式
b)位描述
表3-5数据字节2位描述
③数据字节3
字节格式
表3-6数据字节3字节格式
位描述
表3-7数据字节3位描述
注:
搜索停止标准设定
表3-8搜索停止标准设定
④数据字节4
字节格式
表3-9数据字节4字节格式
⑤数据字节5
字节格式
表3-10数据字节5字节格式
位描述
表3-11数据字节5位描述
(3)写模式下5个数据字节的格式及各位的描述。
①数据字节1
字节格式
表3-12数据字节格式
位描述
表3-13数据字节位描述
②数据字节2
字节格式
表3-14数据字节格式
位描述
表3-15数据字节2位描述
3.2.2 TEA5767HN的数据传输
TEA5767HN的数据顺序是:
地址、字节1、字节2、字节3、字节4、字节5,数据传送必须按照这个顺序。
每个字节将控制不同的功能。
每个字节的第七位为最高位,并作为字节的第一位传送。
在时钟的下降沿,数据变为有效信号。
在每一字节后面加停止信号可以缩短传送时间。
在整个传输完成之前,发送一个停止条件,其保留的字节将包含以前的信息。
如果一个字节没有传送完,新的字节将被使用,但新的调谐周期不会开始。
3.2.3 TEA5767HN的读写流程
根据TEA5767HN的读写协议,调用公用I2C驱动即可编写出TEA5767HN的读写函数:
radio_write(),radio_read()。
它们可为手动搜台、自动搜台等FM功能调用,以实现程序的模块化,优化程序结构。
TEA5767HN的读写流程如图3-4所示。
其中I2C_Start(FM)和I2C_Stop(FM)分别表示启动和停止I2C总线,Check_(FM)为应答信号。
图3-4TEA5767HN读写流程图
3.2.4 收音模块的初始化
TEA5767HN在上电复位时,静音位设置为“1”,其他所有位设置为“0”。
为了初始化集成块,所有位都必须重新设定。
所以,上电后必须重新给TEA5767HN写入数据,以初始化收音模块。
TEA5767HN的初始化流程图如图3-5所示。
图中的radio_write_data[]分别为要写入TEA5767HN的5个字节数据。
本系统写入数据让TEA5767HN接收的频率为88100kHz,选择欧洲制式和32.768MHz晶振,同时采用立体声输出。
函数get_pll()是根据当前频率计算出PLL值的函数。
调用get_pll()函数计算出PLL值后,应再把PLL高6位送给字节1的低6位,接着把PLL的低8位送给字节2。
频率显示则可直接调用fm_disp()函数来完成。
3.3 PT2257的音量控制设计
图3-5TEA5767HN初始化流程图图3-6PT2257写流程图
本系统使用PT2257来控制收音机输出的音量,以实现数字化音量控制。
PT2257的地址为88H。
单片机可与PT2257通过I2C进行通信。
PT2257的写操作先由单片机发出启动信号写入PT2257的片地址0x88,然后,由PT2257送回应答信号,单片机收到应答信号后,即向PT2257发送音量衰减量数据,单片机再次收到应答信号后,即发出停止信号,如此即可完成一次控制过程。
PT2257衰减量数据Vol由十位和个位两部分组成。
数据的传输顺序是先发送十位数据,再发送个位数据。
写入的十位数据为(Vol/10)|TenDB,个位数据为(Vol%10)|OneDB。
其中TenDB=0xe0,OneDB=0xd0。
衰减量的大小为十位和个位值的合并,图3-6和图3-7给出了PT2257的写流程和音量控制流程。
图3-7PT2257音量控制流程图
结论
软硬件都设计好之后,要把编号的程序下载到单片机内。
下载工具可以用此前实习时焊接的简易单片机开发板,下载软件可以用STC_ISP_V480。
在调试软件时,由于开始时没有定义好参数,导致程序虽没错误却难以实现预想的功能,后经反复仔细检查终于发现,并解决了问题。
在调试整机系统时能够搜索的频率范围为87.5~108MHz,能够接收到6~8个电台,由于没有专用天线,电路板质量也不高,再加上电台本身信号强度的问题,有3~4个电台的音质效果不是很好,干扰很大。
总体来说本次课题还是比较成功的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 fm 收音机 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)