U盘即闪存盘,是一种用闪存进行数据存储的介质,通常使用USB 插头。U 盘体积极小、重量轻、可热插拔也可以重复写入。笔者认为,针对某一特定功能,剥离相应数据对计算机的依赖性,一方面可充分利用U 盘数据,另一方面也发挥出USB 协议的通用性,使U 盘实现所用即所得的便携特性。基于此,设计了U 盘音频播放器,主要完成U 盘存储的音频文件的数据提取及功能运行任务。该播放器等同于个人计算机的音频处理模块,不仅可识别、提取U 盘所存储的MP3、WMA 或MIDI格式的文件,并可自行完成音频解码等数据处理工作,最后送入扬声器或耳机进行播放。
一、播放器硬件电路设计
播放器组成原理如图1 所示,共由3 个主要模块组成:单片机处理模块,由STC12C4A60S52单片机及其外围电路组成; U 盘读写模块,由CH375 及其外围电路组成; 为音频解码模块,由VS1003芯片及其外围电路组成。
播放器的工作过程是: MCU 通过CH375 读取来自USB 存储设备的数据,并依据功能键的控制指令,将USB 存储设备的相关数据送入音频解码模块,在VS1003 解码后,送入扬声器或耳机。设置6 个人机交互功能按键,分别实现播放、暂停、上一曲、下一曲、增大音量、减小音量等基本操作功能。
1.1 硬件电路框图
如图1 所示,主要完成U盘读写、单片机处理及音频解码3 个模块的电路设计。
图1 原理方框图
1.2U 盘读写模块
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 盘文件的操作。
1.3 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 模块硬件电路
1.4 音频解码模块
音频解码模块,由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 数据缓冲区写入数据,使其解码。
二、软件程序流程图
单片机程序主要解决读取CH375 数据,和写入VS1003 寄存器用于播放音乐两个问题。其中,5 种功能分别与图3 的5 个功能按键一一对应。软件程序流程图如图5 所示。
图5 程序流程图
三、结束语
本文对U 盘音频播放器进行了硬件电路设计,并用C 语言编写了相关程序。该电路主要由3 个模块构成,其中主控器选用STC单片机STC12C5A60S2,语音解码芯片采用芬兰VLSI 公司的VS1003,而USB 设备接口芯片选用南京沁恒公司的CH375,采用USB 主机方式,外部单片机无需处理USB协议,就可直接以扇区为基本单位读写常用USB 存储设备。
实际运行结果证明,该播放器完全符合设计预期,U 盘即插即用,不仅可播放U 盘中指定目录中的MP3文件、WMA 文件、MIDI 文件,还可以通过按键控制,实现各种功能。整个系统电路的性价比较高,具有较强的可拓性。