(57)【特許請求の範囲】
【請求項１】
カメラボディと該カメラボディに着脱自在の交換レンズとを含むカメラシステムに於いて、
上記カメラボディは、
上記カメラボディに配設されているスイッチの操作を検知するスイッチ入力回路と、
上記カメラボディを所定動作する第１の動作手段と、
上記交換レンズと通信する第１の通信手段と、
上記スイッチ入力回路の出力に応じて、上記第１の動作手段及び／又は上記第１の通信手段を制御するボディＣＰＵと、
を具備し、
上記交換レンズは、
上記交換レンズに配設されているスイッチの操作を検知する操作部材検知回路と、
上記交換レンズを所定動作する第２の動作手段と、
上記カメラボディと通信する第２の通信手段と、
上記操作部材検知回路の出力及び／又は上記第２の通信手段の出力に応じて、上記第２の動作手段を制御するレンズＣＰＵと、
を具備し、
上記ボディＣＰＵは、スイッチ入力回路により上記交換レンズの所定動作が指示された場合は、上記カメラボディと上記交換レンズとの通信の制御を行い、上記レンズＣＰＵが上記第２の通信手段の出力に応じて上記第２の動作手段を制御し、
上記レンズＣＰＵは、上記操作部材検知回路の出力を受けた場合、上記ボディＣＰＵを介することなく、上記第２の動作手段を制御する、
ことを特徴とするカメラシステム。
【請求項２】
上記カメラボディは、上記カメラボディの状態を記憶するボディ記憶手段を含み、
上記交換レンズは、上記交換レンズの状態を記憶するレンズ記憶手段を含み、
上記レンズＣＰＵは、上記ボディ記憶手段と上記レンズ記憶手段とに記憶されている情報に基づいて、上記第２の動作手段を制御する、
ことを特徴とする請求項１に記載のカメラシステム。
【請求項３】
上記第１の通信手段と上記第２の通信手段との通信内容は、上記交換レンズの所定動作を許可する信号及び禁止する信号の少なくともいずれかを含む、
ことを特徴とする請求項１又は請求項２に記載のカメラシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、銀塩フィルムを用いて撮影するカメラ本体、撮像素子を用いて撮影するカメラ本体のいずれか又は両者に適用可能な交換レンズに関する。
【０００２】
【従来の技術】
従来より、交換レンズ側に中央演算処理装置（CPU ；Central   Processing  Unit）を内蔵し、当該交換レンズの駆動その他の処理をカメラ本体側のＣＰＵの制御の下、交換レンズ側のＣＰＵが実行する技術については公知である。更に近年では、交換レンズは多機能化しており、当該交換レンズ側にズーム等の操作部材を設けオートフォーカス検出機能を内蔵した構成のものもある。
【０００３】
例えば、特開平８−９５１４４号公報では、レンズ装着時にレンズ固有の情報をカメラ側に送信し、その後は定期的にレンズ状態データをカメラ側に送信する交換レンズ、及び当該レンズ固有の情報とレンズ状態データを用いてレンズを制御するカメラからなるカメラシステムに関する技術が開示されている。
【０００４】
一般に、従来のカメラシステムにおいては、例えば上記特開平８−９５１４４号公報に開示された技術の如く、カメラ本体側に内蔵されたＣＰＵがカメラシステムとしての動作を統一制御し、且つ装着された交換レンズ側に内蔵されたＣＰＵに各種コマンドを送信する構成となっている。
【０００５】
【発明が解決しようとする課題】
しかしながら、かかる場合に、交換レンズ側のＣＰＵは、カメラ本体側から送信されるコマンドに基づいて各種の動作を実行するのみである。従って、このようなシステムでは、カメラ本体側のＣＰＵが全ての動作を統括制御するので、カメラ本体側のＣＰＵの処理負担が大きいといった問題があった。
【０００６】
さらに、交換レンズ側の操作部材が操作された場合においては、交換レンズ側のＣＰＵが当該操作を検知してカメラ本体側に伝達し、当該カメラ本体側からの各種コマンドを受けて、当該コマンドに基づいて交換レンズが動作を実行するようになっている為、処理が複雑化するといった問題もあった。
【０００７】
本発明は、上記問題に鑑みてなされたもので、その目的とするところは、交換レンズ自身の機能は交換レンズ側で判断処理し、カメラ本体の機能はカメラ本体側で判断処理することにより、カメラ本体のＣＰＵの処理負担を軽減し、処理の単純化を実現することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の第１の態様では、カメラボディと該カメラボディに着脱自在の交換レンズとを含むカメラシステムに於いて、上記カメラボディは、上記カメラボディに配設されているスイッチの操作を検知するスイッチ入力回路と、上記カメラボディを所定動作する第１の動作手段と、上記交換レンズと通信する第１の通信手段と、上記スイッチ入力回路の出力に応じて、上記第１の動作手段及び／又は上記第１の通信手段を制御するボディＣＰＵと、を具備し、上記交換レンズは、上記交換レンズに配設されているスイッチの操作を検知する操作部材検知回路と、上記交換レンズを所定動作する第２の動作手段と、上記カメラボディと通信する第２の通信手段と、上記操作部材検知回路の出力及び／又は上記第２の通信手段の出力に応じて、上記第２の動作手段を制御するレンズＣＰＵと、を具備し、上記ボディＣＰＵは、スイッチ入力回路により上記交換レンズの所定動作が指示された場合は、上記カメラボディと上記交換レンズとの通信の制御を行い、上記レンズＣＰＵが上記第２の通信手段の出力に応じて上記第２の動作手段を制御し、上記レンズＣＰＵは、上記操作部材検知回路の出力を受けた場合、上記ボディＣＰＵを介することなく、上記第２の動作手段を制御する、ことを特徴とするカメラシステムが提供される。
【０００９】
第２の態様では、上記カメラボディは、上記カメラボディの状態を記憶するボディ記憶手段を含み、上記交換レンズは、上記交換レンズの状態を記憶するレンズ記憶手段を含み、上記レンズＣＰＵは、上記ボディ記憶手段と上記レンズ記憶手段とに記憶されている情報に基づいて、上記第２の動作手段を制御する、ことを特徴とする第１の態様に記載のカメラシステムが提供される。
【００１０】
第３の態様では、上記第１の通信手段と上記第２の通信手段との通信内容は、上記交換レンズの所定動作を許可する信号及び禁止する信号の少なくともいずれかを含む、
ことを特徴とする第１の態様又は第２の態様に記載のカメラシステムが提供される。
【００１１】
上記第１乃至第３の態様によれば、以下の作用が奏される。
【００１２】
即ち、本発明の第１の態様では、カメラボディと該カメラボディに着脱自在の交換レンズとを含むカメラシステムに於いて、上記カメラボディでは、スイッチ入力回路により上記カメラボディに配設されているスイッチの操作が検知され、、第１の動作手段により上記カメラボディが所定動作され、第１の通信手段により上記交換レンズと通信し、ボディＣＰＵにより上記スイッチ入力回路の出力に応じて、上記第１の動作手段及び／又は上記第１の通信手段が制御され、上記交換レンズでは、操作部材検知回路により上記交換レンズに配設されているスイッチの操作が検知され、第２の動作手段により所定動作され、第２の通信手段により上記カメラボディと通信し、レンズＣＰＵにより上記操作部材検知回路の出力及び／又は上記第２の通信手段の出力に応じて、上記第２の動作手段が制御され、スイッチ入力回路により上記交換レンズの所定動作が指示された場合は、上記ボディＣＰＵにより、上記カメラボディと上記交換レンズとの通信の制御が行われ、上記レンズＣＰＵにより、上記第２の通信手段の出力に応じて上記第２の動作手段が制御され、上記操作部材検知回路の出力を受けた場合、上記ボディＣＰＵを介することなく、上記レンズＣＰＵにより、上記第２の動作手段が制御される。
第２の態様では、第１の態様のカメラシステムであって、上記カメラボディは、上記カメラボディの状態を記憶するボディ記憶手段を含み、上記交換レンズは、上記交換レンズの状態を記憶するレンズ記憶手段を含み、上記レンズＣＰＵにより、上記ボディ記憶手段と上記レンズ記憶手段とに記憶されている情報に基づいて、上記第２の動作手段が制御される。
第３の態様では、第１の態様又は第２の態様のカメラシステムであって、上記第１の通信手段と上記第２の通信手段との通信内容には、上記交換レンズの所定動作を許可する信号及び禁止する信号の少なくともいずれかが含まれる。
【００１３】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態について説明する。
【００１４】
先ず、本発明の要旨を簡単に述べると、本発明は、電子撮像可能なカメラボディ、銀塩フィルムを用いたカメラボディのいずれにも装着可能となっている。更に、交換レンズ側のＣＰＵが、装着されたカメラボディ側の状態を適宜判断して独立した動作を実行することで、カメラボディ側のＣＰＵの負担を軽減する事を特徴としている。尚、上記「カメラボディ側の状態」とは、シャッタの駆動状態、電子撮像素子の駆動状態、ミラーの駆動状態、フィルムのローディング状態、露光状態、フィルムの有無等を指す。以上の特徴をふまえて、以下に本発明の実施の形態の詳細を説明する。
【００１５】
図１は本発明の実施の形態に係る交換レンズを電子撮像可能なカメラボディに装着した場合のシステム構成を示すブロック図である。ここでは、交換レンズとしては、着脱自在のズームレンズ１００を想定している。
【００１６】
この図１に於いて、ズームレンズ１００内には、被写体像を結像させる為の撮影レンズが配置されている。この撮影レンズは、正レンズ２と負レンズ６とで構成されており、両者の間には光軸方向に垂直に絞り機構４が配置されている。この絞り機構４は、絞り駆動回路１０の出力に従って動作する絞りモータ１０ａによって駆動制御される。上記絞り機構４の初期位置や停止位置は、絞りエンコーダ５により検出され、この検出された位置情報はレンズＣＰＵ１に送信され、更に上記絞り駆動回路１０にフィードバックされる。
【００１７】
上記撮影レンズの正レンズ２は、ＡＦ駆動回路９の出力に従って動作するレンズモータ９ａによって駆動制御される。そして、この撮影レンズの正レンズ２の初期位置や停止位置は、ＡＦエンコーダ３によって検出され、この検出された位置情報はレンズＣＰＵ１に入力された後、上記ＡＦ駆動回路９にフィードバックされる。上記ＡＦエンコーダ３は、例えばフォトインタラプタ等により構成されており、上記正レンズ２の移動に伴って電気的なパルスが出力される。上記レンズＣＰＵ１は、この出力に基づいてレンズ位置を検出する。尚、レンズＣＰＵ１は、ＲＡＭ（Random  Access  Memory）１ａを内蔵している。
【００１８】
レンズ１００のレンズＣＰＵ１内のＲＡＭ１ａには、レンズ駆動状態データ（図２８参照）、カメラボディ１０２駆動状態データ１（図２９参照）、カメラボディ１０２駆動状態データ２（図３０参照）、レンズ強制フラグデータ（図３１参照）、カメラボディ１０２強制フラグデータ（図３２参照）、さらに図示してはいないが、カメラボディ１０１に対応した駆動状態データ１、駆動状態データ２、カメラボディ１０１強制フラグデータのデータ等が書き換え可能に記憶されている。レンズＣＰＵ１は、レンズ内の最新の各駆動状態及びカメラボディ１０１又はカメラボディ１０２との通信により得られたカメラボディの最新の駆動状態及びカメラボディとの通信により得られたレンズ強制フラグに関するデータからレンズの動作を行うか否かを決定する。各データの詳細な内容及び使用方法については後述する。
【００１９】
さらに、ズーム操作環７は、カメラ操作者がズーミングを指示する為のものである。該ズーム操作環７の回転に連動して撮影レンズ（正レンズ２，負レンズ６）が駆動され、これにより焦点距離が変化する。上記ズーム操作環７の位置（初期位置からの回転角）は、ズーム環エンコーダ８によって検出され、この検出された位置情報、即ち初期位置からの回転角情報は、上記レンズＣＰＵ１に入力される。また、上記撮影レンズは、ズーム駆動回路１１の出力に従って動作するズームモータ１１ａによっても駆動される。この他、交換レンズ内には、レンズ電源１４が配設されており、レンズ内の各種回路及びモータに電力を供給している。  また、上記レンズＣＰＵ１は、ＡＦエンコーダ３、絞りエンコーダ５及びズーム環エンコーダ８の出力に基づいて、ＡＦ駆動回路９及び絞り駆動回路１０及びズーム駆動回路１１を統括制御し、通信ライン５３と通信コンタクト１５を介して、カメラボディ１０１又はカメラボディ１０２と詳細は後述する通信を実行するように構成されている。また、レンズＣＰＵ１は、例えばＥＥＰＲＯＭ等の不揮発性メモリ１２と通信ラインを介して通信自在に接続されている。さらに、レンズ１００には不図示の操作部材が設置されており、操作部材検知回路１３で操作部材の状態を検出し、前記操作部材の状態をレンズＣＰＵ１に入力する。尚、上記操作部材検知回路１３は、ここでは不図示のパワーフォーカスＳＷ、プレビューＳＷ、絞りセットＳＷ、ズームアップＳＷの操作を検知するものである。
【００２０】
一方、デジタルカメラボディ１０１内の構成・作用を説明すると、上記ズームレンズ１００を通過した被写体光は、略中央部分がハーフミラーとなっている可動ミラー１７に入射する。この可動ミラー１７の中央背面部分には、サブミラー１７ａが、下方に被写体光を反射するように配設されている。
【００２１】
このサブミラー１７ａの反射光軸方向であって当該光軸に垂直な位置には、同図では簡略化されて示されているが、２つの光学系からなる２像分離の為のセパレータ光学系１９が配置されている。そして、このセパレータ光学系１９による被写体像の結像位置には、ラインセンサ２０が配置されている。このラインセンサ２０は、ラインセンサ駆動回路２１に電気的に接続されており、当該ラインセンサ駆動回路２１により駆動制御される。
【００２２】
以上のサブミラー１７ａ、セパレータ光学系１９、ラインセンサ２０等によって、公知の位相差法による焦点検出装置が構成されている。この構成の下、ボディＣＰＵ１６はラインセンサ駆動回路２１を介して入力した信号に基づいて、２像の間隔を求め、これによりピントずれ量、即ちデフォーカス量を算出し、合焦位置に撮影レンズ（正レンズ２）を駆動するために、「デフォーカス量データ」とを通信ライン５２と通信コンタクト３８を介してズームレンズ１００側のレンズＣＰＵ１に送信する。
【００２３】
上記データを受信したズームレンズ１００側のレンズＣＰＵ１は、当該データとレンズ内の不揮発性メモリ１２に予め記憶されたデータとに基づいて、撮影レンズの駆動量を算出し、前述のＡＦ駆動（オートフォーカス駆動）を行い、焦点調節を実行する。尚、かかる焦点調節についての詳細は後述する。
【００２４】
上記可動ミラー１７の反射光路上には、焦点板２７、ペンタプリズム２８及びファインダ接眼光学系３１及び測光センサ２９が図示の如く配置されている。測光センサ２９は測光センサ駆動回路３０により制御され、被写体の輝度を検出している。
【００２５】
このように、被写体のモニタ用としてＬＣＤ（Liquid  Crystal   Displey ）モニタ４９に加えて、前記の光学的なファインダを設けているのでは、カメラ操作者が当該ＬＣＤモニタ４９を観察しながら撮影を行うよりも、光学ファインダを覗きながら撮影を行った方が、カメラのホールディング性能が向上し、ひいては手ぶれを起こし難いからである。
【００２６】
上述の可動ミラー１７は、ミラー駆動回路１８によって駆動され、また、シャッタ２２はシャッタ駆動回路２３によって駆動される。さらに、当該シャッタ２２の後方には、光学的なローパスフィルタ２４及び被写体像を撮像してイメージ信号に変換する撮像素子としてのエリアセンサ２５が配置されている。
【００２７】
上記可動ミラー１７が跳ね上げられ、シャッタ２２が開放状態となると、エリアセンサ２５上に被写体像が結像し、所定のタイミング信号によって撮像が開始される。そして、この撮像が終了するとシャッタ２２が閉状態となる。
【００２８】
上記エリアセンサ２５は、エリアセンサ駆動回路２６によって制御され、結像された被写体像をアナログ映像信号に変換し、信号処理回路４０に出力する。信号処理回路４０は、上記アナログ信号処理信号のデジタル信号への変換を含む所定の信号処理を行う。この信号処理回路４０は、データバス５１を介して揮発性メモリ３９、ＬＣＤモニタ４９及び不揮発性メモリ３５等に電気的に通信自在に接続されている。そして、この信号処理回路４０は、上記処理済み信号を揮発性メモリ３９及び不揮発性メモリ３５に転送する。この揮発性メモリ３９に記憶された電子画像は、ＬＣＤモニタ４９に随時表示される。
【００２９】
上記不揮発性メモリ３５は、デジタルカメラボディ１０１に対して装着自在であり、電気的に書換が可能で、デジタルカメラボディ１０１の電源がオフしても電子画像の記憶が保持されるので、電子画像の記録に好適である。ボディ電源３２は、デジタルカメラボディ１０１内の各種回路へ電力を供給する。スイッチ入力回路３７は、不図示の操作スイッチや、メカ機構動作の検出スイッチ等の複数のスイッチから構成されている。
【００３０】
この他、上記デジタルカメラボディ１０１内には、被写体照明用の公知のストロボ回路３３が設けられており、ボディＣＰＵ１６が被写体輝度が所定の輝度より低いと判断した場合には、補充光を発光するよう制御される。このストロボ回路３３による発光量は、ズームレンズ１００より送信される被写体の絶対距離に基づいてＧＮｏ制御されることになる。
【００３１】
尚、上記したエリアセンサ駆動回路２６、信号処理回路４０、ストロボ回路３３、不揮発性メモリ３５、揮発性メモリ３９、ＬＣＤ駆動回路３６、スイッチ入力回路３７、ボディＣＰＵ１６、シャッタ駆動回路２３、ラインセンサ駆動回路２１、ミラー駆動回路１８は、データバス５１を介して各種のデータの通信を適宜実行している。そして、これらの各駆動回路の詳細な動作は、ボディＣＰＵ１６により統括制御されている。また、ＣＰＵ１６はＲＡＭ１６ａを内蔵している。
【００３２】
カメラボディ１０１のボディＣＰＵ１６内のＲＡＭ１６ａには、レンズ駆動状態データ（図２８参照）、レンズ強制フラグデータ（図３１参照）、さらに図示してはいないが、カメラボディ１０１に対応した駆動状態データ１、駆動状態データ２、カメラボディ１０１強制フラグデータのデータ等が、書き換え可能に記憶されている。ボディＣＰＵ１６は、ボディ内の最新の各駆動状態及びレンズ１００との通信により、得られたレンズの最新の駆動状態、及びレンズ強制フラグに関するデータからボディの動作を行うか否かを決定する。各データの詳細な内容及び使用方法については後述する。
【００３３】
さらに、ボディＣＰＵ１６は通信線５２、通信コンタクト３８を介してレンズ１０１と通信可能に構成されている。
【００３４】
次に図２は本発明の交換レンズを銀塩撮影可能なボディに装着した場合のシステム構成を示すブロック図である。
【００３５】
尚、ズームレンズ１００、焦点板２７、ペンタプリズム２８、接眼光学系３１、可動ミラー１７、セパレータ光学系１９、ラインセンサ２０、ラインセンサ駆動回路２１、ストロボ回路３３、スイッチ入力回路３７は、先に示した図１と同様の構成である為、ここでは詳細な説明を省略する。
【００３６】
図２に於いて、可動ミラー１７はミラー駆動回路１８によって駆動され、シャッタ２２はシャッタ駆動回路２３によって駆動される。そして、上記可動ミラー１７が跳ね上げられ、上記シャッタ２２が開放状態となると、銀塩フィルム４５上に被写体像が形成され、露光されることになる。
【００３７】
測光センサ駆動回路３０から出力される被写体輝度値、不図示のフィルム感度検出回路によって検出されたフィルム感度に基づいて、ボディＣＰＵ４１は、適正露光の得られる絞り値及びシャッタ速度を演算する。上記シャッタ２２は、この演算されたシャッタ速度で駆動制御される。更に、この演算された絞り値は、ズームレンズ１００側に送信され、レンズＣＰＵ１は演算された絞り値となるように絞り４を駆動する。
【００３８】
上記銀塩フィルム４５上には、磁気記録層が形成されており、この磁気記録層と接するように磁気ヘッド４２が配置されている。この磁気ヘッド４２は、種々の情報を磁気記録し、磁気ヘッド駆動回路４３の出力によって駆動される。また、銀塩カメラボディ１０２内には、フィルム駆動回路４４が設けられており、１駒の撮影が終了すると上記フィルム４５の巻き上げ動作を行う。
【００３９】
上記磁気ヘッド４２による磁気記録は、この巻き上げ動作中に実行される。銀塩カメラボディ１０２とズームレンズ１００との間の通信は、通信コンタクト３８、通信ライン５２を介して行われることになる。
【００４０】
上記ストロボ回路３３、不揮発性メモリ３４、ボディＣＰＵ４１、磁気ヘッド駆動回路４３、フィルム駆動回路４４、シャッタ駆動回路２３、ラインセンサ駆動回路２１、ミラー駆動回路１８、絞り駆動回路１０、ＡＦ駆動回路９、ズーム駆動回路１１はデータバス５１によって接続され、データの授受を行っている。これらの駆動回路の動作をボディＣＰＵ４１が統括して制御している。また、ボディＣＰＵ４１は、ＲＡＭ４１ａを内蔵している。
【００４１】
カメラボディ１０２のボディＣＰＵ４１内のＲＡＭ４１ａには、レンズ駆動状態データ（図２８参照）、カメラボディ１０２駆動状態データ１（図２９参照）、カメラボディ１０２駆動状態データ２（図３０参照）、レンズ強制フラグデータ（図３１参照）、カメラボディ１０２強制フラグデータ（図３２参照）のデータ等が、書き換え可能に記憶されている。ボディＣＰＵ４１はボディ内の最新の各駆動状態及びレンズ１００との通信により、得られたカメラボディの最新の駆動状態及びレンズ強制フラグに関するデータからボディの動作を行うか否かを決定する。各データの詳細な内容及び使用方法については後述する。
【００４２】
以下、図３のフローチャートを参照して、ズームレンズ１００側のレンズＣＰＵ１のメインシーケンスを説明する。尚、以下にいうボディＣＰＵには、ボディＣＰＵ１６，４１のいずれの概念も含まれる。
【００４３】
電源の投入によるパワーオンリセット、又は消費電流を削減した状態であるスタンバイ状態から割り込み処理が入ると、先ずレンズＣＰＵ１は各種データ等の初期化を行う（ステップＳ１）。
【００４４】
続いて、レンズＣＰＵ１は、レンズ固有のデータとレンズ駆動状態データ、レンズ状態データ、カメラボディ強制フラグデータ（図３２）をカメラボディ側のボディＣＰＵに送信する。ここで、上記レンズ固有のデータには、開放ＦＮｏ、焦点距離値、最大絞り値等がある。上記レンズ状態データには、レンズ位置等がある（ステップＳ２）。レンズ駆動状態データの詳細は図２８に示される通りである。
【００４５】
続いて、レンズＣＰＵ１は、カメラボディのボディＣＰＵより、カメラ固有データ及びカメラ駆動状態データ及びカメラボディからレンズを強制的に動作させたい場合に使用するためのレンズ強制フラグデータを受信する（ステップＳ３）。このレンズ強制フラグデータ、カメラ駆動状態データの詳細は図２９，３０，３１に示される通りである。尚、同図はカメラボディ１０２に相当するものであるが、カメラボディ１０１についても図示しないが所定のデータが構築されている。ステップＳ２以外でも、後述のサブルーチン「レンズ動作実行」及び「ＳＷ−レンズ動作設定」においてカメラボディにデータを送信しているので、カメラボディは常に最新のレンズの状態を把握可能である。
【００４６】
レンズＣＰＵ１は、一定時間以上、通信やスイッチ操作、レンズ動作等がない場合にはスタンバイ状態となる。そのためのタイマのカウントを開始する（ステップＳ４）。尚、かかるタイマのカウントは、ステップＳ５乃至Ｓ１１において、例えばカメラボディとの通信があった場合、スイッチ操作があった場合、レンズ動作があった場合等においては随時更新される。
【００４７】
次いで、レンズＣＰＵ１は、レンズ操作部材の操作が行われたか否かを操作部材検知回路１３の出力に基づき検出し（ステップＳ８）、レンズ操作部材を介してレンズ動作を指示する旨の操作がなされた場合は、当該操作に従って所定のレンズ動作の設定を行う（ステップＳ９）。尚、このステップＳ９にて実行されるサブルーチン「ＳＷ−レンズ動作設定」については後に詳細に説明する。
【００４８】
レンズＣＰＵ１は、上記サブルーチン「ＳＷ−レンズ動作設定」又は通信割り込み処理による設定が行われた場合はそれに基づいて所定のレンズ動作を実行し（ステップＳ１０）、レンズ状態データをカメラボディ側に送信する（ステップＳ１１）。ここでは、焦点距離等のデータのみが送信されている。尚、駆動状態等の他のデータはレンズ動作実行の際に併せて送信される。また、これらの動作中にカメラから通信要求があった場合には即座に後述する通信割り込み処理を行う。
【００４９】
ステップＳ５５において、タイマが終了すると、スタンバイ状態となるための準備及びカメラボディへのレンズ駆動状態データの送信を行った後（ステップＳ６）、省電力化を実現するためのスタンバイ状態となる（ステップＳ７）。ここで、ステップＳ６において、スタンバイ状態となるための準備として、レンズ駆動状態データのＬＳＴＢを１に設定し（図２８参照）、その後にカメラボディへレンズ駆動状態データの送信を行っている。よって、カメラボディはレンズがスタンバイ状態であることを知ることができる。
【００５０】
次に図４のフローチャートを参照して、図３の処理中に随時受け付ける「通信割り込み」のシーケンスを詳細に説明する。
【００５１】
カメラボディからの通信割り込み要求があり、「通信割り込み」の処理に入ると、レンズＣＰＵ１は、カメラボディとの通信を行う（ステップＳ２１）。そして、上記カメラボディから受信したのがコマンドである場合には（ステップＳ２２）、それがレンズ動作コマンドであれば、詳細は後述するサブルーチン「コマンド−レンズ動作設定」を実行し（ステップＳ２３，Ｓ２５）、レンズ動作コマンドでない場合には、当該コマンドを実行する（ステップＳ２３，Ｓ２４）。一方、上記カメラボディからデータ送信を受けた場合には（ステップＳ２６）、レンズＣＰＵ１内のＲＡＭ１ａに当該データを記憶し（ステップＳ２７）、リターンする。カメラボディは、通常はコマンドと共にそのコマンドの実行の際に必要なデータ（例えば後述するカメラボディ駆動状態データや、デフォーカス量などのデータ）を送信する。
【００５２】
次に図５のフローチャートを参照して、図３のステップＳ９で実行されるサブルーチン「ＳＷ−レンズ動作設定」のシーケンスを詳細に説明する。
【００５３】
本サブルーチンは、ズームレンズ１００内の不図示の操作部材が操作された場合に、当該操作に対応した動作を行うものである。
【００５４】
本サブルーチン「ＳＷ−レンズ動作設定」は、更にサブルーチン「パワーフォーカスＳＷ操作処理」（ステップＳ３１）、サブルーチン「プレビューＳＷ操作処理」（ステップＳ３２）、サブルーチン「絞り設定操作処理」（ステップＳ３３）、サブルーチン「ズームアップＳＷ操作処理」（ステップＳ３４）からなる。即ち、各ＳＷの状態に応じて所定の処理を行うことになる。
【００５５】
以下、各サブルーチンのシーケンスを詳細に説明する。
【００５６】
先ず、図６のフローチャートを参照して、上記サブルーチン「パワーフォーカスＳＷ操作処理」のシーケンスを説明する。
【００５７】
不図示のパワーフォーカスＳＷが操作されていない場合は何ら処理を行うことなくリターンする（ステップＳ４１）。ステップＳ４１においてパワーフォーカスＳＷが操作されていた場合には、パワーフォーカスＳＷがＯＦＦからＯＮの状態変化を検出し（ステップＳ４２）、パワーフォーカスＳＷがＯＦＦからＯＮとなった場合は、パワーフォーカス繰り出しＳＷがＯＮされたか否かを判断する（ステップＳ４３）。ステップＳ４３でパワーフォーカス繰り出しＳＷがＯＮの場合には、パワーフォーカス（ＰＦ）駆動方向を繰り出しに設定し（ステップＳ４４）、フォーカシング動作のためのＡＦ駆動量パルスを設定し（ステップＳ４７）、レンズ動作実行の際の判断データであるＡＦ駆動ステップを２０とし（ステップＳ４８）、リターンする。
【００５８】
ステップＳ４３において、パワーフォーカス繰り出しＳＷがＯＮでない場合には、さらにパワーフォーカス繰り込みＳＷの状態を判断し、ＯＮされたときは（ステップＳ４５）、パワーフォーカス（ＰＦ）駆動方向を繰り込みに設定し（ステップＳ４６）、ステップＳ４７に進む。
【００５９】
一方、ステップＳ４２、ステップＳ４９の判断で、パワーフォーカスＳＷがＯＮからＯＦＦに状態変化した場合には、所定のパワーフォーカス終了処理を行い（ステップＳ５０）、リターンすることになる。
【００６０】
次に、図７のフローチャートを参照して、上記サブルーチン「プレビュー操作処理」のシーケンスを説明する。
【００６１】
不図示のプレビューＳＷが操作されない場合は（ステップＳ５１）、何ら処理することなくリターンする。一方、ステップＳ５１、ステップＳ５２において、不図示のプレビューＳＷがＯＦＦからＯＮに状態変化すると、絞り駆動ステップを１０に設定し（ステップＳ５３）、絞り込み段数をセットし（ステップＳ５４）、リターンする。
【００６２】
一方、ステップＳ５１，Ｓ５２，Ｓ５５の判断において、プレビューＳＷがＯＮからＯＦＦに状態変化すると、絞り駆動ステップを３０に設定し（ステップＳ５６）、絞り開放段数をセットした後（ステップＳ５７）、リターンする。
【００６３】
次に、図８のフローチャートを参照して、上記サブルーチン「絞り設定操作処理」のシーケンスを説明する。
【００６４】
絞り設定操作がなされると（ステップＳ６１）、絞り値を読み込み（ステップＳ６２）、絞り値をセットし（ステップＳ６３）、プレビューＳＷがＯＮされているか否かを検出する（ステップＳ６４）。プレビューＳＷがＯＮされていなければ、何ら処理することなく、リターンする。
【００６５】
一方、プレビューＳＷがＯＮされていると、絞りステップが２０又は０であるかを検出する（ステップＳ６５）。ＹＥＳである場合には、更に現在の絞り値が設定絞り値より開放側であるかを検出し（ステップＳ６８）、ＹＥＳである場合は（ステップＳ６８）、絞り駆動ステップを３０に設定し（ステップＳ７１）、絞り開放段数をセットし（ステップＳ７２）、リターンする。
【００６６】
また、現在の絞り値が設定絞り値より開放側でない場合は（ステップＳ６８）、絞り駆動ステップを１０に設定し（ステップＳ６９）、絞り込み段数をセットし（ステップＳ７０）、リターンする。
【００６７】
一方、絞りステップが１１又は３１である場合には（ステップＳ６５，ステップＳ６６）、所定の絞り駆動終了処理を行い（ステップＳ６７）、上記ステップＳ６８乃至Ｓ７２と同様の処理を実行することとなる。
【００６８】
次に、図９のフローチャートを参照して、上記サブルーチン「ズームアップＳＷ操作処理」のシーケンスを説明する。
【００６９】
不図示のズームアップＳＷが操作され（ステップＳ８１）、ズームＳＷがＯＦＦからＯＮに状態変化した場合において（ステップＳ８２）、ズームアップＳＷがＯＮされたとき（ステップＳ８３）は、ズーム駆動方向をズームアップに設定し（ステップＳ８４）、パワーズーム駆動量をセットし（ステップＳ８７）、ズーム駆動ステップを１０に設定し（ステップＳ８８）、リターンする。
【００７０】
また、ステップＳ８３，Ｓ８５において、ズームダウンＳＷがＯＮされたときは、ズーム駆動方向をズームダウンに設定し（ステップＳ８６）、パワーズーム駆動量をセットし（ステップＳ８７）、ズーム駆動ステップを１０に設定し（ステップＳ８８）、リターンする。一方、ステップＳ８１，Ｓ８２，Ｓ８９において、上記ズームＳＷの状態がＯＮからＯＦＦに変化した場合は、ズーム終了処理を行い（ステップＳ９０）、リターンする。
【００７１】
次に、図１０のフローチャートを参照して、図４のステップＳ２５で実行されるサブルーチン「コマンド−レンズ動作設定」のシーケンスを説明する。
【００７２】
尚、以下にいうカメラボディにはカメラボディ１０１，１０２が含まれる。
【００７３】
カメラボディよりＡＦ駆動コマンドが送信されると（ステップＳ１０１）、レンズＣＰＵ１は、現在のレンズ位置とカメラボディから送信されたデフォーカス量とに基づいて、ＡＦ駆動方向とＡＦ駆動量を演算し（ステップＳ１０２、Ｓ１０３）、これによりＡＦ駆動量パルス設定を行い（ステップＳ１０４）、ＡＦ駆動ステップを１０に設定する（ステップＳ１０５）。
【００７４】
そして、見切りＡＦを行う場合、見切りＡＦフラグを設定する（ステップＳ１０６、Ｓ１０７）。ここで、「見切りＡＦ」とは、ＡＦ駆動後に再度ＡＦ検出を行う通常のＡＦとは異なり、再度ＡＦ検出を行わない場合のＡＦ駆動をいい、駆動量パルスが所定値以下の場合に行われるものである。
【００７５】
続いて、カメラボディより絞り駆動コマンドが送信された場合（ステップＳ１０８）、当該コマンドが絞り込み指示に係るものである場合には（ステップＳ１０９）、絞り駆動ステップを１０に設定し（ステップＳ１１０）、絞り込み段数を設定する（ステップＳ１１１）。一方、絞り開放指示に係るものである場合には（ステップＳ１０９、ステップＳ１１２）、絞り駆動ステップを３０に設定し（ステップＳ１１３）、絞り開放段数をセットする（ステップＳ１１４）。尚、カメラボディは、絞り駆動コマンドと、絞り込みか開放かを指示するデータ、及び絞り込みの場合は絞り値を共に送信している。
【００７６】
次いで、カメラボディよりズーム駆動コマンドが送られた場合（ここでは、カメラボディはズーム駆動コマンドと求める焦点距離を送信する）には（ステップＳ１１５）、レンズＣＰＵ１は、求める焦点距離、現在の焦点距離からズーム駆動方向と駆動量を算出し（ステップＳ１１６，１１７）、それによりズーム駆動量をセットし（ステップＳ１１８）、ズーム駆動ステップを１０に設定した後（ステップＳ１１９）、リターンする。
【００７７】
次に図１１のフローチャートを参照して、サブルーチン「レンズ動作処理」のシーケンスを説明する。
【００７８】
このサブルーチン「レンズ動作処理」は、更にサブルーチン「ＡＦ駆動処理」（ステップＳ１２１）、サブルーチン「絞り駆動処理」（ステップＳ１２２）、サブルーチン「ズーム駆動処理」（ステップＳ１２３）からなる。
【００７９】
以下、各サブルーチンを詳細に説明する。
【００８０】
先ず、図１２のフローチャートを参照して、上記サブルーチン「ＡＦ駆動処理」のシーケンスを詳細に説明する。
【００８１】
このサブルーチンでは、ＡＦ駆動ステップが０の場合には何ら処理を行うことなくリターンする（ステップＳ１３１）。
【００８２】
一方、ＡＦ駆動ステップが１０の場合には（ステップＳ１３２）、レンズＣＰＵ１は、サブルーチン「ＡＦ駆動許可判断」を実行し（ステップＳ１３３）、ＡＦ駆動許可された場合には（ステップＳ１３４）、公知のＡＦカーブ制御駆動を開始し（ステップＳ１３５）、ＡＦ駆動ステップを１１に設定し（ステップＳ１３６）、更にＡＦ駆動状態設定した後（ステップＳ１３７）、リターンする。
【００８３】
ここで、上記「ＡＦ駆動許可判断」とは、レンズ及びボディの駆動状態を示すＲＡＭの記憶データであるレンズ駆動状態データ、カメラボディ駆動状態データ、レンズ強制フラグデータ、及びレンズ駆動判断表とから駆動の許可／不許可を判断する処理をいう。例えば、カメラボディ１０２に装着された時のレンズ１００の駆動判断表は、図２６（ｂ）に示される通りである。カメラボディ１０１に装着された時のレンズ１００の駆動判断表は図２７（ｂ）に示される通りである。レンズ強制フラグデータについては、図３１に示される通りである。カメラボディ１０２の駆動状態を表す駆動状態データ１，駆動状態データ２及びレンズの駆動状態を表すレンズ駆動状態データは、図２９，図３０，図２８に示される通りである。尚、カメラボディ１０１についても、特に図示はしないが、同様の構成のデータが構築されている。尚、上記サブルーチン「ＡＦ駆動許可判断」及び各種データ判断表については詳細は後述する。
【００８４】
ここで、上記「ＡＦ駆動状態設定」とは、ＡＦ駆動（オートフォーカス駆動）を開始したことによりレンズの駆動状態が変化したため、それに応じてレンズ駆動状態データを書き換える処理を行った後に、レンズ駆動状態をカメラボディに送信する処理を行う事を指す。具体的には、レンズＣＰＵ１内のＲＡＭ１ａ内に記憶されている、レンズ駆動状態データ（図２８参照）の、レンズ内のオートフォーカス駆動状態を示すフラグである、「ＡＦＤＲＶ１」を１に、「ＡＦＤＲＶ０」を０に書き換える処理を行う事により、「ＡＦＤＲＶ１」、「ＡＦＤＲＶ０」を００（ＡＦ非駆動、つまりオートフォーカス駆動を行っていない状態を表す）から１０（ＡＦ駆動中、つまりレンズはオートフォーカス駆動動作を行っている状態であることを表す）とする。そして、カメラボディにレンズ駆動状態データを送信する。カメラボディはレンズ駆動状態データを受信し、ボディＣＰＵ内のＲＡＭに格納し、データを参照することにより、レンズの最新の駆動状態として、ＡＦ駆動中であることを知ることが出来る。
【００８５】
一方、ＡＦ駆動ステップが２０の場合には（ステップＳ１３８）、レンズＣＰＵ１は、駆動許可判断を行い（ステップＳ１３９）、ＡＦ駆動許可がされている場合には（ステップＳ１４０）、ＰＦ駆動（パワーフォーカス駆動）を開始し（ステップＳ１４１）、ＡＦ駆動ステップを２１に設定し（ステップＳ１４２）、ＡＦ駆動状態設定した後（ステップＳ１４３）、リターンする。
【００８６】
ＡＦ駆動ステップが１１の場合には（ステップＳ１４４）、ＡＦ駆動終了である場合は（ステップＳ１４５）、公知のＡＦカーブ制御駆動を続行し（ステップＳ１４６）、リターンする。一方、ステップＳ１４５において、ＡＦ駆動終了である場合は、ＡＦ駆動ステップを０に設定し（ステップＳ１４７）、ＡＦ駆動状態を設定し（ステップＳ１４８）、リターンする。
【００８７】
ＡＦ駆動ステップが２１の場合には（ステップＳ１４９）、現在パワーフォーカス駆動を行っているので、更にＰＦ駆動を終了しているかどうかを判断し（ステップＳ１５０）、終了している場合には、ＡＦ駆動ステップを０に設定し（ステップＳ１５２）、ＡＦ駆動状態を設定し（ステップＳ１５３）、リターンする。これに対して、ステップＳ１５０において、ＰＦ駆動を終了していない場合にはＰＦ駆動を続行し（ステップＳ１５１）、リターンする。
【００８８】
次に、図１３のフローチャートを参照して、サブルーチン「絞り駆動処理」のシーケンスを説明する。
【００８９】
絞り駆動ステップが０である場合には、何ら処理をすることなくリターンする（ステップＳ１６１）。
【００９０】
絞り駆動ステップが１０の場合には（ステップＳ１６２）、絞り駆動許可判断を行い（ステップＳ１６３）、絞り駆動が許可された場合は（ステップＳ１６４）、絞り込み開始し（ステップＳ１６５）、絞り駆動ステップを１１に設定し（ステップＳ１６６）、絞り駆動状態を設定した後（ステップＳ１６７）、リターンする。ここで、「絞り駆動許可判断」では、後述の「ＡＦ駆動許可判断」と同様にレンズ強制フラグデータとカメラボディ駆動状態データと、レンズ駆動判断表を基に絞り駆動を行ってよいかどうかを判断している（但し、「ＡＦ駆動許可判断」と異なり、上述のデータ及び判断表のうち、絞り駆動に関する部分を参照して判断を行っている）。また、「絞り駆動状態設定」についても同様に「ＡＦ駆動動作状態設定」と同じく、レンズ駆動状態データにおけるレンズ内の絞りに関するフラグを書き換える処理を行うと共に上記データをカメラへ送信する。
【００９１】
絞り駆動ステップが１１である場合において（ステップＳ１６８）、絞り込みが終了していない場合は（ステップＳ１６９）、絞り込みを続行し（ステップＳ１７０）、絞り込みが終了している場合には（ステップＳ１６９）、絞り駆動ステップを２０に設定し（ステップＳ１７１）、絞り駆動状態を設定した後（ステップＳ１７２）、リターンする。
【００９２】
絞り駆動ステップが３０である場合には（ステップＳ１７３）、前述の絞り駆動許可判断を行い（ステップＳ１７４）、絞り駆動許可されている場合には（ステップＳ１７５）、絞り開放を開始し（ステップＳ１７６）、絞り駆動ステップを３１に設定し（ステップＳ１７７）、絞り駆動状態を設定した後（ステップＳ１７８）、リターンする。
【００９３】
絞り駆動ステップが３１である場合には（ステップＳ１７９）、絞り開放動作が終了していない場合は（ステップＳ１８０）、絞り開放を続行し（ステップＳ１８１）、リターンする。一方、絞り開放が終了している場合には（ステップＳ１８０）、絞り駆動ステップを０に設定し（ステップＳ１８２）、絞り駆動状態を設定した後（ステップＳ１８３）、リターンする。
【００９４】
次に、図１４を参照して、上記サブルーチン「ズーム駆動処理」のシーケンスを詳細に説明する。
【００９５】
ズーム駆動ステップが０である場合には、何ら処理をすることなくリターンする（ステップＳ２００）。
【００９６】
ズーム駆動ステップが１０の場合には（ステップＳ２０１）、詳細はＡＦ駆動許可判断とほぼ同様の処理をズーム駆動に関して行う駆動許可判断を行い（ステップＳ２０２）、ズーム駆動が許可された場合には（ステップＳ２０３）、ズーム駆動を開始し（ステップＳ２０４）、ズーム駆動ステップを１１に設定し（ステップＳ２０５）、詳細は前述したＡＦ駆動状態設定とほぼ同様の処理をズーム駆動に関して行うズーム駆動状態を設定した後（ステップＳ２０６）、リターンする。
【００９７】
一方、ズーム駆動ステップが１１である場合において（ステップＳ２０７）、ズーム駆動終了していない場合には（ステップＳ２０８）、ズーム駆動を続行し（ステップＳ２０９）、ズーム駆動終了していた場合には（ステップＳ２０８）、ズーム駆動ステップを０に設定し（ステップＳ２１０）、ズーム駆動状態設定を行った後（ステップＳ２１１）、リターンする。
【００９８】
ここで、図をもとに各駆動状態データ、強制フラグデータ、及び駆動判断表について説明する。本発明の特徴は、レンズ及びカメラボディそれぞれの駆動状態を示すデータを有し、レンズが動作を行う場合にはレンズが上記レンズ及びカメラボディの駆動状態データから動作可能かどうかを判断して動作を実行し、カメラボディが動作を行う場合にはカメラボディが上記レンズ及びカメラボディの駆動状態データから動作可能かどうかを判断して動作を実行するような構成となっていることである。
【００９９】
上記各駆動状態データ、強制フラグデータ、及び駆動判断表は上述の構成の実現の為に設けられたデータであり、さらにそのデータ及び表を用いて例えばサブルーチン「ＡＦ駆動許可判断」のような動作が許可されているか否かの判断を行うことにより上述のような動作を実現させている。
【０１００】
レンズ駆動状態データ（図２８参照）、カメラボディ１０２駆動状態データ（図２９，３０参照）は、それぞれレンズ１００とカメラボディ１０２の駆動状態を示すデータであり、ともにボディ４１内のＲＡＭ４１ａ及びレンズＣＰＵ１内のＲＡＭ１ａの両方のＲＡＭに記憶されている。
【０１０１】
本実施の形態では、データは全て８ｂｉｔのデータとしてＲＡＭに記憶されており、各ｂｉｔはそれぞれ図に示すような内容を示している。例えば図２８を参照すると、レンズ駆動状態データにおいては、ｂｉｔ０，ｂｉｔ１はそれぞれＡＦＤＲＶ０、ＡＦＤＲＶ１という名称のフラグであり、レンズ内のオートフォーカス駆動状態を示している。ｂｉｔ１、ｂｉｔ０が００又は１１の場合はＡＦ駆動が行われていない状態（ＡＦ非駆動）を示し、ｂｉｔ１，ｂｉｔ０が０１または１０の場合はＡＦ駆動が行われている、つまりフォーカシングの為にレンズが駆動されている状態（ＡＦ駆動中）を示していることが表より読み取れる。
【０１０２】
同様に、ｂｉｔ２のフラグＮＡＦＤＲＶはレンズ内のオートフォーカス駆動が、ノーマル駆動であるか、見切りＡＦ駆動であるかを、ｂｉｔ３，ｂｉｔ４のフラグＡＶＤＲＶ０、ＡＶＤＲＶ１はレンズ内の絞り駆動状態を、ｂｉｔ５，ｂｉｔ６はフラグＰＺＭＤＲＶ０、ＰＺＭＤＲＶ１はズーム駆動状態を、ｂｉｔ７のフラグＬＳＴＢはレンズＣＰＵ１の動作状態が通常動作状態であるか、スタンバイ状態であるかを示している。それぞれのｂｉｔが０または１の時にどのような動作状態であるかは図２８の表にフラグの名称（一番上の表では「ＡＦＤＲＶ０」、「ＡＦＤＲＶ１」）、フラグの状態（「０」又は「１」）、意味するレンズ動作状態（表の「状態」欄、一番上の表では「ＡＦ駆動中」又は「ＡＦ非駆動」）として示されている。
【０１０３】
同様に、カメラボディ１０２駆動状態データ１，カメラボディ１０２駆動状態データ２についても図２９，図３０に示すようなフラグの名と、フラグの状態の意味するカメラボディ動作状態を表している。
【０１０４】
次に駆動判断表について説明する。レンズＣＰＵ１内にはカメラボディ１０２装着時レンズ駆動判断表（図２６（ｂ））と、カメラボディ１０１装着時レンズ駆動判断表（図２７（ｂ））と、が記憶されており、カメラボディＣＰＵ４１内にはカメラボディ１０２駆動判断表（図２６（ａ））が記憶されている。カメラボディ１０２とレンズ１００が装着されている場合は、レンズＣＰＵ１はレンズ内の動作を行う際に上記レンズ駆動状態データと、カメラボディ１０２駆動状態データ１，２を参照して、カメラボディ１０２装着時レンズ駆動判断表からレンズ動作を行っても良いかどうかを判断し、ボディＣＰＵ４１はボディ内の動作を行う際に上記レンズ駆動状態データと、カメラボディ１０２駆動状態データ１，２を参照して、カメラボディ１０２駆動判断表からボディ動作を行っても良いかどうかを判断する。
【０１０５】
先ず、カメラボディ１０２駆動判断表について簡単に説明する。１列目はカメラボディ１０２が行いたい動作を示し、１行目はその際に考慮すべきレンズ及びカメラの動作を示す。ボディＣＰＵ４１は一列目に記載のある動作を行う場合に、ＲＡＭ４１ａ内のデータを参照して１行目に記載されている各動作が実行中かどうか知り、動作中のものがあれば、表を参照して上記行いたい動作と、動作中の動作に対応する欄の記号を参照する。ここでは×は動作禁止を、○は動作許可を示す。よって○の場合は動作許可であるので、行いたい動作を実行し、×の場合は動作禁止であるので、動作を実行しない。
【０１０６】
例えば、カメラボディ１０２が、ミラー駆動を行う場合は、上から３列目のミラー駆動の欄を参照する。ここで、測光、焦点検出、シャッタ駆動、ＡＦ駆動、ＺＯＯＭ駆動、フィルム無に対応する欄に×印がついている。よって、図は測光、焦点検出、シャッタ駆動、ＡＦ駆動、ＺＯＯＭ駆動のいずれかがその時に行われている場合又はフィルムがない場合には、ミラー駆動は禁止されていることを示しているので、上記のいずれかに該当する場合はミラー駆動動作の実行を行わず、上記に該当しない場合はミラー駆動動作を実行する。ここで、図中に「×（○）」という表示があるが、これは通常のＡＦ駆動動作の場合には動作禁止「×」であるが、見切りＡＦ駆動の場合には動作許可「○」であることを示している。このように設定されている理由は、通常ＡＦ動作においてはＡＦ動作後再度焦点検出を行う必要があるがミラー駆動を行うと、焦点検出が不可能になるためである。見切りＡＦの場合は、ＡＦ動作後再度焦点検出を行わないためミラー駆動を行っても何ら問題がないため、ミラー駆動は許可されている。ボディ１０２装着時レンズ駆動判断表も同様にレンズの動作許可判断の際に参照され、動作の許可禁止を決定する際に使用される。
【０１０７】
これらの動作の禁止または実行は、カメラボディやレンズの構成などにより、同時に実行可能かどうか、また同時に実行した場合に正常に機能が実現できるかどうかを考慮して決められている。よって、本実施の形態に限定されることなく、カメラボディやレンズの構成に応じた種々の駆動判断となる。
【０１０８】
次にレンズ強制フラグデータ（図３１）、カメラボディ１０２強制フラグデータ（図３２）について説明する。
【０１０９】
上記強制フラグデータはカメラボディ１０２とレンズ１００内のＲＡＭに共に記憶されている。レンズ強制フラグデータはカメラボディが強制的にレンズ１００側の動作を強制動作または動作禁止したい場合に使用されるフラグである。
【０１１０】
カメラボディ１０２強制フラグデータは、レンズが強制的にカメラボディ１０２側の動作を動作禁止したい場合に使用されるフラグである。
【０１１１】
このデータはシステムの拡張性を広くする為に設けられたデータである。
【０１１２】
例えばカメラボディ１０１，カメラボディ１０２とは異なるカメラボディ１０４を新たに作成してレンズ１００に装着して使用したいという場合がある。このような場合にカメラボディ１０４が銀塩カメラボディであり、機能的にカメラボディ１０２よりもレンズ動作に関連する機能を持たない場合には、上記カメラボディ１０２のカメラボディ１０２駆動状態データを持ち、レンズ１００にも同様のデータを送信すれば良い（ここでカメラボディ１０２よりも機能が少なく例えばフィルムのオートロード機能がない場合であれば、単にカメラボディ１０２駆動状態データ１のフィルムロードに関するフラグであるＦＷＩＮＤ０及びＦＷＩＮＤ１を常に０に設定しておけばカメラボディ、レンズ共に動作上支障はない）。また、カメラボディ１０４がデジタルカメラボディであり、機能的にカメラボディ１０１よりもレンズ動作に関連する機能を持たない場合には、上記カメラボディ１０１のカメラボディ１０１駆動状態データを持ち、レンズ１００にも同様のデータを送信すれば良い。
【０１１３】
しかし、カメラボディ１０４がカメラボディ１０２（又はカメラボディ１０１）にはなく、レンズ１００の動作に関連ずるき能を新たに有していた場合（例えぶれ補正機能を有しており、ぶれ補正検出の電気的特性上、ぶれ補正中にはレンズのズーム動作、ＡＦ駆動動作を禁止したい場合など）が生じる可能性がある。その場合は、カメラボディ１０４はカメラボディ１０２駆動状態データと共に、レンズ強制フラグデータを持ち、レンズ強制フラグを設定（例えばレンズ強制フラグデータのズーム駆動に関するフラグであるＤＰＺＭＤＲＶを許可である１に設定）した後に、レンズに送信する。レンズ１００は各駆動許可判断の際に強制フラグの許可禁止を設定するフラグと、強制フラグを参照し、強制フラグ許可の場合には強制フラグに対応して駆動動作を判断しているので、レンズを他の駆動状態に関わらず強制的に動作実行または動作禁止とすることができる（駆動許可判断についてはサブルーチン「ＡＦ駆動許可判断」の説明で後述している）。
【０１１４】
カメラボディ１０２強制フラグも同様の目的によって設けられている。
【０１１５】
この場合は、レンズ１００とは異なる新機能を有するレンズに対応可能な為に設けられている。但し、本システムのようにレンズからカメラボディへコマンドを送る事によりカメラボディを制御することがないシステムでは、カメラボディ１０２の強制フラグは強制的にカメラボディ１０２の動作を禁止する機能のみ持てば良いので、カメラボディ１０２強制フラグの使用許可に関するフラグは設けていない。本実施の形態では、これらのフラグを設けることにより、システムの拡張性を高めている。
【０１１６】
以上が各駆動状態データ、強制フラグデータ、強制フラグ許可データ、及び駆動判断表についての説明である。
【０１１７】
ここで、カメラボディ１０１の場合について記す。カメラボディ１０１のボディＣＰＵ１６内のＲＡＭ１６ａにおいては、カメラボディの駆動に関するデータとして、カメラボディ１０２の駆動に関するデータではなく、カメラボディ１０１の駆動に関するデータが記憶されている。さらに、カメラボディ１０２強制フラグデータに変わって不図示のカメラボディ１０１強制フラグデータが記憶されている。また、レンズＣＰＵ１内のＲＡＭ１ａには上述のカメラボディ１０２の駆動に関するデータ、カメラボディ１０２強制フラグデータと共に、不図示のカメラボディ１０１の駆動に関するデータ、不図示のカメラボディ１０１強制フラグデータも記憶されている。
【０１１８】
レンズＣＰＵ１は、カメラボディ１０２に装着された場合は、上述のようにカメラボディ１０２の駆動に関するデータ（図２９のカメラボディ１０２駆動状態データ１及び図３０のカメラボディ１０２駆動状態データ２）に基づいて、カメラボディ１０２装着時駆動判断表（図２６（ｂ））、レンズ強制フラグデータ、レンズ強制フラグ許可データから、レンズ内の駆動を行うか否か判断する。同様に、レンズＣＰＵ１はカメラボディ１０１に装着された場合は、不図示のカメラボディ１０１の駆動に関するデータに基づいて、カメラボディ１０１装着時駆動判断表（図２７（ｂ））、レンズ強制フラグデータから、レンズ内の駆動を行うか否かを判断する。
【０１１９】
また、カメラボディ１０１のボディＣＰＵ１６は上述のカメラボディ１０１の駆動に関するデータ、レンズから送信された上述のカメラボディ１０１強制フラグデータとレンズ駆動状態データ、に基づいて、カメラボディ１０２駆動判断表（図２７（ａ））から、レンズ内の駆動を行うか否か判断する。
【０１２０】
次に、図１５のフローチャートを参照して、先に示した図１２のステップＳ１３３，Ｓ１２９で実行されるサブルーチン「ＡＦ駆動許可判断」のシーケンスを詳細に説明する。
【０１２１】
本サブルーチン「ＡＦ駆動許可判断」では、前述のレンズ強制フラグデータのオートフォーカス駆動に関する強制フラグの使用の許可又は禁止を設定するフラグであるＤＡＦＤＲＶＥＮを参照し、強制フラグの使用が許可されていない場合（図３１のＤＡＦＤＲＶＥＮが「０」である場合）には（ステップＳ２２１）、ステップＳ２２４に進む。ステップＳ２２４では前述した図２６（ｂ）（又は図２７（ｂ））に示されるレンズ駆動状態判断表に基づいて、レンズ駆動状態データとカメラボディ１０２駆動状態データ（またはカメラボディ１０１駆動状態データ）よりＡＦ駆動を行って良いかどうか判断し、その結果を設定した後にリターンする。
【０１２２】
一方、ステップＳ２２１でレンズ強制フラグの使用が許可されている場合（ＤＡＦＤＲＶＥＮが「１」である場合）はステップＳ２２２において、レンズ強制フラグデータのオートフォーカス駆動の強制動作（又は強制動作禁止）に関するフラグであるＤＡＦＤＲＶを参照して、ＡＦ駆動の禁止を設定し（ステップＳ２２６）、リターンする。また、ステップＳ２２２、ステップＳ２２３において、レンズ強制フラグデータのオートフォーカス駆動の強制動作（または強制動作禁止）に関するフラグであるＤＡＦＤＲＶを参照して、ＡＦ駆動が強制ＡＦ駆動に設定されている場合（ＤＡＦＤＲＶが「１」である場合）には、ステップＳ２２５に進む。
【０１２３】
ステップＳ２２５においては、レンズ駆動状態データと、レンズ駆動判断表の一部（カメラボディの駆動に関しない部分）に基づいて、ＡＦ駆動を行って良いかどうか判断し、その結果を設定した後にリターンする。
【０１２４】
即ち、上記ステップＳ２２５では、レンズ駆動判断表のうち、ボディ関連（例えばレンズがカメラボディ１０２に装着されている場合は、測光、焦点検出、ミラー駆動、シャッタ駆動、フィルムロード、フィルム無し）は無視し、レンズ関連（ＡＦ駆動、ズーム駆動、絞り駆動）に基づいて動作の可否を判断して、動作可能と判断すれば駆動の許可を設定する。ここで、ステップＳ２２５において、レンズ駆動状態データのみ参照している理由は、カメラボディからは強制的にＡＦ駆動を行うように設定されているので、カメラボディの状態は考慮しなくても良いが、レンズの構成上レンズ内においては、機構的に同時駆動不可能な駆動動作があるため、レンズ内の駆動状態と、それに関するレンズ駆動判断表とから判断を行う必要があるためである。
【０１２５】
次に、図１６のフローチャートを参照して、カメラボディ側のメインシーケンスを説明する。ここでは、カメラボディ１０２のシーケンスを説明する。カメラボディ１０１についてもほぼ同様のシーケンスであるので、特に詳細な説明は行わないが、カメラボディ１０２と異なる部分のみ随時追記する。
【０１２６】
動作を開始すると、先ず各種フラグ等の初期化を行い（ステップＳ２３１）、カメラ固有データ及び図２９，図３９に示されるカメラボディ１０２駆動状態データ（カメラボディ１０１の場合は不図示のカメラボディ１０１駆動状態データ）とレンズ強制フラグデータをレンズに送信し（ステップＳ２３２）、レンズよりレンズ固有データ及び図２８、図３１に示されるレンズ駆動状態データとカメラボディ１０２強制フラグデータ（カメラボディ１０１の場合は不図示のカメラボディ１０１強制フラグデータ）を受信する（ステップＳ２３３）。続いて、カメラ動作タイマのカウントを開始する（ステップＳ２３４）。このタイマは、所定時間以上、通信や操作部材の操作、カメラ動作がない場合にスタンバイ状態に移行するためのもの指標となるものである。
【０１２７】
タイマ計時中においては、カメラのモード、ＩＳＯ等を表示し（ステップＳ２３８）、カメラの各種操作部材を検出し操作されると、カメラ動作に関わる操作が為された場合はカメラ動作の設定を行い（ステップＳ２３９，Ｓ２４０）、レリーズ操作又はカメラ動作設定での設定に従って所定のカメラ動作を行った後に（ステップＳ２４１）、上記ステップＳ２３５に戻る。
【０１２８】
ステップＳ２３５にて、タイマがオーバーフローすると、各種スタンバイ準備を行うと共にレンズに状態を送信（カメラボディ１０２の場合はカメラボディ１０２駆動状態データ２においてボディのスタンバイ状態を表すフラグであるＢＳＴＢフラグを１に設定した後、送信する）し（ステップＳ２３６）、スタンバイ状態となる。ここで、レンズからの通信要求は割り込み信号として、常時検出されており、レンズから通信要求があった場合は即座に後述の「レンズ通信割り込み」処理を行う。
【０１２９】
次に、図１７のフローチャートを参照して、サブルーチン「レンズ通信割り込み」のシーケンスを説明する。このサブルーチンでは、レンズ通信を行い、データ送信である場合には当該データを格納し、リターンすることになる（ステップＳ２５１乃至Ｓ２５３）。
【０１３０】
次に、図１８のフローチャートを参照して、図１６のステップＳ２４０にて実行されるサブルーチン「カメラ動作設定」のシーケンスを説明する。
【０１３１】
このサブルーチン「カメラ動作設定」に入ると、不図示の巻き戻しＳＷがＯＮされるかフィルムが終了すると（ステップＳ２６１，Ｓ２６２）、フィルムロードステップを３０に設定する（ステップＳ２６３）。次いで、フィルムカートリッジが装填されると（ステップＳ２６４）、フィルムロードステップを２０に設定する（ステップＳ２６５）。露出モード操作がなされると（ステップＳ２６６）、所定の露出モード設定を行う（ステップＳ２６７）。ここで、「露出モード」とは、絞り優先、シャッタ優先、プログラム等を包含する概念である。オートズームモードＳＷがＯＮされると、オートズームモードに設定し（ステップＳ２６８，Ｓ２６９）、リターンする。尚、操作部材のうち、レリーズ操作はカメラ動作処理のレリーズ処理で検出・実行する。（ここで、カメラボディ１０１では、フィルムを使用しないため、フィルムロードに関するステップは行われない。以下に記載の他のサブルーチンにおいても同様である。）
次に、図１９のフローチャートを参照して、図１６のステップＳ２４１にて実行される「カメラ動作処理」のシーケンスを説明する。
【０１３２】
このサブルーチン「カメラ動作処理」は、更にサブルーチン「レリーズ処理」（ステップＳ２７０）、サブルーチン「シーケンス処理」からなる（ステップＳ２７１）。以下、各サブルーチンを詳細に説明する。
【０１３３】
先ず、図２０のフローチャートを参照して、サブルーチン「レリーズ処理」をのシーケンスを説明する。
【０１３４】
本実施の形態では、レリーズスイッチは１ｓｔレリーズＳＷと２ｎｄレリーズスイッチの２段構成となっており、レリーズスイッチを押圧すると、先ず１ｓｔレリーズＳＷがＯＮし、さらに押圧すると２ｎｄレリーズＳＷがＯＮする構成となっている。本サブルーチンに入り、１ｓｔレリーズＳＷがＯＮされると（ステップＳ２８１）、公知の測光（ステップＳ２８２）、測距（焦点検出動作）（ステップＳ２８３）を行い、ＡＦ駆動コマンドと測距で得たデフォーカス量（焦点ずれ量）とをレンズ１００側へ送信し（ステップＳ２８４）、測光値、レンズＦＮｏ（レンズの最大ＦＮｏ、設定ＦＮｏ等でありレンズより送信済みである）、露出モードから絞りとシャッタ速度を算出する露出演算を行う（ステップＳ２８５）。
【０１３５】
続いて、２ｎｄレリーズＳＷがＯＮされずに、１ｓｔレリーズＳＷがＯＦＦされるとメインシーケンスにリターンすることなる。一方、２ｎｄレリーズＳＷがＯＮされると（ステップＳ２８６）、絞り込みコマンドと絞り値をレンズ１００側に送信する（ステップＳ２８８）。
【０１３６】
そして、オートズームモードである場合には（ステップＳ２８９）、ズーム値を算出し（ステップＳ２９０）、ズーム駆動コマンドとズーム値（焦点距離）をレンズ１００側に送信する（ステップＳ２９１）。次いで、ボディＣＰＵは、ミラーステップを１０に設定し（ステップＳ２９２）、詳細は後述するサブルーチン「シーケンス処理」を実行し（ステップＳ２９３）、ミラーステップが０でない場合には上記「シーケンス処理」を繰り返し、ミラーステップが０となるとステップＳ２９５に移行する（ステップＳ２９４）。
【０１３７】
そして、ボディＣＰＵは、詳細は後述するサブルーチン「シャッタ制御」を実行し（ステップＳ２９５）、絞り開放コマンド送信を行い（ステップＳ２９６）、ミラーステップを２０に設定し（ステップＳ２９７）、更にはフィルムロードステップを１０に設定し（ステップＳ２９８）、シャッタチャージステップを１０に設定する（ステップＳ２９９）。
【０１３８】
次いで、再度、サブルーチン「シーケンス処理」を実行し（ステップＳ３００）、ミラーステップ、フィルムロードステップ、シャッタチャージステップがいずれも０であれば、リターンする。尚、上記ミラーステップ、フィルムロードステップ、シャッタチャージステップのいずれか１つでも０でなければ上記サブルーチン「シーケンス処理」を実行することになる。（ここでカメラボディ１０１においてはフィルムロードに関する処理は行われない。）
次に、図２１のフローチャートを参照して、サブルーチン「シーケンス処理」を説明する。このサブルーチンは、更にサブルーチン「フィルムロード処理」（ステップＳ３１０）、サブルーチン「ミラー駆動処理」（ステップＳ３１１）、サブルーチン「シャッタチャージ処理」（ステップＳ３１２）からなる。以下、各サブルーチンを詳細に説明する。
【０１３９】
先ず、図２２のフローチャートを参照して、サブルーチン「フィルムロード処理」のシーケンスを詳細に説明する。
【０１４０】
フィルムロードステップが０である場合には、何ら処理を行うことなく、そのままリターンする（ステップＳ３２０）。
【０１４１】
フィルムロードステップが１０の場合には（ステップＳ３２１）、ボディＣＰＵは、駆動許可判断を行い、フィルムロードが許可されると、１コマ巻き上げを開始し（ステップＳ３２３、Ｓ３２４）、フィルムロードステップを１１に設定し（ステップＳ３２５）、フィルムロード状態設定を行った後（ステップＳ３２６）、リターンする。尚、以下の各種サブルーチンにおいて「駆動許可判断」、「状態設定」の詳しい説明は省くが、「駆動許可判断」ではレンズの各駆動許可判断と同様に、レンズ駆動状態データを参照して、カメラボディ駆動判断表を基に各動作に対応する判断を行っている。また、「状態設定」では、各変化した動作状態に応じてカメラボディ駆動状態データを書き換えレンズに送信している。
【０１４２】
フィルムロードステップが２０の場合には（ステップＳ３２７）、駆動許可判断を行い（ステップＳ３２８）、フィルムロードが許可されていない場合にはそのままリターンする。これに対して、フィルムロードが許可されると、オートロードを開始し（ステップＳ３２９，Ｓ３３０）、フィルムロードステップを２１に設定し（ステップＳ３３１）、フィルムロード状態を設定した後（ステップＳ３３２）、リターンする。
【０１４３】
フィルムロードステップが３０である場合（ステップＳ３３３）、駆動許可判断を行い（ステップＳ３３４）、フィルムロード許可がされていない場合には（ステップＳ３３５）、リターンする。これに対して、フィルムロードが許可されている場合には、フィルムの巻き戻しを開始し（ステップＳ３３６）、フィルムロードステップを３１に設定し（ステップＳ３３７）、フィルムロード状態設定を行った後（ステップＳ３３８）、リターンする。
【０１４４】
フィルムロードステップが１１である場合において（ステップＳ３３９）、１コマ巻き上げが終了していな場合には、１コマ巻き上げを続行し（ステップＳ３４０，Ｓ３４１）、リターンする。これに対して、１コマ巻き上げが終了している場合には（ステップＳ３４０）、フィルムロードステップを０に設定し（ステップＳ３４２）、フィルムロード状態を設定した後に（ステップＳ３４３）、リターンする。
【０１４５】
フィルムロードステップが２１である場合において（ステップＳ３４４）、オートロードが終了していない場合にはオートロードを続行して（ステップＳ３４５，Ｓ３４６）、リターンする。これに対して、オートロードが終了している場合には、フィルムロードステップを０に設定し（ステップＳ３４７）、フィルムロード状態設定を行った後に（ステップＳ３４８）、リターンする。
【０１４６】
フィルムロードステップが３１である場合において（ステップＳ３４９）、巻き戻し終了していない場合には（ステップＳ３５０）、フィルムの巻き戻しを続行し（ステップＳ３５１）、リターンする。これに対して、フィルムの巻き戻しを終了している場合には（ステップＳ３５０）、フィルムロードステップを０に設定し（ステップＳ３５２）、フィルムロード状態設定を行った後に（ステップＳ３５３）、リターンする。
【０１４７】
次に図２３のフローチャートを参照して、サブルーチン「ミラー駆動処理」のシーケンスを説明する。
【０１４８】
ミラー駆動ステップが０である場合には何ら処理を行うことなく、リターンする（ステップＳ３６１）。
【０１４９】
ミラー駆動ステップが１０である場合には（ステップＳ３６２）、駆動許可判断を行い（ステップＳ３６３）、ミラー駆動が許可された場合には（ステップＳ３６４）、ミラーアップを開始し（ステップＳ３６５）、ミラー駆動ステップを１１に設定し（ステップＳ３６６）、ミラー駆動状態設定を行った後に（ステップＳ３６７）、リターンする。
【０１５０】
ミラー駆動ステップが１１である場合において（ステップＳ３６８）、ミラーアップを終了していない場合には（ステップＳ３６９）、ミラーアップを続行し（ステップＳ３７０）、リターンする。これに対して、ミラーアップを終了している場合には（ステップＳ３６９）、ミラー駆動ステップを２０に設定し（ステップＳ３７１）、ミラー駆動状態を設定した後（ステップＳ３７２）、リターンする。
【０１５１】
ミラー駆動ステップが３０である場合には（ステップＳ３７３）、駆動許可判断を行い（ステップＳ３７４）、ミラー駆動許可されている場合には（ステップＳ３７５）、ミラーダウンを開始し（ステップＳ３７６）、ミラー駆動ステップを３１に設定し、ミラー駆動状態を設定した後に（ステップＳ３７８）、リターンする。これに対して、ミラー駆動許可されていない場合は（ステップＳ３７５）、そのままリターンする。
【０１５２】
ミラー駆動ステップが３１である場合には（ステップＳ３７９）、ミラーダウン終了していない場合には（ステップＳ３８０）、ミラーダウン続行し（ステップＳ３８１）、リターンする。一方、ミラーダウン終了している場合には（ステップＳ３８０）、ミラー駆動ステップを０に設定し（ステップＳ３８２）、ミラー駆動状態を設定した後に（ステップＳ３８３）、リターンする。
【０１５３】
次に、図２４のフローチャートを参照して、サブルーチン「シャッタチャージ処理」のシーケンスを説明する。
【０１５４】
シャッタチャージステップが０である場合には（ステップＳ４００）、何ら処理をすることなくリターンする。
【０１５５】
シャッタチャージステップが１０である場合には（ステップＳ４０１）、駆動許可判断を行い（ステップＳ４０２）、シャッタチャージ許可されている場合には（ステップＳ４０３）、シャッタチャージを開始し（ステップＳ４０４）、シャッタチャージステップを１１に設定し（ステップＳ４０５）、シャッタチャージ状態設定を行い（ステップＳ４０６）、リターンする。尚、シャッタチャージ許可されていない場合には、そのままリターンする。
【０１５６】
シャッタチャージステップが１１である場合には（ステップＳ４０７）、シャッタチャージ終了であるか否かを判断し（ステップＳ４０８）、終了でない場合にはシャッタチャージを続行し（ステップＳ４０９）、リターンする。一方、シャッタチャージが終了している場合には（ステップＳ４０８）、シャッタチャージステップを０に設定し（ステップＳ４１０）、シャッタチャージ状態設定を行い（ステップＳ４１１）、リターンする。
【０１５７】
次に、図２５のフローチャートを参照して、図２０のステップＳ２９５で実行されるサブルーチン「シャッタ制御」のシーケンスを説明する。先ず、このサブルーチンのカメラボディ１０２の場合について説明する。
【０１５８】
このサブルーチンでは、先ず、前述した内容の駆動許可判断を行い（ステップＳ４２１）、この判断の結果、駆動が許可されると（ステップＳ４２２）、シャッタ先幕の駆動を開始し（ステップＳ４２３）、シャッタスピードタイマのカウントを開始する（ステップＳ４２４）。
【０１５９】
続いて、タイマのカウントが終了されると（ステップＳ４２６）、シャッタ後幕の駆動を開始し（ステップＳ４２７）、後幕走行タイマのカウントを開始し（ステップＳ４２８）、タイマのカウントが終了されると（ステップＳ４３０）、図２０のステップＳ２９６以降の処理にリターンする。カメラボディ１０１の場合は「シャッタ駆動」において前述の動作に加えてステップＳ４２４，Ｓ４２６の間で撮像開始指示動作（ステップＳ４２５）、ステップＳ４２８とステップＳ４３０の間で撮像終了指示動作（ステップＳ４２９）を行う。
【０１６０】
本実施の形態においては、上記のようにカメラボディの動作状態に関するデータと、レンズの動作状態に関するデータを有し、それに基づいて各動作の判断を行っているので、カメラボディの制御部の負担を軽減できる。また、レンズに操作部材を設け、レンズはレンズ内で、レンズ動作状態と、カメラ動作状態に基づいて、動作判断を行っているので、レンズ操作に関する制御に無駄がなく、短時間で動作開始できる。また通信を割り込み処理で行っているので、互いの状態を短時間で知る事ができる。また強制フラグデータを有しているので、システムの拡張性がある。また交換レンズは銀塩カメラボディやデジタルカメラボディのような機能的に異なるカメラボディに対応するデータを共にしているので、種々のカメラボディに対応可能である。
【０１６１】
レンズ側の駆動の際は、レンズの動作状態を優先的に参照して、駆動可能かどうかを判断しているので、レンズの機能的に不可能な動作を行う事がない。
【０１６２】
以上のように本実施の形態においては、カメラボディの制御の負担が少なく、レンズの制御に有する時間を短縮でき、システムの拡張性の高いレンズ交換システムを提供する事ができるという効果を有する。
【０１６３】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなく、その趣旨を逸脱しない範囲で種々の改良などが可能である。
【０１６４】
例えば、図３３に示されるように、ＥＥＰＲＯＭ等の書き換え可能な不揮発性メモリ５０をレンズ１００とボディ１０３とで共用し、状態データの送信の手間を省くように構成することもできる。
【０１６５】
また、本発明の実施の形態においては、レンズからボディへコマンド送信はできなかったが、レンズからボディへコマンドの送信を可能とし、レンズ側からカメラボディを制御可能としても良い。この場合には、レンズ側からの制御を行う事により、レンズ側操作部材を増やす事ができ、またシステムの拡張性が広がる利点がある。
【０１６６】
また、特別なコマンドを設けず、かわりに駆動指定でーたのようなものをカメラボディと、レンズに持ち、相互送信し、駆動指定データの受信を行った側は、駆動指定データの内容に従って、動作を開始するような構成としても良い。この場合、特別なコマンドを持つ必要はなく、少ないデータの送信で互いに制御可能となる。
【０１６７】
また、通信の際に双方向通信を行うようにすれば、各駆動状態データを短時間で更新できる。また、本実施の形態では、駆動の判断の際に、ストロボ充電に関する項目については触れていないが、ストロボ充電動作を行う場合や、ストロボ充電動作中の場合を考慮した制御としても良い。さらに、ここに記載されていないカメラやレンズの機能においても同様の考え方に沿って制御すれば良い。
【０１６８】
尚、本発明の上記実施の態様には以下の発明が含まれる。
【０１６９】
（１）交換レンズが着脱可能なカメラにおいて、
カメラボディ内の動作を行うためのカメラボディ動作手段と、
上記カメラボディ動作手段の動作状態から交換レンズ内の所定動作が行える状態か否かを判断する判断手段と、
を具備し、上記判断手段の判断結果に基づいて、上記交換レンズ内の所定動作を許可する動作許可信号あるいは禁止する動作禁止信号を上記交換レンズに対して送信することを特徴とするカメラ。
【０１７０】
この態様によれば、カメラからの動作許可信号又は動作禁止信号に基づいてレンズ側のＣＰＵが動作の可否を判断できる。
【０１７１】
（２）交換レンズが着脱可能なカメラにおいて、
当該カメラの所定動作を行うための動作手段と、
上記交換レンズの状態を記憶する第１の記憶手段と、
上記カメラの状態を記憶する第２の記憶手段と、
上記第１の記憶手段と上記第２の記憶手段とに記憶されている情報に基づいて、上記動作手段を動作させるか否かを判断する判断手段と、
を具備することを特徴とするカメラ。
【０１７２】
この態様によれば、レンズ側のＣＰＵが上記記憶情報を比較することで、当該レンズの動作の可否を判断することができる。
【０１７３】
（３）カメラボディと、当該カメラボディに着脱可能な交換レンズとを含むカメラシステムにおいて、
上記カメラボディ内あるいは交換レンズ内の所定動作を行うための動作手段と、
上記交換レンズの状態を記憶する第１の記憶手段と、
上記カメラボディの状態を記憶する第２の記憶手段と、
上記第１の記憶手段と上記第２の記憶手段とに記憶されている情報に基づいて、上記動作手段を動作させるか否かを判断する判断手段と、
を具備し、上記第１の記憶手段と上記第２の記憶手段とに記憶されている情報を双方向通信することを特徴とするカメラシステム。
【０１７４】
この態様によれば、上記記憶情報を双方向で通信しているので、動作速度の向上が図れる。
【０１７５】
（４）被写体像を電気信号に変換するための電子撮像素子を有するカメラボディに着脱可能な交換レンズにおいて、
上記交換レンズの焦点距離を変更するズーミング駆動手段を具備し、
上記ズーミング駆動手段の動作中には上記撮像素子による撮像動作を禁止する信号をカメラボディ側に送信することを特徴とする交換レンズ。
【０１７６】
この態様によれば、交換レンズ側のＣＰＵがより所定の信号をカメラボディ側のＣＰＵに送信するだけで、ズーミング中の撮像素子による不適切な動作を防止することができる。
【０１７７】
（５）被写体像を電気信号に変換するための電子撮像素子を有するカメラボディに着脱可能な交換レンズにおいて、
上記交換レンズの焦点調節を行うフォーカシング駆動手段を具備し、
上記フォーカシング駆動手段の動作中には上記撮像素子による撮像動作を禁止する信号をカメラボディ側に送信することを特徴とする交換レンズ。
【０１７８】
この態様によれば、交換レンズ側のＣＰＵよりカメラボディ側のＣＰＵに所定の信号を送信するだけで、フォーカシング中の撮像素子による不適切な動作を防止することができる。
【０１７９】
（６）被写体像を電気信号に変換するための電子撮像素子を有するカメラボディに着脱可能な交換レンズにおいて、
交換レンズの絞り調節を行う絞り駆動手段を具備し、
上記絞り駆動手段の動作中には上記撮像素子による撮像動作を禁止する信号をカメラボディ側に送信することを特徴とする交換レンズ。
【０１８０】
この態様によれば、交換レンズ側のＣＰＵよりカメラボディ側に所定の信号を送信するだけで、絞り駆動中の撮像素子による不適切な動作を防止することができる。
【０１８１】
（７）交換レンズが着脱可能なカメラにおいて、
被写体像を電気信号に変換するための電子撮像素子を有する撮像手段と、
上記交換レンズの駆動状態を記憶する記憶手段と、
上記記憶手段に記憶されているレンズの駆動状態が非駆動のときには、上記撮像手段による撮像動作が可能と判断する判断手段と、
を具備することを特徴とするカメラ。
【０１８２】
この態様によれば、レンズの駆動状態に応じた適切な撮像動作を実現する。
【０１８３】
（８）カメラボディに着脱可能な交換レンズにおいて、
上記交換レンズの焦点距離を変更するズーミング駆動手段と、
上記ズーミング駆動手段の動作を指示するズーミング動作指示手段と、
上記交換レンズの絞り調節を行う絞り駆動手段と、
上記絞り駆動手段の動作を指示する絞り動作指示手段と、
を具備し、
上記ズーミング駆動手段と上記絞り駆動手段のいずれか一方が動作しているときに、動作していない方の駆動手段の動作指示手段が指示された場合、上記ズーミング駆動手段の駆動と上記絞り駆動手段の駆動を同時に行うことを特徴とする交換レンズ。
【０１８４】
この態様によれば、ズーミング駆動手段の駆動と上記絞り駆動手段の駆動を同時に行うことで、処理の効率化を実現する。
【０１８５】
【発明の効果】
以上詳述したように、本発明によれば、その装着時において、交換レンズ自身の機能は交換レンズ側で判断処理し、カメラ本体の機能はカメラ本体側で判断処理することにより、カメラ本体のＣＰＵの処理負担を軽減し、処理の単純化を実現する交換レンズを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る交換レンズを電子撮像可能なカメラボディに装着した場合のシステム構成を示すブロック図である。
【図２】本発明の交換レンズを銀塩撮影可能なボディに装着した場合のシステム構成を示すブロック図である。
【図３】ズームレンズ１００側のレンズＣＰＵ１のメインシーケンスを示すフローチャートである。
【図４】図３の処理中に随時受け付ける「通信割り込み」のシーケンスを示すフローチャートである。
【図５】図３のステップＳ９で実行されるサブルーチン「ＳＷ−レンズ動作設定」のシーケンスを示すフローチャートである。
【図６】サブルーチン「パワーフォーカスＳＷ操作処理」のシーケンスを示すフローチャートである。
【図７】サブルーチン「プレビュー操作処理」のシーケンスを示すフローチャートである。
【図８】サブルーチン「絞り設定操作処理」のシーケンスを示すフローチャートである。
【図９】サブルーチン「ズームアップＳＷ操作処理」のシーケンスを示すフローチャートである。
【図１０】図４のステップＳ２５で実行されるサブルーチン「コマンド−レンズ動作設定」のシーケンスを示すフローチャートである。
【図１１】サブルーチン「レンズ動作処理」のシーケンス示すフローチャートである。
【図１２】サブルーチン「ＡＦ駆動処理」のシーケンスを示すフローチャートである。
【図１３】サブルーチン「絞り駆動処理」のシーケンスを示すフローチャートである。
【図１４】サブルーチン「ズーム駆動処理」のシーケンスを示すフローチャートである。
【図１５】先に示した図１２のステップＳ１３３，Ｓ１２９で実行されるサブルーチン「ＡＦ駆動許可判断」のシーケンスを示すフローチャートである。
【図１６】カメラボディ側のメインシーケンスを説明する。ここでは、カメラボディ１０１，１０２のボディＣＰＵ１６，４１の双方に共通するシーケンスを示すフローチャートである。
【図１７】サブルーチン「レンズ通信割り込み」のシーケンスを示すフローチャートである。
【図１８】図１６のステップＳ２４０にて実行されるサブルーチン「カメラ動作設定」のシーケンスを示すフローチャートである。
【図１９】図１６のステップＳ２４１にて実行される「カメラ動作処理」のシーケンスを示すフローチャートである。
【図２０】サブルーチン「レリーズ処理」をのシーケンスを示すフローチャートである。
【図２１】サブルーチン「シーケンス処理」のシーケンスを示すフローチャートである。
【図２２】サブルーチン「フィルムロード処理」のシーケンスを示すフローチャートである。
【図２３】サブルーチン「ミラー駆動処理」のシーケンスを示すフローチャートである。
【図２４】サブルーチン「シャッタチャージ処理」のシーケンスを示すフローチャートである。
【図２５】図２０のステップＳ２９５で実行されるサブルーチン「シャッタ制御」のシーケンスを示すフローチャートである。
【図２６】（ａ）はカメラボディ１０２の駆動判断表を示す図であり、（ｂ）はカメラボディ１０２装着時のレンズの駆動判断表を示す図である。
【図２７】（ａ）はカメラボディ１０１の駆動判断表を示す図であり、（ｂ）はカメラボディ１０１装着時のレンズの駆動判断表を示す図である。
【図２８】レンズ駆動状態データの構成を示す図である。
【図２９】カメラボディ１０２駆動状態データ１の構成を示す図である。
【図３０】カメラボディ１０２駆動状態データ２の構成を示す図である。
【図３１】レンズ強制フラグデータの構成を示す図である。
【図３２】カメラボディ１０２強制フラグデータの構成を示す図である。
【図３３】本発明の実施の形態の改良例の構成を示す図である。
【符号の説明】
１  レンズＣＰＵ
２  撮影レンズ
３  ＡＦエンコーダ
４  絞り
５  絞りエンコーダ
６  ズームレンズ
７  ズーム操作環
８  ズーム環エンコーダ
９  ＡＦ駆動回路
１０  絞り駆動回路
１１  ズーム駆動回路
１２  不揮発性メモリ
１３  操作部材検知回路
１４  レンズ電源
１５  通信コンタクト
１６  ボディＣＰＵ
１７  可動ミラー
１８  ミラー駆動回路
１９  セパレータ光学系
２０  ラインセンサ
２１  ラインセンサ駆動回路
２２  シャッタ
２３  シャッタ駆動回路
２４  ローパスフィルタ
２５  エリアセンサ
２６  エリアセンサ駆動回路
２７  焦点板
２８  ペンタプリズム
２９  測光センサ
３０  測光センサ駆動回路
３１  ファインダ接眼光学系
３２  ボディ電源
３３  ストロボ回路
３４  不揮発性メモリ
３５  不揮発性メモリ
３６  ＬＣＤ駆動回路
３７  スイッチ入力回路
３８  通信コンタクト
３９  揮発性メモリ
４０  信号処理回路
４１  ボディＣＰＵ
４２  磁気ヘッド
４３  磁気ヘッド駆動回路
４４  フィルム駆動回路
４５  ＩＸ２４０フィルム
４６  ファインダ内ＬＣＤ
４７  スイッチ入力回路
４８  外部ＬＣＤ
４９  ＬＣＤモニタ
【図１】
0004197782.tif 000002
【図２】
0004197782.tif 000003
【図３】
0004197782.tif 000004
【図４】
0004197782.tif 000005
【図５】
0004197782.tif 000006
【図６】
0004197782.tif 000007
【図７】
0004197782.tif 000008
【図８】
0004197782.tif 000009
【図９】
0004197782.tif 000010
【図１０】
0004197782.tif 000011
【図１１】
0004197782.tif 000012
【図１２】
0004197782.tif 000013
【図１３】
0004197782.tif 000014
【図１４】
0004197782.tif 000015
【図１５】
0004197782.tif 000016
【図１６】
0004197782.tif 000017
【図１７】
0004197782.tif 000018
【図１８】
0004197782.tif 000019
【図１９】
0004197782.tif 000020
【図２０】
0004197782.tif 000021
【図２１】
0004197782.tif 000022
【図２２】
0004197782.tif 000023
【図２３】
0004197782.tif 000024
【図２４】
0004197782.tif 000025
【図２５】
0004197782.tif 000026
【図２６】
0004197782.tif 000027
【図２７】
0004197782.tif 000028
【図２８】
0004197782.tif 000029
【図２９】
0004197782.tif 000030
【図３０】
0004197782.tif 000031
【図３１】
0004197782.tif 000032
【図３２】
0004197782.tif 000033
【図３３】
0004197782.tif 000034