MP3の最近のブログ記事

経験値停滞中☆

| コメント(0) | トラックバック(0)

泣きそうです。新たに2個、OLEDを注文して再チャレンジ。
うち一つめ、10分で壊れました…。

もういやだorz

相変わらず表示は異常なほどに暗く(真っ暗な部屋なら若干付いているかもしれないのが分かる程度)、使い物になりません。
初期化方法はwebに転がっていたSEPS525関連の資料からそのままの値で。
LED電圧は13V(オシロで測定し、電圧が落ち着いているのを確認)。
で、たぶんLED電圧生成のDC/DC部を触って電圧が上昇したのが原因でしょうが、前回と同じアチアチ状態になりました…。壊したのは自分のミスですが、最初から暗いのはどうしようもありません…。

4dsystemsのモジュール、あれホントに同じOLED使っているんだろうか?ブライトネスレジスタみたいなundocumentedなレジスタが有りそうな匂いがプンプンするんですがっ。

このままでは壊すばっかりで進展しないので、OLEDを128x128に戻そうかと思います。逃げます。この敵は僕には強すぎます。
このままチャレンジを続けられるほど財布と精神力に余裕がありません(笑)

SEPS525は「まともな」使用例がwebに出回るようになってからにします。どなたか勇気の有る方、チャレンジして使い方を教えてください。

当初はstrawberry-linuxで買った 128 x 128 ピクセルのOLEDを使用する予定でしたが、
別のところで160x128を見つけたので買ってみた訳です。
ただ、接続方法が違うため(載っているチップも違う)、128x128用のキャリアボードが使えません。
このままではテストできないので、今日はディスプレイコネクタ用の基板を製作しました。

こんな感じ。使用した基板はサンハヤト製 CK-4 です。0.5mmピッチに並んだSMTコネクタ変換基板です。

あとはLED用高電圧(12~18V)を用意するのみ。楽しみです。

ちょっと間があいてしまいました。今日はブレッドボード上にほぼすべての機能を盛り込んで配線しました。自作ジャンプワイヤ50本以上を使った大作になっています。周波数もそこそこ高め(8MHz)ですから、ばんばん電磁波を放射してくれるでしょう(笑)

もはやジャンプワイヤでICが埋もれて見えなくなっています。

上に出ている3つのコネクタは、AVRのISP用、PSoCのISP用、MP3音声出力です。


今回から回路図・ソースは公開する予定ですが、まだまとめられていないのでそのうちに。

デバッグはこれからです。デバッグ用と電源供給をかねてUSBシリアルを付けてあるので、これを通してデバッグします。デバッグとは言っても、状況表示やコマンド入力等をするプログラムを自分で書くんですが。ここまでの規模になるとICEが欲しい!・・・・というわけで、JTAGICE mkIIを注文してしまいました。ああ、今月のバイト代が・・・。高い買い物ですが、開発スタイルが大きく変わることを期待。届くのが待ち遠しい。

いよいよ、SDカードからの再生にチャレンジしました。FAT32限定で、ショートファイル名を指定して再生できるようになりました。

(写真は変わった感じがしないですね…)

SDカードはChanさんのサイトにある「MMCの使いかた」を参考にさせていただきました。Chanさんに感謝。

 

曲名の指定等はすべてシリアル通信経由にしました。あと、本家VLSIで公開されているスペクトラムアナライザーのコードを導入してみました。通信画面のカーソル左横にあるのがそれです。標準だと14バンドごとに0~31(3dBステップ)の値が得られるようになっているので、簡単です。

ちなみに、ハマった点がいくつか。SDカードのVS1011eへの書き込みコマンドや読み込みコマンドの直後、DREQが一旦Lになったあと、Hに戻るのを確認しなければなりません。(ちゃんとデータシートにも書いてありました)。それを確認せずに次のコマンドを実行しても、無視されてたり、値が違っていたりします。

それと、SDカードに直接は関係ないですが、MBR(マスタブートレコード)のファイルシステムタイプが要注意でした。今回はFAT32のみ対応のつもりだったのですが、FAT32でフォーマットしたはずのSDカードで、MBRのファイルシステムタイプが0x06(FAT16)となっていました。フォーマットしたときにMBRを書き換えてない可能性が高いですね。パーティションを分ければ当然MBRの編集がかかるはずですが。(でもSDカードでパーティション分けてる例を見たことがないです(笑))。そうなると、ファイルシステムタイプはチェック対象に入れない方がいいような気がしました。

それにしても、メモリが少ないのはつらいですね。今回使っているATmega168では1KBなので、スタック等で最低限必要な分を除くと、2セクタ入らないんです。やっぱり効率的なSDカードアクセスには、FATやディレクトリエントリを読むためのバッファと、MP3のデータを読むバッファの最低2つは確保したいところ。しかも、MP3の再生と同時にSDカードの別ファイルを開くとかとなると、音切れ防止のためにはMP3データバッファがいくつも欲しいです。

秋月で最近扱い始めたATmega644Pを注文したので、届いたら切り替えてみます。メモリが4KBなので、それなりに色々出来るんじゃないかな…。

今日はVS1011eの評価をしました。昨日作っておいたVS1011e基板(変換基板に載せて、必要な足を引っぱり出したのん)とATmega168をつなげて、パソコンからシリアル経由で転送したMP3を再生させました。

シリアルの速度を500000bps(反則w)、MP3のビットレートは午後のこ~だの設定中で最低の64kbpsにして変換。

こんな感じです。ブレッドボード中央がVS1011e、あとはAVR、SDカードコネクタ、USBシリアル基板(左上)

結果は・・・

ノイズが多いです。まあ、ブレッドボード組みだし、オーディオ出力の所に付けるべきCR類を省略してしまってますし、仕方ないでしょう。音質はMP3のビットレート下げすぎなので善し悪しが分からないです。

それにしても、USBシリアルって遅いですね。500000bpsなんていう半端なビットレートを素直に受け付けてもらえるのは助かりますが。転送元のパソコンでこうやってブログ書いてるだけでも、曲がトーンダウンして止まりかけたりします(笑) テンポが変わってしまうのは、モード設定でストリーミング(SCI_MODEの第6ビット)が有効になっていた為でした。ストリーミングをOFFにすると、テンポの変動は無くなりました。めでたしめでたし。ただし、転送速度が速くなった訳ではないので、追いつかなくなるとポツっと一瞬切れます。

次回はSDカードからの読み込みにチャレンジ。

今回のMP3プレイヤー計画では、入力にCanSenseを使おうと考え中(まるでiPod!)。

手元にCY8C21334が2個ほど転がっているので活用したいが、なんせ初めてなのでどうしたものか。基板いきなり作ってうまくいくのだろうか。

テスト基板作るか~。時間かかるなぁ。

ちなみに、PSoCUSBEvalでCapSenseを使おうとしたがうまくいかなかった。CapSenseのパターンもあるし、PSoCDesignerでCSRが選べるのでてっきり出来るものだと思っていたのに。どうやら24794では使えないとかいう噂も。単にやり方がまずかっただけかもしれないけど。

ずーっと考えるだけで作品にならなかったMP3プレイヤー計画を、
今度こそ作品にしよう。

当初はShuffleのようなシンプルな物を想定していたが、最近やたら音楽を聴くようになって
曲数が増えたので、画面が欲しくなってしまった(笑)

というわけで、SparkfunのOLED(128x128、262kcolor)を買って試してみた。

ああ、作業机散らかりすぎ…。サンプル画像がバンブー○レードなのは気にしない(笑)

参考資料がいまいち読みにくいので不安だったが、難なく表示できた。すげーー。
これから128x128をいかに上手く利用するか考えねば。

つぎはMP3プレイヤーの心臓、デコードチップの評価をしよう。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMP3カテゴリに属しているものが含まれています。

前のカテゴリはFPGAです。

次のカテゴリはPSoCです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.04