基于C89C58RD+单片机与VS1003实现MP3播放器设计

发布时间:2023-09-13  

引 言

随着电子技术的发展, MP3 播放器是目前市场上流行的消费类数码产品之一, 具有大容量、高音质、小巧便携等特点而倍受广大消费者的青睐 。本文采用ETC 公司的微控制器ST C89C58RD+ , 结合解码芯片VS1003、USB 接口芯片CH375、LCD 等外围设备设计并实现了MP3 播放器。主要功能有: 播放VS1003 支持的所有音频文件, 包括MP3, WMA, WAV 文件[ 2] ,且音质非常好, 具有按键控制播放上一首/ 下一首、音量增减等, 可通过LCD 显示歌曲名字和播放状态信息等功能。


1 硬件系统设计

系统工作原理框图如图1 所示。系统启动后, 单片机通过USB 接口芯片CH375, 从U 盘中获取MP3 格式文件的数据, 并存入片内RAM 进行缓冲, 然后单片机定时将数据从缓冲区送到MP3 音频解码芯片VS1003, 实现解码并输出音频信号到耳机或者有源音响输出。用户可以通过键盘实现 “启动”、 “上一曲”、 “下一曲”、“音量控制”及 停止!等功能, 并将播放状态信息通过LCD 显示。系统框图如图1 所示。

基于C89C58RD+单片机与VS1003实现MP3播放器设计

1. 1 单片机读取MP3 数据模块

数据读取模块包括单片机控制器, U SB 串行数据转换成8 位并行数据CH375 芯片和MP3 格式数据存储U 盘3 部分。


1. 1. 1 单片机控制器

采用宏晶公司的ST C89C58RD+ 单片机, 该单片机最高可工作于33 MHz 时钟, 具有32 KB 的FLASH, 1 KB 的内部RAM, 引脚与指令系统均与51 单片机兼容 。本设计中, 单片机工作在30 MHz的系统时钟下, 能满足系统对数据带宽的要求。


1. 1. 2 USB 接口芯片CH375

CH375 是一个USB 总线通用接口电路, 支持HOST 主机方式和SLAVE 设备方式。CH375 内部集成了PLL 倍频器、主从U SB 接口SIE、数据缓冲区、被动并行接口、异步串型接口、命令解释器、控制传输的协议处理器、通用的固件程序等 。在本地端, CH375 具有8 位数据总线和读、写、片选控制线及中断输出, 可以方便地挂接到单片机、DSP 等控制器的系统总线上, 并内置海量存储固件 。CH375 的USB 主机方式支持各种常用的USB 全速设备, 外部单片机、DSP、MCU 可以通过CH375 按照相应的USB 协议与USB 设备通信, 支持常用的12 Mb/ s 全速U SB 设备。


1. 1. 3 工作原理

利用单片机实现将U 盘中的音频数据经CH375的USB 转串行接口传送至单片机内部RAM 缓冲, 以等待解码。其中CH375 是一款USB 总线的通用接口芯片, 可以方便地挂接到单片机的控制总线上, 同时CH375 的U SB 主机方式支持常用的USB 全速设备,外部单片机可以通过CH375 按照相应的U SB 通信协议与U SB 设备通信。


由于CH375 内置了USB 通信协议, 省去了对USB 通信协议的了解, 单片机可以直接调用A PI 库读写U 盘中的文件数据, 硬件上只需在51 单片机系统中增加一个CH375 芯片, 综合成本较低。CH375 支持全速的U SB??HOST 主机接口, 外围元器件只需要少量晶体和电容, 便可支持5 V 电源电压和3. 3 V 电源电压,CH375 芯片还支持低功耗模式, 正常工作时, 需要外部为它提供12 MHz 的时钟信号。电路原理如图2 所示。

基于C89C58RD+单片机与VS1003实现MP3播放器设计

1. 2 音频解码模块

音频解码模块包括2 大部分单片机控制器和专用MP3 音频解码芯片VS1003。

1. 2. 1 音频解码芯片VS1003

VS1003 是一个单片MP3/ WMA/ MIDI 音频解码器和ADPCM 编程器。它包含一个高性能、自主产权的低功耗DSP 处理器核VS_DSP, 并提供5KB 的指令RAM 和0. 5 KB 的数据RAM。产生MIDI/ SP??MIDI文件, 内含高性能片上立体声数/ 模转换器, 两声道, 无相位差, 在播放音频文件时不需要外加驱动电路,VS1003 内部自带耳机功放 , 只要调试好电路系统,接入耳机就可以听到美妙的音乐。同时, VS1003 为用户提供5. 5 KB 的片上RAM, 并支持SPI 串行通信的控制数据接口。


1. 2. 2 工作原理

系统上电启动后, 由单片机控制将存储于U 盘中歌曲的MP3 数据格式流信息通过CH375USB 接口芯片送入到V S1003 芯片中, 通过VS1003 芯片解码及其内含高质量的立体声DAC 和耳机驱动电路, 实现MP3歌曲的播放, 在按键的控制下, 可实现对歌曲的选择、音量增减等功能。VS1003 的所有数据和控制命令均通过SPI 总线接口实现, 由于设计中所采用的单片机没有SPI 接口, 因此, 在设计中采用单片机的3 个I/ O 口来模拟SPI 时序, 以达到实现SPI 通信功能。电路如图3所示。

基于C89C58RD+单片机与VS1003实现MP3播放器设计

1. 3 键盘及显示模块

键盘采用的是独立按键, 与单片机P30~ P34 相连接, 实现 开始!、 下一曲!、 上一曲!、 音量+ ! 和音量- !等5 个功能。播放的状态由Nokia5110 液晶显示, 该液晶为84 x 48 点阵的LCD, 可以显示4 行汉字, 并支持串行通信协议, 传输速率高达4 Mb/ s, 可全速写入显示数据, 方便地与单片机进行通信。该液晶外部信号线仅有9 条, 节约本来就紧张的I/ O 口, 其串行通信模式下的控制时序如图4 所示。

基于C89C58RD+单片机与VS1003实现MP3播放器设计

1. 4 电源模块

系统采用的是5 V 直流电源供电, 并通过5 V 转3. 3 V的SPX1117??3. 3 V 芯片给单片机, VS1003 解码器和U SB 专用芯片CH375 模块供电, 其电源电路原理如图5 所示。

基于C89C58RD+单片机与VS1003实现MP3播放器设计

2 软件系统设计

本系统单片机的软件设计采用C51 语言编写, 源程序共分3 个部分, 即: 单片机驱动CH375 程序, 单片机控制VS1003 实现音频解码程序, 按键和显示驱动程序。在编写CH375 模块部分的程序时, 用到了从南京沁恒公司官方网站下载的CH375 的API 函数库 “CH375HF4.LIB”文件, 简化了程序设计。因为单片机的硬件资源十分有限, 在硬件调试过程中, 出现在传送频率较高的歌曲时, 由于采样频率低, 带宽不够, 而造成声音失真。所以在系统的开发过程中, 应优化程序, 提高运行速度, 保证播放歌曲的流畅, 其软件流程如图6 所示。

基于C89C58RD+单片机与VS1003实现MP3播放器设计

3 结 语

设计的MP3 播放器采用51 单片机加VS1003 解码, 并通过CH375USB 专用芯片进行数据读取, 这种组合方式相比于采用AVR 或者MSP430 系列的高端单片机, 达到的播放效果也毫不逊色。系统的整个设计难点在于单片机如何高效的从U 盘中读取数据, 并以一定的时序将缓冲的数据传输给VS1003, 实现解码。在此采用的方法一是提高系统的时钟; 二是通过修改软件, 精简程序, 来加快了系统的传输速率, 使播放音乐更加流畅。

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    51单片机和52单片机区别是什么?51仿真器有必要买吗?;我们在开发单片机程序的时候,经常会碰到编译没有错误,程序代码反复的检查,但就是找不到问题所在,不知道问题到底出现在哪里了? 这个......
    什么是51单片机?又该如何自学51单片机;51 单片机是目前使用最多的单片机之一,那么什么是 51 单片机呢?作为新手,又该如何自学 51 单片机?为帮助大家更好的学习 51 单片机,本文......
    51单片机到底是什么跟单片机有什么关系; 的种类繁多且应用广泛,如今我们的生活中大大小小的应用都离不开。51作为单片机中应用最广泛的一类,市场需求量也是非常的大。那么到底是什么,跟单片机......
    8051单片机和STM32单片机的编程环境对比;单片机编程是一门实战性的技术,程序要在单片机平台上跑起来才能看到效果、才能积累编程经验。在学校学习单片机课程时,可能会感觉到一直有一种脱节的感觉,因为......
    面向单片机编程 (一)- 单片机该怎么学;一、什么是单片机单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采......
    51单片机是什么_51单片机入门自学;  51单片机是什么   51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来......
    51单片机作用、功能、厂商单品详解;  作为最古老的单片机之一,51单片机在各行各业都发挥了十分重要的作用。   51单片机的作用   32位机的ARM未出之前,嵌入式的应用诸如航空航天,51单片机......
    51单片机还适合作为初学者入门的单片机吗?;对于很多初学者来说考虑要不要从51单片机入门是个挺头疼的问题。毕竟现在许多公司已经不用51单片机做产品了。但是51单片机流行了这么久,它肯......
    如何快速的入门单片机?单片机自学教程有哪些?;如何快速的入门单片机开发?百度一大堆广告,然后就是乱七八糟的文章,看的眼花缭乱。 排在最前面的是培训机构,后面就是一大堆文章。 有建议自学的,有建......
    8051单片机在机器人技术和医疗领域的应用;  距离8051单片机的诞生已有40多年,由于专利的到期,国内8051单片机,在价格上一般都会便宜很多。随着科学技术的发展,单片机......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>