JP6007509B2 - Serial I / F bus control device and imaging device - Google Patents
Serial I / F bus control device and imaging device Download PDFInfo
- Publication number
- JP6007509B2 JP6007509B2 JP2012040502A JP2012040502A JP6007509B2 JP 6007509 B2 JP6007509 B2 JP 6007509B2 JP 2012040502 A JP2012040502 A JP 2012040502A JP 2012040502 A JP2012040502 A JP 2012040502A JP 6007509 B2 JP6007509 B2 JP 6007509B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- serial
- data
- devices
- control circuit
- 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.)
- Active
Links
- 238000003384 imaging method Methods 0.000 title claims description 77
- 238000004891 communication Methods 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 12
- 101150111792 sda1 gene Proteins 0.000 description 31
- 239000000872 buffer Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 208000033748 Device issues Diseases 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Stereoscopic And Panoramic Photography (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
- Studio Devices (AREA)
Description
本発明は、シリアルI/Fバス制御装置及び該シリアルI/Fバス制御装置を使用した撮像装置に関する。 The present invention relates to a serial I / F bus control device and an imaging device using the serial I / F bus control device.
最近の撮像装置は、CMOSセンサ等を含む撮像素子の内部に種々のレジスタ(コマンドレジスタ)を有し、これらのレジスタにコマンドやパラメータを設定することで、撮像素子の種々の動作内容を決定している。この撮像素子の内部レジスタ群への読み書きは、撮像制御回路により、画像データの経路とは別の専用経路を使って行われるが、この専用経路には、一般に1本のクロック線(SCL)と1本のデータ線(SDA)からなるシリアルI/Fバス(I2Cバス)が利用される。すなわち、撮像制御回路と撮像素子をI2Cバスを介して接続し、撮像制御回路をマスタデバイス、撮像素子をスレーブデバイスとして動作させて、撮像素子の内部レジスタ群への読み書きを行う。 Recent image pickup devices have various registers (command registers) inside an image pickup device including a CMOS sensor and the like, and determine various operation contents of the image pickup device by setting commands and parameters in these registers. ing. Reading and writing to the internal register group of the image sensor is performed by the imaging control circuit using a dedicated path different from the path of the image data. In general, one clock line (SCL) is connected to the dedicated path. A serial I / F bus (I2C bus) composed of one data line (SDA) is used. That is, the image pickup control circuit and the image pickup device are connected via an I2C bus, and the image pickup control circuit is operated as a master device and the image pickup device is operated as a slave device to read / write data from / to an internal register group of the image pickup device.
一方、複数の同一種類の撮像素子を用いて全方位を撮影し、得られた複数の画像データを合成処理して、パノラマ画像を生成する全方位撮像装置が知られている。このような全方位撮像装置において、複数の同一種類の撮像素子のそれぞれの内部レジスタ群への読み書きにI2Cバスを利用する場合、次のような問題がある。 On the other hand, there is known an omnidirectional imaging apparatus that captures omnidirectional images using a plurality of image sensors of the same type and generates a panoramic image by synthesizing a plurality of obtained image data. In such an omnidirectional imaging apparatus, when the I2C bus is used for reading and writing to each internal register group of a plurality of imaging elements of the same type, there are the following problems.
I2Cバスには、複数のスレーブデバイスを接続することが可能であるが、各スレーブデバイスは異なるアドレス(スレーブアドレス)とする必要があり、同一のスレーブアドレスを有する複数のスレーブデバイスをI2Cバスに接続することができない。同一種類の撮像素子は、一般にスレーブアドレスが同じ値となるため、複数の同一種類の撮像素子をI2Cバスに接続することができない。 Multiple slave devices can be connected to the I2C bus, but each slave device must have a different address (slave address), and multiple slave devices having the same slave address are connected to the I2C bus. Can not do it. Since the same type of image pickup device generally has the same slave address, a plurality of the same type of image pickup devices cannot be connected to the I2C bus.
撮像素子には、スレーブアドレスを外部端子にて指定可能なものもある。このような撮像素子では、各撮像素子のスレーブアドレスを異なる値にすることで、複数の同一種類の撮像素子をI2Cバスに接続することが可能である。しかしながら、各撮像素子の内部レジスタ群に同じコマンド等を設定する際にも、ACK等の応答信号を確認するなど、I2Cバスの規格上の都合で、各撮像素子ごとに個別に実施する必要があり、設定処理に時間がかかり、処理が煩雑となる問題がある。また、スレーブアドレスを外部端子にて指定する機能が無い撮像素子は使用できない。各撮像素子ごとにI2C制御回路を持たせれば、各撮像素子の内部レジスタ群へのコマンド等を同時に設定することができるが、回路規模が増え、コストアップになってしまう。 Some image sensors can specify a slave address with an external terminal. In such an image sensor, it is possible to connect a plurality of image sensors of the same type to the I2C bus by setting the slave address of each image sensor to a different value. However, even when setting the same command or the like in the internal register group of each image sensor, it is necessary to carry out each image sensor individually for the convenience of the I2C bus standard, such as checking a response signal such as ACK. There is a problem that the setting process takes time and the process becomes complicated. In addition, an image sensor that does not have a function of designating a slave address with an external terminal cannot be used. If each image sensor has an I2C control circuit, commands to the internal register group of each image sensor can be set at the same time, but the circuit scale increases and the cost increases.
なお、I2Cバスの規格にあるジェネラルコードアドレス機能を使えば、I2Cバスに接続された全てのスレーブデバイスにデータを一斉に送信することが可能であるが、ACK等の応答信号を無視するために信頼性に欠けるのと、この機能に撮像素子自体が対応できないことが多いという問題がある。 If the general code address function in the I2C bus standard is used, it is possible to transmit data to all slave devices connected to the I2C bus at the same time. However, in order to ignore response signals such as ACK The lack of reliability has the problem that the image pickup device itself often cannot cope with this function.
ここでは、全方位撮像装置について説明したが、一般にI2Cバスを利用して、複数の同一種類のデバイスにコマンド等を設定する際に、上述のような問題が生じる。 Although the omnidirectional imaging apparatus has been described here, the above-described problem occurs when a command or the like is generally set to a plurality of devices of the same type using the I2C bus.
なお、特許文献1には、I2Cバスに複数のスレーブデバイスを接続すると共に、該I2Cバスに通信制御装置を介してマスタデバイスを接続し、通信制御装置がマスタデバイスと複数のスレーブデバイスの間のデータ通信を制御する構成とすることで、同一のアドレス値を有する複数のスレーブデバイスをI2Cバスに接続できるようにすることが記載されているが、回路規模が増えてコストアップになり、また、処理が煩雑になる問題がある。
In
本発明は、簡単な構成で、且つ、煩雑な処理を必要とせずに、シリアルI/Fバスを利用して、複数の同一種類のデバイスにコマンド等を同時に設定することが可能なシリアルI/Fバス制御装置及び該シリアルI/Fバス制御装置を使用した撮像装置を提供することにある。 The present invention provides a serial I / O capable of setting commands and the like simultaneously to a plurality of devices of the same type using a serial I / F bus with a simple configuration and without requiring complicated processing. An F bus control device and an imaging device using the serial I / F bus control device are provided.
本発明は、シリアルI/Fバスを利用して、複数の同一種類のデバイスとデータを送受信するシリアルI/Fバス制御装置であって、複数の前記デバイスとそれぞれ接続された複数のシリアルI/Fバスと、マスタデバイスとなり、前記デバイスをスレーブデバイスとして、所定の通信プロトコルに基づいてデータ送受信を制御する1つの制御手段と、複数の前記デバイスの全ての前記シリアルI/Fバスを前記制御手段に接続する第1モードと、複数の前記デバイスのいずれか1つの前記シリアルI/Fバスを前記制御手段に接続する第2モードとを持つバス切替え手段と、前記バス切替え手段が前記第1モードの時、複数の前記デバイスそれぞれが前記マスタデバイスから同一タイミングで前記データの受信を行なった応答として前記シリアルI/Fバスに送出する応答信号に基づいて、1つの前記デバイスまたは複数の前記デバイスが、前記データを受信しないことを示す前記応答信号を出力した場合、または複数の前記デバイスそれぞれが前記マスタデバイスから同一タイミングで前記データの受信を行った応答として前記データを受信したことを示す前記応答信号を出力しない場合をエラーとして検出するエラー検出手段と、を有し、前記シリアルI/Fバスはシリアルクロック線とシリアルデータ線とからなり、前記シリアルクロック線は複数の前記デバイスに共通に接続される、ことを特徴とする。 The present invention is a serial I / F bus control device that transmits and receives data to and from a plurality of devices of the same type using a serial I / F bus, and a plurality of serial I / Fs respectively connected to the plurality of devices. One control means for controlling data transmission / reception based on a predetermined communication protocol using the device as a slave device, and the serial I / F buses of a plurality of devices as the control means. A bus switching means having a first mode for connecting to the control means and a second mode for connecting the serial I / F bus of any one of the plurality of devices to the control means; and the bus switching means for the first mode. when the response to each of the plurality of the devices makes a reception of the data at the same timing from the master device sheet of Based on the response signal to be sent to Al I / F bus, one of the device or of the device, when outputting the response signal indicating that not receive the data or the device each said master, Error detection means for detecting, as an error, a case in which the response signal indicating that the data has been received is not output as a response to the reception of the data from the device, and the serial I / F bus has The serial clock line is composed of a serial clock line and a serial data line, and the serial clock line is commonly connected to the plurality of devices.
1つのシリアルI/Fバス制御手段で、複数のデバイスを制御することが可能となる。 A plurality of devices can be controlled by a single serial I / F bus control means.
以下、本発明の一実施形態について図面にもとづいて説明する。以下では、本発明のシリアルI/Fバス制御装置を全方位撮像装置に適用した実施例について説明するが、本発明のシリアルI/Fバス制御装置は、一般にシリアルI/Fバスを利用して、複数の同一種類のデバイスにコマンド等を設定する必要のある装置に広く適用可能である。また、シリアルI/FバスはI2C(Inter Integrated Circuit)とするが、SCCB(Serial Camera Control Bus)でもよい。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the following, an embodiment in which the serial I / F bus control device of the present invention is applied to an omnidirectional imaging device will be described. The serial I / F bus control device of the present invention generally uses a serial I / F bus. The present invention can be widely applied to apparatuses that need to set commands or the like to a plurality of devices of the same type. The serial I / F bus is I2C (Inter Integrated Circuit), but it may be SCCB (Serial Camera Control Bus).
図1は、本発明のシリアルI/Fバス制御装置(I2Cバス制御装置)の適用例としての全方位撮像装置の全体的回路構成例を示している。 FIG. 1 shows an overall circuit configuration example of an omnidirectional imaging apparatus as an application example of a serial I / F bus control apparatus (I2C bus control apparatus) of the present invention.
図1において、撮像ユニット10は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)と、各広角レンズに対応させて設けられている同一種類の2つの撮像素子11,12を有している。撮像素子11,12は、先の魚眼レンズによる光学像を電気信号の画像データに変換して出力するCMOSセンサなどの画像センサ、該画像センサの水平/垂直同期信号や画素クロックなどを生成するタイミング生成回路、画像センサやタイミング生成回路の動作を制御したり、画像センサから出力される画像データの必要な前処理などを行うプロセッサ、及び、撮像素子の動作に必要な種々のコマンド、パラメータなどが設定されるレジスタ群や種々のステータス・データが格納されるレジスタ群などを有している。この種の撮像素子は既に知られているので(例えば、Omni Vision Technologies社のOV5653等)、撮像素子11,12の具体的構成は省略する。なお、図1では撮像素子を2つとしたが、一般に2つ以上いくつでもよい。
In FIG. 1, an imaging unit 10 includes a wide-angle lens (so-called fisheye lens) having an angle of view of 180 ° or more for forming a hemispherical image, and two of the same type provided corresponding to each wide-angle lens.
撮像ユニット10の撮像素子11,12は、各々、画像処理ユニット20とはパラレルI/Fバスで接続されている。一方、撮像ユニット10の撮像素子11,12は、撮像制御ユニット30とは、別途、シリアルI/Fバス(I2Cバス)で接続されている。画像処理ユニット20及び撮像制御ユニット30は、バス80を介してCPU40と接続される。さらに、バス80には、メモリ50、操作部60、外部I/F70なども接続される。
The
画像処理ユニット20は、撮像素子11,12から出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して全方位画像データを生成する。
The
撮像制御ユニット30は、該撮像制御ユニット30をマスタデバイス、撮像素子11,12をスレーブデバイスとして、I2Cバスを利用して、撮像素子11,12のレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU40から受け取る。また、該撮像制御ユニット30は、同じくI2Cバスを利用して、撮像素子11,12のレジスタ群のステータス・データ等を取り込み、CPU40に送る。
The
この撮像制御ユニット30として、本発明のシリアルI/Fバス制御装置(I2C制御装置)を使用する。これにより、撮像制御ユニット30は、同一種類の撮像素子11,12のレジスタ群に対して、I2C通信の標準的なデータ・フォーマットでもって同時にコマンド等を設定することが可能になる。この撮像制御ユニット30の構成、動作については、後で詳しく説明する。ここで、同一種類とは、同一のスレーブアドレス、同一の内部アドレスを持つと言う意味である。したがって、同一種類のデバイスとは、同一のスレーブアドレス、内部アドレスを有するデバイスと言う意味である。
As the
CPU40は、当該撮像装置の全体の動作を制御すると共に必要な処理を実行する。ここで、撮像制御ユニット30に関して云えば、CPU40は、例えば電源ON後の撮像素子11,12の初期化時などに、撮像制御ユニット30に対して、撮像素子11,12へのコマンド等の設定を指示し、コマンド等を送信する。また、該CPU40は、撮影終了時などに、撮像制御ユニット30に対して、撮像素子11,12からステータス・データ等の読み出しを指示し、ステータス・データ等を受け取る。
The
メモリ50は、ROM,RAM、外付けメモリ(USBカード、SDカード等)の総称である。ROMは、CPU40のための種々のプログラムを記憶している。RAMはワークメモリであり、CPU40で実行するプログラムや処理途中のデータ等を記憶する。また、RAMは、画像処理ユニット20での処理途中の画像データを一時記憶する。外付けメモリは、必要に応じて画像処理ユニット20での処理済みの全方位画像データを直接あるいはRAMを介して記憶する。
The
操作部60は、種々の操作ボタンや電源スイッチ、シャッタボタン、表示と操作の機能を兼ねたタッチパネルなどの総称である。ユーザは操作ボタン等を操作することで、種々の撮影モードや撮影条件などを入力する。
The
外部I/F70には、例えばパーソナルコンピュータが接続される。画像処理ユニット20での処理済みの全方位画像データは、必要に応じて該外部I/F70を通して、パーソナルコンピュータに転送される。なお、本実施形態では、撮像装置には表示部が設けられていないが、表示部を設けて良いことは言うまでもない。さらに、外部I/F70として、USB I/F、シリアル I/F、ネットワークI/Fなどが挙げられる。
For example, a personal computer is connected to the external I /
図2は、画像処理ユニット20の詳細構成図である。画像処理ユニット20は、画像処理回路(1)210、画像処理回路(2)220、画像合成回路230、バスI/F回路240、及び、これらを接続する内部バス250からなる。
FIG. 2 is a detailed configuration diagram of the
撮像素子11,12は、それぞれ画像データをライン単位で出力する。同時に、撮像素子11,12は水平/垂直同期信号、画素クロック等も出力する。画像処理回路210,220は、撮像素子11,12から出力される画像データについてそれぞれ所定の画像処理を施す。画像処理回路210,220での画像処理の種類としては、レンズ補正、黒レベル補正、色補正、欠陥画素補正、ホワイトバランス等がある。画像処理回路210,220でそれぞれ所定の画像処理が施された画像データは、一旦、バスI/F240を介してメモリ50のRAMに格納される。すなわち、メモリ50の例えばRAMには、撮像素子11,12でそれぞれ撮影して得られた2つの半球画像データが、所定の画像処理が施されて格納される。この2つの半球画像データは、互いにオーバーラップ領域を有している。ここで、本実施形態では、2つの撮像素子を用いた場合を示しているので、画角が180度以上の半球画像である。しかし、撮像素子の個数が変更されると、それに応じて画角が変更されることは言うまでもない。また、画角が狭くなる場合が考えられるが、本実施形態では広角レンズと言う用語を利用するが、必ずしも広角とならない場合もある。
The
メモリ50のRAMに格納された2つの半球画像データは、その後、バスI/Fを介して画像合成回路230に取り込まれる。画像合成回路230は、2つの半球画像データについて、互いのオーバーラップ領域をもとに合成して全方位画像データを生成する。そして、生成された全方位画像データは、バスI/F240を介して再度、メモリ50のRAMに格納される。その後、全方位画像データは、RAMから外付けメモリ(USBカード、SDカード等)に蓄積されたり、表示部に表示されたり、必要に応じて外部I/F回路70を通して、パーソナルコンピュータ等に転送される。
The two hemispherical image data stored in the RAM of the
次に、撮像制御ユニット30について説明する。先に述べたように、この撮像制御ユニット30に本発明に係るシリアルI/Fバス制御装置(I2C制御装置)が使用される。
Next, the
まず、I2Cバス・インタフェースについて説明する。I2Cバスは、1本のシリアルデータ線(SDA)と1本のシリアルクロック線(SCL)の計2本のバス(シリアルI/Fバス)のみで構成される。このI2Cバスには、複数のデバイスを接続することができるが、その一つをマスタデバイス、そのほかのデバイスをスレーブデバイスとして、マスタデバイスが主導権を握り、通常、I2Cバスに接続された1つのスレーブデバイスとデータ等の送受信を行う。スレーブデバイスはそれぞれ固有のアドレス(スレーブアドレス)を持っている。 First, the I2C bus interface will be described. The I2C bus is composed of only two buses (serial I / F bus), one serial data line (SDA) and one serial clock line (SCL). A plurality of devices can be connected to this I2C bus. One of them is a master device, and the other device is a slave device. The master device takes the initiative and is usually connected to one I2C bus. Send / receive data to / from slave devices. Each slave device has a unique address (slave address).
マスタデバイスが、あるスレーブデバイスとデータ等の送受信を行う場合、マスタデバイスは、そのスレーブアドレスをI2Cバス上に送信して、通信対象のスレーブデバイスに通信の開始を知らせる。こうして、一旦スレーブデバイスが特定された後、マスタデバイスは、そのスレーブデバイスとだけデータ等の送受信を行うことが可能になる。データの送受信が終了すると、マスタデバイスは当該スレーブデバイスに通信の終了を通知する。 When the master device transmits / receives data or the like to / from a certain slave device, the master device transmits the slave address on the I2C bus to notify the slave device to be communicated of the start of communication. Thus, once a slave device is identified, the master device can transmit and receive data and the like only with the slave device. When the data transmission / reception ends, the master device notifies the slave device of the end of communication.
以下に、I2Cバスの通信プロトコルの概要について説明する。
(1)通信の開始
マスタデバイスは、あるスレーブデバイスと通信を始める際に、通信シーケンスの始まりを示すためにスタート・コンディション信号(S)を発行する。これは、図3の(a)のように、SCLが“H”レベルのときにSDAを“H”レベルから“L”レベルに変化させることで成立する。スタート・コンディション信号(S)は、すべのスレーブデバイスへ一斉に通知される。なお、SCLはマスタデバイスで駆動されて、所定の周波数で“H”レベルと“L”レベルを交互に繰り返す。通信が開始される前は、SCLとSDAとも“H”レベルである。
The outline of the communication protocol of the I2C bus will be described below.
(1) Start of communication When the master device starts communication with a certain slave device, it issues a start condition signal (S) to indicate the start of the communication sequence. This is established by changing SDA from the “H” level to the “L” level when the SCL is at the “H” level, as shown in FIG. The start condition signal (S) is simultaneously notified to all slave devices. The SCL is driven by the master device, and alternately repeats “H” level and “L” level at a predetermined frequency. Before communication is started, both SCL and SDA are at the “H” level.
(2)スレーブデバイスの選択
マスタデバイスは、スタート・コンディション信号を発行した後、全てのスレーブデバイスへコントロール・バイト(CB)を送信する。コントロール・バイトは、7ビットのスレーブアドレスと1ビットの送受信(読出し書込み)の向きを示すR/Wフラグからなり、SCL上のクロックに同期してSDA上に1ビットずつ送出される。図3の(c)はこれを示している。
すべてのスレーブデバイスは、スタート・コンディション信号(S)を受信した後、SCL上のクロックに同期してSDA上のコントロール・バイト(8ビット)を受信する。各スレーブデバイスは、コントロール・バイトを受信すると、そのスレーブアドレスが自分のアドレスと一致しているかどうか調べ、一致していない場合はアイドル状態へ戻り、再び、スタート・コンディション信号(S)が発行されるまで待機する。
一方、受信したコントロール・バイトのスレーブアドレスが自分のアドレスと一致している場合には、そのスレーブデバイスは、マスタデバイスへ応答信号としてACKを返し、コントロール・バイトのR/Wフラグに応じてデータの送受信の処理に備える。なお、ACKは、SCL上のクロックに同期して、SDAを“L”レベルにすることで応答する。
(2) Selection of slave device After issuing a start condition signal, the master device transmits a control byte (CB) to all slave devices. The control byte consists of a 7-bit slave address and an R / W flag indicating the direction of 1-bit transmission / reception (read / write), and is sent bit by bit on the SDA in synchronization with the clock on the SCL. FIG. 3C shows this.
All slave devices receive the control byte (8 bits) on the SDA in synchronization with the clock on the SCL after receiving the start condition signal (S). When each slave device receives the control byte, it checks whether the slave address matches its own address. If it does not match, it returns to the idle state, and the start condition signal (S) is issued again. Wait until
On the other hand, if the slave address of the received control byte matches its own address, the slave device returns ACK as a response signal to the master device, and data is sent according to the R / W flag of the control byte. Preparing for the transmission / reception process. The ACK responds by setting the SDA to the “L” level in synchronization with the clock on the SCL.
(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を返す。
(3) Data transmission / reception When the R / W flag in the control byte is “W” (eg, logic 0), the master device confirms that an ACK has been returned from the selected slave device and Start sending. When the R / W flag of the control byte is “R” (for example, logic 1), the selected slave device returns ACK to the master device and then starts data transmission.
Data is transmitted and received in units of 1 byte (8 bits). That is, the transmission side loads 1-byte data on the SDA bit by bit in synchronization with the clock on the SCL. This is the same as the case of the control byte shown in FIG. The receiving side receives the data on the SDA one bit at a time in synchronization with the clock on the SCL. When receiving 1 byte (8 bits) of data, the receiving side returns an ACK to the transmitting side. Returns NOACK to The transmission side confirms that the ACK has been returned from the reception side, and if there is still data to be transmitted, similarly, the next 1-byte data is put on the SDA bit by bit. This is repeated until there is no data to be transmitted.
As described above, data is output on the SDA bit by bit in synchronization with the clock on the SCL, like the control byte. The master device sends and receives data while outputting its own clock. On the other hand, the slave device transmits and receives data according to the clock output from the master device. The receiving side outputs ACK / NOACK regardless of the difference between the master and the slave.
Usually, ACK means that the data has been normally received, and NOACK means that the data has not been normally received. However, the NOACK may have a specific meaning. For example, after the master device receives the final data, NOACK is returned to notify the slave device of the end of communication.
(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)を発行する。
(4) End of communication When a series of communication sequences is completed, the master device issues a stop condition signal (P) to notify the slave device of the end of the communication sequence. This is established by changing SDA from “L” level to “H” level when SCL is at “H” level, as opposed to the start condition, as shown in FIG. Thereafter, the slave device returns to the standby state.
FIG. 4 is a diagram showing a standard data format of I2C bus communication. Here, the transmission data is simply 1 byte.
FIG. 4A shows an example in which the master device transmits (writes) data to the slave device. The master device transmits a control byte after issuing a start condition signal (S). Here, A6 to A0 are slave addresses, and W means data transmission. The slave device whose own address matches the slave address (A6 to A0) of the control byte returns an ACK to the master device to prepare for data reception. The master device confirms that the ACK has been returned, and transmits data (D7 to D0) to the slave device. When the slave device normally receives the data, it returns ACK to the master device. The master device issues a stop condition signal (P) to inform the slave device of the end of the communication sequence.
FIG. 4B shows an example in which the master device receives (reads) data from the slave device. The master device transmits a control byte after issuing a start condition signal (S). Here, A6 to A0 are slave addresses, and R means data reception. The slave device whose slave address matches the slave address of the control byte returns ACK to the master device, and subsequently transmits data (D7 to D0) to the master device. When receiving the data, the master device returns NOACK to notify the slave device of the end of communication, and subsequently issues a stop condition signal (P).
次に、I2Cバス通信プロトコルのその他の主な機能について簡単に説明する。
<クロック・ストレッチ>
スレーブデバイスは、マスタデバイスからデータを受信した後(またはマスタデバイスへデータを送信した後)に、内部処理に時間がかかるなどの理由で、マスタデバイスに対してWAITをかけることができる。その手段としてスレーブデバイスがSCLを“L”レベルにする。この結果、マスタデバイスはクロックが出せなくなるので通信を一時停止する。スレーブデバイスは準備が整うとSCLの“L”レベル出力を解除する。これを受けてマスタデバイスは通信を再開する。このように、マスタデバイスを待たせるためにスレーブデバイスがSCLを強制的に“L”レベルにすることをクロック・ストレッチという。
Next, other main functions of the I2C bus communication protocol will be briefly described.
<Clock Stretch>
After receiving data from the master device (or after transmitting data to the master device), the slave device can apply a WAIT to the master device for the reason that it takes time for internal processing. As a means for this, the slave device sets the SCL to the “L” level. As a result, the master device cannot generate a clock and temporarily stops communication. When the slave device is ready, the SCL “L” level output is released. In response to this, the master device resumes communication. In this way, the slave device forcing the SCL to the “L” level in order to make the master device wait is called clock stretching.
<リピート・スタート・コンディション>
通常、スタート・コンディション信号(S)とストップ・コンディション信号(P)の区間内での通信の向き(送/受)は、コントロール・バイトを除いて、コントロール・バイト内のR/Wフラグの値に応じた方向に固定されている。しかし、この区間の中で通信の方向を切り替えたい場合がある。たとえば、スレーブデバイスがEEPROMで、特定のROMアドレスからROMデータを読み出したい場合、アクセス対象のROMアドレスの設定はスレーブデバイスに対してW(書き込み)要求を出すが、ROMデータの読み出しにはスレーブデバイスに対してR(読み出し)の要求を出さなければならない。このようなときは、ROMアドレスをスレーブデバイスへ送信(W)したあとに、通信の向きを読み出し(R)に切り替えるために、スタート・コンディション信号(S)を再発行し、R要求のコントロール・バイトを送信する。このときに発行するスタート・コンディション信号(S)をリピート・スタート・コンディションという。図5は、リピート・スタート・コンディションの具体例を示している。
<Repeat start condition>
Normally, the communication direction (send / receive) within the section of the start condition signal (S) and the stop condition signal (P) is the value of the R / W flag in the control byte except for the control byte. It is fixed in the direction according to. However, there are cases where it is desired to switch the communication direction during this interval. For example, when the slave device is an EEPROM and ROM data is to be read from a specific ROM address, the setting of the ROM address to be accessed issues a W (write) request to the slave device. An R (read) request must be issued to. In such a case, after transmitting the ROM address to the slave device (W), in order to switch the communication direction to read (R), the start condition signal (S) is reissued to control the R request. Send a byte. The start condition signal (S) issued at this time is called a repeat start condition. FIG. 5 shows a specific example of the repeat start condition.
<ジェネラル・コール・アドレス>
スレーブアドレスの“0”は特別のアドレスとして定義される。これはジェネラル・コール・アドレスと言われ、バス上のすべてのスレーブデバイスへ一斉にデータを送信するための特殊なアドレスである。ただし、スレーブデバイス側ではこのアドレス・モードをサポートしている必要がある。当然ながら、データがぶつかるので、ジェネラル・コールでスレーブデバイスからデータを一斉に受信することはできない。
<General call address>
The slave address “0” is defined as a special address. This is called a general call address, and is a special address for transmitting data to all slave devices on the bus simultaneously. However, the slave device must support this address mode. Of course, since data collides, it is not possible to receive data from slave devices all at once by a general call.
図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を有している。
Returning to FIG. 1, the
FIG. 6 is a detailed configuration diagram of the
撮像制御ユニット30と撮像素子11,12との間はそれぞれ個別のI2Cバスで接続される。ただし、本実施形態では、SCLについては撮像素子11,12で共通に使用するようにして、撮像制御ユニット30と撮像ユニット10の間のI2Cバスの本数の軽減を図っている。SCL,SDA1,SDA2はそれぞれ抵抗Rを通して所定の電源に接続されている。待機時、SCL,SDA1,SDA2は電源電圧VDDにプルアップ(Hレベル)されている。
The
バスI/F回路310は、CPU40(図1)からのコマンド等をI2C制御回路320に送り、また、I2C制御回路320からのステータス等をCPU40に送る。また、バスI/F回路310は、エラー検出回路350のエラー検出信号をCPU40に送る。これらは、汎用バスのプロトコルで行われる。
The bus I /
I2C制御回路320は、基本的に従来と同様である。すなわち、I2C制御回路320は、I2C制御回路320自身がマスタデバイスとなり、撮像素子11,12をスレーブデバイスとして、I2Cバス(SCL,SDA1,SDA2)を使用して、撮像素子11,12とI2Cバス通信プロトコルに則ってコマンド、ステータス等の送受信を実施する。従来と異なる点は、I2C制御回路320は、撮像素子11,12とコマント、ステータス等の送受信を開始するのに先立って、出力セレクタ330や入力セレクタ340を切替え制御することである。切替えはCPU40から指示される。
The
出力セレクタ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入力に接続されている状態を示している。
Based on the switching signal from the
3ステート・バッファ回路361は、I2C制御回路320により所定の周波数でオン、オフされる。これにより、SCLが“H”レベル、“H”レベルを繰り返し、撮像素子11,12にクロックが送出される。バッファ回路371は、撮像素子あるいは12がSCLを一時“L”レベルとした場合に(クロック・ストレッチ機能)、それをI2C制御回路320に伝える働きをする。ここで、SCLは撮像素子11,12に共通であるため、クロック・ストレッチ機能が3ステート・バッファ回路361のデータライン構成で有効に働く。
The 3-
3ステート・バッファ回路362,363は、I2C制御回路326のSDA出力で出力セレクタ330を介してオン、オフされる。これにより、SDA1及び/又はSDA2がSDA出力に応じて“H”レベルあるいは“L”レベルとなる。すなわち、I2C制御回路320からコマンド等が撮像素子11及び/又は撮像素子12に送信される。
The three-
バッファ回路372,373は、撮像素子11あるいは12が出力するステータス等を入力セレクタ340を介してI2C制御回路に入力する働きをする。
The
エラー検出回路350は、撮像素子11,12が同時にI2C制御回路320とI2Cプロトコル通信を実施している時、撮像素子11,12がそれぞれSDA1,SDA2に出力する応答信号(ACK,NOACK)をバッファ回路372,373を介して入力して、監視する。このエラー検出回路350の作用、効果については後述する。
The
次に、撮像素子11,12のレジスタ群にコマンド等を設定する場合の動作について詳述する。撮像素子11,12は同一種類のデバイスであり、そのアドレス(スレーブアドレス)、内部レジスタアドレスは同じである。ここで、I2C制御回路320が撮像素子11,12にコマンド等を同時に設定するケースを同時動作モードと称すことにする。
Next, the operation when a command or the like is set in the register group of the
撮像制御ユニット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はこの状態を示している。
The
なお、I2C制御回路320は、入力セレクタ340については、撮像素子12のSDA2をI2C制御回路320のSDA入力に接続するように指示してもよい。すなわち、撮像素子11,12を同時に動作させる場合、撮像素子11,12はそれぞれ応答信号を出力するが、I2Cバスの通信プロトコルの制約上、I2C制御回路320は両方の応答信号を受け取ることができない。そこで、撮像素子11,12のいずれか一方の応答信号を受け取るようにする。
Note that the
次に、I2C制御回路320は、CPU40からバスI/F回路310を通して、撮像素子11,12に共通のスレーブアドレス、フラグ(W)、内部レジスタアドレス、コマンド等の一連のデータ群を受け取る。I2C制御回路320は、これら一連のデータ群を内部レジスタに格納した後、以下のようにして、あたかも1つのスレーブデバイスにデータを送信するかのように、通常のI2Cバスの通信プロトコルに則って撮像素子の11,12のレジスタ群に同時にコマンド等を設定する。
Next, the
まず、I2C制御回路320は、3ステート・バッファ回路361を通してSCLにクロックを送出する。クロックは一連の通信シーケンスが終了するまで送出される。
First, the
次に、I2C制御回路320は、クロックに同期してスタート・コンディション信号(S)を出力する。スタート・コンディション信号(S)は、出力セレクタ330、3ステート・バッファ回路362,363、SDA1,SDA2の経路で撮像素子11,12に通知される。撮像素子11,12は、それぞれクロックに同期してスタート・コンディション信号(S)を受信することで、通信の開始を認識する。
Next, the
次に、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に受信される。
Next, the
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に受信される。
The
次に、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に受信される。
Next, the
以下、同様にして、I2C制御回路と撮像素子11,12との間で、クロックに同期してレジスタアドレス、ACK、ライトデータ、ACKの送受信が繰り返される。これにより、撮像素子11,12内のレジスタ群にデータが書き込まれる(コマンド等が設定される)。
Thereafter, in the same manner, transmission / reception of a register address, ACK, write data, and ACK is repeated between the I2C control circuit and the
I2C制御回路320は、すべてのデータの送信を終え、撮像素子側からの応答信号の受信を確認すると、ストップ・コンディション信号(P)を出力する。ストップ・コンディション信号(P)は、出力セレクタ330、3ステート・バッファ回路362,362、SDA1,SDA2の経路で撮像素子11,12に通知される。撮像素子11,12はストップ・コンディション信号(P)を受信することで、一連の通信シーケンスの終了を確認して、待機状態に戻る。I2C制御回路320は、ストップ・コンディション信号を送出後、クロックの送出を止め(SCLを“H”レベルに保持)、待機状態へ戻る。
When the
なお、ここでは説明を簡単にするために、レジスタアドレス、ライトデータはそれぞれ8ビット(1バイト)としたが、8ビット以上の場合には、8ビットずつ2回あるいはそれ以上に分けて送受信されることになる。 In order to simplify the explanation, the register address and the write data are each 8 bits (1 byte). However, in the case of 8 bits or more, each 8 bits are transmitted and received twice or more. Will be.
図6の構成の撮像制御ユニット30によれば、同一種類、つまり、同一のスレーブアドレスを有する2つの撮像素子11,12へのコマンド等の書込み(設定)処理が同一タイミングで行うことが可能で、各撮像素子毎に個別に実施する必要がないため、設定処理時間を短縮することができる。しかも、撮像素子11,12は、スレーブアドレスを外部端子にて指定する機能が無くてもよい。このように、設定処理時間を短縮できるのは、一度に撮像素子等のデバイスを制御したり、使用したりする必要がある装置においては非常に有用である。
According to the
また、I2C制御回路320のI2Cの通信プロトコルは変更する必要がなく、I2C制御回路320は、撮像素子11,12を1つのスレーブデバイスと見做して、通常のI2Cバス通信プロトコルに則ってコマンド等を送信するだけでよい。すなわち、I2C制御回路320は、特別に煩雑な処理を行うことなく、同一種類の撮像素子11,12へコマンド等を同時に設定することができる。
The I2C communication protocol of the
また、撮像素子11,12が同一スレーブアドレスの場合、各撮像素子11,12毎にI2C制御回路320を持たせることで、撮像素子11,12へコマンド等を同時に設定することが可能であるが、回路規模が増え、コストアップとなる。これに対し、本発明による実施形態である図6の構成によれば、2つの撮像素子11,12に対して1つのI2C制御回路320でよく、回路規模も小さくでき、コストダウンの効果もある。
In addition, when the
次に、図6の構成中のエラー検出回路350について説明する。撮像素子11,12は、I2C制御回路310からのコマンド等を正常に受信すれば、応答信号としてACKをSDA1,SDA2へ出力し、正常に受信されなければ、応答信号としてNOACKをSDA1,SDA2へ出力する。I2C制御回路320のI2Cバス通信プロトコルの制約上、このうちの一方の応答信号のみがI2C制御回路320へ送られる(図6では撮像素子11の応答信号)。
Next, the
一方、エラー検出回路350は、撮像素子11,12がSDA1,SDA2へ出力する応答信号をバッファ回路372,373を介して入力して、撮像素子11,12が出力する応答信号の状態を監視している。そして、エラー検出回路350は、一方あるいは両方の応答信号がNOACKの場合や、ACK出力タイミングにて応答信号が出力されない場合等、エラー発生をバスI/Fを介してCPU40(図1)に通知する。これを受けて、CPU40はI2C制御回路320に対して処理の中止を指示して、例えば、最初から処理をやり直すようにする。これにより、コマンド設定処理の信頼性を向上させることができる。
On the other hand, the
なお、エラー検出回路350は、エラー発生時、CPU40と共にI2C制御回路320へもエラー発生を通知することでもよい。この場合、I2C制御回路320は、直ちに処理を中止して、CPU40から以後の指示を待つこととなる。
Note that the
次に、図6の本実施形態に係る撮像制御ユニット(I2C制御装置)30において、I2C制御回路320が撮像素子11あるいは撮像素子12と個別にデータ等の送受信行う単独モード時の動作について説明する。
Next, in the imaging control unit (I2C control device) 30 according to the present embodiment in FIG. 6, the operation in the single mode in which the
撮像制御ユニット30のI2C制御回路320は、必要に応じてCPU40(図1)等の指示により撮像素子11あるいは撮像素子12と個別にコマンドやステータス等の送受信を実施することがある。これを単独動作モードと称することにする。図6の構成の場合、出力セレクタ330及び入力セレクタ340を切り替えるだけで、単独動作モードを実施することができる。
The
図7は、I2C制御回路320が撮像素子11とコマンドやステータス等の送受信を実施する場合の出力セレクタ330及び入力セレクタ340の状態を示した図である。なお、単独動作モードではエラー検出回路350は不要であるため、図7では省略してある。
FIG. 7 is a diagram illustrating states of the
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は非アクティブとなる。
The
以後、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にクロックを送出することは、先の同時動作モードの場合と同様である。
Thereafter, the
図8は、I2C制御回路320が撮像素子12とコマンドやステータス等の送受信を実施する場合の出力セレクタ330及び入力セレクタ340の状態を示した図である。ここでも、エラー検出回路350は省略してある。
FIG. 8 is a diagram illustrating the states of the
図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は非アクティブである。
As illustrated in FIG. 8, when performing transmission / reception of commands, statuses, and the like between the
このように、本実施形態に係る撮像制御ユニット30では、I2C制御回路320が撮像素子11あるいは撮像素子12と個別にコマンドやステータス等を送受信する単独動作モードと、撮像素子11と撮像素子12の両方に同一のコマンド等を同時に送信して設定する同時動作モードを使い分けることが可能であり、撮像装置等に搭載することで利便性が向上する。
As described above, in the
なお、実施形態では、撮像素子は2つとしたが、3つ以上でもよい。すなわち、撮像素子の数だけSDAを増やし、入出力セレクタは、各SDAを選択できる構成とすればよい。また、対象は撮像素子に限らないことは云うまでもない。 In the embodiment, two image sensors are used, but three or more image sensors may be used. That is, the SDA may be increased by the number of image sensors, and the input / output selector may be configured to select each SDA. Needless to say, the target is not limited to the image sensor.
10 撮像ユニット
11,12 撮像素子
20 画像処理ユニット
30 撮像制御ユニット
40 CPU
320 I2C制御回路
330 出力セレクタ
340 入力セレクタ
SCL シリアルクロック線
SDA1,SDA2 シリアルデータ線
DESCRIPTION OF SYMBOLS 10
320
Claims (6)
複数の前記デバイスとそれぞれ接続された複数のシリアルI/Fバスと、
マスタデバイスとなり、前記デバイスをスレーブデバイスとして、所定の通信プロトコルに基づいてデータ送受信を制御する1つの制御手段と、
複数の前記デバイスの全ての前記シリアルI/Fバスを前記制御手段に接続する第1モードと、複数の前記デバイスのいずれか1つの前記シリアルI/Fバスを前記制御手段に接続する第2モードとを持つバス切替え手段と、
前記バス切替え手段が前記第1モードの時、複数の前記デバイスそれぞれが前記マスタデバイスから同一タイミングで前記データの受信を行なった応答として前記シリアルI/Fバスに送出する応答信号に基づいて、1つの前記デバイスまたは複数の前記デバイスが、前記データを受信しないことを示す前記応答信号を出力した場合、または複数の前記デバイスそれぞれが前記マスタデバイスから同一タイミングで前記データの受信を行った応答として前記データを受信したことを示す前記応答信号を出力しない場合をエラーとして検出するエラー検出手段と、を有し、
前記シリアルI/Fバスはシリアルクロック線とシリアルデータ線とからなり、前記シリアルクロック線は複数の前記デバイスに共通に接続される、
ことを特徴とするシリアルI/Fバス制御装置。 A serial I / F bus control device that transmits and receives data to and from a plurality of devices of the same type using a serial I / F bus,
A plurality of serial I / F buses respectively connected to the plurality of devices;
One control means which becomes a master device and controls the data transmission / reception based on a predetermined communication protocol with the device as a slave device;
A first mode in which all the serial I / F buses of the plurality of devices are connected to the control means, and a second mode in which any one serial I / F bus of the plurality of devices is connected to the control means A bus switching means having
When the bus switching means is in the first mode, each of the plurality of devices is based on a response signal sent to the serial I / F bus as a response to the reception of the data from the master device at the same timing. The device or a plurality of the devices output the response signal indicating that the data is not received, or the plurality of devices each receive the data from the master device at the same timing as the response. Error detection means for detecting as an error a case where the response signal indicating that data has been received is not output,
The serial I / F bus includes a serial clock line and a serial data line, and the serial clock line is commonly connected to a plurality of the devices.
A serial I / F bus control device.
請求項1乃至5のいずれか1項に記載のシリアルI/Fバス制御装置を有し、
前記撮像素子がスレーブデバイスとして機能することを特徴とする撮像装置。 An imaging apparatus having a plurality of imaging elements,
The serial I / F bus control device according to any one of claims 1 to 5,
An image pickup apparatus, wherein the image pickup device functions as a slave device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012040502A JP6007509B2 (en) | 2012-02-27 | 2012-02-27 | Serial I / F bus control device and imaging device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012040502A JP6007509B2 (en) | 2012-02-27 | 2012-02-27 | Serial I / F bus control device and imaging device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016179730A Division JP6330873B2 (en) | 2016-09-14 | 2016-09-14 | Imaging device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013175128A JP2013175128A (en) | 2013-09-05 |
JP6007509B2 true JP6007509B2 (en) | 2016-10-12 |
Family
ID=49267961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012040502A Active JP6007509B2 (en) | 2012-02-27 | 2012-02-27 | Serial I / F bus control device and imaging device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6007509B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6079031B2 (en) | 2012-08-01 | 2017-02-15 | 株式会社リコー | Imaging device |
JP6340962B2 (en) * | 2014-07-07 | 2018-06-13 | 富士通株式会社 | Bus control device, data transfer system, and bus control method |
JP6565360B2 (en) * | 2015-06-17 | 2019-08-28 | 富士通株式会社 | Connection device and storage device |
CN110326285B (en) * | 2017-03-02 | 2021-06-25 | 索尼半导体解决方案公司 | Image sensor and control system |
KR101973095B1 (en) * | 2017-05-31 | 2019-04-26 | 주식회사 동운아나텍 | Method for transmitting data in a camera module |
CN216561769U (en) * | 2021-10-14 | 2022-05-17 | 上海矽睿科技股份有限公司 | I2C communication device and communication system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05327728A (en) * | 1992-05-15 | 1993-12-10 | Hitachi Ltd | Central processing unit for data transfer system |
JP2006011926A (en) * | 2004-06-28 | 2006-01-12 | Ricoh Co Ltd | Serial data transfer system, serial data transfer device, serial data transfer method and image forming apparatus |
JP4978421B2 (en) * | 2007-10-24 | 2012-07-18 | セイコーエプソン株式会社 | Data communication system and communication control device |
US9001227B2 (en) * | 2010-04-05 | 2015-04-07 | Qualcomm Incorporated | Combining data from multiple image sensors |
-
2012
- 2012-02-27 JP JP2012040502A patent/JP6007509B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013175128A (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6330873B2 (en) | Imaging device | |
JP6007509B2 (en) | Serial I / F bus control device and imaging device | |
JP6123274B2 (en) | Imaging device | |
US9596408B2 (en) | Image capturing apparatus | |
US20090234998A1 (en) | Connection system | |
US20120072629A1 (en) | Communication system, master device and slave device, and communication method | |
EP3591959B1 (en) | Image sensor and control system | |
US11979695B2 (en) | SPI-based data transmission system | |
CN111416923B (en) | Image processor and image processing method | |
KR20210127409A (en) | Ois circuit, ois device with a synchronization function between a single sensor and multiple drivers, and its operation method | |
WO2002060175A1 (en) | Data transfer device | |
US10649938B2 (en) | Information processing apparatus and method of transferring data | |
JP5274205B2 (en) | Image processing apparatus and image processing apparatus control method | |
CN112689991B (en) | Initialization synchronization device, initialization synchronization method, and camera | |
WO2021117646A1 (en) | Communication device and communication system | |
JP2020191520A (en) | Imaging device and control method thereof | |
JP6833491B2 (en) | Information processing device | |
KR20060111202A (en) | Display apparatus, control method thereof and communication system | |
US20120131315A1 (en) | Data processing apparatus | |
CN112449137A (en) | Data transmission system and data transmission method based on mobile industry processor interface | |
JP2021114755A (en) | Imaging device and accessory device | |
JP2017076358A (en) | Information processing apparatus, control method of information processing apparatus, and program therefor | |
JP2021101514A (en) | Imaging device, accessory device, and control method thereof | |
JP6245389B2 (en) | Imaging apparatus and image processing apparatus | |
KR100791176B1 (en) | Interface apparatus for matching widths of digital data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130826 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130826 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160722 |
|
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: 20160816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160829 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6007509 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |