今頃になってAACのデコード処理が、再生の速度に追いついていけない場合があることに気が付きました。いつも同じアルバムしか聞いていなかったため、動作確認が充分でなかったのです。SDカードを2GBから4GBに換えたのを機会にAACのアルバムを追加したところ、ブツブツとおと切れが発生することに気が付きました。何も問題無く再生できる曲もあるのですが、曲によっては音が割れるほどひどくなってしまうこともあります。これまでに調べた中では、平原綾香のJupiterが一番ひどく音割れします。
CODECへのDMA出力用のバッファを大きくして時間稼ぎをしたところ、かなり症状は改善されたのですが、平原綾香はなかなか手強いです。音割れまでには至らないものの、まだ音切れが生じます。バッファの容量にも限りがあるので、タスクの優先度を変更してみたりしましたがやはり音切れが残ってしまいます。
しょうがないので、禁じ手にでることにしました。LPC2388は72MHzで動作させているので、ほんとは MAM (Memory Acceleration Module)では4CCLK分のフェッチサイクルをMAMTIMに与えなければいけないのですが、これを3に変更。問題はきれいになくなりました。処理に時間がかかっている関数をフラッシュからRAMに配置しなおすことでも問題解決できるかもしれませんが、MAMTIMを3にしても今のところ不都合は生じていないようなので、これで様子を見ることにします。
CODECへのDMA出力用のバッファを大きくして時間稼ぎをしたところ、かなり症状は改善されたのですが、平原綾香はなかなか手強いです。音割れまでには至らないものの、まだ音切れが生じます。バッファの容量にも限りがあるので、タスクの優先度を変更してみたりしましたがやはり音切れが残ってしまいます。
しょうがないので、禁じ手にでることにしました。LPC2388は72MHzで動作させているので、ほんとは MAM (Memory Acceleration Module)では4CCLK分のフェッチサイクルをMAMTIMに与えなければいけないのですが、これを3に変更。問題はきれいになくなりました。処理に時間がかかっている関数をフラッシュからRAMに配置しなおすことでも問題解決できるかもしれませんが、MAMTIMを3にしても今のところ不都合は生じていないようなので、これで様子を見ることにします。