首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年5月3日星期五
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
基于单片机的电子导游MP3设计

Design of Specific MP3 Player Based on MSP430

电子科技大学通信与信息工程学院 陈桂培 林水生


摘 要:本文介绍了一种基于TI单片机MSP430F133的用于电子导游的专用MP3播放器的软硬件设计。该播放器的硬件电路主要由微功耗单片机、MP3解码芯片、存储器等构成;软件采用模块化结构进行设计。

关键词:单片机;电子导游;存储器;MP3;I2C


引言

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,非常适合于便携式应用场合。

图1 电子导游系统结构框图(略)

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

表1 MSP430接口分配(略)

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

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

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

解码电路

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

图2 MAS3507D电路原理图(略)

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

图3 DAC3550A电路原理图(略)


软件设计

软件结构

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

图4 总统软件结构(略)

初始化模块主要包括时钟频率设置、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端口的特性,减少相关寄存器的操作次数,简化接口控制,缩小代码量。下列程序段是模拟I2C总线的启动功能。要求置时钟线为高,数据线为下降沿触发。

BIC.B #SCL+SDA,&PORT_DIR
BIS.B #SDA,&PORT_DIR ;SDA为输出
BIS.B #SCL,&PORT_DIR ;SCL为输出
RET

位流传输模块

当解码芯片的请求信号有效时,单片机要从外挂的FLASH中读取存放的数据,发送给解码芯片。数据是按逐位传输的,先传输高位,后传输低位,在SIC时钟下降沿锁存位数据到解码芯片。

DATA_TO_MAS: BIT.B #REQ,&P1DIR
JZ DATA_TO_MAS
;REQ为0表示MAS不需要数据
CALL #BYTE_READ
;从FLASH读一个字节到RAM
MOV.B #8,R4 ;用R4计数
TRANSFER: RLA.B &READ_BYTE_A
JC BIT_1
BIT_0: BIC.B #SID,&P5OUT
JMP LOCK_BIT
BIT_1: BIS.B #SID,&P5OUT
LOCK_BIT: BIS.B #SIC,&P5OUT
BIC.B #SIC,&P5OUT
DEC.B R4
JNZ TRANSFER


结束语

本文设计的电子导游以TI公司的MSP430F133为主控制芯片,使用Micronas公司的解码芯片MAS3507D以及配套的D/A转换芯片。本系统不仅具备了MP3播放器的全部功能,而且可作为便携式存储器,用于存储文件、相片等。其特定的设计功能不仅可用于电子导游,还可用于公交报站、博物馆、展览馆、无人值守交通路口的语音提示等。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com