TCM8230MDについて
配線などでマニュアルと異なるところはない。基本的に線をつなげるだけである。インピーダンスについての考慮は必要かもしれない。ただし、EXTCLKを12.5MHzとしたが、FPGAと直接配線するだけで動いた。ダンピング抵抗やインピーダンス用のキャパシタは挿入していない。
リセット用のパルスを送信し、その後I2CでDCLKOUTだけを送信した。これで画像データはパラレルポートにだらだらと流れてくる。RGB565とYUV422との切り替えるコマンドを送信し、両方のデータが出力されてくることを確認した。
コントロールはすべてFPGAで行い、SRAM512Kバイトをフレームバッファとして使った。10ns程度の高速のものをつけた。問題となったのは640x480はとれなかったので、640x400で我慢することにした(フレームバッファに入らないものは捨てている)。
カラー調整などのコマンドは送信していないが、それなりの画像は撮れた。この画像は鏡に映ったものを撮影し、それをフレームバッファーへ転送し、さらにフレームバッファの中身をPCに転送し、それをTIFF形式に変換したものをJPEGで保存した。

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にパレメータが乗っている。

このパラメータは352x288というサイズのものであるが、これを送信したところ画像データが確認できた。ただし、次の点に注意する。
(1) 352x288はFull rateでYUV/RGBともにデータ取得できる。ただし、色が少しおかしい。BlueとRed(U と V)が逆にしたところナチュラルカラーになった。すこしオフセットをのせて色合いを調整した。

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

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