DAC4398企画の再起動の巻き!〜M9000で動かしてみよう〜 2022.4.7
過去に立ち消えになってしまった企画です. きっかけを頂き、7年越しに再開です。
こんな投稿をいただきました.
そういえばCS4398については、過去に基板までつくったはずです.
HPをたぐってみると、なんと7年前に企画をしています.
そして、とりあえず動作確認してソフトの作成手前でなぜか立ち消えになってしまっています.なぜだろう?
たぶん、興味が違うところに移ってしまってそのまま忘れさってしまったということなのでしょう.
まあ、こういったことは珍しいことではありません.いくつもの企画が途中で投げ出されています(笑.
で、秋月からCS4398のコピーとおぼしきチップは下記になります.
550円ですから安価ですね.面白そうなので注文してみましょう。
秋月からCS4398のセカンドソース(?)品のDACが安価に販売されています。 |
ちなみにデータシートをCS4398と比較してみましたが、ほぼコピペな感じです.
勿論、マニュアルの体裁は違いますが、中身は同じです。
データシート
CS4398 CS4398_DS568F3.pdf
M9000 m9000.pdf
シーラスロジックって無くなったの?
しかし、なんでCS4398のコピー品がでるのか不思議ですが、ひょっとしてシーラスロジックが身売りされた?
かと一瞬思いましたが、そうではなさそうです.まだ会社は存続しています. それにシーラスロジックのラインアップを
みると、まだCS4398が現役ででてきます.
ということは、セカンドソースとしてライセンス生産を許可したということなのでしょうね.
ソフトを考え直す!
さて、もともとのDAC4398ではLCDをつけて、操作スイッチで色々なパラメータを変更できるように考えていたようですが、
改めてDACのデータシートを眺めてみると、それほど変更できるパラメータは多くなさそうです. いや、パラメータは多いのですが、
入力信号に応じて一意に決まるものが多いので、あえてスイッチ等で設定する必要もなさそうです.すなわち、入力信号を解析して、
それに応じてパラメータを変更すればいいだけです.
さらに、CS4398ではPCMとDSDでは入力がわかれているように見えますが、PCMの入力ポートはDSD入力にも兼用できるようです.
では、外部でPCMとDSDの切替スイッチが必要かといえば、その必要もなく信号を解析すればDSDとPCMのどちらかが判別できますから
自動設定が可能です.
ということで、DAC4398のH/Wから考えると、PCMはI2Sフォーマットに限定してやれば、外部設定はまったくなしでもできそうです.
でも、それでは折角の外部端子が無駄になりそうなので、ちょっとだけ設定できる項目を付け加えましょう.
CS4398には入力が2系統あります。1つはDSD専用ですが、もう一つはPCMとDSDのどちらも入力可となっています。
入力信号がPCMかDSDかを判別するのは簡単なので、それで自動的に切り替えるようにすればいいですね。
LCD、スイッチの採用は取り消し!
もともと4つのスイッチをとりつけるようにして、LCDを見ながらの操作を考えていましたが取りやめです。
基板端子の機能をあたらに再定義です。
端子番号 | 機能 | |
P4 | 入力ポート設定 | 開放: CN2入力(PCM/DSD自動判別) GND: CN1入力(DSDのみ) |
P5 | DSD Over Sampling | 開放: x64 GND: x128 (但し入力周波数によってx64のみ、x128のみの動作となる) |
P6 | PCM入力フォーマット | 開放: I2S 接続: RJ24(右詰め24ビット) |
P7 | N.C | 未使用 |
P7端子は未使用になってしまいました。
簡単に使うにはCN2を入力とするなら、何も設定する必要はありません。
CN2にPCMあるいはDSDの信号を叩きこむだけです。あとは必要な設定はPICが行ってくれるようにソフトを組みます。
ソフト開発開始!
さて、ソフトの仕様が決まったところでソフト作成に入りましょう。 まずは基板の捜索です。
7年前なのでどこにしまい込んだやら・・・・・。 嫁入りに出していないかぎり、どこかにあるはずです(笑。
基板が出てきました.スイッチも付いたままですね.
当時はPIC16F886を主体に使っていたのですね。もうだいぶ古い世代のPICです。
とりあえず基板は見つかりましたが、実装されているPICはだいぶ古い(PIC16F886)ものです。
もちろん、これでも問題ないのですが、この頃のソフト開発はPICへの書き込みの度にソケットから外して
ライタで書き込んで元に戻すという極めて面倒なことをしていました。 最近ではICSP(In-Circuit
Serial Programming)
のポートを必ず設けていますので、PICは挿したままでプログラムの変更ができます。
そこで、今回のソフト開発のためにICSPができるようにしたPICに乗せ換えです。
PICにはPIC18F26K83を使いました。PIC16F886に比べて、速度と容量はどちらも8倍と強化されています。
もっとも、それだけ容量があっても結局は数%しか使わないでしょうが・・・・。
ソフト開発用にPICを乗せ換えました。
ソフト開発はほぼ完了!
基本的に入力信号と基板端子の状態を解析してPICのパラメータを設定するだけなので、
プログラムも基本的にはシンプルなものです。 ただ、入力の周波数に応じて変更する
パラメータが結構あります。あと、マスタークロック周波数がおよそ30MHzを超えると、事前に
プリスケーラで1/2に分周する必要があるのを忘れないようにしておかなけばなりません。
本来はLCDは不要なのですが、デバッグのためにはやはりこういった表示があると便利です。
ソフト開発では入力コネクタの信号の情報と、主に設定するレジスターの値を表示させるように
して、デバッグを行いました。これでだいぶはかどりました。
LCDがデバッグに役立ちます。 72-90-00とあるのは、REG1,REG2,REG5の値です。
REG1はチップIDですが72です。REG2が主要なパラ―メタです。REG5はボリュームです。
M9000が到着!
秋月に注文していたM9000が届きました。ということで、さっそく実装です。
M9000が届きました。さっそく基板に載せていきましょう。
電解コンデンサに何をつかおうかうかと少し考えましたが、47uF/6Vの電解コンデンサ(OSコン?)があったので
これを使ってみることにしました。SMDタイプですが袴を取り外せば、リード品のようにつかうことができます。
ちょっと無理やりですが(笑。
電解コンデンサにはこれを使いました。
お出かけ用の写真を撮りました。LCD関連に必要な部品は実装していません。
こちらも動かしてみましょう!
さて、同じ様に動くかどうかの確認です。一応、デバッグもできるようにLCDも搭載しました。
LCDが接続できように、ピンとVRをとりつけました。
同じように動きますね。 チップID(72)がCS4398と同じなので、完全なコピー品でしょう。
DSD256までは動きそう!
さてCS4398/M9000がどこまでの周波数で動くかです。PCMについては192kHzとなっていて、
DSDではSCKが最大で6.4MHzとなっています。すなわちDSD128(5.6MHz)までの対応になっていますが、
実力的にどうだろうということで調べてみました。実際にはDSD256(11.288MHz)でも動くような感じです。
ただ、調子にのってDSD512(22.57MHz)にしたら動きませんでした。
DSD256では動くようです。スペックは超えていまが・・・・。
流石にDSD512では動かないな〜。
最後の仕上げ!
音出しの為にはアナログ出力として出す必要があります.
CS4398/M9000は比較的低インピーダンス出力なので、コンデンサでDCだけカットしてやれば
直接アンプに接続することもできます. でも、折角なので差動アンプを接続してみようかと思います.
ICのデータシートには推奨回路が掲載されています.
データシートでの推奨回路です.
しかし、いくらVCC/2のオフセットが乗っているからとはいえ、上下アンバランスの回路定数も気持ち悪いものがあります.
それに、なんで推奨回路ってこうも中途半端な値の抵抗値を使いたがるのでしょうね?
604Ωとか、698Ωとか、こんなの市販されているのだろうか?
と思って調べたら結構ありました.でも、秋葉や日本橋の店頭では無理だろうな〜.
こんな中途半端な値の抵抗も普通に売っていますね.
アンチョコの差動回路で
差動アンプ+LPFについてはこんな感じで大丈夫でしょう.
すべて同じ値の抵抗で済ませています.
1.5kΩ抵抗と1500pFコンデンサならどこでも入手できるでしょう.
もっともこの値に拘ることはないので、手持ちのものを使えばいいでしょう.
こんくらいのシンプルな回路で十分でしょう.
この定数ではカットオフ周波数は約70kHzになりました.
ちょっと考えるところがあって
抵抗値3kΩ、コンデンサ1000pFで設計してみました..
すこし回路定数を変更です.
カットオフは50kHzくらいになりました.これでも十分ですね..
差動アンプを組み立てよう!
最初は差動アンプに手元にあるアンプ基板を使おうかと思いましたが、DAC4398の基板自体が標準サイズの半分と小さいので、
アンプも小さいものにした方がバランスが良いでしょう.小さい基板に手組みしたいと思います.
そうしたときに、普通にリードタイプの抵抗やコンデンサをつかうと実装面積が大きくなってしまうので、
ここで手持ちのチップ部品をつかってやろうということで、あえて抵抗値3kΩ、コンデンサ1000pFにしたわけです.
そして、OPアンプ相手の配線だと、結構チップ部品のサイズがピン間隔に納まることもあってコンパクトに作れるのですよね〜.
こんな形のコンパクトな差動アンプを作ってみました.
OPアンプは4580を使っています.
CRはすべて裏面に実装しています.CRで2段重ねとかもあります.
試聴してみましょう!
さて、差動アンプもできたので試聴してみましょう.
構成は
Renew DAI9211 → DAC4398 → 今回作った差動アンプ
という流れです.
試聴前の動作チェックです.差動アンプはDACに突き刺して使っています.
出力レベルはほぼ2Vrrmsになっているので使いやすいでしょう.
さて、さっそくメインシステムに接続して試聴してみましょう!
お気軽だなあ〜
今回のDAC4398はとくに弄るところがなく、単純にPCMあるいはDSD信号を入力するだけで
鳴らすことができるのでとてもお気軽です. 電源をつないで、配線するだけです.
こんなお気軽なDACですが、音はいたってまともですね.
簡単な差動アンプですがノイズ感もなくしっかりとした音です.
しっかりと、という表現はまあ主観的ですが、普通に鳴っているという感じですね.
メインシステムに接続して試聴です.
ちょっと何かに組み込みたいときに、こういったお気軽なDACもいいかもしれません.
さてさて、回路図データはどこだ?
最後に備忘録のためにも、製作マニュアルを書いておきたいのですが、
7年前の企画ということで、回路図や基板のデータがどこにあるか、探すのが大変です.
7年もの間にPCは2〜3回入れ替えを行っているので、どのHDDにあるのやら.
基板データは多分見つかるはずですが、回路図は紛失している可能が高いなあ〜.
探すより書き直したほうが早いかな〜.
書き直し!
こういうときは、急がば回れです. ってちょっと諺の使い方あっているかな?
面倒ですが、回路図書き直しました.
基板パターンについては、2015年頃の製作ということで、ファイルを見つけることができました.
さて、これで製作マニュアルも書けそうです.
マニュアル作成 2022.4.9
ここです。 → DAC4398_Manual.pdf
ソフトもすこし変更です。といっても、フィルターの切替(SHARP,SLOW)を追加しただけですが。
これがリリース版です。
リリースしました!
手持ちにCS4398も数個あったので、こちらもリリース.
M9000とオリジナルと比較しても面白いかも(コストがあ〜..
(つづく?かな)