今まで作ってきたSpartan-3A Starter KitでCMOSカメラ・ディスプレイ回路をダウンロード公開しようと思います。
いつものように
保証はないので、自己責任でお使いください。原則転載禁止(転載したい方はメールでお知らせください)とします。
ここにSpartan-3A Starter KitでCMOSカメラ・ディスプレイ回路のプロジェクトを置いておくので、興味のある方はダウンロードして下さい。
今回は、CMOSカメラを購入したり、変換基板を作成しないとCMOSカメラがSpartan-3A Starter Kitのつながらないので、その説明をする。
CMOSカメラは
aitendo の
カメラモジュール(OV7670)[CAMERA30W-OV7670] を使用している。
これをSpartan-3A Starter Kitに接続するために、ユニバーサル基板を使って、変換基板を作成した。使用した基板は秋月電子の
両面スルーホールガラス・ユニバーサル基板 Cタイプ めっき仕上げ (72x48mm)P-03231で、これを必要な大きさに切って使っている。変換基板とCMOSカメラを結ぶソケットは秋月電子の
ピンソケット(メス) 2×8 (16P)C-02761、変換基板とSpartan-3A Starter KitのJ2を結ぶソケットは秋月電子の
ピンソケット(メス) 2×20 (40P) C-000085を使用した。変換基板とSpartan-3A Starter KitのJ2を結ぶソケットは40ピンだが、J2は36ピンなので、40ピンソケットの端の4ピン分はセロハンテープを2重に貼って、ヘッダが入らないようにしている。
下に、配線表を示す。

SCCBのクロックとデータはJ2では端子数が足らなかったので、aitendo の
ピンヘッダ用接続ケーブ[CB-PH10P-250] を購入して、2ピン分だけ引き裂いて使用した。(なお、変換基板を作らなくても、aitendo の
ピンヘッダ用接続ケーブ[CB-PH10P-250] を2つ購入して、CMOSカメラとSpartan-3A Starter Kitを結んで、コードにアルミフォイルを巻けば、もしかしたら、いけるかもしれない?ただし、ノイズは多いものと思われる。”
Spartan-3A Starter KitでCMOSカメラ・ディスプレイ回路12(ノイズ?)”参照)
下に変換基板の表側の写真を示す。配線表でcam_sio_cとcam_sio_dはJ2の端子が足りないため、J15に接続するように
、写真の左下のヘッダに配線されている。左下のヘッダからaitendo の
ピンヘッダ用接続ケーブ[CB-PH10P-250] でJ15に配線した。

次に変換基板の裏側の写真を示す。

実際に変換基板をSpartan-3A Starter KitのJ2に挿入して、J15の 5, 6番ピンに配線したのが下の写真だ。

CMOSカメラをつけると下の写真のようになる。

上の写真で操作の説明をすると、ピンクの四角はDDR2 SDRAMの上位アドレスを決めるスライドスイッチで、これを変更するとDDR2 SDRAMバッファのアドレスが変わるので、値を変えると違う画面になる。そして、黄色のスライドスイッチをONにすると、キャプチャ開始、つまり画像が表示される。黄色のスライドスイッチをOFFにすると、キャプチャ終了。つまり、直前の静止画になる。
これで、変換基板とCMOSカメラのつけ方は終了とする。
次に、プロジェクトの使い方を説明する。Spartan-3A Starter KitでCMOSカメラ・ディスプレイ回路のプロジェクトを解凍すると、2つのフォルダが見えると思う。CamDispCntrler_DDR2_Capt_SCCBとDDR2_SDRAM_cont_266だ。DDR2_SDRAM_cont_266は、実際はDDR2-250のDDR2 SDRAMコントローラで、つまり125MHz動作になっている。これは、DDR2 SDRAMコントローラのVerilog-HDLソースだけで、Simulationフォルダは空になっている。ここには、後で、Micron社からダウンロードした512MbitのDDR2 SDRAMのモデルを入れる予定だ。
CamDispCntrler_DDR2_Capt_SCCBの下に、Simulation、Soureces、Synth121フォルダがある。SimulationフォルダにはシミュレーションのテストベンチやISim用のバッチファイル等が置いてある。Sourecesフォルダには、CCMOSカメラ・ディスプレイ回路のソースが入っている。こっちはVerilog-HDLとVHDLの混在となっている。最後のSynth121ファルダは、ISE12.1のプロジェクトが置いてあるフォルダだ。ISE12.2でもプロジェクトを読み込んでそのままインプリメントすることができる。
それでは、ISE12.1を立ち上げて、CamDispCntrler_DDR2_Capt_SCCB\Synth121のCamDisp_Cntrler_DDR2.xise プロジェクトを読み込もう。下がプロジェクトを読み込んだISE12.1だ。

例によって、Generate Programming Fileをダブルクリックすると、論理合成が始まって、bitファイルが生成される。

bitファイルが生成されたので、iMPACTでコンフィギュレーションすれば、画像が写るはずだ。その前に、液晶ディスプレイをVGA端子に接続すればだが。。。
実際に動作させてみた方は、コメント欄等でお知らせ下さい。よろしくお願いします。
- 2010年09月27日 05:58 |
- 画像処理
-
| トラックバック:0
-
| コメント:0