微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机的电子导游MP3设计

基于单片机的电子导游MP3设计

时间:11-08 来源:互联网 点击:

引言

MP3播放器近年来发展很快,目前已有大量产品面世。旅游这个新兴行业近年来得到了蓬勃发展,电子导游与人工导游相比,能避免由于导游个人因素带来的服务质量的不稳定性,为游客提供更加全面客观的服务。
电子导游系统是将专业导游对珍贵文物、旅游景点的介绍进行录音,并转换为MP3格式文件,以减小数据的存储量,按景点分割成不同的文件,通过USB接口下载到MP3中,然后通过红外自动或人工手动选择播放、收听各个文物、景点的介绍。

电子导游系统包括微机、电子导游、选曲控制器三个部分。微机用于对旅游景点的资料录入、存储、编辑和格式转换,为电子导游提供足够的原始素材。
选曲控制器安装在各个文物展台、旅游景点,定时发射景点编码信号。电子导游接收到景点编码信号后,进行解码并选择相应的内容进行播放。
电子导游由游客携带,但之前需要通过USB接口从微机中下载景点资料。本文主要介绍电子导游的软硬件设计。

电子导游硬件电路结构 电子导游的硬件结构框图如图1所示,主要包括用于主控的MSP430单片机,MP3解码及D/A转换芯片,存储旅游景点介绍信息的FLASH存储器以及景点选择控制接口、人机交互接口、USB接口等。

MSP430单片机及外围接口电路

TI公司的MSP430F133单片机具有16位RISC结构,内部有2个16位的定时器、1个12位高速A/D转换器和串行接口。内设JTAG模块,具有在线调试和在线编程功能。具有低电压和多种低功耗工作模式,待机模式电流仅1.3 A,关闭RAM时的待机电流低至0.15 A。数控振荡器使得从低功耗模式唤醒仅需6 s,非常适合于便携式应用场合。


MSP430单片机的6个8位的IO端口与外围芯片连接,其连接关系如表1所示。


按键电路采用行列扫描键盘结构,按键功能包括选曲控制、模式选择、音量控制等。液晶显示屏用于显示曲目的序号和播放状态,该接口包括数据、时钟等6根接口信号线。

红外管接收的信号经过放大整形后,送入到MSP430单片机解码,并由单片机根据解码结果进行选曲播放。

本系统采用NAND FLASH存储器,该类存储器有8根数据信号和6根控制信号。信号线的数目与存储器芯片的容量无关,便于存储器容量升级。

解码电路

MAS3507D是Micronas公司推出的单片MP3解码芯片,能够对8KHz、11.025KHz、12KHz和24KHz、44.1KHz等多种采样速率的音频数据流解码,具有I2C控制接口、异步MPEG位流输入接口、I2S解码数据流输出接口。内建DC/DC升压模块,适用于单节电池供电。电路图连接如图2所示。


DAC3550A是Micronas公司推出的与MAS3507D配套的音频D/A转换及放大芯片,如图3所示。MSP430通过I2C总线能够对DAC3550进行音量控制、均衡控制等。该芯片不仅能接收来自I2S总线的音频数据流,而且提供了多个模拟输入接口。


软件设计

软件结构

图4为电子导游的软件结构,包括初始化、FLASH存储器操作、USB接口驱动、人机交互模块和解码模块等,直接控制硬件的程序模块采用汇编语言编程。


初始化模块主要包括时钟频率设置、LCD显示器初始化、音效音量和播放模式的设置等。

人机交互模块主要是在下载或者播放过程中给用户信息提示。根据提示信息,用户可以对电子导游进行相应的控制。如音量的增减、播放、快进、快退、暂停、音效的设定、直选曲目、停止等。

解码模块的核心是比特流传输。在传输前,要对解码芯片进行相应的初始化操作。

NAND FLASH存储器操作模块实现存储器的物理检查、存储器链表建立和映射、存储器读写访问等。

时钟系统初始化模块

MSP430单片机是多时钟芯片,在降低系统功耗的同时,为了充分发挥其性能,需要对系统时钟进行编程。

系统将XT2外接8MHz晶振,获得8MHz的主系统时钟MCLK。而子系统时钟SMCLK为DCO振荡器产生的频率为800KHz的信号。时钟调整程序为:

BIS.W #OSCOFF,SR ;关闭LFXT1振荡器
BIC.B #XT2OFF,BCSCTL1 ;启动XT2振荡器
SETUPOSC:
BIC.B #OFIFG,IFG1 ;清除振荡器失效中断
MOV.W #0FFh,R15
SetupOsc1:
DEC.W R15 ;计算等待时间至"0"
JNZ SetupOsc1 ;等待循环
BIT.B #OFIFG,IFG ;测试振荡器失效中断标志
JNZ SETUPOSC ;重复测试,直至标志始终复位
BIC.B #OFIFG,IFG1 ;清除振荡器失效中断
BIS.B #80H,BCSCTL2;选择SMCLK时钟源

模拟I2C总线模块

MSP430F133没提供I2C的硬件电路,因此需要用IO口线模拟。用于通过I2C来控制MAS3507D和DAC3550A。模拟I2C时序的程序包括启动模块、停止模块、发送一个字节模块、接收一个字节模块、主应答模块(MACK)、主非应答模块(MNACK)、从应答模块(CACK)等。

在程序设计中,充分利用了MSP430F133 I/O端口的特性,减少相关寄存器

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top