ブレッドボードから基板に起こして暫く動作確認していたのですが、電源投入時のみ再生が始まらないことがあるという不具合に悩まされていました。
ロジックアナライザでチェックしてみると、I2Sバスに信号は出ているものの、DACからアナログ出力されないというものです。その状態で一旦信号を止めて(マイコンをリセットして)再生すると、今度はきちんとアナログ信号が出てきます。
恐らくDAC内蔵のPLLがロックされないのが問題じゃないかということで、あれやこれや試しているうちに基板がジャンパーだらけになりました。

最終的には解決したのですが、結論から言うと原因は以下のような感じです。
- PCM5102AのMCLK端子を浮遊しておくのはNG
軽い負荷(10K)でプルアップしておく。ノイズで誤動作する可能性あり - XSMT端子を単純にプルアップするのはNG
起動直後はPLLはロックしていないので、電源投入後に遅延時間を入れてLOW→HIGHに遷移する(ロックする)状態を意図的に作り出す
これで確実に?電源投入直後でも問題無く再生できるようになりました。
次の記事へ続きます。