積分型DACのパルス生成遊び2024年08月15日

最近やたらと 「素敵なDAI基板」 を使った記事ばかりになってしまいましたが、今回は積分型DAC用のパルス生成方法を備忘録かねてざっくり紹介したいと思います。

CDP-701ESでエゴサしてみると、DAC化改造で苦労されていた方が見受けられました。
なんだかちょっと申し訳ない気持ちになってしまいましてね。
あの時、ヘソ曲げずに回路図を公開しておけば・・・なんて思ったり。まぁ若かったので許しておくんなまし。

今回はCDP-701ESをI2S規格で使用できるかどうかの検証を兼ねて、USB-DDCチップのPCM2706を使って積分型DACを動かしてみたいと思います。
これが実現できれば、SPDIFに関わる変換/復調回路が省略できますので、より高音質なDAS-701ESが出来るはず・・・です!







Aliexpressで購入したPCM2706C基板です。
今となっては古いデバイスですね。端子はmicroBでした。
古いのでハイレゾ等には一切対応していませんが、その分安価で入手できますし、何より特別なドライバのインストールが不要でPCに接続するだけで安定して使える点は、我々ローレゾ界隈では大きなメリットになるはずです。










数年前になんとなく買ったまま放置してあったPCM5102基板に直結したところ、あっさり音が出ました。
これだけでDACが出来てしまいます。
ちょっとした動作確認には丁度良いですね。










実は最初に買ったPCM2706C基板はUSB端子がハンダブリッジしていました。
DELLのPCに繋いだ瞬間、PCの電源が即落ち…!
ハァ?嘘でしょ?!
幸いAC抜き差しで復活しましたが・・・これ絶対検査してないヤツじゃん。disputeぽちーっ!
中華基板は安価ですが、基本的に完成検査をしていないので要注意です。以後、USBハブを介してテストするようにしています。











それでは楽しい楽しいブレッドボードの時間です。

PCM2706Cの出力はTC9245N等とは違い、I2S規格の出力になります。
まずはこのI2S規格をRJ16と呼ばれている右詰めの旧規格に変換する作業が必要です。

こういった作業にはマイコンやFPGA等でスマートに組むのが正しいのですが、残念ながら中卒の私には全然無理ですので、時代遅れの汎用ロジックICで組みました。







上から
BCK
DATA
I2SのLRCK
RJ16のLRCK です。

ブレッドボードなので波形がイマイチなのはご容赦を。
ざっくり云うと、BCKやDATAはそのままでLRCKをBCKの17bit分シフトさせる事でRJ16にする事ができました。
試しに秋月で100円で買えるRJ16のPT8211を繋いでみたら、ちゃんと鳴りました。

これを元に積分型DACに必要なパルスを生成していきます。












まずはWCKを生成してみます。
2LRCKとも呼ばれていますが、要はLRCKの2倍のクロックです。
上が元のLRCKで、中段がシフトさせたLRCK、下が生成したWCLKです。

まず、元のLRCKを半分シフトさせます。
TC9245Nの時はBCKが32fsだったので8bitシフトで済みましたが(TC9245NはRJ16の中でもちょっと特殊ですよね) I2SのBCKは64fsなので16bitもシフトさせる必要があります。
そのシフトさせた信号と、元のLRCKとでEXOR取ったものを反転させればWCLKの出来上がりです。

シングルの積分型DACなら、これだけで動かせるようになります。













ここからが本番。シングルではなくCDP-701ESのような左右独立のデュアル積分型となるとAPTLとAPTRという信号が必要になるんですよね。

ざっくり云うと、元のLRCKとシフトさせた信号とでANDを取ったものがAPTL、NORを取ったものがAPTRになります。

上からLRCK
シフトさせたLRCK
APTL
APTRです。

APTLとAPTRはLRCKの仕様によっては左右が逆になるので、使用するDAIの仕様に合わせてLRCKを反転させるかAPTL/APTRを入れ替えれば良いでしょう。

デグリッチ信号は、IC213跡地の8pinにLRCKを、反転させたものを9pinに入れればOKです。

それでは実機で動作確認です。










ジャンクのCDP-701ESを用意して接続。
ちゃんと音が出ました!
積分型DACはBCKが32fs〜48fsで、64fsはデータシートには記載されていないので心配でしたが、ちゃんと動いてくれました。
(はっきり明記されていませんが、動くっぽい記述はありました)

webでPCM-501ESをDAC化された方の記事を拝見したのですが、なんとマイコンを使って64fsを32fsに変換していました。凄いです。CPUをクロックアップしてデータを全部書き換えるなんて・・・!
でも、残念ながらその必要は無かったのかもしれません。

今回の検証回路で使ったデバイスはHC595を4個、HC02(NORとAND)、HC74、HC86(EXORとNOT)の計7個の汎用ロジックICです。HC86以外は秋月で安価に揃います。

デグリッチのLRCKやAPTL/APTRは変換タイミングの基準となる大切な信号ですので、できればHC74等でBCK基準で叩き直してあげたほうが良いです。HC74なら反転した出力も取れるので便利ですしね。
CDP-701ESオリジナルのデグリッチ回路もIC213でLRCKを叩き直してから出力とその反転を利用しています。
今回はあえて叩き直さない方法で組んでみましたが、ブレッドボード上でも問題なく動作しました。
基板化すれば波形もビシっと安定するでしょう。










今回餌食となったジャンクのCDP-701ESですが、電源ONでいきなり右chから強烈なピー音が出て焦りました。
LPFを軽く叩いたら消えましたが、やっぱりもう限界ですので互換LPFに交換予定です。






コメント

_ adxda ― 2024年08月17日 12:12

こんにちは。お久しぶりです。
(以前に初代DAS-701の時に少しやり取りをさせていただいていました)
解説をありがとうございます。
私にとっては、実際に製作するまでにロジックのH/Lなどまだまだ勉強をしなくてはいけませんが、これからも拝見をさせていただきながら進めていきたいと思います。
DAIや11次GICの基板化もとてもうらやましいです。
追伸:みやび(猫ちゃん)もお元気でしょうか。。。

_ りょうさん ― 2024年08月18日 18:22

adxdaさん:
お久しぶりです。
新しいオシロを入手したので、今までよりは分かりやすく紹介できたかなと・・・思います。
みやびは元気ですよー。食いしん坊でけっこうでかくなりました。

_ etoile ― 2024年08月28日 09:44

この個体もLPFが成仏されていたのですね。
やはり時間経過的に厳しくなって来ているのですね。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://kousokuweb.asablo.jp/blog/2024/08/13/9708871/tb