如何用BB Black制作DAC系统
扫描二维码
随时随地手机看文章
BB Black(以下简称BBB)板载了一路I2S接口,可以很方便地外接DAC。I2S接口从AM3359处理器引出连接到一个HDMI芯片(TDA19988)上,但是该接口的使用并非必须连接到HDMI上才能实现。I2S接口还通过P9端口扩展到几个引脚上(如下图)。下面我们来看看如何在BBB上通过I2S接口制作DAC系统。
由于该接口支持24-bit/192KHz音频信号,所以为BBB选择一个高品质DAC正应了那句广告词“你值得拥有”。当然也要考虑到质量上乘但是又不奢侈的DAC器件,TI的PCM5101可以作为候选之一,这款芯片性能不错,技术规格比较实用,并且带有内建的电荷泵(Change Pump),能够依靠单电源进行工作。另外还需要连接一个耳机放大器,我用的是ON Semi的NCP2811A。这种器件组合可以在BBB提供电源的情况下工作,即便BBB用锂电池供电也没有问题,并且可以保证低噪声和低失真。唯一的存在的问题是PCM5101的输出较高(这当然是好事),而音频放大器的最低推荐增益为1,芯片无法达到电压输出的要求,也就意味着在音量较高时会出现失真。低音量(较低的SNR)时没有问题。
以下是DAC板原型:
以下是整个完整的系统:
下面是DAC板的背面,看起来有点乱…!板子用的是SMD-to-DIP转接板,上面的两条铜条用于供电。
下面是音频放大器,看起来简洁一些了,这归功于板子本身的设计。
我尝试了一下录音功能,但是效果不太好。音源来自摄像头内建的麦克风,然后从一个小型64欧姆扩音器播放,所以听起来“难以入耳”, 但是用耳机听的效果截然相反,音质可以和iPod媲美(当然这是我个人感受)。另外,一开始我以为在BBB上数据的读取发生位时钟的下降沿,但I2S总线数据标准正好相反。也许是我弄错了,但是总的来说电路工作正常。
BBB的系统是以前下载的Angstrom,在听回放的时候貌似还有些问题,如果你仔细听,中间偶然会有几十毫秒的停顿。希望在最新的系统中能够解决。(也可能是因为ffmpeg的问题,也许avconv能够表现好些)
注:我以前一直用mplayer(命令是mplayer -ao alsa -volume 4AmyWinehouse-BackToBlack.mp3),没有遇到过这种情况。音频效果至少和我的旧iPod Touch差不多,可能更好些。
我用的命令是:
ffmpeg -i AmyWinehouse-YouKnowImNoGood.mp3 -f alsa\"default:CARD=Black\" -re -vol 150
音频信息显示为:
Stream #0.0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
以下是原理图。所有的3.3V电源都连接到原型板上(尽管看起来不错,但实际情况中我没有这么做)。放大器的V+可以连接到3.3V或者5V电源(或者直接连接到锂电池)。PCM5101的SCK引脚与0V断开,并连接到BBB的P9上的引脚25。这样通过禁用DAC的内部PLL,可以保证最小的抖动。
(更多技术文章,请访问英蓓特官方网站)