« 2008年12月7日 - 2008年12月13日 | トップページ | 2008年12月28日 - 2009年1月3日 »

2008年12月21日 - 2008年12月27日の1件の記事

2008年12月21日 (日)

やっぱり画像と音響が面白い

お馬鹿な勘違いの照れ隠しにDACチップを衝動買い(12/16/08)
 H8/3069F LANボードのOS(MES)整備が一段落して、次の電子工作の課題をあれこれ考えていたが、やりたい方向が少しづつかたまってきた。そこで先日、久しぶりに秋葉原に出かけ、材料を買い揃えてきた。ひとつは、中古の5.4インチのカラーTFT液晶パネルである。アナログRGBとコンポジットの変換基板がついて¥2680(CocoNet)。

 前からカラーグラフィック液晶は欲しくてCRTC(ビデオコントローラー)をFPGAで勉強を兼ねて作り、静止画ビュワーにしようと考えていたのだが、このあいだのAVGAのプロジェクトの話と「そら」さんのコメントが後押しをした。とりあえず、このあたりから映像の勉強をすることにする。このあいだのAVGAはAVRのチップひとつでCRTCの部分まで作っているのだが、こちらはこの部分はFPGAで作る予定である。

 もうひとつが、鈴商で買った16ビットオーディオのDAコンバーター(ロームのBU9480F)である。実は、DACチップは当初買う予定がなかったのだが、このあいだH8の8ビットDACで16ビットのオーディオを再生出来るようなことを書いてそれが全くのでたらめであることがわかり、その埋め合わせと言うか、照れ隠しの衝動買いである。

 8ビットDACを2つ並べれば、16ビットデコードができるなどと気楽に書いたけれど、考えていた方法は、9ビットDACでしかなかった。加算回路などオペアンプの回路まで検討してブロックダイヤグラムを書き、制作手順まで考えたあと、寝る前に風呂に入っていて突然気がついた。馬鹿な話である。

 256段階(8ビット)しかないコンバータで、65535段階(16ビット)のオーディオデータを簡単にアナログに出来るわけがないのにどうして出来ると考えたのか今になると不思議としか言いようがないのだが、そのときは大真面目だった。出来ないとなると大上段にふりかざした手の降ろす場所がなくなってしまった感じである。デジタルオーディオを何としてでも実現しないと気持ちがおさまらなくなってしまった。

 このDACチップ(BU9480F)は、シリアル入力(SPI)で8ピンしかない。恐らく安いCD-ROMドライブのアナログ出力などに使われていた廉価版なのだろうか、値段が安い(¥200)。秋月のSOIC変換基板(9個入って¥100)につけると小さくて可愛い。こんなに小さくてもステレオ16ビットのデジタルデータをアナログにするのだ。偉いものである。0836dac

 秋月では、SACDレベルの24ビットオーディオをデコードする1bitDACの石(FN1242A )が¥800で売っており、それ以外にもNECの16ビットDAC(μPD6386)も、2つ¥500で手に入る。これはロームのものより倍のオーバーサンプリングが出来るようだ。しかし、デジタルオーディオの入門にはこんどのやつくらいがちょうど良さそうだ。

 とりあえずは、SDカードに入ったWAVデータの再生が目標である。プラットホームはまだ決めていない。SDカードを読めるボードは、今、AVR、STARM、H8と3つもあるので選択に悩むところである。0837

 液晶パネルの方である。包装を明けると、やはり中古なのでケースは赤茶け、表示面保護パネルにも少し傷がついていて値段相応というところだ。フラットケーブルがついていたが、このままで接続できるのではなく、加工が必要である。このあたりが安い理由なのだろうか。フラットケーブルのコネクターピンをピンセットで引き抜き、説明図どおり配線して、自宅のデジタル一眼レフのビデオ出力を入れてみた。おう、出た出た、コンポジット(NTSC)の部分は問題ない。色も綺麗だ。0832c53

 2つの方向の部品は揃ったけれど、プロセッサーまわりのハードや、ソフトの部分は全く手が付いていない。これからである。オーディオPCMデータのフォーマットは概念的には理解しているつもりだが、現実のファイルの中の実際のデータがどうなっているかまだ何も知らない。ウェブかバイナリエディタかなにかで調べる必要がある。

 Pict0833電子工作はやっぱり音が出たり光がでてくるのが一番楽しい。結局、期せずしてAVの部品が揃った。しかし、この2つを合わせて何か作ろうとは考えているわけでもない。画像表示装置の目的は静止画ビュワーで、音響の方の目的はSDカードに入れた非圧縮のオーディオデータの再生である。

 SDカードの記憶容量の増加の速さと低価格化はもう驚異的というほかない。今の主流は、SDHCという2G以上の規格で、それまでの規格の2Gのメディアは¥100近辺という捨て値で売られている。これを利用しない手はない。マイクロSDなら小指の先ぐらいの大きさで、音楽CDが4枚は入るのである。組み込みマイコンでは、mp3が流行っているが、私はクラシック一辺倒なので、mp3の音は生理的に違和感がある。娘のMDラジカセ程度のスピーカーで聞いてもその差は歴然としている。どうも音が抜けた感じがしないのである。これだけメモリが安くなれば何も圧縮データで聞く必要もない。非圧縮のディスクプレーヤーを目指すことにする。

Telnetdは動いたが、OSはMESからTOPPERS/JSPへ(12/20/08)
 実は、もうひとつやりたいことがある。H8/3069FのOSの転換である。このあいだひょんなところでMESで動く、前とは別のTelnetdのバイナリが見つかったので入れてみた。少し古いバージョンのMES用だが、こいつは動いた。これでシリアルをつながなくても、イーサネットだけで開発が出来る。素晴らしいと思った。しかし、テストを続けるうち、問題点がいくつも見つかってやっぱり実用に耐えられる状況ではないことがわかった。

どんな問題点かというと、
・TelnetからPSコマンドを入れると固まる。本体のシリアルも動かなくなる。
・exitコマンドで接続を切ると、カレントディレクトリにヒストリーファイルを残し、次回の接続時に、無条件に実行してしまう。バグと思われる。 なお、このファイルはWindowsでファイルとして見えるが、消去できない。AVRのFatFSでは表示されない。ファイル名は空。RAM上では次のリセットで消えるが、SDカード上では残ってしまう。
・接続を切っても、クライアントのプロセスが残っていく。長期の運転には耐えられない。

 このTelnetdもソースコードが公開されていない。デバッグすることが出来ない。どうも欲求不満が溜まってきたので、そろそろOSのMESを諦め、TOPPERS/JSPに変えようかと思っていた、その矢先、ウェブに、同じプラットホームのH8/3069F LANボードに、このTOPPERSをOSにし、今やろうとしていることと殆ど同じことを実現しているページを見つけた。SDカードからデータを読むMP3プレーヤーとWebサーバー、それに簡単なモニターがついている。何をするにしてもソースが公開されているのは有難い。早速ソースコードをありがたく頂く。これで、いちから開発する手間が省ける。やっとTOPPERS/JSPに移る決意がかたまった。

 しかし、雑誌や、ウェブで勉強を始めたのだが、理論的な話はともかくTOPPERSそのものの実体がまだつかめない。ウェブにはインストールする手順や方法は山ほど出ているが、実際にこれをスタンドアロンで動かしてシステムにする話がどこにもない。あるのはテストプログラムを動かしているだけである。だいたいシェルに相当するものがない。

 しかもROMには簡単なローダーだけを入れ、TOPPERSカーネルはすべてRAMに展開して動かしているケースが圧倒的に多い。H8/3069FのフラッシュROMは512Kもある。何故、ここを活用しないのだろう。TOPPERSを使った市販のH8のアプリケーションボードはどうしているのだろう。フラッシュROMにすべてが入っていないと動かないはずなのだが、この手順を説明したウェブの記事が見つからないのだ。

 それはともかく、とりあえずはMES並みのシェルを開発することを次のターゲットにしようかと考えている。Linuxを入れる必要がでてきた。Cygwinでも良いらしいが、久しぶりのLinuxもちょっと食指が動く。TOPPERSのファイルシステムは、私もお世話になった、あのchaN氏のFatFSが使われている。心強い。

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

« 2008年12月7日 - 2008年12月13日 | トップページ | 2008年12月28日 - 2009年1月3日 »