やっぱり画像と音響が面白い
お馬鹿な勘違いの照れ隠しに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ビットのデジタルデータをアナログにするのだ。偉いものである。
秋月では、SACDレベルの24ビットオーディオをデコードする1bitDACの石(FN1242A )が¥800で売っており、それ以外にもNECの16ビットDAC(μPD6386)も、2つ¥500で手に入る。これはロームのものより倍のオーバーサンプリングが出来るようだ。しかし、デジタルオーディオの入門にはこんどのやつくらいがちょうど良さそうだ。
とりあえずは、SDカードに入ったWAVデータの再生が目標である。プラットホームはまだ決めていない。SDカードを読めるボードは、今、AVR、STARM、H8と3つもあるので選択に悩むところである。
液晶パネルの方である。包装を明けると、やはり中古なのでケースは赤茶け、表示面保護パネルにも少し傷がついていて値段相応というところだ。フラットケーブルがついていたが、このままで接続できるのではなく、加工が必要である。このあたりが安い理由なのだろうか。フラットケーブルのコネクターピンをピンセットで引き抜き、説明図どおり配線して、自宅のデジタル一眼レフのビデオ出力を入れてみた。おう、出た出た、コンポジット(NTSC)の部分は問題ない。色も綺麗だ。
2つの方向の部品は揃ったけれど、プロセッサーまわりのハードや、ソフトの部分は全く手が付いていない。これからである。オーディオPCMデータのフォーマットは概念的には理解しているつもりだが、現実のファイルの中の実際のデータがどうなっているかまだ何も知らない。ウェブかバイナリエディタかなにかで調べる必要がある。
電子工作はやっぱり音が出たり光がでてくるのが一番楽しい。結局、期せずして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(2022.10.19)
- 生存証明(2022.01.23)
- パソコン連動テーブルタップの修理を諦めて自作(2021.02.16)
- 半年ぶりのブログ更新に漕ぎつけた(2019.09.19)
- 研究所活動は停滞したままでCCDカメラ顕微鏡導入など(2019.02.08)
コメント
MP3はみんながやっているので、へそ曲がりの私としてはちょっと。しかし、非圧縮のPCMオーディオは調べてみてとても大変だということがわかりました。何とかMPUだけで出来ないかと思案中です。
投稿: がた老 | 2008年12月24日 (水) 11時12分
私は使いやすいMP3デコーダのVS1011Eですねぇ。
まぁ、UEW線での配線は大変ですが・・・(T_T)
VS1053bは録音出来るのでこれを使って留守録出来るFMラジオを作成中・・・
でも、OLIMEXからまだ基板が届かない。(T_T)
FMモジュールは以下を使います。
http://strawberry-linux.com/catalog/items?code=18081
VS1053bとVS1011Eは秋月で手に入ります。
投稿: そら。 | 2008年12月21日 (日) 23時04分