单芯片MP3播放器之LPC2148版
MP3播放器已经满天下泛滥了,也到处看到电子爱好者在自制mp3,不管是国内,还是国外,都大有人在,已经没有什么可以刺激我神经的新鲜感了。今天收录的这一款唯一能够让我兴奋的是它基于NXP的LPC2148实现的,这是以往没见过的,另外这是一个单芯片的解决方案,也就是说只需要使用一片LPC2148就可以实现MP3解码,并使用片内的D/A转换器作为信号输出,驱动喇叭播放音乐。
整个系统移植和集成了两大开源代码MAD : MEPEG Audio Decoder和EFSL : Embedded Filesystems Library。
关于MAD
MAD是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。MAD 提供 24-bit 的 PCM 输出,所有的运算都是都是定点计算,适合没有浮点支持的平台上使用。
关于EFSL
EFSL使用ANSI C编写,跟平台的大小端模式和字节对齐方式无关,支持fat12/16/32,可以同时支持多设备及多文件操作。每个设备的驱动程序,只需要提供扇区写和扇区读两个函数即可。RAM最小可以达到1.5K,当然通过提供更多的ram作为文件系统缓存,提高性能,非常适合资源有限的嵌入式系统使用。
需要说明的地方
LPC2148只有一个内置的10位DAC转换器,没有重建模拟输出的滤波器。DAC未加任何处理,直接用作渲染音频输出的设备,也就是说音频输出的采样频率只有10位,这一点是由DAC的采样频率决定的。这样,系统输出的音质不会很高,而且只支持单声道,因为LPC2148只有一个DAC。但是通常的MP3都是立体声格式的,这样你就需要将它先转换成单声道格式,然后再拷贝到SD卡(SD卡的文件系统必须是FAT32或FAT16)。
Copyright © 2008
继续阅读《单芯片MP3播放器之LPC2148版》的全文内容...
分类: 奇趣创意 | Tags: MP3 ARM | 添加评论(0)
相关文章:
Google Code上两个LPC21XX开源项目 (2009-7-4 14:30:32)
基于ARM的网络收音机 (2009-3-24 19:9:11)
音箱?储钱罐? (2009-2-14 18:13:49)
显式指针转换的教训 (2009-2-11 18:27:21)
使用结构体中成员变量指针的教训 (2008-9-19 18:30:42)