2014.1.13いつもつかっているDAIはCS8416が多いですが、なにやらWM8804/WM8805が噂になっています。違うDAIをつかってみてみるのも面白そうなので、WM8805を買ってみました。WM8805にしたかというとデータシートをみて8ch入力が可能なようなので、こちらの方が便利そうです。W8805を買ってみました。ついでに変換基板に実装!つかってみよう!さっそく動かしてみましょう。変換基板には必要な水晶やパスコンなどを実装しました。WM8805も多彩な機能をもっているので、それをフルに使うにはソフトウエアモードが必要です。周辺回路を変換基板に実装しました。ソフトコントロールは2wireモードにします。いわゆるI2C制御です。簡単にPICとつないで、簡単にソフトを組み込んで動かしてみましたが、うまく動きません。PICとつないで動作確認。下図のような制御スイッチと書き込み内容の確認LCDを取り付けました。I2Cエラーも出ないので、正常にICにはデータの書き込みがされているようですが、なぜかうまく動きません。ICからの読み出しが問題かな?といっても、R0〜R2の内容は問題なく読み取れるのですが、R3〜R30の読み取りがおかしいです(すべて00の値)。動かないな〜ひょっとしてICが壊れてる?ひょっとしてICが壊れている可能もありますが、気分を変えてH/Wモードで動かしてみることにしました。すると、問題なくあっさり動き出しました。ソフトの設定方法に問題があるのかな?もうちょっとよく調べてみましょう。H/Wモードでは問題なく動作しました。写真は48kHzのLRクロックです。ソフトモードで動きだしました。勘違いがあったようです。マニュアルを見ると、すべてのレジスターは読み出しできるわけではなく、リード指定のあるものしか読み出せないようです。48,96,192kHzはいいのですが、44.1kHzシリーズの周波数がおかしいようです。ソフトの設定がおかしいようです。48kHzは問題なし。44.1kHzは出力周波数がちょっと変?96kHzは問題なし。88.2kHzは出力周波数がちょっと変?もっとマニュアルを読まないとだめですね。読み足りないところはありますが、192kHzまで問題なく動作するようになりました。PLLの定数設定がまずかったようです。192kHzDACにつないでみよう!接続の構成はPC→DAC2707→(同軸)→ASRC→(同軸)→WM8805→(PCM)→DAC1242-5DACのアナログ波形を見てみると、44.1kHz、48kHzは問題ないのですが、88.2kHz入力時には波形に頻繁にノイズが載ります。ASRCの出力のLRクロックと、WM8805出力のLRクロックを比較してみると、44.1kHz、48kHzは完全に同期していますが、88.2kHzにはわずかな周波数差があります。このこのあたりが問題でしょう。ちなみに、88.2kHz時にレジスターステータスをみるとR11にエラーフラグが立っています。綺麗な信号がでています。WM8805のPLLが正常に動作しています。WM8805のPLLがロックしていない?さてさて、どのように解決できるかな?ハードウエアモードで動かしてみましょう。2014.1.23ちょっとソフトウエアモードで色々と触っていますが、どうしても88.2kHzが動きません。一度H/Wモードで動かしてみましょう!H/Wで動かす設定です。回路図CADをつかってみました。手書きが早いな〜あたらしいブレッドボードに引っ越してハードウエアモードの結線にしました。して、両者のLRCKを比較します。WM8805のPLLがロックしていていれば、両者はオシロ上で止まってみえるはずです。ASRCの出力をWM8805に接続しています。○ロックしましたやはり88.2kHzはロックしないようです。この表が気になります。マスターモードで88.2kHzの記述がありません。2014.2.22H/Wモードだけだと、小さくつくれるので2枚つづりにしてみました。WM8805のH/Wモード基板です。2種を作ってみる!の巻き。