
Seeed XIAO RP2040(ラズパイpico互換)にてI2Sを出力する件
無理矢理64fs化して出力成功
具体的にはaudio_i2s.pioで16回繰り返すとこを32回繰り返すようにし、受け取ったデータの16個以降はsetコマンドでゼロを埋めるようにしました
あと、audio_i2s.cで、周波数を倍にするためにdividerを0.5掛け

さて、何が悪かったのか
ヘッドホンでモニタしても音が聴こえず、TDA1543がI2Sを認識していないと思い込みました
しかし、ふと最大ボリュームにしたらかすかに音が聴こえます!
ん? ボリュームミニマムにコントロールされてね? とソースを疑います
追いかけるとUSBパケットでボリューム制御信号を拾ってビット演算してる様子

ふとM1をみるとボリュームがゼロだったので最大の100にする

音が出たー!
ということで、音源設定のせいでした m(__)m
従い、オリジナルソースもたかじんさんソースもきちんと動作し、音が出ています
しかしながら、ときたま途切れるような挙動がありますので実用まではまだまだ
多分クロックの分周計算あたりで無理があるんじゃないかな?と推測
そして、TDA1543には64fs不要なので無駄なことをしました
32fsでいいなら、たかじんさんソースを少しいじってみることにしましょう
bckが途切れる件で対策したエレホビカさんのページを参考にしてみましょう
というわけで、続く!
※コメント投稿者のブログIDはブログ作成者のみに通知されます