FreeDSP Catamaran A/B

 

A DUAL-MONO CONSTRUCTION DSP WITH INTEGRATED DIFFERENTIAL CODEC AND  I/O BOARD


Introduction

FreeDSPのプロジェクトで何枚か基板を開発していく過程で、ADAU1701の弱点が見 えてきた、第一にSRCが無いのでデジタル接続を考えた場合の実用上の制約があること、例えばSRCなしだと今日のようにハイレゾや普通のレートのコンテンツ が混在して再生される状況ではfsが変わる度にフィルターの係数や各種のパラメーターをセットし直さなければならないし、スレーブ動作ではロックしていない時 の動作がどうなるのか?、そもそもfsが自分では読めない状況でどうやって対処するのかという課題もある。しかしながら、これはADUAU1452とか ADAU1466であれば何ら問題ない事であり ADAU1701にデジタル入力を無理やり付けること自体がナンセンスに思える。 次の弱点はチップ内蔵のコーデックのアナログ性能である。DAC側は殆どの用途で問題 ないレベルの性能だと思うが、ADCの方が最大入力レベル近くになると非直線性に起因する歪みが急に増加してくるという問題がある、0dBFSから絞っていっ て-20dB辺り まで信号レベルを下げれば十分満足いく性能なのだが、これではS/N的に不利になってしまう。 近年のJ -POPのようにレベル振り切りでマスタリングされたソースなどとの相性が最悪で、ADCがもう少しだけ性能が良ければ殆どの用途で満足できるので外部の独立したADCを 使う必要 も無くなり、この石だけで完結するのだがなぁ〜と感じ続けて2年程が経過したある日、ふと思い立って2つのADC入力に逆相の信号を入れてDSP内部で差動合成の 演算をする実験をしてみた。
 結果は想像以上のもので、ADC-->DSP-->DACとオーバーオールで測 定した実験では100Hz での全高調波歪みが0.00723% --> 0.00287%に、1kHzでの 全高調波歪みが 0.00642% --> 0.00171%と全高調波歪みが大幅に低減された、さらに2つのADCを差動で使う ことから、理論上は残留ノイズレベルがルート2分の1、つまりS/Nも3dB改善できるのだ! こうなったらもう作るしかないという事で、以前か ら構想していたADAU1701を2個使ったモノコンストラクションの4wayチャンデバを設計してみる気になったのであった・・・



Design Concept

モノラル入力で4出力の基板を2枚使ってステレオを構成するというスタイルが、ちょうど双胴船(英 語ではCatamaran)のイメージと重なったので、今回のプロジェクト名はFreeDSP Catamaranとすることにし、いつものようにA/Bの比較試聴が簡単にできるようにすることのでA/Bというモデル名がサフィックスとして付くことに決めた。

所詮DSPチップに搭載のコーデックなんてオマケ的な音が出るだけの代物だろうと思われている方も あるかもしれないが、実は普通のエントリークラスのADCやDACとそう違わない性能が得られる、総合的に見るとADCの性能限界でオーバーオールの性能が制 限されてしまう状態なので外付けの高性能ADCを使うという手も可能だが、内蔵ADCで一体何処までの性能が得られるか?という技術的なチャレンジの意味合い もある。 言い換えればチップの限界を回路技術で超える手段として2chのADCに逆相で信号を入力し、DSP内部でデジタル的に差動処理をすることでADC の非直線性がキャンセルされ、同時に残留ノイズがより分散することでS/Nも向上するというのが最初のコンセプトである。ある程度設計ができたところでDIY Audioフォーラムに投稿したところ海外のメンバーから強くバランス入出力端子の装備を薦められた。 確かに電源が3ピンで保安接地のある国で3台や4台も パワー・アンプを接続すれば不平衡出力だとGNDの電位が揃わず定位が悪化したり、グランドループの電位差に起因してノイズが載ってしまう可能性もあるだろ う、入力側についても同様で全ての機器が良好な同じグランド電位には無いと考えておいた方が現実的だと思えた、しかし単純に出力にDRV632などの石を継ぎ 足すことはしたくなかったし、第一あの程度の性能の石では明らかに音が劣化してしてしまうので使えない、随分と悩んだあげく思いついたのがバランス出力ではな く差動出力にするというアイディアであった。つまり通常のRCAピンプラグとジャックを使いながらも、機器間の電位差に合わせて信号をスライドしてあげること でバランス接続時と同様の効果を得ようというアイディアである、トランスと違って回路の動作電圧の電位差範囲内に効果は限定されるが微小な信号がダメージを受 けるのを回避するには十分な効果が発揮できるものと思われる。 そこでADC入力側にはOPA1632による差動入力をアンバランス接続しながらも抵抗でグラ ンドリフトできる構成とし、DAC側もRCAピンプラグのコールド側を抵抗で浮かせることを可能な構成としたうえで、出力信号をピンジャックのコールド側の電 位と並行 にシフトさせることができる差動出力機能を持つ多重帰還型のLPF回路を新たに開発した。例えて言えばパワーアンプの入力信号に対してコモンモードチョークや ガルバニックアイソレーター的な効果が得られるはずなので、4台のパワーアンプをRCAピンケーブルで接続してもGNDループノイズや定位感の悪化に悩まされ る事はなくなる筈という目論見である。

モノラル入力の2枚の基板を使ったステレオで構成でも便利に使えるようにするために、TDMの入出 力をフル活用することで例えば3D構成のモノラルサブウーハーを使用したりすることが可能になります、具体的な使い方については以下の図を参照されたし。

4way Stereo Configuration: (2boards required)

左右完全分離でクロストーク一切無しも魅力的だが、現実的にはモノラルのサブウーハーに対応し たり、完全なボリューム連動を実現するために左右間でデータのやり取りを行う必要があるのでTDMリンクを活用することになります。



2way XLR output Stereo Configuration:   (2boards required)

DSP出力を差動で受けることでDACのS/N性能まで3dB向上する一番のハイパフォーマン スが期待できる構成例


4way XLR output Stereo Configuration:   (4boards required)

同様でパフォーマンスを追い続けてXLR接続で4way対応となると4枚の基板が必要になります、 この場合は左右での信号のやりとりはできません。当然クロストークもしようがありません(笑)


8way Stereo Configuration:  (4boards required)



本当にここまで拡張する人が存在するのか判らなかったのですが、イタリア方面には居るらしい事が判 明しました(笑)




Prototype Circuit Design

 ver0.11 Schematic

最初のバージョン0.1の回路は普通の不平衡入出力であった。 ADCに逆相の電圧を与える回路も普通のオペアンプで構成している。

ver 0.11 Schematic Circuit Diagram -> FreeDSP_Catamaran_Schematic_0v11.pdf

回路的にはFreeDSP Classic SMD A/Bをほぼ継承しているが、2枚の基板を連携動作させるために一部設計を変更している。デジタル入出力は2枚の基板間をTDMフォーマットで8chの音声/データを受け 渡しする ことを前提とし、外部へのDACやADCの拡張接続は考慮していない。A/Bのプログラム切り替えも信号直接でなく電圧で切り替えるように変更した。システムクロックは TCXOを使用し、何れかの基板をスレーブ動作とすることで2枚の基板が同期して動くように構成を変えている。2way出力で十分な場合には2つの出力 を逆相でドライブすることでXLRバランス出力が可能なように接続ヘッダーを追加した、ちなみにこの出力方法でバランスで受けるとDAC出力信号のS/N がさらに3dB向上するという特典が得られる。 同じコネクターを使ってオプションで用意したのXLRバランス出力基板を追加すれば4系統のXLR出力が可能になる。


Schematic Circuit Diagram (ver0.2)

version 0.2 Schematic Circuit Diaram -> FreeDSP_CatamaranSchrmatic0v2.pdf

何度かDIY Audioフォーラムでディスカッションを交わすうちに、ただ一つの共通グランドでの不平衡接続 では、プレーヤーからパワー・アンプまで全ての機器を同一のシャーシーに入れてオールインワンででも構築しない限り理想的な接続は不可能だと思えてきました。 現実的に考えてそのようなケースはまれでしょうし、気軽にAliExpressやeBayで10ドル以下で買えるClass-Dのパワーアンプ基板を買ってマ ルチアンプ駆動で遊ぼうというコン セプトから始めたプロジェクトではありますが、そこそこの性能が期待できるとなった以上は個別のシャーシーからなる機器を何台も接続して鳴らすときも、なるべく問題が生じ ないような実用的な回路にしようという気になったので、新たに差動の出力回路を考案し実装しています。

元のLPFフィルター兼不平衡出力回路の後段にシリーズに回路を増やすことなく、差動で出力できる ようにRCAピンジャッ クの コールド側を抵抗で共通グランウンドから浮かせてゲイン1倍の反転増幅器で多重帰還型LPF回路のサミングポイントに戻すことで出力信号がRCAピンジャック のコールド端子と平行に動くようにしています。 ADC入力回路は高性能な完全対象型オペアンプであるOPA1632を使うことで正確な逆相の信号を得なが ら、入力 を差動入力にしてグランドリフトすることを可能にしています。もう一段バッファーを追加して入力インピーダンスを上げ、差動駆動回路側のインピーダンスを下げたい という気持ちもありますが、信号経路を長くしても失うものの方が多そうな気がしたので入力インピーダンス10kΩで妥協しました。



Prototype PCB Design

今回もki-CADを使用しJLPCBでPCBAするという前提で基板設計を行います。 JLPCBは10cm×10cmを超えてもいきなり極端に基板のコストが上がる事は無いのですが、無駄に大きくしてもメリットは無いのでこのサイズで作ることにします。

目一杯に部品を載せたつもりです、苦労しつつもなんとか2層で全てを接続することができました。ま だ作ってないので、以下に基板のイメージ画像を載せます。


基板の上面側です。ステレオで使うためには、このページトップの画像のように基板が2枚必要です。 その場合いくつか不要になる部品があります。

Top View:

ADC入力側にあるC14, C13, C22などの見慣れない部品は電解コンデンサーとWIMAなどのフィルムコンデンサーの両方が使えるフットプリントです。2mmピッチと5mmピッチの部品が挿せます。残 念ながら出力側はスペース不足で電解のみ対応となりました、ピンヘッダーは長い連結用のものとソケットを使用して基板間を直結することも可能です、基板を重ね て使う場合には10PのMIL(IDC)コネクターはアングルタイプに変えた方が使いやすいと思います。TDMリンクを接続するケーブルは1〜10ピンをひっ くり返して接続した(ねじれた接続の)専用ケーブルが必要です。そのケーブルを接続することで入出力バッファーがアクティブとなりTDM信号のやりとりができ るようになります。

RCAピンジャック周辺にあるEHコネクターはオプションのXLRバランス出力基板と接続するため のものです。

基板の裏面側です。
Bottom View:

ディファレンシャル動作を停止させたい場合には、JP2/JP6/JP7/JP8/JP9のラ ンドを半田ブリッジすることでアンバランス出力になります。必要に応じてこのランドにグランドリフトスイッチを外付けするのも一案でしょう。

この図では左右の基板別に独立したロータリーポットを載せて個別に細かく調整する用途を意図し ていますが、左右チャンネルを連動させながら帯域別に音量を変えたい場合も多いと思います、その場合は上下の基板を貫通するロングピンヘッダーをJ7に実装し てアナログ電圧制御でもって上下の基板を連動させることもできますし、デジタル的にTDM-LINKでポットの位置情報をやり取りできるので、極めて高精度に 左右チャンネルの音量変化を連動させることもできます。 絵にはありますがリセットボタンは不要です。
このTDM-LINKは8つのデータースロットと同時にマスタークロックもやり取りすることが できるので、J11でどちらかの基板をスレーブに設定することで同一クロックで左右のチャンネルを動作させることができます。(JP1をハンダブリッジするこ とで不要なTCXOを停止させることができます)

Design Files

Git-Hub https://github.com/freeDSP/FreeDSP_Catamaran_AB(← 最新の設計ファイル類はこちらからクローンしてください)


Version Histories

VERSION Date Note
0.1 8th, Jan. 2022 Initial Release Un−Balanced I/O version.
0.2
15th, Jan. 2022
Differential I/O version.
0.21
29th, Apr. 2022
First Prototype PCB design for debugging and Evaluations, (Ordered to JLPCB)





Prototype Evaluation


JLPCBにVersion 0.21のデーターで基板とSMTを依頼しました、EEPROM以外の表面実装部品は全てマウントして貰えました。 基板が届いた翌日に秋月電子とマルツに寄って後付けの パーツを買って、 数時間で組み立ても終わり動作確認を始めたところ、いくつか定数変更が必要なところと、一箇所ポカミスがあり基板の修正が必要な箇所が出てしまいました。

Lower Side (Master) version 0.21 Prototype PCB

スレーブ側の基板との間を支えるスペーサーには基板の間隔が20mmになる樹脂性の物を使用し ました、ピンヘッダーはロングタイプではなく通常の高さものです。

Upper Side (Slave) version 0.21 Prototype PCB

マスター音量や帯域別の音量バランスなどの情報はTDM-LINKを通してデータをやりとりす るのでロータリーポテンショメーターはマスター側の基板にのみ実装してあります。
J7を上下に貫通させることでTMD-LINKを使用しないでも電圧制御による連動動作も可能 です。

マスター側の基板と接続するためにリードの長さ15mmのピンソケットを基板の下側に付けてい ます、このようにソケット化することで重ねて上下の基板間はTDM-LNKケーブルだけを接続すれば接続完了です。
TDM-LINKでコントロール系のデータをやりとりするのであればJ7のソケットは不要です が、version1.0の基板では1ピン足してリセット動作を連動できるように変更したのでデフォルトで実装することにしておきます。 

注意する点としてTDM-LINKケーブ ルは捻って接続、つまりpin1が相手方のpin20に、pin20が相手側のpin1に繋がるようにする必要があるので、リボンケーブルを作成するときに は画像のように「ねじれの位置関係」になるように作成するか、普通の接続ケーブルを使ってどちらか片方の基板の20pinヘッダーを180度回転させて取り付 ける必要があります。

Change order for 0v21 PCB 

Reference
Change Order
Comment
R87 4.7k -> 1k I2C data pull-up resistor
Needed rise speed-up.
R89 4.7k -> 1k
R91 4.7k -> 1k
R34 10k -> 18k S/N goes worth even in fs=96k.
18k is better rather than 10k ohms.
R36 10k -> 18k
R46 10k -> 18k
U4 Change to FET or CMOS input Low-InputBias / Low-Noise Op-Amp. OPA1611/OPA1602 was too high Input bias currents.
Output voltage was far from input.
IC1 Swap MP0 and MP1 TDM input is only available on the MP0
(上記変更点は2022年5月17日現在、ver0.21基板)
その他の問題として5Vレギュレーターの発熱が激しいので、ヒートシンクを貼付するか、 3.3V定電圧ICのほうをVX07803-500な どのSMPSタイプに変更してDC12Vから直接生成する方式に変更するのが熱的には良いだろうと思います。しかし折角の高性能を目指していたのが 電源ノイズのために台無しになるのだけは避けたいので悩ましいですね・・・
 TDM信号を受けられるのはMP0だけなのですが、設計の段階で気づかず version0.21の基板ではTDMデータの受信用にMP1を繋いでしまっていたので受けられなくて焦りました。 MP0はLEDの点灯用にGPIOとし て使っていたので、MP0とMP1の入れ換えは以下の画像のような方法で対策をしました。 (もしTDM-LINK を使わないならこの改造は不要です)

振動などで剥がれてしまわないように、動作確認後はテープやグルーで改造した部品と配線を固定 しておきま す。


Test Results

本デザインの一番の目玉であるADCの非直線性の改善による歪みの低減機能が安物のICを使っ てしまうとコーデック本来の性能を超えられず、目的とするものを損なう可能性があったので、不慣れな高級なICを使ったがそれなりの意味があったようです。  入力されたオーディオ信号はOPA1632で差動信号に分けられて2つのADCには逆相の波形が入り、DSP内部で引き算される事で大振幅時の非直線性が改善 されました。副次的な効果として2系統のパスを加算することでシステムのノイズが 1/(√2) つまり3dB S/Nが良くなるという効果もあります。 アナログ信号を入力しADCとDSPを通してDACから出力された信号は2度の変換を経ていますがADAU1701でできること の最善を尽くしたおかげで、FreeDSP Classic SMD A/Bで予備実験したときよりもかなり良い特性を得ることができました。

通常のADAU1701搭載のADC1個使いの場合のオーバーオール特性
1.5kHz付近に波形の上下非対称なゆがみに起因する2次の高調波歪が多く発生しています。

それに対しADC2個を差動で動作させた場合は
20dB(ー桁)以上の大幅な歪特性の改善ができています。これはもう単品の高性能ADCチッ プ並み の特性だと言ってもい いと思います。 
DSPにオンチップのコーデックでこれだけ多くのアナログ回路を通していながらも、オーバー オー ル特性で汎用安物のオペアンプ単体より歪みが少ないという結果を得るに は、どこか一箇所でもダメなところがあると実現できません、こんな所がオーディオ沼の病気な所以ですね(笑) 

ちょっと低域のノイズが多いなぁと気になったので、このあとでfsを96kHzに変えて、ノイ ズが少ないACアダプターを探してきて基板の置き場所も変えて測りなおしてみました。

FreeDSP Catamaran A/B ADC to DAC Overall Audio Performance

低域側の誘導やACアダプターの電源ノイズだったと思われるノイズが消えています、帯域が拡 がったためなのか?歪みの量が0.00074%へと僅かに増えていますが、それでもオンチップのコーデックをスルーしてきた総合特性だと考えれば大したものだ と自我自賛しちゃっています。 基板を裸で測定しているのですが、特性を測るのもこのくらいまで来ると測定する周辺の環境も気にして測定しないと何を測ってい るのか訳が分からなくなってしまいがちです・・・

まだ成果を測定できていない項目に、実験的な試みとしてRCAピンプラグを使ったディファレン シャル入出力回路を搭載 しています。 いまどうやって具体的な効果を検証するか考えていますが、一体どうやれば目で違いを見せる事ができるのでしょうか・・・(思案中)

Version 1.0 PCB Design Release

version 0.21基板で動作することが確認できたので、version1.0の設計データーを公開しました。FreeDSP のGit-Hubのリポジトリからダウンロードできます。

このリリースでは以下の点を変更しています

Released Schematic Version 1.0


抵抗の定数以外の変更点は、U4の品種変更、MP0とMP1の入れ換え、U7の電源を DC12Vからの生成に変更してC70を追加、J7のピン数変更などです。

Released PCB Version1.0  (Top View)



Return to Project Main Page

  [注意事項]
 本情報は、あくまでも部分的情報の公開が目的であり、確実で完全な情報であることを保証するものではありません。 ユーザー個人の趣味であり またメーカを冒?したり営業妨害を意図するものでもありません。 従って本情報に基づいて機器を改造した際に、機器が動作しない、もしくは、期待した 性能が得られない等の 障害が発生したり、万が一に事故等が発生したとしても、当方は一切の責務において関知しないものであります。 実際に機器の改造を行う際は、あく ま でも各自、個人の責任において行ってください、腕に自信の無い方は絶対にトライしないで下さい。 本設計の回路やアイディアの無断転載や商用化はご遠 慮ください。
[Caution:] If you use above information, At Your own risk! inserted by FC2 system