编辑: GXB156399820 2019-12-08
挑战 DIY 极限----打造自己的 MP3 播放机 [作者按] 这篇文章于

2003 年7月首先在 pconline.

com 上发表,随后 zol.com.cn 等各大网站纷纷 转载,据不完全考察,这篇文章应该是在国内第一次提出 mp3diy 的概念. 文中介绍了 mp3 的软硬件结构,以及作者漫长的 diy 过程. 林鹏(蓝牙)

2004 年7月前言 MP3DIY 的确是一个浩大的工程,主要是没有现成的 DIY 产品提供,一切都需要从

0 开始,即设计电路,做线路板,写程序,做外壳.每一步的工作量都相当大,这也是为什么 我作品酝酿了

8 个月原因.8 个月工作不可能用一篇文章写清楚,所以我只能精简一些主要 的东西,并且尽量把复杂的硬件和软件说的简单些,让大多数 DIY 朋友能看懂,甚至有兴 趣亲自动手做. DIY 自己的 MP3 的一个很大原因是手头有几个小硬盘(1,2 个G) ,扔了可惜,放在 机器里简直浪费 IDE 口,相信 DIY 玩家们都有感触.如果不需要 PC,直接接个解码板就可 以播放里面的 MP3 是个绝好的注意. MP3 播放机的工作原理 硬件结构: (图1硬件结构) 一个完整 MP3 播放机要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、 音频 DAC 和功放、显示界面和控制键.如下图. 其中中央处理器和解码器是整个系统的核心,在我的 DIY 作品中,这两个部分集成在 一个芯片中.这里的中央处理器我们通常称为 MCU(单片微处理器),简称单片机.它运行 MP3 的整个控制程序,也称为 fireware.控制 MP3 的各个部件的工作:从存储设备读取数 据送到解码器解码;

与主机连接时完成与主机的数据交换;

接收控制按键的操作,显示系统 运行状态等任务.解码器是芯片中的一个硬件模块,或者说是硬件解码(有的 MP3 播放机是 软件解码,由高速中央处理器完成).它可以直接完成各种格式 MP3 数据流的解码操作,并 输出 PCM 或I2S 格式的数字音频信号. (图2解码器) 存储设备是 MP3 播放机的重要部分,通常的 MP3 随身听都是采用半导体存储器 (FLASH MEMORY),在我得作品中采用的是硬盘存作为存储器.它存储通过主机通讯端 口传来的数据(通常以文件形式) ,回放的时候 MCU 读取存储器中的数据并送到解码器. 数据的存储是要有一定格式的, 众所周知, PC 管理磁盘数据是以文件形式, MP3 也不例外, 最常用的办法就是直接利用 PC 的文件系统来管理存储器, 微软操作系统采用的是 FAT 文件 系统,这也是最广泛使用的一种.播放机其中一个任务就是要实现 FAT 文件系统,即可以 从FAT 文件系统的磁盘中按文件名访问并读出其中的数据. (FLASH 和硬盘的图) 主机通讯端口是 MP3 播放机与 PC 机交换数据的途径,PC 通过该端口操作 MP3 播放 机存储设备中的数据,拷贝、删除、复制文件等操作.目前最广泛使用的是 USB总线,并 且遵循微软定义的大容量移动存储协议规范, 将MP3 播放机作为主机的一个移动存储设备. 这里需要遵循几个规范:USB通信协议、大容量移动存储器规范和 SCSI 协议. (图3USB接口) 音频 DAC 是将数字音频信号转换成模拟音频信号, 以推动耳机、 功放等模拟音响设备. 这里要介绍一下数字音频信号. 数字音频信号是相对模拟音频信号来说的. 我们知道声音的 本质是波,人说能听到的声音的频率在 20Hz 到20kHz 之间,称为声波.模拟信号对波的表 示是连续的函数特性, 基本的原理是不同频率和振幅的波叠加在一起. 数字音频信号是对模 拟信号的一种量化(如下图) ,典型方法是对时间坐标按相等的时间间隔做采样,对振幅做 量化. 单位时间内的采样次数称为采样频率. 这样一段声波就可以被数字化后变成一串数值, 每个数值对应相应抽样点的振幅值, 按顺序将这些数字排列起来就是数字音频信号了. 这是 ADC(模拟-数字转换)过程,DAC(数字-模拟转换)过程相反,将连续的数字按采样时候 的频率顺序转换成对应的电压.MP3 解码器解码后的信息属于数字音频信号(数字音频信 号有不同的格式,最常用的是 PCM 和I2S 两种) ,需要通过 DAC 转换器变成模拟信号才能 推动功放,被人耳所识别. (图4声波的数字化过程) MP3 播放机的显示设备通常采用 LCD 或者 LED 发光二极管.显示系统的工作状态. (图5图6LCD) 控制键盘通常是按钮开关. 键盘和现实设备合起来构成了 MP3 播放机的人机交互界面. (图6按钮开关) 软件结构: (图7软件结构) MP3 播放机的软件结构跟硬件是相对应的,即每一个硬件部分都有相应的软件代码, 这是因为大多数的硬件部分都是数字可编程控制的. 最简化的 MP3 软件处理任务只有两个操作: 1. 读取存储器上的数据,送到解码器,解码器的输出送到音频 DAC;

2. 分析 USB主机控制器发的指令, 完成对存储器的操作, 将操作结果送回 USB主机. 前一个处理过程完成了MP3数据的回放, 后一个处理过程实现了 USB移动存储器. 这两个过程也是整个软件部分最复杂的. 除此之外的部分都是为了实现主要功能设计的, 由于篇幅限制, 不能对每个模块详细说 明. DIY 过程 如此复杂的一个系统,DIY 的过程也是漫长艰难的,从最初到初步完成历时

8 个月.大 致分成几个阶段:资料搜集和器件选型、绘制电路图、制作印刷电路板、焊接和硬件调试、 软件编码、外壳包装. 资料搜集和器件选型 这项工作开始于去年

11 月份. 小小的 MP3 播放机汇聚了多项标准协议, 包括 MP3 标 准本身,用于存储的 FAT 文件系统,USB通信协议和微软大容量移动存储标准.互联网真 是个好东东,假如没有互联网,这个东西恐怕也不可能造出来.所有的参考资料都来自于网 络. 资料是有了,能否实现关键依赖于能否找到合适的器件.好在一开始就选定了 ATMEL 公司的 MP3 单芯片解决方案,这颗 IC 真是做 MP3 绝好的选择,它集成了 MP3 需要的大多 数部件.外围芯片也很重要,首先要解决的就是音频 DAC,选择的要点是要能与解码器输 出的数字音频信号格式匹配,其次要考虑价格,是否能买到等因素.剩下的就是一些普通芯 片了,逻辑门、存储器,电源、功放、各种插件等.这可是一个痛苦的过程,在网上找到资 料,经研究符合使用条件,于是就到市场上找,买到后回来做实验.很多器件不是很容易就 能买到的,买不到就得重新查资料,选新的型号,然后再去市场.辗转很多次,最终定了现 在看到的这些东西. (图8部分元件) 接下来是绘制电路图. 首先要做的是根据各种芯片的数据手册绘制原理图, 工具是 protel 99se,这是一个广泛使用的电路图 CAD 软件. (图9Protel

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

99 SE 的印刷电路板设计) 接下来就是制作印刷电路板, 如此密度的线路板已经不可能手工制作了, 只能外包加工. 电子市场有很多加工线路板的厂家,交给他们做就好了,这个我也不多介绍了.下面的图就 是最终做好的线路板,表面一层绿色的是阻焊层,因为多数 IC 的管脚非常密,如果没有阻 焊层焊接的时候很可能造成短路.银白色的叫做焊盘,因为没有被阻焊层覆盖,裸露的铜表 面烫了一层焊锡,为了将来焊接更方便. (图11 线路板成品) 焊接 焊接是个很大的挑战,为了小型化和降低布线难度,大部分器件都采用表面焊接技术, 表面焊接的器件特点是 IC 的管脚密度很大,阻容元件体积很小.其中主芯片有

84 个引脚, 分布在芯片四周,两管脚的中心距只有 0.65mm,间距更是小到 0.35mm.最小的是 FLASH 存储器的管脚,中心距只有 0.5,间距 0.3mm.手工焊接这样的器件一般有两种方法,一种 就是用普通烙铁焊, 焊接短路的地方用吸锡带修整;

另一种就是用热风抢吹. 我没有热风抢, 只能用前一种方法.下面是我的焊接工具. (图12 烙铁、锡吸带、带放大镜的焊台、台灯) 电路调试 线路板不能一次把所有的器件焊上,主要是为分部测试考虑,如果一下都焊上,有的器 件有问题,影响整个电路工作,就不好找原因了.要先焊主芯片,以及主芯片运行所必需的 一些外围器件,完成后可以加点,看看主芯片是否正常运行.正常情况主芯片内部有一个引 导程序(相当于 PC 的BIOS) ,它运行后连接 USB总线能够被 PC 发现新硬件. 这些正常后可以继续焊完其他........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题