いろいろとやってみましたが、やはりI2Sでストリームが流れている状態でI2Cで設定を変更しようとすると、NAKエラーが発生するようです。原因はソフトの問題ではなく、ハードがらみのようです。初期化ではいくつものレジスタを連続して設定しているので、設定の順番が影響しているのかもしれないと思っていましたが、ボリュームを変更するためにひとつレジスタを変更するだけでもエラーが発生する場合があることが確認できました。
改めてI2Sの信号とI2Cの信号の配線を離してみたりもしましたが、改善しません。こうなるとWT32とCODECの間の配線をやり直した方が良さそうです。現状ではCODECボードをフラットケーブルでつないでいることもあり、配線長が長くなってしまっています。ボードを直接基板上に載せてしまってケーブルを不要にするとともに、ダンピング抵抗でも入れてみようかと思います。
それでも、症状が改善しなければ、この際ですので、CODECもTLV320AIC3254に変更してしまおうかと思います。手配してあったSAM3S4Aも届いたので、マイコンも変更してしまいましょうか。ここまでやることになると、作り直しのようなもんですから時間かかりそうですが、いずれはやろうと思っていたことです。とりあえずは、データシート見ながら配線図でも描き始めしょうか。
改めてI2Sの信号とI2Cの信号の配線を離してみたりもしましたが、改善しません。こうなるとWT32とCODECの間の配線をやり直した方が良さそうです。現状ではCODECボードをフラットケーブルでつないでいることもあり、配線長が長くなってしまっています。ボードを直接基板上に載せてしまってケーブルを不要にするとともに、ダンピング抵抗でも入れてみようかと思います。
それでも、症状が改善しなければ、この際ですので、CODECもTLV320AIC3254に変更してしまおうかと思います。手配してあったSAM3S4Aも届いたので、マイコンも変更してしまいましょうか。ここまでやることになると、作り直しのようなもんですから時間かかりそうですが、いずれはやろうと思っていたことです。とりあえずは、データシート見ながら配線図でも描き始めしょうか。