APP下载

基于STM32的多功能MP3设计

2013-11-07谭周文

湖南人文科技学院学报 2013年4期
关键词:蜂鸣器播放器原理图

颜 锐,谭周文

(湖南人文科技学院通信与控制工程系,湖南娄底417000)

MP3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。MP3技术使音乐数据压缩比率大,回放质量高。传统音乐文件在网络上传播时,主要用Winamp等播放软件进行播放,使MP3音乐无法脱离计算机进行播放,给音乐欣赏带来不便。随着MP3播放器的出现及其技术的发展,人们对MP3播放器的要求越来越高,制造商在MP3播放器的选型、设计、开发和功能等领域等方面做了很多努力,便携式多功能MP3播放器的应用也越来越具有实际应用价值和潜在的市场要求。基于以上背景,本文提出以STM32F103 ZET6为处理器,以VS1053为播放器解码芯片,设计一款便携多功能MP3播放器。

一 硬件电路设计

(一)工作原理和结构框图

根据要求,确定如下方案:以STM32F103ZET6为主控芯片,从SD卡中读取音乐文件的数据,送VS1053进行解码,输出模拟音频信号。LD3320用来实现人机语音交互,2M的FLASH用来保存字库信息和UNICODE转OEM的码表。24C02用来保存触摸屏的校准信息。外扩512K的SRAM用来满足大内存的使用需求。显示模块采用3.0寸的触摸电阻屏,所有操作通过触摸完成。DS18B20完成温度的采集功能,蜂鸣器完成声音提示音的功能,摄像头接口外接OV7670模块完成照相的功能。硬件系统结构框图如图1所示。

图1 硬件系统结构框图

(二)音频编解码器电路设计

本系统采用VS1053音频编解码器作为音频文件的硬件解码方案,VS1053能解码MP3,WMA,WAV,MID,FLAC,OGG 格式的音频文件,并且还能进行ADPCM编码,包含一个低功耗,高性能的DSP处理器。VS1053采用SPI的通信方式,通过判断DREQ,如果此引脚为高电平则送数据,如果为低电平则停止送数据。因为VS1053自带立体DAC输出,如果解码成功,可以用示波器从LEFT和RIGHT引脚测得波形。能够直接驱动耳机。VS1053的原理图如图2所示:

图2 音频编解码电路

(三)TFT触摸屏电路设计

本系统采用的显示模块为3.0寸的TFT四线电阻屏。该显示屏的控制器是R61509V。显示屏外配有触摸屏,触摸屏的控制器是XPT2046。总的来说触摸电阻屏的设计分为两个部分,一个是显示屏的设计,另一个是触摸屏的设计。为了能够做出比较好的UI,采用的价格较高的3.0寸的TFT显示屏。TFT裸屏的原理图设计如图3所示:STM32F103ZET6的IO比较充足,况且选用16位的数据模式要比8位的数据模式,显示的速度要快得多。配合STM32F103ZET6的FSMC刷屏高达33FPS,可以说速度非常快。有两个0欧姆的电阻,当R2焊接的时候,IM0引脚就接地了,这时候就是16位数据模式,当R1焊接的时候,IM0引脚就接高电平,选择的就是8位数据模式。显示屏的LCD_BAK引脚是用来控制屏幕的亮度。这里接到处理器的PWM引脚就可以任意控制屏幕的亮度。

常见的触摸 IC 有 ADS7843,7846,UH7843,7846,XPT2046,TSC2046。XPT2046 有两种工作模式。一种是单端工作模式,另一种是差分工作模式,这里采用差分的工作模式。XPT2046的通信协议是SPI,指令很简单,当输入的指令为0X90时去读X坐标的电压值,当时指令为0XD0时就读取Y坐标的电压值。触摸屏的原理图设计如图4所示:

图3 TFT裸屏原理图

图4 触摸屏原理图

图3中有两个0欧姆的电阻,这是为了能够自由选择8位数据模式或16位的数据模式。

XPT2046包含12位精度的SAR型AD转换器。该IC主要为了采集电阻屏的电压值。对于电源的波动还是比较敏感的,TVCC通过VCC串联一个10欧姆的电阻,然后分别并上一个10UF和104的电容。电阻的作用是衰减小幅值的噪声信号,起到滤波的效果。104电容是滤除高频噪声。10UF电容有两个作用。一是储能的作用,此IC工作在差分模式,功耗比较大,这里的作用是避免工作时对电源的波动,对外可以滤除低频噪声。

(四)温度传感器和声音反馈电路设计

STM32F103ZET6处理器内部自带温度传感器,然而这个温度传感器的精度很不高,所以采用外接温度传感器。DS18B20是DALLAS公司生产的数字温度传感器,采用单总线的操作方式,精度又高。只占用一个IO口。温度传感器的设计很简单,需要注意引脚的接法,如果电源和地接反,将可能烧坏芯片。DS18B20连接图如图5所示:

图5 DS18B20原理图

系统采用容易编写程序的有源蜂鸣器,有源蜂鸣器和无源蜂鸣器的最大区别是:有源蜂鸣器含有振荡器,只要电流达到要求,就能够以一定频率发出声音。对于某些操作采用蜂鸣器作为反馈声音,会使得本系统的设计变得更加人性化。蜂鸣器的连接图如图6所示:

图6 蜂鸣器原理图

采用贴片的三级管S8050,将STM32的BUZZER引脚设置为推挽高电平输出就能是蜂鸣器鸣叫了,可以注意到三级管的基极和地之间跨接了一个10K的电阻。当BUZZER引脚置为低电平的时候,由于基极还存在电压,电压不能够快速下降,并接一个电阻有利于电压快速降到低电平。

二 软件设计

系统软件设计采用μC/OS-II作为操作系统,以UCGUI作为图形用户界面软件。采用模块化的编程思想,先写好底层与硬件相关的软件模块,封装成.c和.h文件。然后再编写与硬件无关的应用软件模块。软件总体框架设计如图7所示。具体操作包含几个模块的移植。

图7 软件总体设计框图

(一)uC/OS-II在STM32F103ZET6上的移植

在官网上下载源码。下载后,在Software文件夹中有两个子文件夹。在Ports文件夹中分别修改好 os_cpu.h,os_cpu_a.asm,os_cpu_c.c,os_dbg.c。然后再修改启动文件。修改完毕后,就可以通过os_cf g.h来裁剪内核,把不需要的系统服务裁剪掉以节省系统资源。裁剪完毕后,就可编写一个LED闪烁的任务来检验是否移植成功。

(二)uCGUI在STM32F103ZET6上的移植

下载uCGUI的源码(3.9版的)后。将文件中的CONFIG,GUI_X文件夹以及GUI的源文件夹添加到工程当中。CONFIG文件夹是用来裁剪和配置uCGUI的,该文件夹下有三个文件需要配置和修改,GUIConf.h是用来配置uCGUI是否支持操作系统,是否支持触摸,为窗体分配动态内存等等,GUITouchConf.h是用来配置触摸屏的参数,LCDConf.h是用来配置LCD显示其参数。对应CONFIG文件夹,GUI_X文件夹是用来修改具体的函数。完成这两个文件夹的修改,编译正确后,就可以通过uCGUI的一些简单的2D图形库函数测试uCGUI是否移植成功。

(三)FatFs在STM32F103ZET6上的移植

首先下载源码,有两个文件夹doc和src。在src文件夹包含需要的源码。ffconf.h是FatFs模块的配置文件,ff.c和ff.h分别是模块的源文件,头文件。Integer.h是模块的数据类型定义文件,diskio.c和diskio.h是模块的底层磁盘I/O文件。移植FatFs的时候只需要修改ffconf.h和diskio.c文件。通过ffconf.h文件可以配置是够支持字符串操作,是否支持长文件名,是否支持格式化,设置语言类型等等。FatFs模块完全与底层磁盘I/O分离,因此需要实现底层物理磁盘的读写函数。实现底层函数的时候,只考虑了一个物理磁盘的情况,其实FatFs可以支持多个不同的存储媒介,不过这里只有SD卡。移植好FatFs,就可像PC机一样读写文件。

(四)底层驱动模块

底层驱动模块和硬件紧密相连,是整个软件设计的基石,如果底层驱动没写好,上层软件的编写就会变得很困难,有时候在上层应用软件的编写的时候总是找不到错误,就有可能底层驱动出问题了。本软件系统的底层驱动模块文件相对来说比较多,可以采用模块化的编程思想,只需每个编写调试就可以成功。

三 结语

设计完成的MP3播放器能够完成正常音乐播放,数码相框能解码出小于屏幕尺寸的bmp,jpg,gif文件,照相机能够拍摄320X240的图片,电子书能够打开.txt,.h,.c,.lrc 文件,能够完成语音对话功能。该系统实际运行稳定可靠,以后仍可以对其功能进行补充,完善多功能MP3的性能。

[1]先锋工作室.单片机程序设计实例[M].北京:清华大学出版社,2002:46-50.

[2]张大明.单片机控制实训指导及综合应用实例[M].北京:机械工业出版社,2007:668-710.

[3]方安平,蔡俊宇.Cortex-M3的异常处理机制研究[J].单片机与嵌入式系统应用,2009(2):15-18.

[4]马义德,周炜超,文芳,李柏年,李庚.基于SPCE061A的声控MP3播放器设计[J].微计算机信息,2009(8):301-303.

[5]黄智伟.全国大学生电子设计竞赛电路设计([M].北京:北京航空航天大学出版社,2006:127-140.

[6]马喆.基于AT89C51SND1C的mp3播放器的设计[J].中小企业管理与科技:下旬刊,2009(1):235-236.

[7]陈永降,朱维杰.基于SL811HS的U盘MP3播放器设计[J].科技创新导报,2008(14):9.

[8]马鹏阁,张松炜,陈恩庆.基于SOC芯片ATJ2135的MP3播放器设计[J].电子工程师,2008(6):57-59.

猜你喜欢

蜂鸣器播放器原理图
电动自行车产品车速提示音检测现状和整改技术研究(2)
掌控板制作简易钢琴
浅谈STM32核心板原理图设计
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
基于STM32的MP3播放器设计
单片机驱动蜂鸣器的程序设计
Moon ACE播放器/放大器一体机
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响