停滞しているLPC2388の実験を再開すべく、先月仕入れておいた新ネタに手を出そうかと思います。いつものPropoxから購入したMMcodec01です。
TIのTLV320AIC23Bを使用したI2Sでつながるオーディオ・コーデックです。LPC2388のI2Sにつなげて、MP3を再生してみようという魂胆です。AT91SAM7のAPノートやEmbDec.netのプロジェクト紹介ページでも、このコーデックを使ったMP3プレーヤーがあるので、一度試してみたいと思っていたのでした。このコーデックは今となっては古いチップのようですが、SOPパッケージがあるのでアマチュアでも手はんだできそうです。わたしは、Propoxにモジュールがあることに気がついて、安易にこいつを使うことにしました。
AT91SAM7の場合にはSSCをI2Sインタフェースとして機能させることが可能なので、上記の作例でもそのようにしてTLV320AIC23Bをつなげています。ところが、AT91SAM7ではフラッシュからコードを実行していると命令実行速度が遅いので、MP3のデコードが苦しくなるようです。上記の作例では、サンプリングレートを8KHzに制限してデコードの際のCPU負荷を低減したり、MP3デコーダーの部分のコードをRAM上に配置することにより命令実行速度を最適化することでこの問題の解決を図っているようです。このように、MP3デコードはAT91SAM7にとってはちょっと苦しい処理なのですが、LPC2388であればクロックも60MHz/72MHzと早いですし、フラッシュにコードを配置してもMAMの機能により、AT91SAM7ほどには実行速度が低下せずに済むのではないかと期待しているわけです。
さて、Propoxからの荷物にはいつもポーランドの切手が貼られているのですが、ちょっと不思議な図案だったのでパチリと一枚撮ってみました。どういう意味なんだろう?
TIのTLV320AIC23Bを使用したI2Sでつながるオーディオ・コーデックです。LPC2388のI2Sにつなげて、MP3を再生してみようという魂胆です。AT91SAM7のAPノートやEmbDec.netのプロジェクト紹介ページでも、このコーデックを使ったMP3プレーヤーがあるので、一度試してみたいと思っていたのでした。このコーデックは今となっては古いチップのようですが、SOPパッケージがあるのでアマチュアでも手はんだできそうです。わたしは、Propoxにモジュールがあることに気がついて、安易にこいつを使うことにしました。
AT91SAM7の場合にはSSCをI2Sインタフェースとして機能させることが可能なので、上記の作例でもそのようにしてTLV320AIC23Bをつなげています。ところが、AT91SAM7ではフラッシュからコードを実行していると命令実行速度が遅いので、MP3のデコードが苦しくなるようです。上記の作例では、サンプリングレートを8KHzに制限してデコードの際のCPU負荷を低減したり、MP3デコーダーの部分のコードをRAM上に配置することにより命令実行速度を最適化することでこの問題の解決を図っているようです。このように、MP3デコードはAT91SAM7にとってはちょっと苦しい処理なのですが、LPC2388であればクロックも60MHz/72MHzと早いですし、フラッシュにコードを配置してもMAMの機能により、AT91SAM7ほどには実行速度が低下せずに済むのではないかと期待しているわけです。
さて、Propoxからの荷物にはいつもポーランドの切手が貼られているのですが、ちょっと不思議な図案だったのでパチリと一枚撮ってみました。どういう意味なんだろう?