现在市场上使用硬盘代替闪存的硬盘MP3播放机越来越多。这类MP3的硬盘大部分为20G~40G的笔记本2.5英寸硬盘,其实也可以使用3.5英寸的硬盘。2.5英寸硬盘和3.5英寸硬盘的IDE接口只差4根线,见图1,即IDE接口的41~44脚只在2.5英寸硬盘中有,作为电源引脚使用,其余1~40脚的定义两种硬盘完全相同。如果不要求具有移动性能,使用3.5英寸硬盘制作MP3的性价比更高。如果手里有以前升级留下的小硬盘,扔了可惜,而放在电脑里又浪费主板的IDE接口,我们可以不需要PC,直接接个解码板播放硬盘里的MP3,即打造自己的硬盘MP3播放机。

目前支持硬盘的MP3方案有多种,笔者选择了ATMEL公司的AT89C51SND1C单芯片解决方案(MCU+MP3解码器),见图2。由于将MCU和MP3解码器集成在了一起,可以使制作更加方便,也减少了出错的可能。

硬件结构与原理
一个完整MP3播放机要分几个部分(见图3):中央处理器、解码器、存储设备、主机通信端口、音频DAC和功放、显示界面和控制键。其中,中央处理器和解码器在本制作中已经集成在一片AT89C51SND1C中。AT89C51SND1C可以看作经典的51系列单片机中的一员,它控制MP3各个部件的工作:从存储设备读取数据送到解码器解码;与主机连接时完成与主机的数据交换;接收控制按键的操作,显示系统运行状态等任务。总之就是负责控制全部I/O口。

解码器是AT89C51SND1C芯片中的一个硬件模块,或者说是硬件解码(有的MP3播放机是软件解码,由高速中央处理器完成,这时候中央处理器的性能就对音质有很大的影响了)。它可以直接完成各种格式MP3数据流的解码操作,并输出PCM或I2S格式的数字音频信号。目前市场上单独的硬件解码器中,飞利浦的音质最佳,但不是整合的,外接处理器控制比较麻烦,常见于一些高档的MP3播放机中。AT89C51SND1C的解码器只支持MP3格式的解码。
存储设备是MP3播放机的重要部分,通常MP3随身听都是采用半导体存储器(FLASH MEMORY),AT89
C51SND1C共支持IDE光驱、IDE硬盘、FLASH和MMC卡4种储存设备。在笔者的作品中用硬盘作为存储器,它通过主机通信端口传输数据,回放的时候MCU读取存储器中的数据并送到解码器。笔者自制的MP3播放机直接利用PC的文件系统来管理MP3的存储器。微软操作系统采用的是FAT32文件系统,支持目录管理,支持FAT16/32 长文件名,所以这个MP3播放机可实现从FAT32文件系统的磁盘中按文件名访问并读出其中的数据。
主机通信端口是MP3播放机与PC机交换数据的通道,PC通过该端口控制MP3播放机存储设备中的数据,进行拷贝、删除、复制文件等。目前使用最广泛的是用USB总线连接MP3播放机和PC机,将MP3播放机作为PC机的一个移动存储设备,这里需要遵循几个规范:USB通信协议、大容量移动存储器规范和SCSI、IDE协议。不过,AT89C51SND1C只支持USB1.1,所以用USB传文件比较慢。
音频DAC是将数字音频信号转换成模拟音频信号,以推动耳机、功放等模拟音响设备。这里要介绍一下数字音频信号,它是相对模拟音频信号来说的。我们知道声音的本质是波,人说能听到的声音的频率在20Hz~20kHz之间,称为声波。模拟信号对波的表示是连续的函数特性,由不同频率和振幅的波叠加在一起。数字音频信号是对模拟信号的一种量化,对时间坐标按相等的时间间隔进行采样,对振幅进行量化。这样一段声波被数字化后可以变成一串数值,每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来就是数字音频信号了,这是ADC(模拟-数字转换)过程。DAC(数字-模拟转换)过程则相反,将连续的数字按采样频率顺序转换成对应的电压。MP3解码器解码后的信息属于数字音频信号(数字音频信号有不同的格式,最常用的是PCM和I2S两种),需要通过DAC转换器变成模拟信号才能推动功放,被人耳所识别。MP3解码芯片可以使用CS4334,是I2S格式,能实现96kHz /24bit的精度,而且该芯片为8脚的贴片封装,外围元件简单,容易制作。
MP3播放机的显示设备通常采用LCD或者LED发光二极管,以显示系统的工作状态。最好使用LCD,以便于对上千首MP3歌曲进行管理。如果使用的是128×32的点阵型LCD,可以显示2行各8个字符,LCD最好是带字库的。LCD一般使用并行传输,也可以采用串行控制,这样所需的I/O端口就大大减少了。图4是一款128×64的LCD,可以提供更多的显示信息。
控制键盘通常是按钮开关。键盘和设备合起来构成了MP3播放机的人机交互界面。在AT89C51SND1C上,P1.0~P1.4作为行,列可以使用其他多余的I/O口,在此笔者利用P1.5和P1.6组成阵列,这样就一共有2×4=8个控制开关。
电源部分需要3~3.3V电压供给主芯片,5V供给功放、2.5英寸硬盘和DAC,12V供给3.5英寸硬盘(如果使用2.5英寸硬盘的话就不再需要了)。3~3.3V电压也可以用5V串3个硅二极管来实现,或者用专门的稳压管,如LM1117、BA033、HT1033/1034等,这样只需要单电源就可以解决了,只是可能会相互干扰,影响信噪比,所以还应该作好滤波、隔离的工作。如果要当随身听移动使用,可以用两节锂电池,如18650等,串联稳压到5V使用。
这款MP3播放机开发板的电路原理图见图5。
下期笔者将为读者介绍本制作在元件选择、电路调试和软件使用方面的内容。
文/孔德松 林鹏