以下、本発明のアクセサリ装置及び撮像装置の実施例について、添付の図面に基づいて詳細に説明する。
本実施例のアクセサリ装置としての交換レンズと撮像装置としてのカメラ本体は、それぞれが有する通信部を介して制御命令や内部情報の伝送を行うことができる。それぞれの通信部は複数の通信方式で通信可能に構成されている。交換レンズと複数の通信方式(同期方式)で通信可能なカメラ本体に交換レンズが装着されると、装着された交換レンズの対応している通信方式に関する情報を交換レンズから撮像装置に送信させる初期通信が行われる。通信データの種類や通信目的に応じて、カメラ本体と交換レンズはそれぞれが対応している通信方式の中から最適な通信方式を選択して通信を行う。
また本実施例の交換レンズは、カメラ本体から信号を受信することに応じて、第1の電力状態と、第1の電力状態よりも消費電力の少ない第2の電力状態との間で交換レンズの電力状態を切り替える電力制御部を有する。通常、交換レンズの電力状態を第2の電力状態から第1の電力状態に切り替えさせるためのスリープ解除命令は、初期通信時と同じ通信方式(以下、第1の通信方式と称する)でカメラ本体から交換レンズに送信される。これは、初期通信はカメラ本体に装着されることが想定される交換レンズとの通信の成立が保障された通信方式で行われるためである。
ここで、仮にこのような交換レンズが、第1の通信方式とは異なる第2の通信方式でカメラ本体と通信を行っている時に交換レンズの電力状態を切り替えることができるように構成されている場合について考える。この場合、第2の通信方式でカメラ本体と通信を行っている時に第2の電力状態に移行した交換レンズは、第1の通信方式でカメラ本体から送信されるスリープ解除命令を適切に受信する必要がある。そのため、第2の電力状態に切り替わる際に、交換レンズは通信設定を第2の通信方式に対応した設定から第1の通信方式に対応した設定に切り替えるように構成される。
しかしながら、このような構成の交換レンズでは、第2の通信方式でカメラ本体と通信している時に、カメラ本体がスリープ命令を送信していないにも関わらずノイズの影響等によって第2の電力状態となってしまうと、次のような課題が生じる。
ノイズの影響などによって交換レンズが第2の電力状態となってしまった場合、カメラ本体は交換レンズに対してスリープ命令を送信していないため、カメラ本体における通信設定は第2の通信方式に対応した設定のまま変化しない。
一方、交換レンズは、第2の電力状態に切り替わる際に通信設定を第1の通信方式に対応した設定に切り替える。したがって、カメラ本体と交換レンズの間で通信設定に不整合が生じてしまい、カメラ本体と交換レンズはこれ以降の通信を適切に行うことができなくなってしまう。
そこで、本実施例の交換レンズは、第2の通信方式に対応した通信設定となっている場合には、第1の電力状態から第2の電力状態へ切り替えを行わないようにしている。
これによって、ノイズの影響などによってアクセサリ装置が第2の電力状態となってしまった場合においても通信が破たんすることを防ぐことができるため、カメラ本体と交換レンズは適切に通信を行うことができる。
まず、本実施例の交換レンズ100とカメラ本体200の具体的な構成について説明する。図1には、本実施例のカメラ本体200および交換レンズ100を含むカメラシステムの構成を示している。図1には、交換レンズ100がカメラ本体200に取り外し可能に装着された状態を示している。
交換レンズ100とカメラ本体200は、結合機構であるマウント300を介して機械的および電気的に接続されている。交換レンズ100は、マウント300に設けられた不図示の電源端子を介してカメラ本体200から電力の供給を受け、後述する各種アクチュエータやレンズマイクロコンピュータ(以下、レンズマイコンという)111の制御を行う。また、交換レンズ100とカメラ本体200は、マウント300に設けられた通信端子を介して相互に通信を行う。
交換レンズ100は、撮像光学系を有する。撮像光学系は、被写体OBJ側から順に、フィールドレンズ101と、変倍を行う変倍レンズ102と、光量を調節する絞りユニット114と、像振れ補正レンズ103と、焦点調節を行うフォーカスレンズ104とを含む。
変倍レンズ102とフォーカスレンズ104はそれぞれ、レンズ保持枠105、106により保持されている。レンズ保持枠105、106は、不図示のガイド軸により図中に破線で示した光軸に沿う方向に移動可能にガイドされており、それぞれステッピングモータ107、108によって光軸に沿う方向に駆動される。ステッピングモータ107、108はそれぞれ、駆動パルスに同期して変倍レンズ102およびフォーカスレンズ104を移動させる。
像振れ補正レンズ103は、撮像光学系の光軸に直交する方向に移動することで、手振れ等に起因する像振れを低減する。
レンズマイコン111は、交換レンズ100内の各部の動作を制御するアクセサリ制御部である。レンズマイコン111は、通信インタフェース(I/F)回路112a(図2に示す)を介してデータを送受信するレンズデータ送受信部112bを備えるレンズ通信部112を有する。レンズマイコン111は、カメラ本体200から受信した制御コマンドに対応するレンズ制御を行ったり、レンズ通信部112を介して送信要求に対応するレンズデータをカメラ本体200に送信したりする。レンズデータは、交換レンズ100の光学情報や、交換レンズ100に固有の特性情報(レンズID)などを含む。
また、レンズマイコン111は、制御コマンドのうち変倍やフォーカシングに関するコマンドに応答してズーム駆動回路119およびフォーカス駆動回路120に駆動信号を出力してステッピングモータ107、108を駆動させる。これにより、変倍レンズ102による変倍動作を制御するズーム処理やフォーカスレンズ104による焦点調節動作を制御するオートフォーカス処理を行う。
絞りユニット114は、絞り羽根114a、114bを備えて構成される。絞り羽根114a、114bの状態は、ホール素子115により検出され、増幅回路122およびA/D変換回路123を介してレンズマイコン111に入力される。レンズマイコン111は、A/D変換回路123からの入力信号に基づいて絞り駆動回路121に駆動信号を出力して絞りアクチュエータ113を駆動させる。これにより、絞りユニット114による光量調節動作を制御する。
さらに、レンズマイコン111は、交換レンズ100内に設けられた振動ジャイロ等の不図示の振れセンサにより検出された振れに応じて、防振駆動回路125を介して防振アクチュエータ126を駆動する。これにより、像振れ補正レンズ103のシフト動作を制御する防振処理が行われる。
また、レンズマイコン111は、交換レンズの電力状態を制御する電力制御部113を有する。電力制御部は第1の電力状態と、第1の電力状態よりも消費電力の小さな第2の電力状態とを切り替える。交換レンズ100が第1の電力状態である場合、レンズマイコン111はアクティブ状態となっており、カメラ本体200と定常的に通信を行う。交換レンズ100が第2の電力状態である場合、レンズマイコン111はスリープ状態となっている。この場合、レンズマイコン111はカメラ本体200から第1の電力状態に切り替えるためのコマンドが送信されるまで待機する。
電力制御部113による電力の制御は、レンズマイコン111がカメラ本体200から所定の制御コマンドを受信することに応じて行われる。なお、第1の電力状態から第2の電力状態への切り替えについては、レンズマイコン111がカメラ本体200から所定の制御コマンドを受信していないときに、電力制御部113が自発的に切り替えを行っても良い。
また、レンズマイコン111はカメラ本体200と行われる通信の通信方式に応じてレンズ通信部112の通信設定を切り替える第1の設定部としてのレンズ側設定部114を有する。
カメラ本体200は、CCDセンサやCMOSセンサ等の撮像素子201と、A/D変換回路202と、信号処理回路203と、記録部204と、カメラマイクロコンピュータ(以下、カメラマイコンという)205と、表示部206とを有する。
撮像素子201は、交換レンズ100内の撮像光学系により形成された被写体像を光電変換して電気信号(アナログ信号)を出力する。A/D変換回路202は、撮像素子201からのアナログ信号をデジタル信号に変換する。信号処理回路203は、A/D変換回路202からのデジタル信号に対して各種画像処理を行って映像信号を生成する。
また、信号処理回路203は、映像信号から被写体像のコントラスト状態、つまり撮像光学系の焦点状態を示すフォーカス情報や露出状態を表す輝度情報も生成する。信号処理回路203は、映像信号を表示部206に出力し、表示部206は映像信号を画角やピント状態等の確認に用いられるライブビュー画像として表示する。
カメラ制御部としてのカメラマイコン205は、不図示の撮像指示スイッチおよび各種設定スイッチ等のカメラ操作部材からの入力に応じてカメラ本体200の制御を行う。また、カメラマイコン205は、通信インタフェース(I/F)回路208a(図2に示す)を介してデータを送受信するカメラデータ送受信部208bを備えるカメラ通信部208を有し、種々の制御コマンドをレンズマイコン111に送信する。
また、カメラマイコン205は、レンズマイコン111と行われる通信の通信方式に応じてカメラ通信部208の通信設定を切り替える第2の設定部としてのカメラ側設定部206を有する。
次に、図2を用いてカメラ本体200と交換レンズ100との間で構成される通信回路とこれらの間で行われる通信制御について説明する。カメラマイコン205は、レンズマイコン111との間で行われる通信の通信方式を管理する機能と、レンズマイコン111に対して送信要求等の通知を行う機能とを有する。また、レンズマイコン111は、レンズデータを生成する機能とレンズデータを送信する機能とを有する。
カメラマイコン205とレンズマイコン111は、マウント300に設けられた通信端子と、それぞれに設けられた通信インタフェース回路208a、112aを介して通信を行う。
本実施例では、カメラマイコン205とレンズマイコン111は、3つのチャネル(通信ライン)を用いて、3線式のクロック同期式シリアル通信方式の通信及び3線式の調歩同期式シリアル通信方式の通信を行う。以下では、3線式のクロック同期式シリアル通信方式を通信方式Aと称し、3線式の調歩同期式シリアル通信方式を通信方式Bと称する。
上記3つのチャネルのうちの1つは、通信方式Aではクロックチャネルとなり、通信方式Bでは送信要求チャネルとなる通知チャネルである。他の2つのチャネルのうち1つは、レンズマイコン111からカメラマイコン205へのレンズデータ送信に用いられる第1のデータ通信チャネルである。もう1つのチャネルは、カメラマイコン205からレンズマイコン111へのカメラデータ送信に用いられる第2のデータ通信チャネルである。
第1のデータ通信チャネルでレンズマイコン111からカメラマイコン205に信号として送信されるレンズデータをレンズデータ信号DLCという。また、第2のデータ通信チャネルでカメラマイコン205からレンズマイコン111に信号として送信されるカメラデータをカメラデータ信号DCLという。
まず、通信方式Aでの通信について説明する。通信方式Aでは、通信マスタとしてのカメラマイコン205から通信スレーブとしてのレンズマイコン111にクロック信号LCLKがクロックチャネルを介して出力される。カメラデータ信号DCLは、カメラマイコン205からレンズマイコン111への制御コマンドや送信要求コマンド等を含む。一方、レンズデータ信号DLCは、クロック信号LCLKに同期してレンズマイコン111からカメラマイコン205に送信される様々なデータを含む。カメラマイコン205とレンズマイコン111は、共通のクロック信号LCLKに同期して相互かつ同時に送受信を行う全二重通信方式(フルデュープレックス方式)で通信可能である。
図3(A)〜(C)には、通信方式Aにおけるカメラマイコン205とレンズマイコン111との間でやり取りされる信号の波形を示している。このやり取りの手順を取り決めたものを通信プロトコルと呼ぶ。
図3(A)は、最小通信単位である1フレームの信号波形を示している。まず、カメラマイコン205は、8周期のクロックパルスを1組とするクロック信号LCLKを出力するとともに、クロック信号LCLKに同期してレンズマイコン111に対してカメラデータ信号DCLを送信する。これと同時に、カメラマイコン205は、クロック信号LCLKに同期してレンズマイコン111から出力されたレンズデータ信号DLCを受信する。
このようにして、レンズマイコン111とカメラマイコン205との間で1組のクロック信号LCLKに同期して1バイト(8ビット)のデータが送受信される。この1バイトのデータ送受信の期間をデータフレームと呼ぶ。この1バイトのデータの送受信後に、レンズマイコン111がカメラマイコン205に対して通信待機要求BUSYを通知する信号(以下、BUSY信号という)を送信し、これにより通信待機期間が挿入される。この通信待機期間をBUSYフレームと呼び、BUSYフレームを受信している間、カメラマイコン205は通信待機状態となる。そして、データフレームとBUSYフレーム期間とを1組とする通信単位が1フレームとなる。なお、通信状況により、BUSYフレームが付加されない場合もあるが、この場合はデータフレームのみで1フレームが構成される。
図3(B)は、カメラマイコン205がレンズマイコン111にデータの送信を要求するコマンドCMD1を送信し、これに対応する2バイトのレンズデータDT1(DT1a、DT1b)をレンズマイコン111から受信するときの信号波形を示している。図3(B)では、「コマンドCMD1」に応じてデータ通信が実行される例を示している。
カメラマイコン205とレンズマイコン111との間では、予め複数種類のコマンドのそれぞれに対応するレンズデータDTの種類とバイト数が決められている。通信マスタであるカメラマイコン205が、特定のコマンドをレンズマイコン111に送信すると、レンズマイコン111は該コマンドに対応するレンズデータバイト数の情報に基づいて必要なクロック数をカメラマイコン205に送信する。また、コマンドCMD1に対するレンズマイコン111の処理には、各フレームのクロック信号LCLKにBUSY信号を重畳することが含まれており、データフレーム間には上述したBUSYフレームが挿入される。
コマンドCMD1では、カメラマイコン205はクロック信号LCLKをレンズマイコン111に送信し、さらにレンズデータDT1の送信を要求するコマンドCMD1をカメラデータ信号DCLとしてレンズマイコン111に送信する。このフレームでのレンズデータ信号DLCは無効データとして扱われる。
続いて、カメラマイコン205は、クロックチャネルでクロック信号LCLKを8周期だけ出力した後にカメラマイコン側(カメラ本体側)のクロックチャネルを出力設定から入力設定に切り替える。レンズマイコン111は、カメラマイコン側のクロックチャネルの切り替えが完了すると、レンズマイコン111側(交換レンズ側)のクロックチャネルを入力設定から出力設定に切り替える。そして、レンズマイコン111は、通信待機要求BUSYをカメラマイコン205に通知するために、クロックチャネルの電圧レベルをLowにする。これにより、クロックチャネルにBUSY信号を重畳する。カメラマイコン205は、通信待機要求BUSYが通知されている期間はクロックチャネルの入力設定を維持し、レンズマイコン111への通信を停止する。
レンズマイコン111は、通信待機要求BUSYの通知期間中にコマンドCMD1に対応するレンズデータDT1を生成する。そして、レンズデータDT1を次のフレームのレンズデータ信号DLCとして送信する準備が完了すると、レンズマイコン側のクロックチャネルの信号レベルをHighに切り替え、通信待機要求BUSYを解除する。
カメラマイコン205は、通信待機要求BUSYの解除を認識すると、1フレームのクロック信号LCLKをレンズマイコン111に送信することでレンズマイコン111からレンズデータDT1aを受信する。カメラマイコン205とレンズマイコン111が上記と同様の動作を繰り返すことで、カメラマイコン205はレンズマイコン111からレンズデータDT1bを受信する。
図3(C)は、カメラマイコン205がレンズマイコン111にデータの送信を要求するコマンドCMD2を送信し、これに対応する3バイトのレンズデータDT2(DT2a〜DT2c)をレンズマイコン111から受信するときの信号波形を示している。図3(C)では、コマンドCMD2に応じてデータ通信が実行される例を示している。このコマンドCMD2でのコマンドCMD2に対するレンズマイコン111の処理には、1フレーム目にのみクロックチャネルにBUSY信号を重畳することが含まれる。すなわち、レンズマイコン111は、続く2フレーム目から4フレーム目にはBUSY信号を重畳しない。
これにより、2フレーム目から4フレーム目までのフレーム間にBUSYフレームが挿入されず、フレーム間の待機期間を短くすることが可能である。ただし、BUSYフレームを挿入しない期間は、レンズマイコン111がカメラマイコン205に対して通信待機要求を送ることができない。このため、これによる通信の破綻が生じないように、送信するデータ数や送信間隔、レンズマイコン111内での通信処理の優先順位等を決定しておく必要がある。
次に、通信方式Bでの通信について説明する。図4には、通信方式Bにおいてカメラマイコン205とレンズマイコン111との間でやり取りされる通信信号の波形を示している。
通信方式Bにおいて、送信要求チャネルは、通信マスタであるカメラマイコン205から通信スレーブとしてのレンズマイコン111へのレンズデータの送信要求等の通知に用いられる。送信要求チャネルでの通知は該送信要求チャネルでの信号のレベル(電圧レベル)をHigh(第1のレベル)とLow(第2のレベル)との間で切り替えることで行う。以下の説明では、通信方式Bにおいて送信要求チャネルに供給される信号を送信要求信号RTSという。
第1のデータ通信チャネルは、通信方式Aと同様に、レンズマイコン111からカメラマイコン205への各種データを含むレンズデータ信号DLCの送信に用いられる。第2のデータ通信チャネルも、通信方式Aと同様に、カメラマイコン205からレンズマイコン111への制御コマンドや送信要求コマンド等を含むカメラデータ信号DCLの送信に用いられる。
通信方式Bでは、通信方式Aと異なり、カメラマイコン205とレンズマイコン111は、共通のクロック信号に同期してデータの送受信を行うのではなく、予め通信速度を設定し、この設定に基づいた通信ビットレートで送受信を行う。通信ビットレートとは、1秒間に転送することができるデータ量を示し、単位はbps(bit per second)で表される。
なお、本実施例では、この通信方式Bにおいても、通信方式Aと同様に、カメラマイコン205とレンズマイコン111は相互に送受信を行う全二重通信方式(フルデュープレックス方式)で通信を行う。
図4(A)は最小通信単位である1フレームの信号波形を示している。1フレームのデータフォーマットの内訳は、カメラデータ信号DCLとレンズデータ信号DLCでは一部異なる部分がある。
まずレンズデータ信号DLCのデータフォーマットについて説明する。1フレームのレンズデータ信号DLCは、前半のデータフレームとこれに続くBUSYフレームとにより構成されている。レンズデータ信号DLCは、データ送信を行っていない状態では信号レベルはHighに維持されている。
レンズマイコン111は、レンズデータ信号DLCの1フレームの送信開始をカメラマイコン205に通知するため、レンズデータ信号DLCの電圧レベルを1ビット期間の間LOWとする。この1ビット期間をスタートビットSTと呼び、スタートビットSTからデータフレームが開始される。続いて、レンズマイコン111は、スタートビットSTに続く2ビット目から9ビット目までの8ビット期間で1バイトのレンズデータを送信する。
データのビット配列はMSB(Most Significant Bit)ファーストフォーマットとして、最上位のデータD7から始まり、順にデータD6、データD5と続き、最下位のデータD0で終了する。そして、レンズマイコン111は、10ビット目に1ビットのパリティー情報(PA)を付加し、1フレームの最後を示すストップビットSPの期間、レンズデータ信号DLCの電圧レベルをHighとする。これにより、スタートビットSTから開始されたデータフレームが終了する。なお、パリティー情報は1ビットである必要はなく、複数のビットのパリティー情報が付加されても良い。また、パリティー情報は必須ではなく、パリティー情報が付加されないフォーマットとしても良い。
続いて、図中の「DLC(BUSY有)」に示すように、レンズマイコン111は、ストップビットSPの後にBUSYフレームを付加する。BUSYフレームは、通信方式Aと同様に、レンズマイコン111からカメラマイコン205に通知する通信待機要求BUSYの期間を表す。レンズマイコン111は、通信待機要求BUSYを解除するまでレンズデータ信号DLCの信号レベルをLowに保持する。
一方、レンズマイコン111からカメラマイコン205への通信待機要求BUSYの通知が不要な場合がある。この場合のために、図中の「DLC(BUSY無)」に示すように、BUSYフレーム(以下、BUSY通知ともいう)を付加せずに1フレームを構成するデータフォーマットも設けられている。つまり、レンズデータ信号DLCのデータフォーマットとしては、レンズマイコン側の処理状況に応じてBUSY通知を付加したものと付加しないものとを選択することができる。
カメラマイコン205が行うBUSY通知の有無の識別方法について説明する。図4(A)の「DLC(BUSY無)」に示す信号波形および「DLC(BUSY有)」に示す信号波形には、B1とB2というビット位置が含まれている。カメラマイコン205は、これらB1とB2のいずれかのビット位置をBUSY通知の有無を識別するBUSY識別位置Pとして選択する。このように本実施例では、BUSY識別位置PをB1とB2のビット位置から選択するデータフォーマットを採用する。これにより、レンズマイコン111の処理性能によってレンズデータ信号DLCのデータフレーム送信後にBUSY通知(DLCのLow)が確定するまでの処理時間が異なる課題に対処することができる。
BUSY識別位置PをB1のビット位置とするかB2のビット位置とするかは、通信方式Bでの通信を行う前にカメラマイコン205とレンズマイコン111との間で通信により決定する。なお、BUSY識別位置PをB1とB2のビット位置のいずれかに固定する必要はなく、カメラマイコン205、レンズマイコン111の処理能力に応じて変更してもよい。なお、BUSY識別位置Pは、B1やB2に限らず、ストップビットSPよりも後の所定位置に設定することができる。
ここで、通信方式Aにおいてクロック信号LCLKに付加されたBUSYフレームが、通信方式Bではレンズデータ信号DLCに付加されるデータフォーマットとした理由について説明する。
通信方式Aでは、通信マスタであるカメラマイコン205が出力するクロック信号LCLKと通信スレーブであるレンズマイコン111が出力するBUSY信号とを同一のクロックチャネルでやり取りする必要がある。このため、カメラマイコン205とレンズマイコン111の出力同士の衝突を時分割方式で防止している。つまり、クロックチャネルにおけるカメラマイコン205とレンズマイコン111の出力可能期間を適宜割り当てることで出力同士の衝突を防ぐことができる。
ただし、この時分割方式では、カメラマイコン205とレンズマイコン111の出力同士の衝突を確実に防ぐ必要がある。このため、カメラマイコン205が8パルスのクロック信号LCLKの出力を完了した時点からレンズマイコン111がBUSY信号の出力を許容される時点までの間に、両マイコン205、111の出力が禁止される一定の出力禁止期間が挿入される。この出力禁止期間はカメラマイコン205とレンズマイコン111が通信できない通信無効期間となるため、実効的な通信速度を低下させる原因となる。
このような課題を解決するために、通信方式Bでは、レンズマイコン111の専用出力チャネルである第1のデータ通信チャネルでのレンズデータ信号DLCにレンズマイコン111からのBUSYフレームを付加するデータフォーマットを採用している。
なお、カメラデータ信号DCLのデータフレームの仕様はレンズデータ信号DLCと共通である。ただし、カメラデータ信号DCLは、レンズデータ信号DLCとは異なり、BUSYフレームの付加が禁止されている。
次に、カメラマイコン205とレンズマイコン111との間での通信方式Bでの通信の手順について説明する。まず、カメラマイコン205は、レンズマイコン111との通信を開始するイベントが発生すると、送信要求信号RTSの電圧レベルをLowにする(以下、送信要求信号RTSをアサートするという)ことで、レンズマイコン111に対して通信要求を通知する。ここでいうイベントとは、例えば、ユーザが不図示のレリーズスイッチを操作することを意味する。
レンズマイコン111は、送信要求信号RTSの電圧レベルがLowに変化したことにより通信要求を検出すると、カメラマイコン205に送信するレンズデータ信号DLCの生成処理を行う。そして、該レンズデータ信号DLCの送信準備が整うと、第1のデータ通信チャネルを介して1フレームのレンズデータ信号DLCの送信を開始する。ここで、レンズマイコン111は、送信要求信号RTSの電圧レベルがLowとなった時点から、カメラマイコン205とレンズマイコン111との間で相互に設定した設定時間内にレンズデータ信号DLCの送信を開始する。
すなわち、通信方式Bでは、送信要求信号RTSの電圧レベルがLowとなった時点からレンズデータ信号DLCの送信が開始されるまでの間に、送信するレンズデータを確定させればよい。通信方式Aのように、最初のクロックパルスが入力される時点までに送信するレンズデータを確定させておく必要があるといった厳しい制約がないため、レンズデータ信号DLCの送信を開始するタイミングに自由度を持たせることができる。
次にカメラマイコン205は、レンズマイコン111から受信したレンズデータ信号DLCのデータフレームの先頭に付加されたスタートビットSTの検出に応じて、送信要求信号RTSの電圧レベルをHighに戻す(以下、ネゲートするという)。これにより、送信要求を解除するとともに第2の通信チャネルでのカメラデータ信号DCLの送信を開始する。なお、送信要求信号RTSのネゲートとカメラデータ信号DCLの送信開始はどちらが先であってもよく、レンズデータ信号DLCのデータフレームの受信が完了するまでにこれらを行えばよい。
レンズデータ信号DLCのデータフレームを送信したレンズマイコン111は、カメラマイコン205に通信待機要求BUSYを通知する必要がある場合には、レンズデータ信号DLCにBUSYフレームを付加する。カメラマイコン205は、通信待機要求BUSYの通知の有無を監視しており、通信待機要求BUSYが通知されている間は次の送信要求のために送信要求信号RTSをアサートすることが禁止される。
レンズマイコン111は、通信待機要求BUSYによりカメラマイコン205からの通信を待機させている期間に必要な処理を実行し、次の通信準備が整った後に通信待機要求BUSYを解除する。カメラマイコン205は、通信待機要求BUSYが解除され、かつカメラデータ信号DCLのデータフレームの送信が完了したことを条件に、次の送信要求のために送信要求信号RTSをアサートすることが許可される。
このように、本実施例では、カメラマイコン205での通信開始イベントがトリガとなって送信要求信号RTSがアサートされたことに応じて、レンズマイコン111がカメラマイコン205にレンズデータ信号DLCのデータフレームの送信を開始する。そして、カメラマイコン205は、レンズデータ信号DLCのスタートビットSTを検出することに応じて、カメラデータ信号DCLのデータフレームのレンズマイコン111への送信を開始する。
ここでレンズマイコン111は、必要に応じて通信待機要求BUSYのためにレンズデータ信号DLCのデータフレームの後にBUSYフレームを付加し、その後、通信待機要求BUSYを解除することで1フレームの通信処理が完了する。この通信処理により、カメラマイコン205とレンズマイコン111との間で相互に1バイトの通信データが送受信される。
図4(B)は、図4(A)の「DLC(BUSY有)」に示すデータフォーマットで連続的に通信を行う場合の信号波形を示している。レンズマイコン111からの通信待機要求BUSY(BUSYフレーム)は、第1のデータ通信チャネルでレンズデータ信号DLCを用いて通知され、通信待機要求BUSYが解除された後に次の通信が開始される。図4(B)に示したCMD1は、カメラマイコン205からレンズマイコン111にカメラデータ信号DCLとして送信される送信要求コマンドを示す。レンズマイコン111は、このコマンドCMD1を受信することに応じて、該コマンドCMD1に対応する2バイトのレンズデータ信号DT1(DT1a,DT1b)をカメラマイコン205に送信する。
また、図4(C)の例では、最初に「BUSY有」のデータフォーマットで通信を行い、その後に「BUSY無」のデータフォーマットで通信を行う。CMD2は、カメラマイコン205からレンズマイコン111にカメラデータ信号DCLとして送信される制御コマンドと送信要求コマンドを示す。なお、図では制御コマンドと送信要求コマンドを1フレームで送信する場合を示しているが、制御コマンドと送信要求コマンドを別々のフレームで送信してもよい。レンズマイコン111は、コマンドCMD2のうち制御コマンドを受信することに応じてデータフォーマットを「BUSY有」から「BUSY無」に切り替える。そして、レンズマイコン111は、コマンドCMD2のうち送信要求コマンドを受信することに応じて、該送信要求コマンドに対応する3バイトのレンズデータ信号DT2(DT2a〜DT2c)をカメラマイコン205に送信する。
次に、図5を用いて、カメラマイコン205とレンズマイコン111の間で行われる通信の通信方式を決定する手順について説明する。カメラマイコン205及びレンズマイコン111は、コンピュータプログラムである通信制御プログラムに従って、図5に示す通信制御を行う。なお図中の「S」はステップを意味する。
まず、カメラ本体200に交換レンズ100が装着されると、S100およびS200において、カメラマイコン205及びレンズマイコン111は、通信フォーマットを、通信の成立が保障された初期通信フォーマットに設定する。「通信フォーマット」とは、通信方式とデータフォーマットの組み合わせで定められる通信の仕様である。本実施例では、初期通信フォーマットにおける通信方式として、通信方式Aを用いる。すなわち、本実施例において通信方式Aは第1の通信方式に相当し、通信方式Bは第2の通信方式に相当する。
次に、カメラ本体200と交換レンズ100は、それぞれの対応している通信方式を送受信する初期通信を行う。まず、S101において、カメラマイコン205は、カメラ本体200において対応可能な通信フォーマットを表すカメラ識別情報をレンズマイコン111に送信し、レンズマイコン111はカメラ識別情報を取得する。また、S202において、レンズマイコン111は、交換レンズ100において対応可能な通信フォーマットを表すレンズ識別情報をカメラマイコン205に送信し、カメラマイコン205はレンズ識別情報を受信する。
ここで、「識別情報」には、通信方式Aに加えて通信方式Bにも対応しているのかを示す情報や、対応可能な通信ビットレートの範囲を示す情報が含まれる。BUSY識別位置Pを示す情報も識別情報に含まれる。
カメラマイコン205は、S102においてレンズ識別情報を受信する。レンズマイコン111は、S201においてカメラ識別情報を受信する。ここで、図5のフローチャートでは、カメラ識別情報が送信された後にレンズ識別情報が送信されているが、レンズ識別情報が送信された後にカメラ識別情報が送信されるようにしてもよい。
続いて、S103、S203において、以降の通信における通信フォーマットの設定が行われる。具体的には、カメラ本体200に装着された交換レンズが通信方式Bによって通信可能である場合には、カメラマイコン205とレンズマイコン111は通信方式を通信方式Aから通信方式Bに変更する。また、カメラマイコン205とレンズマイコン111は、互いに対応可能な範囲で最速のレートを通信ビットレートとして決定する。また、互いに対応可能なBUSY識別位置のうちストップビットSPから最も近い位置をBUSY識別位置に設定する。
続いて、通信方式Aから通信方式Bへの切り替え手順について図6を用いて説明する。図6は、通信方式Aから通信方式Bへの切り替え前後にカメラマイコン205とレンズマイコン111の間でやりとりされる通信信号の波形を示している。通信方式Aから通信方式Bへの切り替えにおいて、カメラマイコン205は、カメラ側設定部205によって、カメラ通信部208の通信設定を通信方式Aに対応した設定から通信方式Bに対応した設定に変更する。同様に、レンズマイコン111は、レンズ側設定部114によって、レンズ通信部112の通信設定を通信方式Aに対応した第1の設定から通信方式Bに対応した第2の設定に変更する。
図6中に示した切り替えタイミングXにおいて、カメラマイコン205とレンズマイコン111における通信設定の切り替えが完了し、以降は、通信方式Bでの通信が行われる。これまでに説明したように、通知チャネルは、通信方式Aではクロックチャネルとして機能し、通信方式Bでは送信要求チャネルとして機能する。
本実施例では、通信方式Aにおいて通信スレーブであるレンズマイコン111が、通信マスタであるカメラマイコン205よりも先に第2の設定への変更を行う。
通信方式の切り替えは、カメラマイコン205からの指示により行われる。カメラマイコン205は、通信方式Aでの通信により、通信方式Aから通信方式Bへの切り替え通知を第2のデータ通信チャネルを介してレンズマイコン111に送信する。この切り替え通知は、データフレームの中に含まれる。切り替え通知を受けたレンズマイコン111は、クロックチャネルにBUSY信号を重畳することにより、通信待機要求BUSYをカメラマイコン205に通知する。そして、カメラマイコン205に通信待機要求BUSYを通知している間に、レンズ側設定部114によってレンズ通信部112の通信設定を第1の設定から、第2の設定に変更する。
レンズマイコン111における通信方式の切り替えが完了すると、レンズマイコン111は通信待機要求BUSYを解除することで、通信方式の切り替えが完了したことをカメラマイコン205に対して通知する完了通知を行う。その後、レンズマイコン111は通信方式Bでの送信要求信号RTSの通知の有無を監視する。
カメラマイコン205は、通信待機要求BUSYが解除されると、カメラ側設定部206によって、カメラ通信部208の通信設定を第1の通信方式に対応した設定から、第2の通信方式に対応した設定に変更する。その後、通信方式Bにおける通信イベントの発生の有無を監視する。カメラマイコン205における通信方式Bへの切り替えが完了するタイミングは、図6に示した切り替えタイミングXとなる。切り替えタイミングX以降は、図4で説明したように、通信方式Bでのデータ通信が実行される。
以上説明したように、本発明では、通信スレーブとしてのレンズマイコン111が通信マスタとしてのカメラマイコン205よりも先に第1の設定から第2の設定への変更を行う構成としている。レンズマイコン111がすぐに第2の設定への変更を実行できるか否かが不明であるため、カメラマイコン205は、レンズマイコン111での第2の設定への変更を確認した上で、第1の設定から第2の設定への変更を実行する。
レンズマイコン111での第2の設定への変更が実行されたことを確認することなく、カメラマイコン205での第2の設定への変更を実行すると、交換レンズ100とカメラ本体200の通信方式が異なって両者間の通信が成立しない事態を招くおそれがある。本発明では、レンズマイコン111での第2の設定への変更を確認した上で、カメラマイコン205が第1の設定から第2の設定への変更を実行することで、上述した事態の発生を防ぐことができる。
また、レンズマイコン111は、カメラマイコン205に通信待機要求BUSYを通知している間に、レンズマイコン111の通信設定を第1の設定から第2の設定に変更する。これにより、カメラマイコン205からクロック信号CLKが出力されることのない状態で通信設定の変更を実行することができ、カメラマイコン205とレンズマイコン111の間で通信の衝突が起きる事態を回避することができる。
なお、レンズマイコン111は、通信方式Aから通信方式Bへの切り替え通知に応じて必ずしも通信方式の切り替えを行う必要はなく、通信方式の切り替えを拒否することができるようにしても良い。例えば、カメラマイコン205からの切り替え通知を受信した後に、第1のデータ通信チャネルを介して通信方式の切り替えを拒否することを示す通知を送信する。これを受信したカメラマイコン205は、通信設定を変更することなく、通信方式Aにおけるレンズマイコン111との通信を継続することができる。これにより、レンズマイコン111が第2の設定への変更をすぐに実行できない場合に、カメラマイコン205が、第1の設定から第2の設定への変更を実行した直後に再度第1の設定への変更を実行しなければならない事態を回避することができる。
次に、交換レンズ100における電力状態の切り替えについて説明する。本実施例の交換レンズ100は、前述したように、カメラマイコン205から所定の信号を受信することに応じて第1の電力状態と、第1の電力状態よりも消費電力の小さな第2の電力状態とを切り替えることができる。
図7は、第1の電力状態から第2の電力状態に移行させるためのコマンド(スリープ命令)をカメラ本体200から交換レンズ100が受信した際の処理を表すフローチャートである。なお、図7に示した処理方法は、交換レンズ100が第1の電力状態である状態からスタートする。
S300において、交換レンズ100はカメラ本体からスリープ命令を受信する。S300において交換レンズ100が受信したスリープ命令は、カメラ本体200から送信されたスリープ命令ではない信号がノイズ等の影響を受けた結果スリープ命令として交換レンズ100に処理されてしまう信号を含む。
次に、S301において、交換レンズ100における現在の通信設定が、第1の通信方式である通信方式Aに対応する第1の設定であるか否かを確認する。現在の通信設定が第1の設定である場合、S302に進み、電力制御部113は交換レンズ100の電力状態を第1の電力状態から第2の電力状態に切り替える。
一方、S301において、現在の通信設定が第1の設定ではないと判断された場合、S303に進む。S303では、電力制御部113は交換レンズの電力状態を第1の電力状態のままにする。すなわち、現在の通信設定が第2の通信方式である通信方式Bに対応する第2の設定である場合、交換レンズ100はS300において受信したスリープ命令を無視して第1の電力状態を維持する。
これにより、通信方式Bでの通信中に、通信ラインへのノイズ等によって撮像装置がスリープ命令を送信していないにも関わらずアクセサリ装置が第2の電力状態となってしまうことを防止することができ、通信方式Bによる通信を適切に継続することができる。
このように、通信設定が第2の設定となっている場合には電力状態の切り替えを行わないように交換レンズ100の電力状態を制御することで、ノイズの影響等に起因して通信が破たんしてしまうことを抑制ことができる。したがって、カメラ本体と適切に通信を行わせることができる。
なお、通信方式Aでの通信中に、通信ラインへのノイズ等によって撮像装置がスリープ命令を送信していないにも関わらずアクセサリ装置が第2の電力状態となってしまうことも考えられる。しかしながら、前述のように、本実施例のカメラ本体200は第1の通信方式である通信方式Aでスリープ解除命令を送信するように構成されている。このため、通信方式Aでカメラ本体から送信された信号を受信することに応じて第2の電力状態から第1の電力状態に切り替えるように交換レンズの電力状態を電力制御部113によって制御することで、通信方式Aによる通信を適切に継続することができる。例えば、交換レンズ100をクロック信号LCLKの立下りをトリガとして第2の電力状態から第1の電力状態に切り替えれば良い。
次に、カメラ本体200から交換レンズ100に対してスリープ命令を送信する際のフローについて説明する。
図8は、スリープ命令をカメラ本体200から交換レンズ100に送信する際の処理を表すフローチャートである。なお、図8に示した処理方法は、カメラ本体200において交換レンズ100を第1の電力状態から第2の電力状態に移行させるイベントが発生した状態からスタートする。
まず、S400において、カメラ本体200の現在の通信設定が第2の通信方式である通信方式Bに対応する設定であるか否かを確認する。現在の通信設定が第1の通信方式に対応した設定である場合、S403に進み、カメラ本体200は交換レンズ100に対してスリープ命令を送信する。
一方、S400において、カメラ本体200の現在の通信設定が第2の通信方式に対応した設定であると判断された場合、S401に進む。この場合、カメラ本体200と交換レンズ100における通信設定は、共に第2の通信方式である通信方式Bに対応する設定となっている。S401において、カメラ本体200は交換レンズ100の通信設定を第1の設定に変更させるための命令を第2の通信方式で交換レンズ100に送信する。
次に、S402において、カメラ本体200における通信設定を第1の通信方式に対応した設定に変更する。S401およびS402によって、カメラ本体200と交換レンズ100の通信設定はともに第1の通信方式に対応した設定となり、これ以降は通信方式Aでの通信が成立する。
その後、S403に進み、カメラ本体200は交換レンズ100に対して通信方式Aでスリープ命令を送信する。
これによって、交換レンズ100と通信方式Bで通信している際に交換レンズ100を第1の電力状態から第2の電力状態に移行させるイベントが発生した場合に、交換レンズ100の電力状態を適切に切り替えることができる。
以上説明した実施例は代表的な例に過ぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。例えば、上記実施例では、アクセサリ装置として交換レンズを用いた例を示したが、撮像装置との通信機能を有するものであればストロボであっても良い。