FPGAの部屋

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ご利用ください。 http://marsee101.web.fc2.com/index.html

2009年11月

ウッドデッキ用のテーブルをあまった2X4材で作った。サイズは1500X740X670。高さの計算を間違って低くなってしまった。せっかくルート2を計算してX型の脚の長さを出したのに、天板を引いた脚の高さが間違っていた。。。失敗。脚の高さを630mm、脚の長さを890mm にしてしまった。これでは天板の厚さ39mm を足しても、670mm 程度になってしまう。720mm くらいの高さにしたかったのだが、天板の厚さを完全に勘違いしてしまった。まあこのくらいに高さだとまだ、許容範囲だろう?
その代わりに、椅子の高さを低くしようと思っている。また、椅子は、1つずつ高さを変えようと思っている。なぜならば、私は座高が高いので、いつも食卓に座ると猫背になってしまう。いろんな高さのいすがあっても良いんじゃないだろうか?
テーブルはうちの奥さんがX型の脚が良いとのことで作ることにした。切り欠きを入れて脚同士をはめ込まなかったので、脚の高さを揃えるのが難しかった。やはり嵌め込んでから切った方が脚がそろうのかな?切り欠きを入れないで仮止めして脚の高さをそろえようとしたが、同じ高さにするのが大変だった。次回に製作する場合は嵌め合わせにしたい。
ec201e56.jpg

YUV-RGB変換2(画像ボードやタイミングの検討)”でタイミングを検討したが、どうやら、KBCR-M04VG(内蔵CMOS撮像素子、OV7725)は前のKBCR-M03VG(内蔵CMOS撮像素子、OV7640)と違っているようだ。リセットは逆で0でリセットのようだし、デフォルトではYUYVとデータが出てくるようだ。KBCR-M04VGの全体のフレームのタイミングを下に示す。データシートのタイミングチャートを基に作成した。
09ea1b65.png

  図1 OV7725のフレーム・タイミングチャート

クロックはいい加減に書いてあるので、ご了承いただきたい。tp = 2 tPCLK となっている。これはYU, YVで一画素を表しているからだ。実際にはHSYNCはないはずなのだが、データシートに書いてあったので、付けくわえておいた。今度のボードは50MHzの水晶発振器が付いているので25MHzピクセルクロックのVGAとなる。Spartan3A Starter Kitのユーザーズマニュアルに書いてあるタイミングを下に示す。(表 6-2 を引用)
0301e91b.png


図1と表6-2を比べるとタイミングがだいぶ違う。今まではVGAはCMOSカメラのフレームの1/2としていたが、今回はCMOSカメラ、VGAともそれぞれのタイミングで入力、出力してもらうことにした。OV7725はVGAを60フレーム/secで出力することもできるようだが、とりあえず30フレーム/secとする。つまり、少なくとも1/15sec カメラを止めていれば、思い通りのVGA出力が出てくるだろう。

次に全体のタイミングチャートを示す。
YUV_RGB_conv_4_091128.png
 図3 YUV-RGB変換回路タイミングチャート

前のタイミグンチャートと同じようだけど、もう1つSRAMが増えているので、メモリのデータ入出力が2つある。MD1とMD2だ。MD1は以前同様に16ビット幅に2つのYを保存する。MD2は同じく16ビット幅の上位バイトにUを下位バイトにVを保存する。一度に1バイトをWriteするので、1クロック間では上位バイトか下位バイトだけをWriteする。例えばMD2のタイミングチャートの上に書いてある、”CAMERA U0, XX”はCMOSカメラからのUの0番目をSRAMの上位バイトだけに書き込み、下位バイトは書きこまないことを示す。”XX, CAMERA V0”はVの0番目を下位バイトだけに書き込み、上位バイトには書きこまないことを示す。
SRAMのRead/WriteがR/Wで、アドレスがMADDRになっている。アドレスは2つのSRAM共通とする。SRAM_WRは実際にSRAMに書き込むタイミングを示し、UBはUpper Byteの書き込み、LBはLower Byteの書き込みを示す。
CAM_Yはカメラから入力したデータのフォーマットを示す。上に書いてあるのがYUVの出力されるフォーマットである。UYVY...と出力される。Y_FFはそのCAM_Yをラッチした出力でYを保存しておくためのFFだ。
このような仕様でSRAMにCMOSカメラのYUVデータを格納しようと思っている。ちなみにY、UVとも最初はCMOSカメラからのデータの書き込みが間に合わないので、変なデータをディスプレイに表示してしまうが、1フレーム終われば正常な値を出力するので問題はない。
YUV422なのでYに対してUVは半分のデータ量しかないため、ディスプレイに表示するためにSRAMからUVはラッチされて2ピクセルの間、使う必要がある。その辺はタイミングチャートに表していない。
DISPLAY_DATAはVGA用のデータをSRAMからリードするタイミングで、これはCMOSのタイミングとは全く別にする。以前はmaster_syncでVGAのアドレスも同期していたが、これはやめることにする。VGAは521ライン、CMOSカメラは510ラインなので、VGAのフレーム2回はCMOSカメラのフレーム1回に入らなくなった。

電子工作コンテスト2009ノミネート作品が発表されました。いずれ劣らぬ作品たちで動画を見ると楽しめます。教えていただいた、いえながさんも3作品がノミネートされています。おめでとうございます。
特に印象に残ったのが、Timpy Rev8.0とコイルガン戦車。
Timpy Rev8.0は有機ELディスプレイ付きで、漢字表示可能。耳かけスピーカーに組み込んだMP3プレーヤー。Micro SDカードが入る。USBでWindowsにもマウントできるし、売り物みたい。完成度がすごい。売っていたら欲しいかも?
コイルガン戦車はここまでやるか?という感じ。戦車を改造して、コイルガンを載せている。パチンコの玉を磁力で打ち出す。それがはんぱない。コイルを4重に搭載して、ストロボ用の電解コンを何個も搭載し、コーラの缶を打ち抜く威力がある。一見の価値ありだと思う。
世の中には、いろんなことやっている人がいるもんだ。。。おもしろそう。。。

YUV-RGB変換1(方式の検討)”の続き
方式は決まったので、画像ボードとタイミングの検討をしよう。
画像ボードは”DWM誌の2007年8月号と2007年10月号の基板でカメラの画像を表示”のボードではSRAMの帯域が足りない。10nsの非同期SRAMを10nsサイクルで使いたくないので、SRAMだったら倍のデータバス幅が欲しい。そこで、同じESP企画の画像ベースボード(Spartan3E XC3S1200+4M高速SRAM)【CQBB-IMG】とデジタルCMOSカメラ【KBCR-M04VG】の組み合わせで行くことにした。
CQBB-IMGボードは回路図を見ると、16ビットのアクセスタイム10ns のSRAMが2つ搭載されている。(SDRAMやDDR SDRAMが搭載されていると楽なんだけど)これで25MHzで動作させてもメモリ帯域が足りるはず。デジタルCMOSカメラ【KBCR-M04VG】はNDAの影響か?データシートがネットにない。カタログがこの辺にある。一応画像ボードと一緒にもう少し詳しいデータシートが添付されているのだが、まだなぞの部分が多い。このCMOSカメラは前のと違ってVGAで60フレーム出力することができるが、とりあえず以前同様VGAを30フレームで出力させることにする。
OV7725のデータシートを見てみると、GRB4:2:2で出力することができるようだ。SCCBバスで設定してこれで出すのもありだろうか?でも満足なマニュアルがなくて、どんなフォーマットで出てくるかが書いていない。手探り状態なので、やはり、とりあえずYUV-RGB変換してみることにする。
検討したタイミングチャートを下図に示す。
5ca0eaa8.png


前のタイミグンチャートと同じようだけど、もう1つSRAMが増えているので、メモリのデータ入出力が2つある。MD1とMD2だ。MD1は以前同様に16ビット幅に2つのYを保存する。MD2は同じく16ビット幅の上位バイトにUを下位バイトにVを保存する。一度に1バイトをWriteするので、1クロック間では上位バイトか下位バイトだけをWriteする。例えばMD2のタイミングチャートの上に書いてある、”CAMERA U0, XX”はCMOSカメラからのUの0番目をSRAMの上位バイトだけに書き込み、下位バイトは書きこまないことを示す。”XX, CAMERA V0”はVの0番目を下位バイトだけに書き込み、上位バイトには書きこまないことを示す。
SRAMのRead/WriteがR/Wで、アドレスがMADDRになっている。アドレスは2つのSRAM共通とする。SRAM_WRは実際にSRAMに書き込むタイミングを示し、UBはUpper Byteの書き込み、LBはLower Byteの書き込みを示す。
CAM_Yはカメラから入力したデータのフォーマットを示す。上に書いてあるのがYUVの出力されるフォーマットである。UYVY...と出力される。UV_FFはそのCAM_Yをラッチした出力でUVを保存しておくためのFFだ。
このような仕様でSRAMにCMOSカメラのYUVデータを格納しようと思っている。ちなみにY、UVとも最初はCMOSカメラからのデータの書き込みが間に合わないので、変なデータをディスプレイに表示してしまうが、1フレーム終われば正常な値を出力するので問題はない。
YUV422なのでYに対してUVは半分のデータ量しかないため、ディスプレイに表示するためにSRAMからUVはラッチされて2ピクセルの間、使う必要がある。その辺はタイミングチャートに表していない。

(2009/11/27 追記)
KBCR-M04VGは前のKBCR-M03VGと違っているようだ。リセットは逆で0でリセットのようだし、デフォルトではYUYVとデータが出てくるようだ。もう一度、タイミングを書きなおす。

今日はMake Tokyo Meeting 04に行ってきました。
e90e9a1b.jpg


東工大のキャンパスは樹木も程よく配置されて良い感じだった。
b3847225.jpg


はじめに西9号館に行ったが、11時で始まったばかりで準備ができていないようなので体育館に行った。
はじめに見たのは、猫に行ってはいけないところを教えるための放電装置だそうだ。音や放電の光で猫が来ないようにするとのこと。約4000Vの放電だそうだ。
4434b64b.jpg


poleさんもいらしていて、いろいろ見せてもらった。最初は約700nAで動作するマイコン。電力を測定する基板もあって、測定値を表示していた。
10ca491f.jpg


次に3軸の加速度センサが搭載されているFreescaleのマイコン基板でをボールに入れて加速度をいろいろなフォーマットで見せていただいた。ボールをバウンドさせた時より、受け取った時に加速度が大きいとのこと。考えてみればそうか。。。
c5666262.jpg


次は、3DプリンタCupCake CNCを見た。とてもよさそうなのだが、お値段が157,500円とお高い。買えない。やはりABS樹脂を溶かして、おいて行く方式だが、サポート材はないので、中空の物は作れないとのこと。USで買うと$750のようなので、もう少しお安くならないものか?(USで買えば良いて?送料が高いのかな?はたしてinternational shippingはいくらなんだろう?)
MTM04_6_091122.jpg

後はメイドロボットになるはずの予定の基板。いろいろセンサを接続してもプロセッサが認識できる。センサをたくさんつなぐときなどにとても便利。
30626cd1.jpg


なひたふさんのところのSpartan-6ボードを使った光センサー兼LED表示もあった。
3d2ab0aa.jpg


パラメトリックスピーカーもあった。初めてまともに聞いたが、本当に指向性が強い。少し離れると聞こえない。でも音質はいまいちのようだ。ラジオの音が聞きとれる程度か?
MTM04_9_091122.jpg

変わったところではビスマスの結晶と魚やカエルを薬品処理して肉を透明化して、骨に着色した標本があった。両方とも販売していた。下の写真は標本。
f86b37f4.jpg


LED Tileもあった。実際に見ても面白い動き。。。ただ、ユニットをつなぐコネクタが頼りない感じがした。
8f617800.jpg


Sun SPOTの無線ユニットで作ったハンドベル。このワイングラスを振るとそれぞれの高さのハンドベルの音が鳴る。なかなか良い音だった。ぜひ演奏してほしかった。
afeb35fb.jpg


自転車の車輪にLEDを付けて、転送制御して書いてある。ネギも振っていた。
1a5398ef.jpg


いえながさんのフリスクケースに入れたMP3プレーヤー、MicroSDカードが入るそうだ。スピーカーもフリスクケースに入っていた。凄い高密度実装。
32e80281.jpg


最後にもう1つ見つけたFPGAの応用。赤外LEDとフォトダイオードで検出するタッチパネルを使った楽器。検出用演算モジュールにマルツのSpartan3Eボードを使用していた。
ea0566b9.jpg


MTM04で買ってきたもの。1,200円のボーカロイドCDとインフロー(P版)のお猿さんコースター、200円
20e3fa26.jpg


インフローで買ったからか?P版のパンフレット入れに生基板が入っていた。これってPIC18?どこに回路図や資料があるんだろう?
25079ac4.jpg


大体2時過ぎころ会場を出て帰宅した。いろいろ楽しかったが、芸術系の展示が多くなっている感じがする。これはこれで楽しいのだが、電子工作を見に行っているつもりの私からは路線が外れ始まっている気がする。

そういえばテスラコイルがどこにあるかわからなかった。残念。。。bmblogさんのMTM04の記事で見せていただいた。

↑このページのトップヘ