8bit ⊿Σ Discrete DACの自作

現在位置のナビ

トップコンピュータの国雑記帳趣味趣味音響 → 8bit ⊿Σ Discrete DACの自作

説明

8bit ⊿Σ Discrete DACを自作しました。 詳細をここで説明します。

人によっては、ディスクリート DACとか signed magnitude R2R ladder DAC とか言うみたいです。

基板写真

動いた試作品

FPGAのMachXO3でようやく動作しました。

動かなかった試作品

FPGAのTang PrimerやMAX10では動作しませんでした。

使用した部品

こんな部品を使用しました。

FPGAの動作

入力がPCMのときは、24bit分の入力を受け取り(32bit送ってきたら下位8bitを捨てる)、64倍周波数で⊿Σ変調して8bitを出力します。 入力がCDDAならば、2.8224MHzの8bitを出力します。

入力が⊿Σのときは、webmasterの⊿Σ3値化特許を使って+,0,ーのどれかにして出力します。

基本回路

ラダー抵抗回路

よくあるラダー抵抗回路の出力を、OPアンプのボルテージフォロワーに入れて、その後DCオフセットをキャンセルしながら弱めのLPFに通しています。

反転回路になっているのでプラスマイナスが逆転しますが、いまのところ気にしていません。

工夫

お気楽オーディオキット資料館にも、マルチビット Discrete DACを製作した記事があります。 そこで読んだ情報にこういうものがありました。

8bitのDiscrete DACを作ると、普通はゼロ レベルの出力が0x80で、-1の出力が0x7fになります。 0と-1で出力8bit全部が反転するので、ここで出力電圧のギャップになりやすいです。

このギャップの対策を組み込みました。 8bitの出力が0x80になるときを『出力0.5』とし、0x7fになるときを『出力−0.5』としま す。 FPGAの中で⊿Σ変調しているので、入力がずっとゼロだと出力は0x80と0x7fが交互に出ます。 ギャップが無くなるわけではありませんが、影響が減ったと思います。

感想

エージングが終わりました。 音質は良くも悪くもニュートラルです。 何かを強調することはありません。

ES9038Q2MのDACと比較すると、ES9038Q2Mは高域に伸びがあって低域に色付けがあります。 Webmasterの好きなR&Rで比較すると、ソプラノ系の歌手はES9038Q2Mの方が派手に聞こえます。 ドラムスの音はES9038Q2Mが色付けするので、本物ドラムでも打ち込みのサンプリング音みたいに聞こえます。

Discrete DACの音はES9038Q2Mよりも自然に聞こえるので、webmasterの聴取環境で置き換えてしまいました。 高域は強調されることもなく普通に伸びます。 低音も自然に聴こえますし、不足はありません。

欠点もあります。 ラダー抵抗の出力をOPアンプで受けているので、OPアンプの性能がわかります。 OPアンプはMUSES8920→LF353N→OPA2134と差し替えました。 差し替えるたびにノイズが減ります。 OPA2134では、2.8224MHzの⊿Σは普通に聴こえますが、11.2896MHzだとホワイトノイズが乗ります。

リッピングしたCDDAを再生する環境として、我が家では電流駆動アンプと組み合わせると最強です。

この方式の理論上のS/Nを こちらで評価しています。

2025年10月30日追記

いまさらですが、OPアンプのデータシートを見直してみました。 BIAS電流やスルー・レートを比較すると、OPA2134がよさそうですね。

2024年4月19日追記 改良オーバーフロー対策

このDACの出力は8bitです。 入力のPCMは24bitで⊿Σ変調しているので、0x7fffffのような大振幅が入ると、計算がオーバーフローします。 オーバーフローしたときは、リミッターが動作するようにしておきましたが、振幅の大きいCD(ユーミンのYuming Compositions FACESなど)を再生するとノイズが聴こえます。 計算がオーバーフローしないように、PCM入力があった場合255/256にスケーリングすることにしました。

2024年5月3日追記

DACの出力は8bitですが、振幅は±127.5でした。 PCM入力のスケーリングを127/128にしました。

2024年4月27日追記 改良⊿Σ再生

1bit ⊿Σデータの再生時にノイズが乗るので、再生方式を再改良しました。 以前は特許を利用して3値⊿Σで再生していましたが、過去30個分の⊿Σデータの移動平均をとって31レベルの⊿Σとして再生するようにしました。 聴感上、11.2MHz⊿Σ再生時でもノイズが気にならなくなりました。

自分で、最初に作ったDACのクローンを作りました。 2台目も問題なく動作しています。

再生回路のOPアンプにMUSES02を使ってみました。 OPA2134とほぼ同じ感じです。

2025年9月28日追記 改良提案

8bit出力を計算するときに、ディザを足したら抵抗値のばらつきをカバーできるような気がします。 ⊿Σ方式だから、ディザを足しても最終的な出力は辻褄が合います。

2024年5月8日追記 設計データ公開

こちらで設計データを公開しています。 クローンを作れます。

2025年10月16日追記 3台目

Mach XO3 の評価ボードの3枚めがあるので、Discrete DACの3台目を作っているところです。 FPGA基板の下は、こんな感じのラダー抵抗です。

3台目つくりかけ

ピン配列は、公開しているコンフィグレーションから変えてあります。

2025年11月7日追記 3台目評価

Discrete DACの3台目がほぼ完成しました。 あとはボリュームツマミを取り付けるだけです。

初めて、Discrete DACと同じ筐体にヘッドフォンアンプを実装しました。 ゾクゾクするくらいダイレクト感のある音が出てきます。

2025年11月9日追記 Tang Nano 9k評価基板

Tang Nano 9k評価基板でディスクリートDACが作れないか検討していました。 結論から書くと、Mach XO3評価基板と同じ品質では作れません。

私のディスクリートDACでは、FPGAの3.3V電源を分圧して比較用のリファレンス電圧を用意しています。 このリファレンス電圧のおかげで、0Vを中心とした音声信号が作れます。

Mach XO3の評価基板ではFPGAの電源電圧がピン端子に出てきたので利用できました。 Tang Nano 9k評価基板の3.3V出力と、FPGAに供給する3.3Vは別系統です。 FPGAの出力電流が増えて電源電圧が低下した時でも、評価基板の3.3V出力は変化しません。 惜しいところで音質に差がついてしまいそうです。

掲載日

2024年3月21日 初出

2025年11月9日 追記


back button 趣味趣味音響へ