打印

基于单片机的U盘音频播放器设计与实现

[复制链接]
1137|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Violin11|  楼主 | 2019-2-27 11:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于单片机的U盘音频播放器设计与实现

    摘要:设计了一个基于STC12C5A60S2 的U 盘音频播放器,介绍了播放器的设计思路和原理框图,分别就播放器的3 个模块给出具体的实现电路,并提供了软件程序流程图。运行结果表明,播放器实现了预期功能,且具有较高的性价比和可拓性。

  U 盘即闪存盘,是一种用闪存进行数据存储的介质,通常使用USB 插头。U 盘体积极小、重量轻、可热插拔也可以重复写入。自其面世后,迅速普及并取代传统的软盘,成为主要的便携存储模式。随着U 盘体积的不断减小、存储容量却不断加大,使得U 盘的使用范围也不断拓展。然而U 盘所储存的数据,现今仍大多通过计算机提取并进行处理,这也局限了U 盘的发展范围。

  针对某一特定功能,剥离相应数据对计算机的依赖性,一方面可充分利用U 盘数据,另一方面也发挥出USB 协议的通用性,使U 盘实现所用即所得的便携特性。基于此,设计了U 盘MP3 播放器电路,主要完成U 盘存储的音频文件的数据提取及功能运行任务。该播放器等同于个人计算机的音频处理模块,不仅可识别、提取U 盘所存储的MP3、WMA 或MIDI格式的文件,并可自行完成音频解码等数据处理工作,最后送入扬声器或耳机进行播放。

  1 播放器组成原理框图

  播放器组成原理如图1 所示,共由3 个主要模块组成: 单片机处理模块,由STC12C4A60S52 单片机及其外围电路组成; U 盘读写模块,由CH375 及其外围电路组成; 为音频解码模块,由VS1003芯片及其外围电路组成。

  播放器的工作过程是: MCU 通过CH375 读取来自USB 存储设备的数据,并依据功能键的控制指令,将USB 存储设备的相关数据送入音频解码模块,在VS1003 解码后,送入扬声器或耳机。设置6 个人机交互功能按键,分别实现播放、暂停、上一曲、下一曲、增大音量、减小音量等基本操作功能。

  2 硬件电路设计

  如图1 所示,主要完成U 盘读写、单片机处理及音频解码3 个模块的电路设计。

  

  图1 原理方框图

  2. 1 U 盘读写模块

  U 盘读写模块由CH375 及其外围电路组成,其构成如图2 所示。

  

  图2 CH375 外围硬件电路

  CH375 是USB 总线通用接口芯片,支持USB 主机及从设备方式。在本地端,CH375 具有8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU 等控制器的系统总线上。在USB 主机方式下,CH375 还提供了串行通讯方式,通过串行输入、输出和中断输出与单片机/DSP/MCU/MPU 等相连接。

  CH375 的USB 主机方式支持常用的USB 全速设备,外部单片机可通过CH375 按照相应的USB 协议与USB 设备通讯。CH375 还内置了处理Mass - Storage海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB 存储设备。

  设计中,CH375 采用主机方式,图中J1为USB 插座,可连接U 盘等存储设备,D1为指示LED,当检测到USB 设备连接时灯亮。当TXD 引脚连接到地时,CH375 工作在并口方式,此时图中JP1接口D0 ~ D7为双向数据总线,连接单片机。

  单片机连接图中JP2接口,通过程序控制CH375,其功能及特性如表1 所示。

  表1 JP2功能及特性

  

  单片机通过写命令来和数据来控制CH375,并通过CH375 获得U 盘数据。CH375 内置相关的固件程序,自动处理了USB 等协议。单片机可以通过CH375直接获取U 盘扇区的数据,因此只需处理FAT 文件系统层就可以实现对U 盘文件的操作。


  2. 2 MCU 模块

  MCU 模块,由STC12C4A60S52 单片机及其外围电路组成。STC12C5A60S2 是宏晶科技生产的单时钟/机器周期的单片机,指令代码完全兼容传统8051,但速度快8 ~ 12 倍,提供Flash 程序存储器60 kByte,1 kByte的EEPROM,片上集成1 280 Byte RAM.工作电压5. 5 ~ 3. 5 V,内部集成MAX810 专用复位电路,4个定时器,2个串口,2路PWM,8 路高速10 位A/D 转换, ISP /IAP,内置看门狗电路,外部掉电检测电路等。

  图3 为播放器MCU 模块的硬件电路原理图,其中, JP4为电源输入接口,D1为电源指示灯,排阻Rp1为P0口的上拉电阻。JP2和JP3接到U 盘读写模块对应的接口上。由于单片机在5 V 电源下工作,而VS1003在3. 3 V 电源下,所以工作P1口应该接限流电阻到JP1再到音频解码模块对应的接口上。电路设置5 个功能按键,“UP”为增大音量,“DOWN”为减小音量,“LEFT”为选择上一曲,“DOWN”为选择下一曲,而“PLAY”为播放/暂停键。

  

  图3 MCU 模块硬件电路

  2. 3 音频解码模块

  音频解码模块,由VS1003 芯片及其外围电路组成。VS1003 是一个单片MP3 /WMA/MIDI 音频解码器和ADPCM 编码器。它包含一个高性能低功耗的DSP 处理器核VS_DSP、工作数据存储器、为用户应用提供5 kB 的指令RAM 和0. 5 kB 的数据RAM、串行控制和数据接口、4 个常规用途的I /O 口、1 个UART、1个高品质可变采样率的ADC 和立体声DAC、1 个耳机放大器和地线缓冲器。

  VS1003 通过一个串行接口接收输入的bit 流,可作为一个系统的从机。输入的bit 流被解码,然后通过数字音量控制器到达1 个18 位过采样多位ε - ΔDAC.VS1003通过串行总线控制解码器,除了基本解码功能,在用户RAM 中还可以做其他特殊应用,例如DSP 音效处理。

  图4 为播放器的VS1003 外围硬件电路原理图,其中,AVDD 为模拟正电源3. 3 V,CVDD 为数字正电源2. 5 V, IOVDD 为I /O 正电源3. 3 V,模拟地与数字地用0 电阻隔离。J1、J2均为3. 5 音频插座,J1为音频输出,J2为音频输入。

  

  图4 VS1003 外围硬件电路

  单片机通过对VS1003 寄存器的写入来设置VS1003 芯片,对VS1003 数据缓冲区写入数据,使其解码。

  3 软件程序流程图

  单片机程序主要解决读取CH375 数据,和写入VS1003 寄存器用于播放音乐两个问题。其中,5 种功能分别与图3 的5 个功能按键一一对应。软件程序流程图如图5 所示。

  

  图5 程序流程图


  4 结束语

  如图所示,旨在将音频处理功能从计算机剥离,拓展U 盘使用范围,设计了针对U 盘音频文件数据处理的播放器电路,并用C 语言编写了相关程序。该电路主要由3 个模块构成,其中主控器选用增强型51 单片机STC12C5A60S2,语音解码芯片采用芬兰VLSI 公司的VS1003,而USB 设备接口芯片选用南京沁恒公司的CH375,采用USB 主机方式,外部单片机无需处理USB协议,就可直接以扇区为基本单位读写常用USB 存储设备。

  实际运行结果证明,该播放器完全符合设计预期,U 盘即插即用,不仅可播放U 盘中指定目录中的MP3文件、WMA 文件、MIDI 文件,还可以通过按键控制,实现各种功能。整个系统电路的性价比较高,具有较强的可拓性。



相关帖子

沙发
Violin11|  楼主 | 2019-2-27 11:28 | 只看该作者
基于单片机的U盘音频播放器设计与实现

文档1.pdf

183.09 KB

使用特权

评论回复
板凳
lolplmlk| | 2019-2-28 19:42 | 只看该作者
查找目录功能可以做到多少级目录?

使用特权

评论回复
地板
kkzz| | 2019-3-1 21:44 | 只看该作者
基于单片机的 U 盘数据传输装置            

使用特权

评论回复
5
hudi008| | 2019-3-1 21:44 | 只看该作者
利用mcu的ram虚拟一个U盘可行?     

使用特权

评论回复
6
lzmm| | 2019-3-1 21:44 | 只看该作者
USB118AD是一款可嵌入系统的小型USB读写模块

使用特权

评论回复
7
minzisc| | 2019-3-1 21:45 | 只看该作者
需要做个U盘,最好是符合USB2.0的   

使用特权

评论回复
8
selongli| | 2019-3-1 21:45 | 只看该作者
51单片机读写优盘吗?            

使用特权

评论回复
9
fentianyou| | 2019-3-1 21:46 | 只看该作者
,单片机处理不能要求太多         

使用特权

评论回复
10
febgxu| | 2019-3-1 21:46 | 只看该作者
单片机读写usb,sd卡,tf卡,U盘等     

使用特权

评论回复
11
sdlls| | 2019-3-1 21:46 | 只看该作者
如何让单片机轻松读写U盘?         

使用特权

评论回复
12
pixhw| | 2019-3-1 21:47 | 只看该作者
单片机读写U盘就是USB HOST接口模块

使用特权

评论回复
13
xiaoyaodz| | 2019-3-1 21:47 | 只看该作者
想单片机的数据往U盘里写怎么实现的

使用特权

评论回复
14
kkzz| | 2019-3-1 21:47 | 只看该作者
单片机海量存储选用U盘已经成为大家首选  

使用特权

评论回复
15
selongli| | 2019-3-1 21:48 | 只看该作者
单片机没有USB专用接口,实现起来会比较麻烦

使用特权

评论回复
16
hudi008| | 2019-3-1 21:48 | 只看该作者
通过usb以u盘的方式供上位机

使用特权

评论回复
17
minzisc| | 2019-3-1 21:48 | 只看该作者
在主控芯片上还需要集成一些其他功能

使用特权

评论回复
18
lzmm| | 2019-3-1 21:48 | 只看该作者
通过USB118AD的十四条精简命令   

使用特权

评论回复
19
fentianyou| | 2019-3-1 21:48 | 只看该作者
里面还差一个文件系统               

使用特权

评论回复
20
xiaoyaodz| | 2019-3-1 21:48 | 只看该作者
CH375这个芯片可以实现吗?  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

717

主题

1010

帖子

3

粉丝