位置:51电子网 » 技术资料 » 单 片 机

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

发布时间:2008/5/27 0:00:00 访问次数:473

摘 要:本文介绍了一种基于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,非常适合于便携式应用场合。

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时序的程序包括启动模块、停止模块、发送一个字节模块、接收一个字节模块、主应答模块

摘 要:本文介绍了一种基于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,非常适合于便携式应用场合。

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时序的程序包括启动模块、停止模块、发送一个字节模块、接收一个字节模块、主应答模块

相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!