|
本帖最后由 kunnsd 于 2013-11-14 11:23 编辑
写在开始:
这个播放器是我历时三年,断断续续做的,当时也承诺过阿莫要开源的,说实话,这个播放器的功能有限,功耗还比较大,只是音质还不错,我知道在论坛有很多音响方面的高手,所以我的标题就说了是班门弄斧,还请高手们留下建议与激励,讽刺与谩骂就不要留下了,之所以选在我任版主的板块开源,就是方便我的管理,音响类的东西,很容易骂声一片,虽是小人行径,还请大家见谅!
作品介绍:
这个播放器从2010年开始断断续续的已经做了3年了,每次都是只有在假期才能进行一点点改进,这个PCB是今年寒假就做好了,当时只是简单的硬件测试就撂下了,这个暑假开始完善
MCU使用nios ii,本来考虑过STM32,但是为了得到更高的IIS信号质量所以用FPGA做,在FPGA里做了硬件IIS模块,并且开辟了48bit 4k的FIFO进行缓冲,以保证信号质量,
DAC使用常见的WM8740,LPF用了两片OPA2604,耳机放大使用了TPA6120,电源部分FPGA部分是TPS63001+TPS76301,模拟部分是TPS61087升压,TPS63700负压转换,
LT1962正线性稳压,LT1964负线性稳压,TPS76301给WM8740的模拟部分。LPF和耳机放大使用了±8V的供电电压,所以整机耗电惊人,单节锂电供电,电流消耗大概340mA,
使用的3700mAh的电池也就10个小时,使用MAX1926为电池充电,充电电压比较宽泛,达到了5~12V,充电电流800mA。
MCLK时钟使用双时钟,24.576MHz和22.5792MHz,可以支持44.1kHz 16bit至96kHz 24bit 的WAV文件。
移植了FATFS,支持中文长文件名,准备下一次做板是加上录音功能,也支持44.1kHz 16bit至96kHz 24bit,实现当年的想法:
http://www.amobbs.com/forum.php? ... ighlight=sony%2Bm10
以上是抄我在三文鱼板块发的帖子的内容,就算是简单介绍了。
显示使用了尺寸为1.77寸的彩色OLED,分辨率为160×128。在该播放器中把它当单色来使用,就是黑底白字,非常漂亮,只有在显示开机画面时才能看到是彩屏。
显示的字宽度是不同的,这样可以有效利用分辨率不高的显示器。
照片:
开机画面:
原理图:
PCB:
对于SD卡的访问,使用SPI模式,大家都知道SD卡使用SPI模式是初始化要用低速率的时钟几百KHz,初始化完成后使用高速率的时钟(最大25MHz)以实现高速读取,对于一般的单片机来说只是设置一下SPI时钟控制寄存器而已,但是愚蠢的NIOS II处理器的SPI时钟速率是固定的,不能通过设置寄存器来改变,所以就在NIOS II的CPU里做了两个SPI接口,一个低速的100KHz,用于SD卡的初始化,另一个25MHz高速的,用于SD卡的读取。
因为使用了FATFS R0.09a,所以现在使用SPI读取SD卡只能实现96kHz 24bit WAV文件的播放,不使用文件系统则可以播放192kHz 24bit的文件,但是支持192kHz的意义不大,我找到的唯一一个192kHz 24bit的文件就是那个四百多兆的《加州旅馆》,而96k 24bit得出支持还是很有必要的,资源和比较多。
可以支持32G的SDHC卡,存储容量是没有问题的,现在SANDISK的32G C10的卡在京东上也不过就130块,我手头有2G,4G,8G,16G,32G的卡,都测试过,没有问题,品牌有金士顿,SANDISK,SONY和NOKIA手机带的不知品牌但标着NOKIA的2G TF卡戴套。
时钟使用双时钟,时钟速率的选择是根据DAC的手册提供的时钟表确定的,只是22.5782MHz的晶振不是很好买。
我觉得这个播放器如果用STM32F407+FPGA/CPLD的话应该会更好些,F407的SDIO口应该更快,没有试过,F103的SDIO用过,不稳定,不知407会不会改进。用FPGA/CPLD做时钟和IIS和其他的一些数字音频接口,这样的话应该功耗会低一些。
DAC使用大家熟悉的WM8740,这个DAC指标比较高而且价格低廉,容易买到,LPF使用WM8740数据手册中推荐的线路,耳放也是TPA6120数据手册的推荐线路,所以电路部分很简单。
播放功能很简单,支持文件夹播放,单曲循环,全部循环和顺序播放,所以可以将一张专辑建一个文件夹。
编辑中…… |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|