当前位置:首页 > 嵌入式 > 嵌入式教程

随着电子技术的发展,MP3播放器向大容量、高音质、小巧便携不断发展。虽然播放器与存储器的一体化设计使MP3播放器便于携带,但与此同时他也带来了很多新的问题。

比如存储容量固定,如果想装下更多的歌曲只能去购买新的产品,造成了巨大的浪费;另一方面,一体化又限制了MP3播放器在其他领域的应用,比如车载MP3等不方便移动的播放器。于是将存储器与播放器分离成为MP3的另一发展方向,同时HOSTUSB的开发也为实时数据采集的移动存储提供了价格低廉的解决方案。本文将从软硬件方面详细介绍如何用AVR控制HOSTUSB读取U盘中的文件并将其解码播放。

l 方案设计

1.1 系统功能简介

本设计主要完成U盘的识别和数据的读取,并将U盘中读取的MP3文件解码播放出流畅的音乐,完成.MP3播放器的存储与解码的分离。系统功能主要包括读取U盘数据和MP3解码播放2部分。实现设计功能需要USB接口芯片、MP3解码芯片、主控制器和其他外围电路。

1.2主要芯片的选择

通过比较本文选择南京沁恒电子生产的一款USB通用接口芯片CH375。CH375芯片支持HOST主机方式和DEVICE设备方式,内部集成了PLL倍频器、主从USB接口、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。

音频解码芯片选择芬兰VLSI公司生产的VSl003。VSl003具有MP3/wMA/MIDI解码和ADPCM编码功能,他内部包含一个高性能、低功耗的DSP处理核(VSD一SP),一个工作内存,一片可供用户程序使用的5.5 kBRAM,一个串行SPI总线接口,一个高质量的采样频率可调的过采样DAC以及一个16位的采样ADC。

采用高性能低功耗的8位AVR闪存微处理器作为系统主控制器,ATmega64内部具有丰富的资源,64 kB的系统内可编程FLASH,2 kB E2PROM,4 kB SRAM,53个通用I/O口线,32个通用工作寄存器,RSIC设计的单指令周期使单片机具有高速处理能力,能保证MP3文件的顺畅播放。

2硬件接口

2.1 USB接口芯片CH375与MCU的连接

CH375可以方便地挂接到MCU系统总线上,MCU通过CH375按照相应的USB协议可以很方便地与其他USB设备进行通信。本设计中CH375工作在USBHOST模式下,将CH375的TXD端接地,RXD端悬空采取并行传输的方式,将8位并行数据线D0~D7与AT-mega64L的PD口相连实现数据与命令的并行传输,RD,WR,CS,INT和A0五根控制线分别连接至ATmega64L的PC3~.PC7引脚,接口的系统框图如图1所示。RD,WR和CS分别为读选通、写选通和片选,低电平有效;INT中断请求为低电平有效;地址输入线AO为高电平时选择命令端口,可以向CH375写人命令;当AO引脚为低电平时选择数据端口,可以向CH375读写数据。

当CH375工作在主机方式时MCU通过RD,wR,片选CS、中断INT和地址线AO的综合控制,完成与CFl375的通讯,通过USB接口实现从U盘读写数据的功能。INT引脚和MCU的外部中断输入引脚相连,当有U盘插入时1NT变为低电平触发外部中断,当CS,RD和AO都为低电平时,CH375中的数据可以通过D7~DO输出;当CS,wR和AO都为低电平时,D7~DO上的数据被写入CH375芯片中;当CS和wR都为低电平AO为高电平时,D7一DO中的数据可作为命令码写入CH375芯片中。

2.2 MP3解码芯片与MCU的连接

VSl003通过同步串行总线SPI与ATmega64L进行命令和数据的传输。由于ATmega64L内部集成有SPI总线模块,只要正确写SPI相关寄存器就能轻松控制SPL这种硬件SPI总线减小了软件设计的困难。VSl003的SPI接口具有2种工作模式:新模式和兼容模式。设置寄存器SM_SDI。NEW为1使‘VSl003处于新模式,此时设置SMSDISFIARED为O,控制信号和数据信号的传送将分别采用xCS和xDCS作为同步信号。

系统启动后,由MCU控制将存储于U盘中歌曲的码流信息送入到VSl003芯片中,通过VSl003芯片解码以及其内含的高质量的立体声DAC和耳机驱动电路,实现MP3歌曲的播放功能,在按键的控制下,实现对歌曲播放模式以及歌曲选择等功能。

VSl003的所有数据和控制命令均通过SPI总线接口实现,因此与MCU接口实现比较简单,包括3条SPI数据线和4条与PB4~PB7引脚相连的控制线,接口框图如图2所示。

3软件编程

3.1 U盘文件管理系统

U盘采用的文件系统一般都为FAT文件系统他将存储空间分为5部分:主引导扇区(MBR)、DOS引导区(DBR)、文件分配表(FAT)、文件目录表(FDT)和数据。Ctt375提供了U盘文件级子程序库,单片机可以直接调用子程序读写U盘中的文件数据。

3.2读取U盘数据

应用中的单片机读写U盘的程序可分成2大部分:应用程序和固件程序。应用程序完成系统的数据处理任务、外围控制等功能;固件程序处理底层的USB通讯协议、文件系统,数据在USB总线上的可靠传输和在U盘上的存取操作。CH375内置了处理海量存储设备的专用通信协议的固件,所以嵌入式系统的单片机可以通过CH375将U盘作为可移动的大容量存储器。数据读写只需要几条指令,而不需要详细了解USB通信协议。

U盘文件的读写方式采取扇区模式以扇区(每个扇区通常是512字节)为基本单位进行读写操作,从而将USB存储设备简化为一种外部数据存储器,单片机可以自由读写USB存储设备中的数据,也可以自由定义其数据结构。本文中单片机与U盘的通讯采用查询中断响应的方式进行,具体流程图如图3所示。

使用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盘就可以在原有硬件基础上增加存储容量,在音响和汽车电子及数据采集存储方面具有良好的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭