JP6330873B2 - 撮像装置 - Google Patents

撮像装置 Download PDF

Info

Publication number
JP6330873B2
JP6330873B2 JP2016179730A JP2016179730A JP6330873B2 JP 6330873 B2 JP6330873 B2 JP 6330873B2 JP 2016179730 A JP2016179730 A JP 2016179730A JP 2016179730 A JP2016179730 A JP 2016179730A JP 6330873 B2 JP6330873 B2 JP 6330873B2
Authority
JP
Japan
Prior art keywords
image
bus
data
imaging
image sensors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016179730A
Other languages
English (en)
Other versions
JP2016220254A (ja
Inventor
田中 智憲
智憲 田中
寺尾 典之
典之 寺尾
祥明 入野
祥明 入野
亨 原田
亨 原田
山本 英明
英明 山本
竹中 博一
博一 竹中
聡 澤口
聡 澤口
今江 望
望 今江
大介 別所
大介 別所
憲介 増田
憲介 増田
佐藤 裕之
裕之 佐藤
誠 庄原
誠 庄原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016179730A priority Critical patent/JP6330873B2/ja
Publication of JP2016220254A publication Critical patent/JP2016220254A/ja
Application granted granted Critical
Publication of JP6330873B2 publication Critical patent/JP6330873B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Studio Devices (AREA)

Description

本発明は、撮像装置に関する。
最近の撮像装置は、CMOSセンサ等を含む撮像素子の内部に種々のレジスタ(コマンドレジスタ)を有し、これらのレジスタにコマンドやパラメータを設定することで、撮像素子の種々の動作内容を決定している。この撮像素子の内部レジスタ群への読み書きは、撮像制御回路により、画像データの経路とは別の専用経路を使って行われるが、この専用経路には、一般に1本のクロック線(SCL)と1本のデータ線(SDA)からなるシリアルI/Fバス(I2Cバス)が利用される。すなわち、撮像制御回路と撮像素子をI2Cバスを介して接続し、撮像制御回路をマスタデバイス、撮像素子をスレーブデバイスとして動作させて、撮像素子の内部レジスタ群への読み書きを行う。
一方、複数の同一種類の撮像素子を用いて全方位を撮影し、得られた複数の画像データを合成処理して、パノラマ画像を生成する全方位撮像装置が知られている。このような全方位撮像装置において、複数の同一種類の撮像素子のそれぞれの内部レジスタ群への読み書きにI2Cバスを利用する場合、次のような問題がある。
I2Cバスには、複数のスレーブデバイスを接続することが可能であるが、各スレーブデバイスは異なるアドレス(スレーブアドレス)とする必要があり、同一のスレーブアドレスを有する複数のスレーブデバイスをI2Cバスに接続することができない。同一種類の撮像素子は、一般にスレーブアドレスが同じ値となるため、複数の同一種類の撮像素子をI2Cバスに接続することができない。
撮像素子には、スレーブアドレスを外部端子にて指定可能なものもある。このような撮像素子では、各撮像素子のスレーブアドレスを異なる値にすることで、複数の同一種類の撮像素子をI2Cバスに接続することが可能である。しかしながら、各撮像素子の内部レジスタ群に同じコマンド等を設定する際にも、ACK等の応答信号を確認するなど、I2Cバスの規格上の都合で、各撮像素子ごとに個別に実施する必要があり、設定処理に時間がかかり、処理が煩雑となる問題がある。また、スレーブアドレスを外部端子にて指定する機能が無い撮像素子は使用できない。各撮像素子ごとにI2C制御回路を持たせれば、各撮像素子の内部レジスタ群へのコマンド等を同時に設定することができるが、回路規模が増え、コストアップになってしまう。
なお、I2Cバスの規格にあるジェネラルコードアドレス機能を使えば、I2Cバスに接続された全てのスレーブデバイスにデータを一斉に送信することが可能であるが、ACK等の応答信号を無視するために信頼性に欠けるのと、この機能に撮像素子自体が対応できないことが多いという問題がある。
ここでは、全方位撮像装置について説明したが、一般にI2Cバスを利用して、複数の同一種類のデバイスにコマンド等を設定する際に、上述のような問題が生じる。
なお、特許文献1には、I2Cバスに複数のスレーブデバイスを接続すると共に、該I2Cバスに通信制御装置を介してマスタデバイスを接続し、通信制御装置がマスタデバイスと複数のスレーブデバイスの間のデータ通信を制御する構成とすることで、同一のアドレス値を有する複数のスレーブデバイスをI2Cバスに接続できるようにすることが記載されているが、回路規模が増えてコストアップになり、また、処理が煩雑になる問題がある。
本発明は、簡単な構成で、且つ、煩雑な処理を必要とせずに、シリアルI/Fバスを利用して、複数の同一種類の撮像素子を制御することが可能な撮像装置を提供することにある。
本発明は、複数の撮像素子を有する撮像装置であって、複数の前記撮像素子により撮像された画像データから全天球画像を合成する画像合成手段と、マスタデバイスとなり、複数の前記撮像素子をスレーブデバイスとして、同一のスレーブアドレス、同一の内部アドレスをもつレジスタを備えた複数の該撮像素子とシリアルI/Fバスを利用した所定の通信プロトコルに基づいて該撮像素子の動作に必要な設定データの書き込みを制御する1つの制御手段と、複数の前記撮像素子の同一の内部アドレスを持つ複数のレジスタに対して該制御手段により前記所定のプロトコルに基づいて同時に同一設定データの書き込みを実行させる第1モードと、複数の前記撮像素子の1つの撮像素子のレジスタに対して該制御手段により前記所定のプロトコルに基づいて個別に設定データの書き込みを実行させる第2モードとを持つ切替え手段と、前記切替え手段が前記第1モードの時、複数の前記撮像素子それぞれがマスタデバイスである前記制御手段と同一タイミングで前記設定データの受信を行なった応答として前記シリアルI/Fバスに送出する応答信号に基づいて、1つの前記撮像素子または複数の前記撮像素子それぞれがマスタデバイスである前記制御手段から同一タイミングで前記設定データの受信を行った応答として前記設定データを受信したことを示す前記応答信号を出力しない場合をエラーとして検出するエラー検出手段と、を有する、ことを特徴とする。
1つのシリアルI/Fバス制御手段で、複数のデバイスを制御することが可能となる。
本発明のシリアルI/Fバス制御装置を適用した撮像装置の全体的回路構成例を示す図である。 図1の画像処理ユニットの詳細構成図である。 I2Cバスのシリアルクロック線(SCL)とシリアルデータ線(SDA)の動作タイミングを説明する図である。 I2Cバス通信の標準的なデータ・フォーマットを示す図である。 I2Cバス通信のリピート・スタート・コンディション機能を説明する図である。 図1の撮像制御ユニット(シリアルI/Fバス制御装置)の一実施形態に係る詳細構成図である。 単独動作モード時の撮像制御ユニットの構成(その一)を示す図である。 単独動作モード時の撮像制御ユニットの構成(その二)を示す図である。
以下、本発明の一実施形態について図面にもとづいて説明する。以下では、本発明のシリアルI/Fバス制御装置を全方位撮像装置に適用した実施例について説明するが、本発明のシリアルI/Fバス制御装置は、一般にシリアルI/Fバスを利用して、複数の同一種類のデバイスにコマンド等を設定する必要のある装置に広く適用可能である。また、シリアルI/FバスはI2C(Inter Integrated Circuit)とするが、SCCB(Serial Camera Control Bus)でもよい。
図1は、本発明のシリアルI/Fバス制御装置(I2Cバス制御装置)の適用例としての全方位撮像装置の全体的回路構成例を示している。
図1において、撮像ユニット10は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)と、各広角レンズに対応させて設けられている同一種類の2つの撮像素子11,12を有している。撮像素子11,12は、先の魚眼レンズによる光学像を電気信号の画像データに変換して出力するCMOSセンサなどの画像センサ、該画像センサの水平/垂直同期信号や画素クロックなどを生成するタイミング生成回路、画像センサやタイミング生成回路の動作を制御したり、画像センサから出力される画像データの必要な前処理などを行うプロセッサ、及び、撮像素子の動作に必要な種々のコマンド、パラメータなどが設定されるレジスタ群や種々のステータス・データが格納されるレジスタ群などを有している。この種の撮像素子は既に知られているので(例えば、Omni Vision Technologies社のOV5653等)、撮像素子11,12の具体的構成は省略する。なお、図1では撮像素子を2つとしたが、一般に2つ以上いくつでもよい。
撮像ユニット10の撮像素子11,12は、各々、画像処理ユニット20とはパラレルI/Fバスで接続されている。一方、撮像ユニット10の撮像素子11,12は、撮像制御ユニット30とは、別途、シリアルI/Fバス(I2Cバス)で接続されている。画像処理ユニット20及び撮像制御ユニット30は、バス80を介してCPU40と接続される。さらに、バス80には、メモリ50、操作部60、外部I/F70なども接続される。
画像処理ユニット20は、撮像素子11,12から出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して全方位画像データを生成する。
撮像制御ユニット30は、該撮像制御ユニット30をマスタデバイス、撮像素子11,12をスレーブデバイスとして、I2Cバスを利用して、撮像素子11,12のレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU40から受け取る。また、該撮像制御ユニット30は、同じくI2Cバスを利用して、撮像素子11,12のレジスタ群のステータス・データ等を取り込み、CPU40に送る。
この撮像制御ユニット30として、本発明のシリアルI/Fバス制御装置(I2C制御装置)を使用する。これにより、撮像制御ユニット30は、同一種類の撮像素子11,12のレジスタ群に対して、I2C通信の標準的なデータ・フォーマットでもって同時にコマンド等を設定することが可能になる。この撮像制御ユニット30の構成、動作については、後で詳しく説明する。ここで、同一種類とは、同一のスレーブアドレス、同一の内部アドレスを持つと言う意味である。したがって、同一種類のデバイスとは、同一のスレーブアドレス、内部アドレスを有するデバイスと言う意味である。
CPU40は、当該撮像装置の全体の動作を制御すると共に必要な処理を実行する。ここで、撮像制御ユニット30に関して云えば、CPU40は、例えば電源ON後の撮像素子11,12の初期化時などに、撮像制御ユニット30に対して、撮像素子11,12へのコマンド等の設定を指示し、コマンド等を送信する。また、該CPU40は、撮影終了時などに、撮像制御ユニット30に対して、撮像素子11,12からステータス・データ等の読み出しを指示し、ステータス・データ等を受け取る。
メモリ50は、ROM,RAM、外付けメモリ(USBカード、SDカード等)の総称である。ROMは、CPU40のための種々のプログラムを記憶している。RAMはワークメモリであり、CPU40で実行するプログラムや処理途中のデータ等を記憶する。また、RAMは、画像処理ユニット20での処理途中の画像データを一時記憶する。外付けメモリは、必要に応じて画像処理ユニット20での処理済みの全方位画像データを直接あるいはRAMを介して記憶する。
操作部60は、種々の操作ボタンや電源スイッチ、シャッタボタン、表示と操作の機能を兼ねたタッチパネルなどの総称である。ユーザは操作ボタン等を操作することで、種々の撮影モードや撮影条件などを入力する。
外部I/F70には、例えばパーソナルコンピュータが接続される。画像処理ユニット20での処理済みの全方位画像データは、必要に応じて該外部I/F70を通して、パーソナルコンピュータに転送される。なお、本実施形態では、撮像装置には表示部が設けられていないが、表示部を設けて良いことは言うまでもない。さらに、外部I/F70として、USB I/F、シリアル I/F、ネットワークI/Fなどが挙げられる。
図2は、画像処理ユニット20の詳細構成図である。画像処理ユニット20は、画像処理回路(1)210、画像処理回路(2)220、画像合成回路230、バスI/F回路240、及び、これらを接続する内部バス250からなる。
撮像素子11,12は、それぞれ画像データをライン単位で出力する。同時に、撮像素子11,12は水平/垂直同期信号、画素クロック等も出力する。画像処理回路210,220は、撮像素子11,12から出力される画像データについてそれぞれ所定の画像処理を施す。画像処理回路210,220での画像処理の種類としては、レンズ補正、黒レベル補正、色補正、欠陥画素補正、ホワイトバランス等がある。画像処理回路210,220でそれぞれ所定の画像処理が施された画像データは、一旦、バスI/F240を介してメモリ50のRAMに格納される。すなわち、メモリ50の例えばRAMには、撮像素子11,12でそれぞれ撮影して得られた2つの半球画像データが、所定の画像処理が施されて格納される。この2つの半球画像データは、互いにオーバーラップ領域を有している。ここで、本実施形態では、2つの撮像素子を用いた場合を示しているので、画角が180度以上の半球画像である。しかし、撮像素子の個数が変更されると、それに応じて画角が変更されることは言うまでもない。また、画角が狭くなる場合が考えられるが、本実施形態では広角レンズと言う用語を利用するが、必ずしも広角とならない場合もある。
メモリ50のRAMに格納された2つの半球画像データは、その後、バスI/Fを介して画像合成回路230に取り込まれる。画像合成回路230は、2つの半球画像データについて、互いのオーバーラップ領域をもとに合成して全方位画像データを生成する。そして、生成された全方位画像データは、バスI/F240を介して再度、メモリ50のRAMに格納される。その後、全方位画像データは、RAMから外付けメモリ(USBカード、SDカード等)に蓄積されたり、表示部に表示されたり、必要に応じて外部I/F回路70を通して、パーソナルコンピュータ等に転送される。
次に、撮像制御ユニット30について説明する。先に述べたように、この撮像制御ユニット30に本発明に係るシリアルI/Fバス制御装置(I2C制御装置)が使用される。
まず、I2Cバス・インタフェースについて説明する。I2Cバスは、1本のシリアルデータ線(SDA)と1本のシリアルクロック線(SCL)の計2本のバス(シリアルI/Fバス)のみで構成される。このI2Cバスには、複数のデバイスを接続することができるが、その一つをマスタデバイス、そのほかのデバイスをスレーブデバイスとして、マスタデバイスが主導権を握り、通常、I2Cバスに接続された1つのスレーブデバイスとデータ等の送受信を行う。スレーブデバイスはそれぞれ固有のアドレス(スレーブアドレス)を持っている。
マスタデバイスが、あるスレーブデバイスとデータ等の送受信を行う場合、マスタデバイスは、そのスレーブアドレスをI2Cバス上に送信して、通信対象のスレーブデバイスに通信の開始を知らせる。こうして、一旦スレーブデバイスが特定された後、マスタデバイスは、そのスレーブデバイスとだけデータ等の送受信を行うことが可能になる。データの送受信が終了すると、マスタデバイスは当該スレーブデバイスに通信の終了を通知する。
以下に、I2Cバスの通信プロトコルの概要について説明する。
(1)通信の開始
マスタデバイスは、あるスレーブデバイスと通信を始める際に、通信シーケンスの始まりを示すためにスタート・コンディション信号(S)を発行する。これは、図3の(a)のように、SCLが“H”レベルのときにSDAを“H”レベルから“L”レベルに変化させることで成立する。スタート・コンディション信号(S)は、すべのスレーブデバイスへ一斉に通知される。なお、SCLはマスタデバイスで駆動されて、所定の周波数で“H”レベルと“L”レベルを交互に繰り返す。通信が開始される前は、SCLとSDAとも“H”レベルである。
(2)スレーブデバイスの選択
マスタデバイスは、スタート・コンディション信号を発行した後、全てのスレーブデバイスへコントロール・バイト(CB)を送信する。コントロール・バイトは、7ビットのスレーブアドレスと1ビットの送受信(読出し書込み)の向きを示すR/Wフラグからなり、SCL上のクロックに同期してSDA上に1ビットずつ送出される。図3の(c)はこれを示している。
すべてのスレーブデバイスは、スタート・コンディション信号(S)を受信した後、SCL上のクロックに同期してSDA上のコントロール・バイト(8ビット)を受信する。各スレーブデバイスは、コントロール・バイトを受信すると、そのスレーブアドレスが自分のアドレスと一致しているかどうか調べ、一致していない場合はアイドル状態へ戻り、再び、スタート・コンディション信号(S)が発行されるまで待機する。
一方、受信したコントロール・バイトのスレーブアドレスが自分のアドレスと一致している場合には、そのスレーブデバイスは、マスタデバイスへ応答信号としてACKを返し、コントロール・バイトのR/Wフラグに応じてデータの送受信の処理に備える。なお、ACKは、SCL上のクロックに同期して、SDAを“L”レベルにすることで応答する。
(3)データの送受信
コントロール・バイトのR/Wフラグが“W”(例えば論理0)の場合には、マスタデバイスが、選択されたスレーブデバイスからACKが返ってきたのを確認してデータの送信を開始する。また、コントロール・バイトのR/Wフラグが“R”(例えば論理1)の場合には、選択されたスレーブデバイスが、マスタデバイスへACKを返した後、データの送信を開始する。
データの送受信は1バイト(8ビット)単位で行う。すなわち、送信側は、SCL上のクロックに同期して、1バイトのデータを1ビットずつSDA上に載せる。これは、図3の(c)に示したコントロール・バイトの場合と同様である。受信側は、SCL上のクロックに同期して、SDA上のデータを1ビットずつ受信し、1バイト(8ビット)のデータを受信すると、送信側へACKを返し、受信しなければ、送信側へNOACKを返す。送信側は、受信側からACKが返ってきたのを確認し、まだ送信すべきデータがあれば、同様にして、次の1バイトのデータを1ビットずつSDAに乗せる。これを送信するデータがなくなるまで繰り返す。
このように、データはコントロール・バイトと同様に、1ビットずつSCL上のクロックに同期した形でSDA上に出力される。マスタデバイスは自分でクロックを出力しながらデータを送受信する。これに対してスレーブデバイスは、マスタデバイスが出力するクロックに合わせてデータを送受信する。ACK/NOACKはマスタ、スレーブの違いに関わらず、受信した側が出力する。
通常、ACKはデータを正常に受信したことを意味し、NOACKは正常に受信されないことを意味するが、該NOACKに特定の意味を持たせる場合がある。例えば、マスタデバイスが最終データを受信した後に、スレーブデバイスへ通信終了を知らせるためにNOACKを返す。
(4)通信の終了
一連の通信シーケンスが終わると、マスタデバイスはストップ・コンディション信号(P)を発行して、通信シーケンスの終わりをスレーブデバイスに知らせる。これは、図3の(b)のように、SCLが“H”レベルの時に、スタート・コンディションのときとは逆にSDAを“L”レベルから“H”レベルに変化させることで成立する。この後、スレーブデバイスは待機状態に戻る。
図4は、I2Cバス通信の標準的なデータ・フォーマットを示した図である。ここでは、簡単に送信データは1バイトとしている。
図4の(a)は、マスタデバイスがスレーブデバイスへデータを送信(書込み)する例である。マスタデバイスは、スタート・コンディション信号(S)を発行した後、コントロール・バイトを送信する。ここで、A6〜A0はスレーブアドレスであり、Wはデータ送信を意味する。コントロール・バイトのスレーブアドレス(A6〜A0)と自分のアドレスが一致したスレーブデバイスは、マスタデバイスへACKを返して、データの受信に備える。マスタデバイスは、ACKが返ったのを確認して、データ(D7〜D0)をスレーブデバイスへ送信する。スレーブデバイスは、データを正常に受信すると、マスタデバイスにACKを返す。マスタデバイスは、ストップ・コンディション信号(P)を発行して、通信シーケンスの終わりをスレーブデバイスに知らせる。
図4の(b)は、マスタデバイスがスレーブデバイスからデータを受信(読出し)する例である。マスタデバイスは、スタート・コンディション信号(S)を発行した後、コントロール・バイトを送信する。ここで、A6〜A0はスレーブアドレスであり、Rはデータ受信を意味する。コントロール・バイトのスレーブアドレスと自分のアドレスが一致したスレーブデバイスは、マスタデバイスへACKを返した後、引き続いてデータ(D7〜D0)をマスタデバイスへ送信する。マスタデバイスは、データを受信するとスレーブデバイスへ通信の終了を知らせるためにNOACKを返し、引き続いてストップ・コンディション信号(P)を発行する。
次に、I2Cバス通信プロトコルのその他の主な機能について簡単に説明する。
<クロック・ストレッチ>
スレーブデバイスは、マスタデバイスからデータを受信した後(またはマスタデバイスへデータを送信した後)に、内部処理に時間がかかるなどの理由で、マスタデバイスに対してWAITをかけることができる。その手段としてスレーブデバイスがSCLを“L”レベルにする。この結果、マスタデバイスはクロックが出せなくなるので通信を一時停止する。スレーブデバイスは準備が整うとSCLの“L”レベル出力を解除する。これを受けてマスタデバイスは通信を再開する。このように、マスタデバイスを待たせるためにスレーブデバイスがSCLを強制的に“L”レベルにすることをクロック・ストレッチという。
<リピート・スタート・コンディション>
通常、スタート・コンディション信号(S)とストップ・コンディション信号(P)の区間内での通信の向き(送/受)は、コントロール・バイトを除いて、コントロール・バイト内のR/Wフラグの値に応じた方向に固定されている。しかし、この区間の中で通信の方向を切り替えたい場合がある。たとえば、スレーブデバイスがEEPROMで、特定のROMアドレスからROMデータを読み出したい場合、アクセス対象のROMアドレスの設定はスレーブデバイスに対してW(書き込み)要求を出すが、ROMデータの読み出しにはスレーブデバイスに対してR(読み出し)の要求を出さなければならない。このようなときは、ROMアドレスをスレーブデバイスへ送信(W)したあとに、通信の向きを読み出し(R)に切り替えるために、スタート・コンディション信号(S)を再発行し、R要求のコントロール・バイトを送信する。このときに発行するスタート・コンディション信号(S)をリピート・スタート・コンディションという。図5は、リピート・スタート・コンディションの具体例を示している。
<ジェネラル・コール・アドレス>
スレーブアドレスの“0”は特別のアドレスとして定義される。これはジェネラル・コール・アドレスと言われ、バス上のすべてのスレーブデバイスへ一斉にデータを送信するための特殊なアドレスである。ただし、スレーブデバイス側ではこのアドレス・モードをサポートしている必要がある。当然ながら、データがぶつかるので、ジェネラル・コールでスレーブデバイスからデータを一斉に受信することはできない。
図1に戻り、本発明の特徴である撮像制御ユニット30について説明する。
図6は、本実施形態に係るシリアルI/Fバス制御装置(I2C制御装置)としての撮像制御ユニット30の詳細構成図である。図6において、撮像制御ユニット30は、バスI/F回路310、制御手段としてのI2C制御回路320、バス切替え手段としての出力セレクタ330と入力セレクタ340、エラー検出回路350、3ステート・バッファ回路361,362,363、バッファ回路371,372,373、及び、バッファI/F回路310とI2C制御回路320、エラー検出回路350を接続する内部バス370を有している。
撮像制御ユニット30と撮像素子11,12との間はそれぞれ個別のI2Cバスで接続される。ただし、本実施形態では、SCLについては撮像素子11,12で共通に使用するようにして、撮像制御ユニット30と撮像ユニット10の間のI2Cバスの本数の軽減を図っている。SCL,SDA1,SDA2はそれぞれ抵抗Rを通して所定の電源に接続されている。待機時、SCL,SDA1,SDA2は電源電圧VDDにプルアップ(Hレベル)されている。
バスI/F回路310は、CPU40(図1)からのコマンド等をI2C制御回路320に送り、また、I2C制御回路320からのステータス等をCPU40に送る。また、バスI/F回路310は、エラー検出回路350のエラー検出信号をCPU40に送る。これらは、汎用バスのプロトコルで行われる。
I2C制御回路320は、基本的に従来と同様である。すなわち、I2C制御回路320は、I2C制御回路320自身がマスタデバイスとなり、撮像素子11,12をスレーブデバイスとして、I2Cバス(SCL,SDA1,SDA2)を使用して、撮像素子11,12とI2Cバス通信プロトコルに則ってコマンド、ステータス等の送受信を実施する。従来と異なる点は、I2C制御回路320は、撮像素子11,12とコマント、ステータス等の送受信を開始するのに先立って、出力セレクタ330や入力セレクタ340を切替え制御することである。切替えはCPU40から指示される。
出力セレクタ330は、I2C制御回路320からの切替信号に基づいて、I2C制御回路320のSDA出力をSDA1とSDA2の両方(第1モード)またはいずれか一方(第2モード)と接続するように切替える。図6は、I2C制御回路320のSDA出力がSDA1とSDA2の両方に接続されている状態を示している。入力セレクタ340は、I2C制御回路320からの切替信号に基づいて、SDA1とSDA2のいずれか一方をI2C制御回路320のSDA入力と接続するように切り替える。図6は、SDA2がI2C制御回路320のSDA入力に接続されている状態を示している。
3ステート・バッファ回路361は、I2C制御回路320により所定の周波数でオン、オフされる。これにより、SCLが“H”レベル、“H”レベルを繰り返し、撮像素子11,12にクロックが送出される。バッファ回路371は、撮像素子あるいは12がSCLを一時“L”レベルとした場合に(クロック・ストレッチ機能)、それをI2C制御回路320に伝える働きをする。ここで、SCLは撮像素子11,12に共通であるため、クロック・ストレッチ機能が3ステート・バッファ回路361のデータライン構成で有効に働く。
3ステート・バッファ回路362,363は、I2C制御回路326のSDA出力で出力セレクタ330を介してオン、オフされる。これにより、SDA1及び/又はSDA2がSDA出力に応じて“H”レベルあるいは“L”レベルとなる。すなわち、I2C制御回路320からコマンド等が撮像素子11及び/又は撮像素子12に送信される。
バッファ回路372,373は、撮像素子11あるいは12が出力するステータス等を入力セレクタ340を介してI2C制御回路に入力する働きをする。
エラー検出回路350は、撮像素子11,12が同時にI2C制御回路320とI2Cプロトコル通信を実施している時、撮像素子11,12がそれぞれSDA1,SDA2に出力する応答信号(ACK,NOACK)をバッファ回路372,373を介して入力して、監視する。このエラー検出回路350の作用、効果については後述する。
次に、撮像素子11,12のレジスタ群にコマンド等を設定する場合の動作について詳述する。撮像素子11,12は同一種類のデバイスであり、そのアドレス(スレーブアドレス)、内部レジスタアドレスは同じである。ここで、I2C制御回路320が撮像素子11,12にコマンド等を同時に設定するケースを同時動作モードと称すことにする。
撮像制御ユニット30のI2C制御回路320は、まず、CPU40(図1)からバスI/F回路310を通して、撮像素子11,12の同時動作モード指令を受け取る。I2C制御回路320は、該同時動作モード指令に基づき、出力セレクタ330にはI2C制御回路320のSDA出力をSDA1とSDA2の両方に接続すべく切替信号を送出し、入力セレクタ340には撮像素子11のSDA1をI2C制御回路320のSDA入力に接続すべく切替信号を送出する。これにより、出力セレクタ330は、I2C制御回路320のSDA出力を3ステート・バッファ回路362,363を介してSDA1,SDA2の両方に接続する(第1モード)。また、入力セレクタ340は、撮像素子11のSDA1をバッファ回路372を介してI2C制御回路320のSDA入力に接続する。図6はこの状態を示している。
なお、I2C制御回路320は、入力セレクタ340については、撮像素子12のSDA2をI2C制御回路320のSDA入力に接続するように指示してもよい。すなわち、撮像素子11,12を同時に動作させる場合、撮像素子11,12はそれぞれ応答信号を出力するが、I2Cバスの通信プロトコルの制約上、I2C制御回路320は両方の応答信号を受け取ることができない。そこで、撮像素子11,12のいずれか一方の応答信号を受け取るようにする。
次に、I2C制御回路320は、CPU40からバスI/F回路310を通して、撮像素子11,12に共通のスレーブアドレス、フラグ(W)、内部レジスタアドレス、コマンド等の一連のデータ群を受け取る。I2C制御回路320は、これら一連のデータ群を内部レジスタに格納した後、以下のようにして、あたかも1つのスレーブデバイスにデータを送信するかのように、通常のI2Cバスの通信プロトコルに則って撮像素子の11,12のレジスタ群に同時にコマンド等を設定する。
まず、I2C制御回路320は、3ステート・バッファ回路361を通してSCLにクロックを送出する。クロックは一連の通信シーケンスが終了するまで送出される。
次に、I2C制御回路320は、クロックに同期してスタート・コンディション信号(S)を出力する。スタート・コンディション信号(S)は、出力セレクタ330、3ステート・バッファ回路362,363、SDA1,SDA2の経路で撮像素子11,12に通知される。撮像素子11,12は、それぞれクロックに同期してスタート・コンディション信号(S)を受信することで、通信の開始を認識する。
次に、I2C制御回路320は、クロックに同期してコントロール・バイトを出力する。コントロール・バイトは、撮像素子11,12のスレーブアドレス(7ビット)とWフラグ(1ビット)からなる。該コントロール・バイトは、出力セレクタ330、3ステート・バッファ回路362,363、SDA1,SDA2の経路で撮像素子11,12に送信される。撮像素子11,12は、それぞれクロックに同期してコントロール・バイトを受信し、該受信したコントロール・バイト内のスレーブアドレスと撮像素子のアドレスが一致し、フラグが“W”ということで、データの受信処理に備える。そして、撮像素子11,12は、それぞれクロックに同期して応答信号ACKをSDA1,SDA2に出力する。このうち、撮像素子11のACKがSDA1、バッファ回路372、入力セレクタ340の経路でI2C制御回路320に受信される。
I2C制御回路320は、ACKの受信を確認して、撮像素子11,12内のレジスタアドレス(8ビット)をクロックに同期して出力する。該レジスタアドレスは、出力セレクタ330、3ステート・バッファ回路362,363、SDA1,SDA2の経路で撮像素子11,12に送信される。撮像素子11,12は、それぞれクロックに同期してレジスタアドレスを受信し、保持する。そして、撮像素子11,12は、それぞれクロックに同期して応答信号ACKをSDA1,SDA2に出力する。このうち、撮像素子11のACKがSDA1、バッファ回路372、入力セレクタ340の経路でI2C制御回路320に受信される。
次に、I2C制御回路320は、ACKの受信を確認して、ライトデータ(8ビット)をクロックに同期して出力する。該ライトデータは、出力セレクタ330、3ステート・バッファ回路362,363、SDA1,SDA2の経路で撮像素子11,12に送信される。撮像素子11,12は、それぞれクロックに同期してライトデータを受信し、先に保持しておいてレジスタアドレスに対応するレジスタに該ライトデータを書き込む。そして、撮像素子11,12は、それぞれクロックに同期して応答信号ACKをSDA1,SDA2に出力する。このうち、撮像素子11のACKがSDA1、バッファ回路372、入力セレクタ340の経路でI2C制御回路320に受信される。
以下、同様にして、I2C制御回路と撮像素子11,12との間で、クロックに同期してレジスタアドレス、ACK、ライトデータ、ACKの送受信が繰り返される。これにより、撮像素子11,12内のレジスタ群にデータが書き込まれる(コマンド等が設定される)。
I2C制御回路320は、すべてのデータの送信を終え、撮像素子側からの応答信号の受信を確認すると、ストップ・コンディション信号(P)を出力する。ストップ・コンディション信号(P)は、出力セレクタ330、3ステート・バッファ回路362,362、SDA1,SDA2の経路で撮像素子11,12に通知される。撮像素子11,12はストップ・コンディション信号(P)を受信することで、一連の通信シーケンスの終了を確認して、待機状態に戻る。I2C制御回路320は、ストップ・コンディション信号を送出後、クロックの送出を止め(SCLを“H”レベルに保持)、待機状態へ戻る。
なお、ここでは説明を簡単にするために、レジスタアドレス、ライトデータはそれぞれ8ビット(1バイト)としたが、8ビット以上の場合には、8ビットずつ2回あるいはそれ以上に分けて送受信されることになる。
図6の構成の撮像制御ユニット30によれば、同一種類、つまり、同一のスレーブアドレスを有する2つの撮像素子11,12へのコマンド等の書込み(設定)処理が同一タイミングで行うことが可能で、各撮像素子毎に個別に実施する必要がないため、設定処理時間を短縮することができる。しかも、撮像素子11,12は、スレーブアドレスを外部端子にて指定する機能が無くてもよい。このように、設定処理時間を短縮できるのは、一度に撮像素子等のデバイスを制御したり、使用したりする必要がある装置においては非常に有用である。
また、I2C制御回路320のI2Cの通信プロトコルは変更する必要がなく、I2C制御回路320は、撮像素子11,12を1つのスレーブデバイスと見做して、通常のI2Cバス通信プロトコルに則ってコマンド等を送信するだけでよい。すなわち、I2C制御回路320は、特別に煩雑な処理を行うことなく、同一種類の撮像素子11,12へコマンド等を同時に設定することができる。
また、撮像素子11,12が同一スレーブアドレスの場合、各撮像素子11,12毎にI2C制御回路320を持たせることで、撮像素子11,12へコマンド等を同時に設定することが可能であるが、回路規模が増え、コストアップとなる。これに対し、本発明による実施形態である図6の構成によれば、2つの撮像素子11,12に対して1つのI2C制御回路320でよく、回路規模も小さくでき、コストダウンの効果もある。
次に、図6の構成中のエラー検出回路350について説明する。撮像素子11,12は、I2C制御回路310からのコマンド等を正常に受信すれば、応答信号としてACKをSDA1,SDA2へ出力し、正常に受信されなければ、応答信号としてNOACKをSDA1,SDA2へ出力する。I2C制御回路320のI2Cバス通信プロトコルの制約上、このうちの一方の応答信号のみがI2C制御回路320へ送られる(図6では撮像素子11の応答信号)。
一方、エラー検出回路350は、撮像素子11,12がSDA1,SDA2へ出力する応答信号をバッファ回路372,373を介して入力して、撮像素子11,12が出力する応答信号の状態を監視している。そして、エラー検出回路350は、一方あるいは両方の応答信号がNOACKの場合や、ACK出力タイミングにて応答信号が出力されない場合等、エラー発生をバスI/Fを介してCPU40(図1)に通知する。これを受けて、CPU40はI2C制御回路320に対して処理の中止を指示して、例えば、最初から処理をやり直すようにする。これにより、コマンド設定処理の信頼性を向上させることができる。
なお、エラー検出回路350は、エラー発生時、CPU40と共にI2C制御回路320へもエラー発生を通知することでもよい。この場合、I2C制御回路320は、直ちに処理を中止して、CPU40から以後の指示を待つこととなる。
次に、図6の本実施形態に係る撮像制御ユニット(I2C制御装置)30において、I2C制御回路320が撮像素子11あるいは撮像素子12と個別にデータ等の送受信行う単独モード時の動作について説明する。
撮像制御ユニット30のI2C制御回路320は、必要に応じてCPU40(図1)等の指示により撮像素子11あるいは撮像素子12と個別にコマンドやステータス等の送受信を実施することがある。これを単独動作モードと称することにする。図6の構成の場合、出力セレクタ330及び入力セレクタ340を切り替えるだけで、単独動作モードを実施することができる。
図7は、I2C制御回路320が撮像素子11とコマンドやステータス等の送受信を実施する場合の出力セレクタ330及び入力セレクタ340の状態を示した図である。なお、単独動作モードではエラー検出回路350は不要であるため、図7では省略してある。
I2C制御回路320は、CPU40から撮像素子11の単独動作モード指令を受け取ることで、出力セレクタ330にはI2C制御回路320のSDA出力を撮像素子11のSDA1に接続すべく切替信号を送出し、入力セレクタ340には撮像素子11のSDA1をI2C制御回路320のSDA入力に接続すべく切替信号を送出する。これにより、出力セレクタ330は、I2C制御回路320のSDA出力を3ステート・バッファ回路362を介して撮像素子11のSDA1に接続する(第2モード)。また、入力セレクタ340は、撮像素子11のSDA1をバッファ回路372を介してI2C制御回路320のSDA入力に接続する。これにより、撮像素子12のSDA2は非アクティブとなる。
以後、I2C制御回路320がマスタデバイス、撮像素子11がスレーブデバイスとなって、I2C制御回路320と撮像素子11との間でSDA1を使用して、通常のI2Cバス通信プロトコルに則ってコマンドやステータス等の送受信が実施されることになる。すなわち、データ書込み動作では、I2C制御回路320は出力セレクタ330、3ステート・バッファ回路362、SDA1の経路でコマンド等を撮像素子11に送信し、撮像素子11はSDA1、バッファ回路372、入力セレクタ340の経路で応答信号(ACK)をI2C制御回路320に返す。また、データ読み出し動作では、撮像素子11はSDA1、バッファ回路372、入力セレクタ340の経路でステータス等をI2C制御回路320に送信し、I2C制御回路320は出力セレクタ330、3ステート・バッファ回路362、SDA1の経路で応答信号(ACK)を撮像素子11に返す。一連の通信シーケンスが終了するまで、I2C制御回路320が3ステート・バッファ回路361を駆動してSCLにクロックを送出することは、先の同時動作モードの場合と同様である。
図8は、I2C制御回路320が撮像素子12とコマンドやステータス等の送受信を実施する場合の出力セレクタ330及び入力セレクタ340の状態を示した図である。ここでも、エラー検出回路350は省略してある。
図8に示すように、I2C制御回路320と撮像素子12の間でコマンドやステータス等の送受信を実施する場合、出力セレクタ330は、I2C制御回路320から切替信号を受け取ることで、I2C制御回路320のSDA出力を3ステート・バッファ回路363を介して撮像素子12のSDA2に接続する(第2モード)。また、入力セレクタ340は、同様にI2C制御回路320から切替信号を受け取ることで、撮像素子12のSDA2をバッファ回路373を介してI2C制御回路320のSDA入力に接続する。これにより、I2C制御回路320がマスタデバイス、撮像素子12がスレーブデバイスとなって、I2C制御回路320と撮像素子12との間でSDA2を使用して、通常のI2Cバス通信プロトコルに則ってコマンドやステータス等の送受信が可能になる。この時、撮像素子11のSDA1は非アクティブである。
このように、本実施形態に係る撮像制御ユニット30では、I2C制御回路320が撮像素子11あるいは撮像素子12と個別にコマンドやステータス等を送受信する単独動作モードと、撮像素子11と撮像素子12の両方に同一のコマンド等を同時に送信して設定する同時動作モードを使い分けることが可能であり、撮像装置等に搭載することで利便性が向上する。
なお、実施形態では、撮像素子は2つとしたが、3つ以上でもよい。すなわち、撮像素子の数だけSDAを増やし、入出力セレクタは、各SDAを選択できる構成とすればよい。
10 撮像ユニット
11,12 撮像素子
20 画像処理ユニット
30 撮像制御ユニット
40 CPU
320 I2C制御回路
330 出力セレクタ
340 入力セレクタ
SCL シリアルクロック線
SDA1,SDA2 シリアルデータ線
特開2009−105731号公報

Claims (3)

  1. 複数の撮像素子を有する撮像装置であって、
    複数の前記撮像素子により撮像された画像データから全天球画像を合成する画像合成手段と、
    マスタデバイスとなり、複数の前記撮像素子をスレーブデバイスとして、同一のスレーブアドレス、同一の内部アドレスをもつレジスタを備えた複数の該撮像素子とシリアルI/Fバスを利用した所定の通信プロトコルに基づいて該撮像素子の動作に必要な設定データの書き込みを制御する1つの制御手段と、
    複数の前記撮像素子の同一の内部アドレスを持つ複数のレジスタに対して該制御手段により前記所定のプロトコルに基づいて同時に同一設定データの書き込みを実行させる第1モードと、複数の前記撮像素子の1つの撮像素子のレジスタに対して該制御手段により前記所定のプロトコルに基づいて個別に設定データの書き込みを実行させる第2モードとを持つ切替え手段と、
    前記切替え手段が前記第1モードの時、複数の前記撮像素子それぞれがマスタデバイスである前記制御手段と同一タイミングで前記設定データの受信を行なった応答として前記シリアルI/Fバスに送出する応答信号に基づいて、1つの前記撮像素子または複数の前記撮像素子それぞれがマスタデバイスである前記制御手段から同一タイミングで前記設定データの受信を行った応答として前記設定データを受信したことを示す前記応答信号を出力しない場合をエラーとして検出するエラー検出手段と、
    を有することを特徴とする撮像装置。
  2. 前記シリアルI/Fバスはシリアルクロック線とシリアルデータ線とからなり、前記シリアルクロック線は複数の前記撮像素子に共通に接続される、
    ことを特徴とする請求項に記載の撮像装置。
  3. 前記シリアルI/FバスはI2Cバスであり、前記制御手段はI2C制御手段である、
    ことを特徴とする請求項1または2に記載の撮像装置。
JP2016179730A 2016-09-14 2016-09-14 撮像装置 Expired - Fee Related JP6330873B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016179730A JP6330873B2 (ja) 2016-09-14 2016-09-14 撮像装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016179730A JP6330873B2 (ja) 2016-09-14 2016-09-14 撮像装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012040502A Division JP6007509B2 (ja) 2012-02-27 2012-02-27 シリアルi/fバス制御装置及び撮像装置

Publications (2)

Publication Number Publication Date
JP2016220254A JP2016220254A (ja) 2016-12-22
JP6330873B2 true JP6330873B2 (ja) 2018-05-30

Family

ID=57581883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016179730A Expired - Fee Related JP6330873B2 (ja) 2016-09-14 2016-09-14 撮像装置

Country Status (1)

Country Link
JP (1) JP6330873B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101973095B1 (ko) * 2017-05-31 2019-04-26 주식회사 동운아나텍 카메라 모듈에서의 데이터 전송방법
CN114020673A (zh) * 2021-10-14 2022-02-08 上海矽睿科技股份有限公司 自动跳线装置及通信设备
CN216561769U (zh) * 2021-10-14 2022-05-17 上海矽睿科技股份有限公司 I2c通信设备及通信系统
CN116381468B (zh) * 2023-06-05 2023-08-22 浙江瑞测科技有限公司 一种单一图像采集卡支持多芯片并行测试的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6323858B1 (en) * 1998-05-13 2001-11-27 Imove Inc. System for digitally capturing and recording panoramic movies
US7463280B2 (en) * 2003-06-03 2008-12-09 Steuart Iii Leonard P Digital 3D/360 degree camera system
JP2006011926A (ja) * 2004-06-28 2006-01-12 Ricoh Co Ltd シリアルデータ転送システム、シリアルデータ転送装置、シリアルデータ転送方法及び画像形成装置
JP2006023903A (ja) * 2004-07-07 2006-01-26 Sharp Corp 電子機器
US20110242355A1 (en) * 2010-04-05 2011-10-06 Qualcomm Incorporated Combining data from multiple image sensors

Also Published As

Publication number Publication date
JP2016220254A (ja) 2016-12-22

Similar Documents

Publication Publication Date Title
JP6123274B2 (ja) 撮像装置
JP6007509B2 (ja) シリアルi/fバス制御装置及び撮像装置
JP6330873B2 (ja) 撮像装置
TWI545388B (zh) 產生全景圖像的系統和方法
US9596408B2 (en) Image capturing apparatus
EP3591959B1 (en) Image sensor and control system
US11979695B2 (en) SPI-based data transmission system
CN111416923B (zh) 图像处理器和图像处理方法
KR20210127409A (ko) 싱글 센서와 멀티 드라이버간의 동기화 기능을 갖는 ois 회로, ois 장치 및 그 동작방법
US20180191940A1 (en) Image capturing device and control method thereof
WO2002060175A1 (fr) Dispositif de transfert de donnees
US10649938B2 (en) Information processing apparatus and method of transferring data
US8436915B2 (en) Image processing apparatus
CN112689991B (zh) 初始化同步装置、初始化同步方法及摄像机
JP2020191520A (ja) 撮像装置及び撮像装置の制御方法
CN112449137A (zh) 基于移动产业处理器接口的数据传输系统及数据传输方法
US20120131315A1 (en) Data processing apparatus
JP7387420B2 (ja) アクセサリ装置、撮像装置、および制御方法
JP2013150666A (ja) 内視鏡装置
JP2021114755A (ja) 撮像装置およびアクセサリ装置
WO2021117646A1 (ja) 通信装置および通信システム
JP2017076358A (ja) 情報処理装置、情報処理装置の制御方法及びそのプログラム
JP2023047414A (ja) カメラシステム
JP2017069986A (ja) 撮像装置および画像処理装置
JP4746722B2 (ja) ヘッド分離型カメラ装置、撮像装置、制御装置及びヘッド分離型カメラ装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170901

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R151 Written notification of patent or utility model registration

Ref document number: 6330873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees