North Fox Digi
North Fox Digi
Raspberry Pi用の高品質SPDIF/I2Sデジタル出力基板
< North Fox Digi 基板 >
デジタル出力は HDMI-I2S / COAXIAL / TOS-LINKの3系統。
すべての部品が実装済みですので、RaspberryPiに乗せてすぐに使用できます。
特徴・スペック
◇ シーラスロジック社のWM8804をクロックマスターモードにて使用
◇ 同軸と光コネクタのS/PDIF出力
◇ HDMI端子を利用したLVDS化I2S出力(PS Audio互換)
◇ 最大192kHz/24bit ハイレゾ出力
◇ 低位相ノイズ水晶発振器を44.1kHz系(45.1584MHz)と48kHz系(49.1520MHz)の2個搭載
◇ I2S位相切換機能(SD、LRCK信号のHOT/COLD入換え)
◇ 低ノイズレギュレータ、OSコンデンサ、導電性高分子タンタルコンデンサ等を使用し最適パターンによる徹底した電源環境
◇ ステータス・インジケータLED
※一般のHDMIビデオ信号とは互換性がありませんのでご注意ください。AVアンプや正規HDMIを搭載したアンプとは接続できません。
設定方法
Allo DigiOne / DigiOne Signatureドライバを選択します。
< Volumio2での設定 >
< Moode Audio での設定 >
※ 実は、DigiOne Signature でも DigiOne でも全く同じ allo-digione ドライバが設定されます。
マニュアルで設定する場合は /boot/config.txt に下記の3行を記載してください。
dtparam=i2c_arm=on
dtparam=i2s=on
dtoverlay=allo-digione
WM8804/WM8805を使用してクロックマスターモードで動作するSPDIF出力基板は、Hifiberry DIGI2 PROやAllo社のDigiOne Signatureがあります。その他 IQaudiO社、justboom社など多くのSPDIF基板はクロックが1個のみのスレーブ動作基板です。基板上の発振器の数で簡単に見分けることが出来ます。
電源のコンデンサを増やすと起動タイミング問題でWM8804を正常にリセットできないため、リセット信号を追加した対策版であるAllo社のDigiOne Signatureのドライバを使っています。
I2S - MCLK 周波数切換機能
基板上のスライドスイッチ「S1」にてクロック周波数を切換えることが出来ます。
適応されるのはHDMI-I2S端子のみです。より高クロックで転送することで品質の高い再生が期待できますが、対応していないDACの場合はデータを正しく受信できません。そのときは、22/24MHz側へ切り換えてご使用ください。
45.1584MHz / 49.1520MHz <-> 22.579MHz / 24.5760MHz
44.1kHz系と48kHz系のクロックは再生するデータに応じて自動で選択されます。
I2S位相切換機能
HDMIケーブルにLVDS化したI2S信号を流すというのはアメリカのPS Audio社が始めたものらしいですが、映像を転送する本来のHDMI規格に則っていません。ですので、規格自体がなく中華DACメーカーはPS Audio社とは異なる信号アサインをしているものが存在します。下の比較表をみるとHDMI規格に対してPS AudioのSD/LRCKの位相が反転しているのがわかります。
NorthFoxDigiは何も設定しないとPS Audio互換です。
HDMI端子番号 | PS Audio | 中華DACの一部 | HDMI規格 |
1 | SD- | SD+ | TMDS Data2+ |
3 | SD+ | SD- | TMDS Data2- |
4 | BCK+ | BCK+ | TMDS Data1+ |
6 | BCK- | BCK- | TMDS Data1- |
7 | LRCK- | LRCK+ | TMDS Data0+ |
9 | LRCK+ | LRCK- | TMDS Data0- |
10 | MCLK+ | MCLK+ | TMDS Clock+ |
12 | MCLK- | MCLK- | TMDS Clock- |
SD/LRCKの位相が反転すると、再生音はL/Rが逆になるのと信号の極性が逆転します。
音は普通に聞こえますが、左右が逆なので良く聴いている曲では異変に気付くと思います。
North Fox Digiでは
GPIO27操作にてSDとLRCKの位相を反転できる機能を搭載しています。
GPIO27 LOW =PS Audio互換(デフォルト)
GPIO27 HIGH=中華DACの一部
下記pythonスクリプトを作成して実行することでGPIO27をHに操作してI2SのSDとLRCKを反転します。
hdmi_inv.py
==============================
import RPi.GPIO as GPIO
INV_PIN = 27
GPIO.setmode(GPIO.BCM)
GPIO.setup(INV_PIN, GPIO.OUT)
GPIO.output(INV_PIN, GPIO.HIGH)
==============================
RPi.GPIOが必要になる場合があります。
$ sudo apt-get update
$ sudo apt-get install RPi.GPIO
実行するには
$ python2 ./hdmi_inv.py
自動起動するには /etc/rc.local に下記を追記します。
/usr/bin/python2 /home/volumio/hdmi_inv.py
を exit 0 の前の行に追記。(volumioの場合)
※中華系DACの中には、メニューからPS Audio互換にできる機能を搭載しているモデルもあるようです。(TOPPING D70など)
HDMIの13~18pin
ケーブルの検出に18pinに5Vを印加しなければいけないシステムや、I2Cによる通信が必要な場合に簡単に配線を接続できる「J1」「J2」を用意しています。J2をショートすると5Vが供給できます。保護のために抵抗を入れるなどご自由にどうぞ。 J1の方もDIYに合わせてご自由にアサインください。
3.3Vロジック I2S出力
HDMIコネクタへはLVDS化した信号を出力しています。3.3VロジックのI2S信号を取り出したい場合はJ8をご使用ください。
RaspberryPi I2C端子
J6はラズパイのI2C端子をアサインしています。LCDやOLEDディスプレイなどの接続にご活用ください。
HDMI-I2S接続のジッター優位性について
SPDIF接続とI2S接続したときの受信部のジッターを比較してみました。通常のSPDIF受信部には信号同期用のPLLが搭載されていて、ジッター発生の要因になっています。
Triggerの位置(約10ms手前) 残像表示にすると視覚的に分かりやすい。
外部電源入力
通常はRaspberryPiから5V電源をもらって動作します。
よりクリーンな電源を入れたい場合は、半田つけ作業が発生しますが下のように外部5V電源を入力することも可能です。
FB1(フェイライトビーズ)を取り外して「J7」から5Vのクリーン電源を供給します。
おすすめは、スイッチング電源を使っていない電源です。DC-ArrowもOKです。
外形図
関連ブログ記事一覧
North Fox Digi 試作基板 HDMI-I2S/SPDIF
North Fox Digi 試作基板 ついにHDMI-I2S動作確認
月刊ステレオ 2021年9月号にて Blue Snow DACが紹介されました
最近のコメント