メイン

technical memo アーカイブ

2009年07月30日

東芝CMOSカメラ(TCM8230MD)インストールメモ

ストロベリーリナックスにて東芝のCMOSカメラを購入した。簡単に絵がとれそうなので、早速基盤について画像を取り出してみる。まずはどの程度の画像が撮れるのかを知りたいだけなのだが、実際に使おうかなと思っている基盤に装着して確認することにした(せっかちではある)。

コマンドとしてIIC、データはクロックと8ビットパラレルで出力される。
また、電源は2系統(1.5Vと2.8V)を使う。
クロックがでているので、それに合わせて8ビットデータをSRAMに入れればいいだろう。
この処理はFPGAを使うことにした。

25MHzのクロックを送り、IICでコマンドを送ったところ、画像データがだらだらとながれでてきた。
それをSRAMへ転送した。
640x480一枚だから256Kbitのメモリでいいやと思っていたが、足りなくなった!(計算すりゃよかった)。
仕方ないので640x400で打ち止めした。それで特に問題はない。

ロジックはxilinxのspartan3e上のMBで行った。IICとシリアルを使うのがらくだから。
SRAMに一度ためて、それをシリアルでダラダラとPCに送り、TIFで表示させた。

画像はとれているのだが、にやらカラーに問題がある。色の深さに問題がある。
バス上にノイズが載っているのか何かデータに問題があるのか。
原因究明。

2009年08月28日

TCM8230MDおよびTCM8240MDについての覚書

TCM8230MDについて

 配線などでマニュアルと異なるところはない。基本的に線をつなげるだけである。インピーダンスについての考慮は必要かもしれない。ただし、EXTCLKを12.5MHzとしたが、FPGAと直接配線するだけで動いた。ダンピング抵抗やインピーダンス用のキャパシタは挿入していない。

 リセット用のパルスを送信し、その後I2CでDCLKOUTだけを送信した。これで画像データはパラレルポートにだらだらと流れてくる。RGB565とYUV422との切り替えるコマンドを送信し、両方のデータが出力されてくることを確認した。

 コントロールはすべてFPGAで行い、SRAM512Kバイトをフレームバッファとして使った。10ns程度の高速のものをつけた。問題となったのは640x480はとれなかったので、640x400で我慢することにした(フレームバッファに入らないものは捨てている)。

 カラー調整などのコマンドは送信していないが、それなりの画像は撮れた。この画像は鏡に映ったものを撮影し、それをフレームバッファーへ転送し、さらにフレームバッファの中身をPCに転送し、それをTIFF形式に変換したものをJPEGで保存した。


tcm8230md_sample.jpg


 70度程度の視野は意外に狭いような気がした。また、ピントが甘い。画像計測をするためには向かないかもしれないが、モニター程度でよいならば十分だろう。


TCM8240MDについて

 TCM8230MDと同じ基板(もちろんピンアサインは変換してある)を使い、データの取得を行った。基本的に同じでいいだろう想像していたが、デフォルトのパラメータでは画像が取得できなかった。

 システムとして変更したところは、EXTCLKのクロックである。前回はFPGAでのMBのバスクロックを25MHz、EXTクロックを12.5MHzとして、カメラから出力されてくるデータのクロックの倍以上の速度でフレームバッファーにデータを転送することにしていた。SRAMにデータを投げるのに2クロック必要なので、最大でも2倍の速度でFPGA(MB)を動かす必要があるから。

 今回は、FPGA側を40MHz、EXTCLKを20MHzとした。TCM8240MDのスペックでは最大20MHzまでとあるからそうしてみた。

 20MHzだからせめてダンピング抵抗くらい必要だったかもしれないが、オシロとロジアナで波形を確認したが、とくに問題ないようであった。

 TCM8230MDと同様の方法で(もちろん、コマンドはスペックシートに合わせて変更してある)はまともなデータが出力されない。HBlank, VBlakの信号をロジアナで確認したところ、予想した通りには信号が出力されていない。かといって、マニュアルを見たところでろくな説明がなされてない。デフォルトのパラメータで動作しないとはどういうことなのだろうかと疑問に思っていた。

 何かあたらしい情報がないかと探していたら、このサイトにパラメータが記載されていた。

http://forum.sparkfun.com/viewtopic.php?t=10314

これのPage 13にパレメータが乗っている。

sparkfun_browsing.jpg


 このパラメータは352x288というサイズのものであるが、これを送信したところ画像データが確認できた。ただし、次の点に注意する。

(1) 352x288はFull rateでYUV/RGBともにデータ取得できる。ただし、色が少しおかしい。BlueとRed(U と V)が逆にしたところナチュラルカラーになった。すこしオフセットをのせて色合いを調整した。

sparkfun_browsing.jpg


(2) 640x480はFull rateでは画像がおかしい。Halfレートにし、かつYUVでのみ画像が取得できる。何かパレメータがおかしいのだろうか。パラメータをふってみて様子を見ることをすればチューニングできるかもしれないが、やっていない。

tcm8240md_vga.jpg


(3) 1280x1024は結局まともな画像を取得できなかった。JPEGにすればとれるのかもしれない。Frame rateと画像サイズの関係からパラメータを変更しないとダメなようだ。このサイズでの画像はあきらめた。

About technical memo

ブログ「scienza/foglio/remnant」のカテゴリ「technical memo」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

次のカテゴリはXilinxです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35