Thursday, 24 March 2016

NMR - 音響播放器

上年, 我朋友介紹我一齊買一隻叫 ABC-PCB 的 DLNA renderer, 當時一起分擔運費都要4千, 加上我當時因為搬屋有半年多不能玩音響, 所以沒有參加.

今年, 我想起這東西. 於是上網找一下它的詳情, 發現原來它的公司名稱改了, 網頁也更新了:
http://www.engineered.ch/audio/network-interface/


Q1: 這是甚麼?
它是一個 DLNA renderer, DLNA 是 數位生活網路聯盟(Digital Living Network Alliance,DLNA). 在音樂播放上, 我需要:

•Digital Media Server(DMS)數位媒體伺服器:提供了媒體檔案的獲取、錄製、儲存以及作為源頭的裝置。
•Digital Media Player(DMP)數位媒體播放器:可尋找並播放或輸出任何由DMS所提供的媒體檔案的裝置。
•Digital Media Controller(DMC)數位媒體控制器:作為遙控裝置使用,可尋找DMS上的多媒體檔案,並指定可播放該多媒體檔案的DMR進行播放或是控制多媒體檔案上下傳到DMS的裝置。
•Digital Media Renderer(DMR)數位媒體渲染器:可接收並播放從DMC push過來的媒體檔案。
(source: https://zh.wikipedia.org/wiki/%E6%95%B8%E4%BD%8D%E7%94%9F%E6%B4%BB%E7%B6%B2%E8%B7%AF%E8%81%AF%E7%9B%9F)

當中, NMR 便是 DMR. iPad 加上 DLNA 軟件便是 DMC(和DMP), 我的 NAS 安裝了 DLNA server 便是 DMS (和DMP)

Q2: 為何用它不用 Squeezebox Receiver?
因為它能輸出Hi-res PCM384 和 DSD64/128. 我相信佢硬件上可以輸出DSD256, 只是要等firmware upgrade.

Q3: 為何用它ARM 小電腦?
我之前玩過一些ARM的小電腦, 其實都是大同小異, 5V 500mA 供電, 軟件用 Linux, 用 Squeezelite 或 MPD 作播放器, USB作連接DAC的界面. 換供電或用 real-time kernel, IRQ affinity, task priority 可以進一步改良音質, 但因為使用USB界面, DAC也要一張USB接收卡(如 Amanero, XMOS 之類), 增加了很多變數. 更甚是當中的USB起了成敗關鍵的作用

Q4: 有些帶I2S輸出的ARM又如何?
Pi 是有 I2S 輸出的, 但它的鐘先天是有缺憾的. Odroid C1+ 是另一個好選擇. 事實上我也因為朋友的介紹買了它回來玩了一兩個月. 配合 Runeaudio, 和它的紅外線接收和搖控, 已經可以很方便地使用不單只是 iPad (Mpad), 更可用搖控作簡單播放操控. 但它都有一個問題, 由於它用
SD 卡跑 linux, 你不能直接斷電, 不然它的系統檔案會損壞. 一定要經 Runeaudio 介面關機才可斷電.

NMR 這類 DLNA renderer 正正是給DIY懶人的完美播放器. 它是一插即用, 可隨時斷電, 也是用 iPad 操控. 分別在它的 music server 是 DLNA server, 不是 Squeezebox Server 或 MPD.

問了價錢, 唔知係唔係外匯價的問題或是他們減了價, 這次比上年的價錢便宜了數百, 再問一問朋友用後感覺如何, 他說十分好, 於是我便去馬.

在 Paypal 付了錢, 前後約一星期內便收到.



一看上去, 做工十分好,  只是3大元件:
1. DSP - Analog Devices ADSP-BF537KBCZ-6AV (Blackfin)
這是最貴的部分, 它是DLNA renderer 核心, 耗電量也最大, 約 3.3V 700mA

2. CPLD - Lattice LCMX0256C
它負責介面的工作, 包括 SPI, 但我不打算用它的 SPI, 因為實在太廢, 只能輸出ASCII的歌手, 歌名, Album Cover 也只會回傳 "empty". (ASCII 意思是它不支持中日韓等, 只支援英文). 它的I2S才是我會用的地方.


3. DIT - WM8804G
這是用作S/PDIF 輸出或輸入的.



說明書話它需要 3.3V 800mA 的供電, 我發現不能只用一粒聲稱有 1.5A 輸出的 LDO, 它會在 "boot process" 中停了. 它的 boot process 是:

D1 + D2 on > D1 + D2 閃一下 > D2 著約20-30秒 >  D1 長著 (開機完成可播歌)


 
我主要用它的I2S 輸出接dam1021, 但有趣的是, 它旳PCM輸出和DSD輸出是用不同的 pin, 有重疊但又不是完會重疊, 我問過他 , 建議跟 dam1021 的方式去做, 希望他們接納這意見.


因為我主要是播PCM的, DSD的事可以暫時不理. 它的輸出針腳十分細少, 是0.5mm間距的, 常人不易銲接線, 幼線也不易揾. 我用了一個FFC/FPC轉 2.54mm針腳PCB.