前回のUSBメモリとのデータ転送とNAKの問題を解決しました。 USBメモリからの1回のデータ転送のByte数をセクタに合わせて512Byteに設定していたのが問題でした。 これを8倍の4096Byteにしたところ、NAKの返信回数が減り、16bit-Stereoのデータもそれなりに再生できるようになりました。
USBメモリをフォーマットする時にアロケーションサイズを指定できます。 このアロケーションサイズに合わせて一回のデータ転送Byte数を設定したいところですが、最近のUSBメモリのアロケーションサイズは8Kbyteや16Kbyteと大きめです。 PIC32MXマイコンはRAMの容量が限られていますで、しかたなく4096Byteとしました。
PIC32MX USB PLAYER 16bit Stereo 20200225
USBからのデータ転送を4096byte単位にして 16bit Stereo dataの再生に間に合うようになりました。
PIC32MX USB PLAYER 8bit Mono 20200225
比較用の 8bit Mono dataの再生。 USBからのNAKが減り、処理自体が安定しました。