单片机
返回首页

基于STC12C5A60S2的U盘音频播放器设计

2012-11-08 来源:现代电子技术

    U盘即闪存盘,是一种用闪存进行数据存储的介质,通常使用USB插头。U盘体积极小、重量轻、可热插拔也可以重复写入。自其面世后,迅速普及并取代传统的软盘,成为主要的便携存储模式。随着U盘体积的不断减小、存储容量却不断加大,使得U盘的使用范围也不断拓展。然而U盘所储存的数据,现今仍大多通过计算机提取并进行处理,这也局限了U盘的发展范围。
    笔者认为,针对某一特定功能,剥离相应数据对计算机的依赖性,一方面可充分利用U盘数据,另一方面也发挥出USB协议的通用性,使U盘实现所用即所得的便携特性。基于此,设计了U盘MP3播放器电路,主要完成U盘存储的音频文件的数据提取及功能运行任务。该播放器等同于个人计算机的音频处理模块,不仅可识别、提取U盘所存储的MP3、WMA或MIDI格式的文件,并可自行完成音频解码等数据处理工作,最后送入扬声器或耳机进行播放。

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

a.jpg


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

2 硬件电路设计
    如图1所示,主要完成U盘读写、单片机处理及音频解码3个模块的电路设计。
2.1 U盘读写模块
    U盘读写模块由CH375及其外围电路组成,其构成如图2所示。

b.jpg


    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所示。

c.jpg


    单片机通过写命令来和数据来控制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,内置看门狗电路,外部掉电检测电路等。

d.jpg


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

e.jpg


    图4为播放器的VS1003外围硬件电路原理图,其中,AVDD为模拟正电源3.3 V,CVDD为数字正电源2.5 V,IOVDD为I/O正电源3.3 V,模拟地与数字地用0电阻隔离。J1、J2均为3.5音频插座,J1为音频输出,J2为音频输入。
    单片机通过对VS1003寄存器的写入来设置VS1003芯片,对VS1003数据缓冲区写入数据,使其解码。

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

f.jpg



4 结束语
    如图所示,旨在将音频处理功能从计算机剥离,拓展U盘使用范围,设计了针对U盘音频文件数据处理的播放器电路,并用C语言编写了相关程序。该电路主要由3个模块构成,其中主控器选用增强型51单片机STC12C5A60S2,语音解码芯片采用芬兰VLSI公司的VS1003,而USB设备接口芯片选用南京沁恒公司的CH375,采用USB主机方式,外部单片机无需处理USB协议,就可直接以扇区为基本单位读写常用USB存储设备。
    实际运行结果证明,该播放器完全符合设计预期,U盘即插即用,不仅可播放U盘中指定目录中的MP3文件、WMA文件、MIDI文件,还可以通过按键控制,实现各种功能。整个系统电路的性价比较高,具有较强的可拓性。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • IGBT模块通过控制门极阻断过电流

  • CCFL的工作原理及电子驱动电路解析

  • 基于M66T旋律发​​生器的电路图解析

  • 基于TDA1554的立体声放大器电路

    相关电子头条文章