当前位置:首页 > 单片机 > 单片机
[导读]随着电子技术的发展,MP3播放器向大容量、高音质、小巧便携不断发展。虽然播放器与存储器的一体化设计使MP3播放器便于携带,但与此同时他也带来了很多新的问题,比如存储容量固定,如果想装下更多的歌曲只能去购买新

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

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

日本车用MCU大厂瑞萨电子发布公告称,该公司将于8月31日完全关闭滋贺工厂,并将土地转让给日本大坂的ARK不动产株式会社。瑞萨电子曾在2018年6月宣布,滋贺工厂将在大约两到三年内关闭,该工厂的硅生产线已于2021年3月...

关键字: MCU ARK 芯片

(全球TMT2022年10月17日讯)近日,第17届中国研究生电子设计竞赛全国总决赛评审工作圆满完成。今年,来自全国63个高校的114支参赛队伍报名了TI企业命题,创下历史新高。此次TI的企业命题要求学生基于TI前沿的...

关键字: 电子设计竞赛 TI MCU 图像处理

单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段。单片机由以前的1位、4位、8位、16位,发展到现在的32位甚至64位。当前国内MCU厂商已有上百家,对标进口芯片的情况非常严重,导致国内MCU产品将陷入同质化...

关键字: 单片机 MCU 市场

MH32F103AVET6使用高性能的32位内核,内置了多达2个高级定时器、10个通用定时器、2个基本定时器、3个12位的ADC、2个12位的DAC,还包含标准和先进的通信接口包括:3个SPI接口、2个I2S接口、2个I...

关键字: 单片机 MCU

近年来,伴随着新能源车的生产制造及其对安全性较高驱动力电池的要求,高效率驱动力电池BMS愈来愈获得重视,市场占有率开始疯狂扩大。据统计,2020年我国BMS市场需求规模为97亿元,同比增长6.6%,预计2022年BMS市...

关键字: 雅特力 新能源车 MCU BMS智能保护板

近日,沁恒微电子一款伍毛级别的RISC-V通用MCU引起行业震动,王炸价格成为众多电子工程师交流讨论的焦点。

关键字: 沁恒 RISC-V MCU

近日兆易创新 GigaDevice 发布首款基于 Cortex®-M33 内核的 GD32A503 系列车规级微控制器,正式进入车规级 MCU 市场。GD32A503 新品采用 40nm 车规级制程和高速嵌入式闪存 eF...

关键字: GigaDevice Cortex®-M33 MCU

XL32F003 系列微控制器采用高性能的 32 位 ARM®Cortex®- M0+ 内核,宽电压工作范围的MCU。嵌入高达64 Kbytes flash和8 Kbytes SRAM存储器,最高工作频率32 MHz。包...

关键字: 单片机 MCU

为增进大家对芯片的认识,本文将对MCU芯片、MCU芯片技术原理以及MCU芯片的应用予以介绍。

关键字: MCU 芯片 指数

在下述的内容中,小编将会对MCU微控制器的相关消息予以报道,如果MCU微控制器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: MCU 微控制器 智能控制

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭