今回はCM108B用の外付けDAとADボードを組み立て、音が良くなるか実験してみます。
前回のCM108B USBオーディオインタフェースの組み立に関する記事はこちらになります。
JLCPCBから基板が届く
USBオーディオインタフェース基板と一緒に注文してあったので、一緒に届きました。
この基板の回路図やJLCPCBへの基板の発注方法はこちらの記事をご覧ください。
とっても綺麗に製造されています。今回も、1つだけ手はんだで組み立てみたいと思います。
組み立て
今回は細かいピッチの部品がないので、結構簡単に組み立られます。
ICが実装できました。後はチップ抵抗やコンデンサを実装して完成です。
聞いてみる
それでは、CM108ボードの上に完成した基板を接続して、秋月電子で売っている16bitのD/AコンバータPT8211の音を聞いてみます。
?
音がおかしいです。音にギャピギャピってノイズが入ります。データが正しくDAへ伝わっていない感じがします。
I2Sの波形を見てみましょう。
CM108Bから出力されているI2Sの波形です。青がLRクロック、黄色がオーディオ信号です。
あれ?
データシートに書いてあった波形と違います。
こちらがCM108のデータシートのI2Sのタイミングチャートです。
音声データのLSBが終わって1クロックでLRクロックが反転します。
MSBからLSBまで16bitだと勝手に思っていたのですが、違っていたようです。
Rチャンネルの波形の部分を拡大して、紫色のクロックも一緒に表示させてみました。
どうやら1chあたりのデータは32bitで、16bitの音声データが左づめで転送されてきています。
後半の15bitから2bitの部分をPT8211へ入力するように回路を設計してしまったので、正しい音が出るはずがありません。
データを遅延させる
74HC595を使って、I2Sのデータを15クロックだけ遅延する回路をブレッドボードに組み立てました。
あー、せっかく基板を作ったのに、配線がジャングル状態のブレッドボードも必要になってしまいました。
黄色がLRクロック、紫がCM108Bから出力されているI2Sの波形、水色が15bit遅延させて、PT8211の入力仕様に合わせた波形です。
これで、正しく音が出るでしょう。
聞いてみる2
パソコンで音楽を再生してみます。
おおおおおお!
音が出ました。音楽が聞こえてきます。
しかし。
音の中に、ノイズが入っています。古いレコードの音のように、小さいプチッ、プチッって音がランダムに入ります。傘に雨粒が当たっているような、ポツポツというのにも似ています。
波形を見てみる
水色がオーディオデータ、黄色がLRクロック、紫がCM108Bのオーディオデータ、緑色がPT8211のDA出力波形です。
パソコンからDCレベルをオーディオ信号を出力しているので、緑色のDA波形は一定の電圧になるはずなのですが、小さな電圧変動や大きなパルス状の変動が見られます。
これが、古いレコードや傘に雨粒が当たるようなポツポツというノイズの原因です。
時間を拡大してみてみます。
パソコンからはDCレベルを出力しているので、水色のオーディオ信号は常に同じ値になっていますが、1個目と2個目のデータが取り込まれた後に、緑色のDA出力がなぜか上昇してしまっています。
これが、ランダムなタイミングかつランダムな大きさで発生しています。
データがPT8211に正しく取り込まれていないのでしょうか?
波形を詳しく見てみましょう。水色がオーディオデータ、黄色がクロックです。
PT8211では、クロックの立ち上がりエッジでデータが取り込まれます。
黄色のクロックの立ち上がりエッジの時には、すでに水色のオーディオデータは静定しています。問題はないように見えますが...
原因不明
パスコンを追加したり、電源電圧を上げてみたり、あれこれやってみましたが、PT8211のノイズは直りませんでした。
残念ですが、諦めます。
ADは?
Texas Instrumentsの16bitA/DコンバータPCM1801を使っています。2chステレオのADコンバータなので、ステレオ入力ができるようになるといいのですが...
ADコンバータはステレオなのですが、あくまでオーディオ入力は1chなんですね。
音も、キーというノイズが入ってしまっています。マイク入力に関しては、外付けよりも内蔵の方が性能がいいので、外付けADも諦めることにします。
残念ですが
いろいろ実験してみましたが、CM108Bの外付けAD,DAはいい性能が得られませんでした。
CM108B自体は、とても便利なICでシンプルな回路でオーディオインタフェースが実現できることがわかりました。
コメント