微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 基于CH375的U盘MP3播放器设计

基于CH375的U盘MP3播放器设计

时间:02-05 来源:中电网 点击:

使用AVR编程工具软件ICCAVR编写系统C程序,CH375提供了已封装好的库函数CH375HF6.LIB,包含大量宏定义方便了编程。

下面列举一些CH375关键操作函数:CH375的初始化函数CH375Liblnit();查询U盘是否准备就绪函数CH375DiskReady();查询磁盘信息函数CH375DiskQuery();打开指定名称的文件或者目录CH375FileOpen();CH375FileCreate()为新建文件并打开,如果文件已经存在则先删除后再新建;CH375FileClose()为关闭当前文件;CH375FileReadX()以扇区为单位从当前文件读取数据,CH375FileWriteX()以扇区为单位向当前文件写入数据。

3.3 VSl003控制协议

VSl003通过一个工作于从模式的SPI串行总线与主机进行数据和控制信息的交流,控制信号和数据信号的传送分别采用xCS和xDCS作为同步信号。数据信号xDCS为低时通过串行接口传送音频数据,当控制信号xCS为低时通过串行接口传送控制命令,控制命令总是为16位,通过读/写不同的寄存器来实现对VSl003的控制。作为从机工作模式,VSl003通过一个信号线DREQ指示是否允许主机传送数据,当DREQ为高时,VSl003至少可以接受32 kB的数据或者控制命令。

下面介绍新模式下且SM-SDISHARE设置为O时VSl003通信协议的实现。图4描述了传送数据的工作时序,他以xDCS为同步信号,随着时钟信号的变化,数据根据控制命令的设置依次从高位或低位送出。控制命令协议包括1个控制指令字节、1个地址字节和1个16位数据字,每次读写控制可以操作1个寄存器。读命令和写命令分别为Ox03和Ox02,这2种控制命令的工作时序分别如图5,图6所示。

3.4播放MP3文件

首先完成对VSl003和SPI总线的初始化,然后等待系统从U盘存储介质中打开MP3文件,从中读取的一个扇区的数据放入Atmeag64L的512 B缓冲区中,然后将数据发往VSl003,解码芯片就会自动播放出流畅的音乐。由于VSl003有32 B的数据缓存区,一次可向其发32 B数据然后检查DREQ引脚,当DREQ为高时送下一个32 B数据,发完一个扇区的内容后再继续从U盘中读取下一个扇区内容,重复操作直到文件播放完为止。

4 结 语

将系统C程序通过ICCAVR编译成功后生成HEX可执行文件,再在AVRStudio编译器中用JTAG接口将编译好的可执行文件下载到目标板中,将U盘插入系统就会播放U盘中的MP3音乐,音质效果和播放的连贯性都很不错。此方案很好地实现了对U盘的识别和读取,突破了MP3播放器中解码器与存储器一体化的限制,只需使用更大容量的U盘就可以在原有硬件基础上增加存储容量,在音响和汽车电子及数据采集存储方面具有良好的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top