DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1077|回复: 0
打印 上一主题 下一主题

[待整理] 基于MCU和音频解码器设计磁带式MP3播放器

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 08:55:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
随着数字化技术在音频的编辑、合成、效果处理、存储、传输等方面的不断进步,数字化的音频产品已经成为市场主流,传统的纯模拟的音频产品几乎退出了市场。例如CD播放器、MP3播放器等产品以更为优良的音质、更加方便的存储和传输等特点逐渐地取代了传统的以磁带式录音磁带为媒介的音乐播放设备。但是,在某些领域特别是低配置的汽车上,以录音磁带为媒介的音响播放系统仍然大量存在,如果把这些播放设备进行数字化改造,则需要较高的成本。本文将系统介绍福华先进微电子公司提供的经济型解决方案——磁带式(外型)MP3播放器mTape。


  mTape是新一代创新的便携式音乐播放器。它具有磁带式的外壳(见图1),并可像磁带一样放入卡式磁带机中,但播放的是音质更为优美的MP3音乐。由于其带有灵活简洁的操作界面,在脱离卡式磁带机时,还可以作为一个通用的便携式MP3播放器。它支持SD/MMC卡即插即用,用户可自由扩展存储空间;高速USB2.0接口既可以传输数据又可以对内置的锂电池进行充电,充分体现出它简洁方便的特点。

  硬件系统的主要器件

  mTape的构成主要基于福华先进微电子公司的微控制器FS7821和音频解码器FS2401,图2为mTape硬件系统框图。该框图包括两部分:虚框内为数据的传输处理;虚框外为供电和充电部分。

  FS7821是一个基于RISC架构的8051内核的媒体控制器,它具有兼容性良好的高速USB2.0接口和多种媒体接口控制器,例如NAND FLASH存储器、Smart Media (SM)、CompactFlash (CF)、Micro Drive、Secure Digital (SD)、 Multi Media Card (MMC)、 Memory Stick (MS)、Memory Stick-Pro (MS-pro)、 xD Picture (xD)等控制器。从PC经USB2.0传输的数据无需CPU处理,通过DMA直接传送到媒体介质,大大提高数据的传输效率。

  FS7821内部指令100%兼容最为流行的工业标准8051,所以在软件上和标准8051是完全兼容的,为软件设计带来极大的方便。由于它采用的是流水线RISC架构8051MPU内核,其指令处理速度比标准8051处理速度快很多。而且,它还采用了先进的数据传输算法,优化了总线架构。这些新的设计方法使得无需增加控制器或者媒体器件成本就可以使数据传输和存储速度大大地提高。除此之外,FS7821为各种存储卡的外围器件控制和扩展提供了32个GPIO引脚,也使得FS7821特别适合设计FLASH MP3、读卡器等相关产品。

  FS2401是一个单片MP3音频解码芯片,片内集成了高性能低功耗的DSP处理器内核、高质量的可变率采样立体声DAC、音频功率放大器、串行数据输入接口SPI,以及控制信号I/O和通用I/O。FS2401作为一个从属器件侦听通过SPI接口传来的比特流数据。比特流数据被解码后,经过数字音量控制传到过采样multi-bit, sigma-delta DAC,整个解码过程只通过SPI接口进行控制。除了基本的解码之外,还可以通过其内部的用户RAM区加入特殊的音乐效果。

  硬件部分的5种主要功能

  MP3播放器功能:FS7821利用4个GPIO和音频解码器FS2401的SPI接口相连,可以对FS2401进行初始化和实时控制,并能从SD卡或者MMC卡自动读取MP3文件,然后传到FS2401进行解码,产生的两路立体声模拟信号送到耳机插孔和磁头。
读卡器功能:由于FS7821通过内部集成了高速的USB2.0接口、DMA和多媒体接口,很容易实现PC机和mTape的SD/MMC卡之间任何格式的文件高速传输和存储。



  卡式磁带机播放功能:mTape和通用盒式磁带一样可以放入卡式磁带机中进行同步播放、快进、快退、暂停等所有功能。之所以能够实现这些操作,完全在于它能够测定卡式磁带机导带轮的转动速度的快慢及方向。在mTape中有两小一大三个互相咬合的齿轮,其中一个小齿轮可以随卡式磁带机中的导带转轴转动,就可以通过大齿轮带动另一小齿轮向同样方向转动。在大齿轮正上方的PCB板上安装有两个反射式光耦, 以大齿轮中心为交点两光耦的轴心线夹角为45。,当大齿轮的白色部分位于反射式光耦下部时,由反射式光耦组成的电路会产生低电平;反之,当大齿轮的黑色部分位于反射式光耦下部时,由反射式光耦组成的电路会产生高电平。这样,当大齿轮匀速转动时,两个反射式光耦组成的电路就会产生A、B两路方波。其中A路方波送入FS7821的通用GPIO,B路信号送到FS7821的外部中断0引脚。A、B两路方波相位总差90。。当B方波下降沿触犯外部中断0后,如果判断A方波电平为高,就为向前转;如果A方波为低电平,就为向后转。转动速度可以通过计算单位时间内波形的数据进行判断。
        USB充电:由于mTape内置一块大容量的锂电池,采用一枚高效率的锂电池充电芯片将来自USB口的+5V电源通过变为恒压4.2V对锂电池进行充电。


  自动上电/断电功能:当mTape插入卡式磁带机并按下PLAY按钮时,mTape上的磁头会被磁带机的磁头下压,mTape磁头的托架下的小棒就会插入位于它下面的透射式光耦的间隙中,由透射式光耦组成的电路会启动电源管理芯片为mTape供电。FS7821上电,并检测系统状态,然后通过一个GPIO来控制电源管理芯片的状态,保持电源的稳定性。当卡式磁带机处于暂停或停止状态时,mTape的磁头会弹起,磁头托架下的小棒会从透射式光耦的间隙中抽出。光耦电路就会发出一个待机信号。如果这个信号持续时间超过5分钟,FS7821就会关闭电源,为mTape断电。
                           
  软件架构

  从软件上来说,mTape主要有两个功能,一个是音乐播放功能(包括便携式MP3模式和卡式磁带机播放模式),另一个是读卡器功能。人-机界面管理(MMI management)程序根据mTape的按键、卡带机传来的信号、USB连接/断开等自由的切换这两种功能。具体软件架构见图3。

  音乐程序流程:音乐功能部分的主要任务是FS7821从SD/MMC卡中读取一个音频文件然后送到解码器FS2401进行解码。当所有的音乐文件播放完毕之后,mTape又返回播放第一首曲子,因此这是一个循环播放的模式。

  读卡器功能:读卡器程序可以分为两个部分:USB连接侦测部分和读卡器实体部分。当PC机的USB接口和mTape连接上以后,系统就进入USB模式,执行读卡器实体程序。

  MMI部分:MMI(人-机界面)管理部分处理用户的发出的命令。用户可以通过mTape上的按键、卡式磁带机上的按键以及USB线的断开/连接对mTape发出命令。这些命令分为两种:一种是USB命令,另一种是音乐播放命令。因为MMI没有严格的实时性要求,而且程序不是十分复杂,所以在mTape中没有必要采用实时操作系统。当FS2401没有音频数据传送要求时,FS7821就处于空闲状态。利用这段空闲时间就足可以处理用户发出的命令。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-17 05:59 , 耗时 0.092449 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表