找回密码
 加入我们
搜索
热搜: 活动 交友 discuz
查看: 3496|回复: 13

手把手交你DIY一个MP3

[复制链接]
发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
DIY自己的MP3的一个很大原因是手头有几个小硬盘(1,2个G),扔了可惜,放在电脑里简直是浪费主板的IDE接口,相信DIY玩家们都深有同感吧。所以我就想,如果不需要PC,直接接个解码板就可以播放里面的MP3,那该是多好的事情啊。
MP3播放机的工作原理
首先来看看硬件结构:

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
一个完整MP3播放机要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频DAC和功放、显示界面和控制键。如上图。其中中央处理器和解码器是整个系统的核心,在我的DIY作品中,这两个部分集成在一个芯片中。这里的中央处理器我们通常称为MCU(单片微处理器),简称单片机。它运行MP3的整个控制程序,也称为fireware。控制MP3的各个部件的工作:从存储设备读取数据送到解码器解码;与主机连接时完成与主机的数据交换;接收控制按键的操作,显示系统运行状态等任务。解码器是芯片中的一个硬件模块,或者说是硬件解码(有的MP3播放机是软件解码,由高速中央处理器完成)。它可以直接完成各种格式MP3数据流的解码操作,并输出PCM或I2S格式的数字音频信号。

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
存储设备是MP3播放机的重要部分,通常的MP3随身听都是采用半导体存储器(FLASH MEMORY),在我的作品中是用硬盘存作为存储器。它通过主机通讯端口传来的数据(通常以文件形式),回放的时候MCU读取存储器中的数据并送到解码器。数据的存储是要有一定格式的,众所周知,PC管理磁盘数据是以文件形式,MP3也不例外,最常用的办法就是直接利用PC的文件系统来管理存储器,微软操作系统采用的是FAT文件系统,这也是最广泛使用的一种。播放机其中一个任务就是要实现FAT文件系统,即可以从FAT文件系统的磁盘中按文件名访问并读出其中的数据。

  主机通讯端口是MP3播放机与PC机交换数据的途径,PC通过该端口操作MP3播放机存储设备中的数据,拷贝、删除、复制文件等操作。目前最广泛使用的是USB总线,并且遵循微软定义的大容量移动存储协议规范,将MP3播放机作为主机的一个移动存储设备。这里需要遵循几个规范:USB通信协议、大容量移动存储器规范和SCSI协议。

  音频DAC是将数字音频信号转换成模拟音频信号,以推动耳机、功放等模拟音响设备。这里要介绍一下数字音频信号。数字音频信号是相对模拟音频信号来说的。我们知道声音的本质是波,人说能听到的声音的频率在20Hz到20kHz之间,称为声波。模拟信号对波的表示是连续的函数特性,基本的原理是不同频率和振幅的波叠加在一起。数字音频信号是对模拟信号的一种量化(如下图),典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化。单位时间内的采样次数称为采样频率。这样一段声波就可以被数字化后变成一串数值,每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来就是数字音频信号了。这是ADC(模拟-数字转换)过程,DAC(数字-模拟转换)过程相反,将连续的数字按采样时候的频率顺序转换成对应的电压。MP3解码器解码后的信息属于数字音频信号(数字音频信号有不同的格式,最常用的是PCM和I2S两种),需要通过DAC转换器变成模拟信号才能推动功放,被人耳所识别。

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
MP3播放机的显示设备通常采用LCD或者LED发光二极管。显示系统的工作状态。


[此帖子已经被作者于2004-11-2 14:35:29编辑过]

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
控制键盘通常是按钮开关。键盘和现实设备合起来构成了MP3播放机的人机交互界面。


[此帖子已经被作者于2004-11-2 14:37:45编辑过]

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
MP3播放机的软件结构跟硬件是相对应的,即每一个硬件部分都有相应的软件代码,这是因为大多数的硬件部分都是数字可编程控制的。最简化的MP3软件处理任务只有两个操作:

  1. 读取存储器上的数据,送到解码器,解码器的输出送到音频DAC;

  2. 分析USB主机控制器发的指令,完成对存储器的操作,将操作结果送回USB主机。

  前一个处理过程完成了MP3数据的回放,后一个处理过程实现了USB移动存储器。这两个过程也是整个软件部分最复杂的。除此之外的部分都是为了实现主要功能设计的,由于篇幅限制,不能对每个模块详细说明。

[center]DIY过程

  如此复杂的一个系统,DIY的过程也是漫长艰难的,从最初到初步完成历时8个月。大致分成几个阶段:资料搜集和器件选型、绘制电路图、制作印刷电路板、焊接和硬件调试、软件编码、外壳包装。

  资料搜集和器件选型

  这项工作我很早就开始了。 小小的MP3播放机汇聚了多项标准协议,包括MP3标准本身,用于存储的FAT文件系统,USB通信协议和微软大容量移动存储标准。互联网真是个好东东,假如没有互联网,这个东西恐怕也不可能造出来。所有的参考资料都来自于网络。

  资料是有了,能否实现关键依赖于能否找到合适的器件。好在一开始就选定了ATMEL公司的MP3单芯片解决方案,这颗IC真是做MP3绝好的选择,它集成了MP3需要的大多数部件。外围芯片也很重要,首先要解决的就是音频DAC,选择的要点是要能与解码器输出的数字音频信号格式匹配,其次要考虑价格,是否能买到等因素。剩下的就是一些普通芯片了,逻辑门、存储器,电源、功放、各种插件等。这可是一个痛苦的过程,在网上找到资料,经研究符合使用条件,于是就到市场上找,买到后回来做实验。很多器件不是很容易就能买到的,买不到就得重新查资料,选新的型号,然后再去市场。辗转很多次,最终定了现在看到的这些东西。

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
接下来是绘制电路图。首先要做的是根据各种芯片的数据手册绘制原理图,工具是protel 99se,这是一个广泛使用的电路图CAD软件。

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
原理图设计好后是画印刷电路板图(简称PCB)。这种复杂程度的电路图至少要用双面板来设计了,否则走线根本走不通。这个过程需要准确测量元件的外形尺寸,安排他们的位置,叫做元件布局。当然大多数元件都有标准的外形尺寸,我们叫做封装。所有的元件位置放好后就开始布线了(将原理图中标记的需要连通的两个管脚在线路板上用连起来)。虽然PROTEL提供了自动布线的能力,但是机器布线的目标是全部走通,并不考虑美观问题和走线对信号的影响(这点在高速电路中尤其重要,MP3还不算是高速系统)。最终布线的结果就是下面这个样子。

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
接下来就是制作印刷电路板,如此密度的线路板已经不可能手工制作了,只能外包加工。电子市场有很多加工线路板的厂家,交给他们做就好了,这个我也不多介绍了。下面的图就是最终做好的线路板,表面一层绿色的是阻焊层,因为多数IC的管脚非常密,如果没有阻焊层焊接的时候很可能造成短路。银白色的叫做焊盘,因为没有被阻焊层覆盖,裸露的铜表面烫了一层焊锡,为了将来焊接更方便。


[此帖子已经被作者于2004-11-2 14:41:18编辑过]

发表于 2004-11-2 00:00:00 | 显示全部楼层 |阅读模式
焊接是个很大的挑战,为了小型化和降低布线难度,大部分器件都采用表面焊接技术,表面焊接的器件特点是IC的管脚密度很大,阻容元件体积很小。其中主芯片有84个引脚,分布在芯片四周,两管脚的中心距只有0.65mm,间距更是小到0.35mm。最小的是FLASH存储器的管脚,中心距只有0.5,间距0.3mm。手工焊接这样的器件一般有两种方法,一种就是用普通烙铁焊,焊接短路的地方用吸锡带修整;另一种就是用热风抢吹。我没有热风抢,只能用前一种方法。下面是我的焊接工具。

手机版|小黑屋|啊三国

GMT+8, 2026-7-15 07:37

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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