”
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変換してみることにする。
検討したタイミングチャートを下図に示す。

前のタイミグンチャートと同じようだけど、もう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とデータが出てくるようだ。もう一度、タイミングを書きなおす。
- 2009年11月25日 05:53 |
- 画像処理
-
| トラックバック:0
-
| コメント:0