2013年11月28日

OV7670とSVI-06をつなぐ中継基盤をつくろう〜後編〜

OV7670とSVI-06をつなぐ中継基盤をつくろう〜前編〜の続きです。

オムニビジョン(OmniVision)製OV7670とSVI-06を接続する中継基盤を作っていました。
しかし、前回左右逆に配置をしてしまいましたので、再度配置表から作り直します。

まずは、Excel上に配線図を作っていきます。作ったものが下記になります。

OV7670配線イメージ図-正.jpg


この配線図上に配線をしていきます。配線まで行ったものがこちらです。


pin配線-正.jpg
※2014/1/30:配線図を修正いたしました。
※2014/2/24:XCLKへの配線を修正いたしました。


配線図のExcelファイルはこちらです。
配線図_OV7670.xls

この配線図をもとに、基盤に回路をはんだづけしていきます。
1度作っていますので、2度目は簡単に作れます。


中継基盤.jpg


これでは、配線が正しい中継基盤が出来上がりました。

中継基盤がやっとできましたので、SVI-06につないで、設定ファイル(ov7670_VGA_UYVY.txt)を送ってみます。

やはり応答がありません。。。。ただの屍のようだ

配線は正しいのですが、何がいけないのでしょうか。

初めから確認してみましょう。
まず、配線は正しいので、その配線が正しくつながっているか、テスターで導通チェックをしてみます。

確認の結果、5か所も導通チェックNGの配線がありました。

初心者の方は要注意ですが、はんだづけしてつながっていると思われても、深く差しすぎていたりしてうまくつながっていない可能性があります。
はんだ付けが終了したら、動かす前に導通チェックをお勧めします。

<作成のポイント5>
すべてはんだづけしたら、テスターを用いて導通チェック!

さて、導通チェックがOKになるように、再度はんだつけを行います。
これで中継基盤の作成は完了しました。


あとはI2C通信で、カメラモジュールのレジスター設定を行うだけです。
でもこのオムニビジョン(OmniVision)のOV7670は電源を入れただけでVGAサイズの画像を取得することができます。
その時に取得した画像がこちらです。


初期設定前画像.bmp


色見本表を映していますが、全体的に紫がかっていて神秘的ですね。
とはいえ、色味がおかしいです。

今回OV7670からの画像取得には、SVI-06を購入すると標準でついてくるSVIMonという画像描画用のアプリケーションを使用しています。
たとえばこのような形で表示されます。


svimon描画.jpg


PCの裏側を撮影していますが、全体に紫色がつよくてなんだか不思議な世界感を醸し出しています。

オムニビジョン(OmniVision)OV7670カメラの映像を見るためには、SVIMonのオプション設定の変更が必要になります。
Sync Mode」と「Data Input Timing」の設定を下記の画面と合わせます。
(この設定もデータシートに書いてある、Frame Timingを確認して設定します。)


SVIMonとその設定値.jpg


では次にこの色味などの調整をしていきます。

イメージセンサには色や各種機能を調整することができるようになっており、具体的には、イメージセンサのあらかじめ決められたレジスターに値を設定することで、これらの調整を行います。
では、あらかじめ決められたレジスター値はどこに記載されているかというと、イメージセンサについてくる、データシートと呼ばれるものです。

今回イメージセンサを株式会社日昇テクノロジーの通販サイトで購入しましたので、その通販サイトにデータシートも一緒に置いてあります。

OV7670購入サイト

OV7670データシートPDFファイル

OV7670のデータシートのP11に「Register Set」という項目があります。
このような記載の箇所に設定用のレジスター表が掲載されているので、そこを探します。
レジスター表がどこにあるかわかったら、あとは各値の意味を一つ一つ確認して設定を行っていきます。
この設定値を決める作業はなれないと難しいと思います。
手探りで探し当てるしかないか、もしくは、Linuxのソースコードに初期設定値があったりするようなので、Google検索でカメラの型番を入れて、検索してみるのがよいかと思います。

今回は、トランジスタ技術2012年3月号の特集記事「始めよう!チョコっとカメラ」に初期設定値が掲載されていましたのでそれをI2C通信で設定します。
設定ファイル(ov7670_VGA_UYVY.txt)はこちらです。

初期設定を行った後の、イメージセンサの画像が下記になります。

初期設定後画像.bmp

ということで、正しく表示されるようになりました。
今回作成した中継基盤は完成となります。

それでは最後にポイントのまとめです。


1.材料をそろえる前に中継基盤の配線図を作っておこう!

2.いきなり基盤に配線していくのではなく、Excelシート上で配線してみてイメージをつかみましょう!

3.ピン配置表・イメージセンサの両方に目印があるから、まずは目印を探しましょう!

4.はんだづけ初心者は絶対フラックスを使いましょう!

5.すべてはんだづけしたら、テスターを用いて導通チェック!



いかがだったでしょうか。OV7670とSVI-06接続用の中継基盤を作成しました。

今後もオムニビジョン(OmniVision)社以外のカメラ接続用中継基盤も作ってまたブログ記事として公開していきたいと思います。

posted by デベマネ at 12:36| Comment(0) | 中継基盤

2013年11月26日

OV7670とSVI-06をつなぐ中継基盤をつくろう〜前編〜

弊社ではイメージセンサから映像を取り出すための、画像キャプチャーボードSVI-06を販売しておりますが、導入を検討されているお客様から、「イメージセンサとSVI-06をつなぐにはどうしたらよいのですか」と質問を良く受けることがあります。
弊社からは「中継基盤を作成する必要があります」とご回答をさせていただいておりますが、もう少しわかりやすい回答をしたいと考えておりました。

そこで今回の開発者ブログでは、SVI-06とイメージセンサをつなぐための中継基盤を作ってみました。
今回ははんだづけを行うだけの一番シンプルな中継基盤を作成しています。

今回中継基盤をつくるのは、はんだごてを大学の授業で1度しか使ったことがない超が付くハードウェア製作の初心者です!!!

そんな私が、中継基盤を作成して感じたポイント苦労したこと等を含めて初心者の視点でブログにまとめてみます。

まずは、中継基盤を作るための準備するものはこちらです。

ユニバーサル基盤(穴数:25×15)

ピンソケット(メス)2×25(50P)

L型ピンソケット2×10(20P)

ジュンフロンETFE電線 0.26mm 10m(青)

OV7670カメラモジュール(SCCBインタフェース)

SVI-06

・はんだごて・はんだ・FS‐200 フラックス

・ピンセット

・中継基盤の配線図(Excelで作成)(配線図_OV7670.xls)
※2013/11/28:OV7670の配線図に一部誤りがありましたので修正したものに変更いたしました。

ピンセットは細い導線を配線したり、はんだづけするときに導線をつまむなどに役立ちます。
初心者の方は特にあったほうがやりやすいと思います。

SVI-06につなぐイメージセンサとしてオムニビジョン社のカメラOV7670を使いました。
(ちなみに、一部配線変更を行うとOV5642カメラも今回の中継基盤を使うと接続可能です。)

まず、イメージセンサのピン数とSVI-06ピン数を調べてみて材料を購入しに行ったのですが失敗したと思いました。
それは、今回なにげなく購入したピンソケットを使うと、中継基盤の配線がしづらいピン配置になってしまったからです。
またカメラの向きも想定していたものと偶然一致していましたが、それもおかしな方向を向いていたかもしれません。
そう考えると、材料をそろえる前に中継基盤の配線図を作っておくほうがベターだといえます。

<作成のポイント1>
材料をそろえる前に中継基盤の配線図を作っておこう!

とはいえ、材料を買ってしまったので、今回はこのピンソケットに合わせて、中継基盤の配線図を作ります。

配線図を作るのに必要なのは、中継基盤と接続するSVI-06とOV7670のピンアサイン表になります。
SVI-06のピンアサインは、ハードウェアマニュアルに記載されていますご確認ください。

それぞれのピンアサイン表からピン配置をExcelのシートに並べたものが下記になります。

配線図1.jpg

※このピンアサインは間違っています。
初めての私が躓いた過程も含めて記載のためこのまま掲載しています。
正しいものは次回もしくはこちら(配線図_OV7670.xls)をご覧ください



左側の背景色が青の部分がSVI-06のピンアサインで、右側にある橙色背景色の部分がOV7670のピンアサインになっています。
実際の基盤上では、表面にOV7670接続用のピンソケットを、裏面にSVI-06接続用のピンソケットを接続します。
このExcelで作ったピンアサイン図をもとに、実際に配線する線もExcelシートに記載して、配線のイメージをつかみます。
途中までですがこのような感じに行いました。
作っている人しかわからないくらいごちゃごちゃしていますが。

pin配線1.jpg

※このピンアサインは間違っています。
初めての私が躓いた過程も含めて記載のためこのまま掲載しています。
正しいものは次回もしくはこちら(配線図_OV7670.xls)をご覧ください


<作成のポイント2>
いきなり基盤に配線していくのではなく、Excelシート上で配線してみてイメージをつかみましょう!

このようにして、最後まで線で結んでいき、配線のイメージをつかんだところで、実際の回路基板に配線を行っていきます。

最後まで配線したものがこちらになります。

カメラコネクタ側-NG.jpg
<OV7670ピンソケット側>

SVI-06側-NG.jpg
<SVI-06ピンコネクタ側>

SVI-06ピンコネクタ側の配線がやや回りくどいことになってしまいました。
途中から気が付いたのですが、コネクタのヘリをぐるっと回さないほうが見栄えがよいです。

また、はんだづけですが、フラックスをつけてはんだづけを行うとほとんど失敗しなくなりますのでぜひフラックスをつけてはんだづけをしましょう。
初心者の私でもこのようにきれい??かどうかはわかりませんが一応はんだ付けに失敗せずに行うことができました。

<作成のポイント3>
はんだづけ初心者は絶対フラックスを使いましょう!


さて、実際にSVI-06とOV7670をつなげて動くかどうか確認してみましょう。

ここで実際にカメラをつなぐ前にカメラに供給する電圧を調整します。
今回カメラの電源とはSVI-06のVDD_Hピンで接続しています。そのため、SVI-06のVDDHの電圧を調整します。
購入サイトの表記に低動作電圧:2.5V〜3.0VDCとあるので、VDDHを2.8Vに調整します。調整の仕方はSVI-06説明動画をご覧ください。

カメラへの供給電圧を調整したら、カメラに初期設定を行います。
初期設定をおこなうにはまず、SVI-06に付属のI2Cコントロールソフトを起動します。
OV7670のデータシートのP11にslave addressの指定の記載があります。

「slave addresses are 42 for write and 43 for read」(数値は16進表記です)

弊社のSVICtrlは上記のアドレスを1ビット右にシフトした値「0x21」を設定します。(弊社の仕様として、APIの中でRead、Writeの値を1ビット左シフトして使用しています。)
また設定ファイルはこちら(ov7670_VGA_UYVY.txt)を使用しています。


SVIctl画面.jpg

通信を行わせようとしますが、Errとなってしまい、何も設定できません。
何度もやってみましたが全くできません。

おや???何でしょうか???

今までの作業としては配線しかしていませんので、もう一度配線を見直しましょう。


OV7670ピンアサイン比較.jpg

これは、実際のOV7670で見た時にはいったいどっち向き何でしょうか???
カメラが付いていないから裏面の図なんじゃないかと思っていたのですが。。。


OV7670前後画像.jpg

OV7670の前の左下(丸印のところ)に△の印とはんだづけの形が異なっているところがあります。

そこで再度OV7670のピンアサイン表を確認します。やはり上の左下のところに■と矢印があります。

OV7670ピンアサイン確認.jpg

そこで、OV7670の実機をもう一度確認すると、OV7670の前からの写真と同じ位置にも同じものがあるわけです。ようするに、中継基盤のOV7670ピンソケットのピンアサインが左右逆でした。がっかりしました。


<作成のポイント4>
ピン配置表・イメージセンサの両方に目印があるから、まずは目印を探しましょう!


ということで、今回はここまでとします。
次回新たに中継基盤を作り直して動作させるところまで進めたいと思います。

次回の更新は2013/11/28(木)を予定しています。
posted by デベマネ at 15:30| Comment(0) | 中継基盤