(57)【特許請求の範囲】
【請求項１】
装着されたときにそれぞれが備えた通信端子群の接続を介して通信する機能を備えた撮影レンズとカメラボディとの間にリアコンバータが装着可能なレンズ交換式カメラにおいて、
前記撮影レンズは、リアコンバータ用ダミーデータを含むレンズ情報を記憶したレンズ記憶手段と、レンズ情報の読み出し制御および通信機能を有するレンズ制御手段を備え、
前記カメラボディは、前記レンズ制御手段と通信する通信機能を有するボディ制御手段を備え、
リアコンバータは、カメラボディと撮影レンズとが備えた、カメラボディ側で制御する第１の通信制御端子、撮影レンズ側で制御する第２の通信制御端子、および相互にデータ、コマンドを送受信するデータ入出力端子をそれぞれ接続する中継用端子群と、リアコンバータ情報が書き込まれたリアコン記憶手段と、リアコンバータ情報の読み出し制御機能を有するリアコン制御手段を備え、
前記リアコンバータ記憶手段には前記中継用端子群中、前記データ入出力端子を接続する中継用端子が接続され、前記リアコンバータ制御手段には前記中継用端子群中、前記第１の通信制御用端子およびデータ入出力端子を接続する各中継用端子が接続されていて、
前記ボディ制御手段および前記レンズ制御手段は、前記第１および第２の通信制御端子を介して通信の開始および終了を行なうハンドシェークを実行し、
前記レンズ制御手段は、前記ハンドシェーク終了後前記ボディ制御手段との通信において前記データ入出力端子を介してリアコンバータ用コマンドを入力したときに、前記リアコンバータ用ダミーデータを出力し、一方、前記リアコン制御手段は、前記データ入出力端子を介して前記リアコンバータ用コマンドを入力した後、前記レンズ制御手段のリアコンバータ用ダミーデータ出力に同期して前記データ入出力端子に接続された中継用端子にリアコンバータ情報を出力することを特徴とするレンズ交換式カメラの通信システム。
【請求項２】
装着されたときにそれぞれが備えた通信端子群の接続を介して通信する機能を備えた撮影レンズとカメラボディとの間に装着可能なリアコンバータであって、
リアコンバータ情報が書き込まれたリアコン記憶手段と、
リアコンバータ情報の読み出し制御機能を有するリアコン制御手段と、
カメラボディと撮影レンズとが備えた、カメラボディ側で制御する第１の通信制御端子、撮影レンズ側で制御する第２の通信制御端子、および相互にデータ、コマンドを送受信するデータ入出力端子をそれぞれ接続する中継用端子群とを備え、
前記リアコンバータ記憶手段には前記中継用端子群中、前記データ入出力端子を接続する中継用端子が接続され、前記リアコンバータ制御手段には前記中継用端子群中、前記第１の通信制御用端子およびデータ入出力端子を接続する各中継用端子が接続されていて、
前記リアコン記憶手段およびリアコン制御手段は、前記カメラボディと撮影レンズとが前記第１および第２の通信制御端子を介してハンドシェークを行なって通信動作を開始した後、前記カメラボディから前記データ入出力端子を介してリアコンバータ情報の出力要求がなされた場合に前記リアコンバータ情報を前記データ入出力端子に接続された中継用端子から前記カメラボディに送信する機能を備えたことを特徴とするリアコンバータ。
【請求項３】
前記撮影レンズおよびリアコン制御手段が前記カメラボディから前記データ入出力端子を介してリアコンバータ情報の出力要求を受けたときは、前記撮影レンズは所定バイトのダミーデータを出力する一方、前記リアコン制御手段はリアコン記憶手段から前記リアコンバータ情報を前記中継用端子からデータ入出力端子に出力する請求項２記載のリアコンバータ。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
本発明は、リアコンバータの装着が可能なレンズ交換式カメラの通信システムに関する。
【０００２】
【従来技術およびその問題点】
従来のレンズ交換式カメラは、撮影レンズとカメラボディとの間で所定の通信を実行して撮影レンズの基本的な情報をカメラボディが取得している。しかし、撮影レンズとカメラボディとの間にリアコンバータを装着すると、上記通信ができなくなるので、撮影レンズの機能を活用できなくなる。
リアコンバータに撮影レンズとカメラボディの通信用ラインを接続する中継ラインを設けたとしても、それだけではカメラボディはリアコンバータを認識できないので、撮影レンズから受信した情報のみでは正常な制御ができない。また、カメラボディにリアコンバータとの通信用の接点を設けると、カメラボディに新たな部材の装着が必要になり、通信の切り替えが必要になるなど、構成が複雑になってしまう。
【０００３】
【発明の目的】
本発明は、上記従来の問題に鑑みてなされたものであり、簡単な構成でリアコンバータの情報を利用できる、レンズ交換式カメラの通信システムを提供することを目的とする。
【０００４】
【発明の概要】
この目的を達成する本願発明は、装着されたときにそれぞれが備えた通信端子群の接続を介して通信する機能を備えた撮影レンズとカメラボディとの間にリアコンバータが装着可能なレンズ交換式カメラにおいて、前記撮影レンズは、リアコンバータ用ダミーデータを含むレンズ情報を記憶したレンズ記憶手段と、レンズ情報の読み出し制御および通信機能を有するレンズ制御手段を備え、前記カメラボディは、前記レンズ制御手段と通信する通信機能を有するボディ制御手段を備え、リアコンバータは、カメラボディと撮影レンズとが備えた、カメラボディ側で制御する第１の通信制御端子、撮影レンズ側で制御する第２の通信制御端子、および相互にデータ、コマンドを送受信するデータ入出力端子をそれぞれ接続する中継用端子群と、リアコンバータ情報が書き込まれたリアコン記憶手段と、リアコンバータ情報の読み出し制御機能を有するリアコン制御手段を備え、前記リアコンバータ記憶手段には前記中継用端子群中、前記データ入出力端子を接続する中継用端子が接続され、前記リアコンバータ制御手段には前記中継用端子群中、前記第１の通信制御用端子およびデータ入出力端子を接続する各中継用端子が接続されていて、前記ボディ制御手段および前記レンズ制御手段は、前記第１および第２の通信制御端子を介して通信の開始および終了を行なうハンドシェークを実行し、前記レンズ制御手段は、前記ハンドシェーク終了後前記ボディ制御手段との通信において前記データ入出力端子を介してリアコンバータ用コマンドを入力したときに、前記リアコンバータ用ダミーデータを出力し、一方、前記リアコン制御手段は、前記データ入出力端子を介して前記リアコンバータ用コマンドを入力した後、前記レンズ制御手段のリアコンバータ用ダミーデータ出力に同期して前記データ入出力端子に接続された中継用端子にリアコンバータ情報を出力することに特徴を有する。
またリアコンバータに関する本発明は、装着されたときにそれぞれが備えた通信端子群の接続を介して通信する機能を備えた撮影レンズとカメラボディとの間に装着可能なリアコンバータであって、リアコンバータ情報が書き込まれたリアコン記憶手段と、リアコンバータ情報の読み出し制御機能を有するリアコン制御手段と、カメラボディと撮影レンズとが備えた、カメラボディ側で制御する第１の通信制御端子、撮影レンズ側で制御する第２の通信制御端子、および相互にデータ、コマンドを送受信するデータ入出力端子をそれぞれ接続する中継用端子群とを備え、前記リアコンバータ記憶手段には前記中継用端子群中、前記データ入出力端子を接続する中継用端子が接続され、前記リアコンバータ制御手段には前記中継用端子群中、前記第１の通信制御用端子およびデータ入出力端子を接続する各中継用端子が接続されていて、前記リアコン記憶手段およびリアコン制御手段は、前記カメラボディと撮影レンズとが前記第１および第２の通信制御端子を介してハンドシェークを行なって通信動作を開始した後、前記カメラボディから前記データ入出力端子を介してリアコンバータ情報の出力要求がなされた場合に前記リアコンバータ情報を前記データ入出力端子に接続された中継用端子から前記カメラボディに送信する機能を備えたことに特徴を有する。
【０００５】
【発明の実施の形態】
以下図面に基づいて本発明を説明する。図１は、本発明を適用したレンズ交換式システム（一眼レフカメラ）のカメラボディの主要部および撮影レンズの主要部をブロックで示す図である。
この実施の形態において、カメラボディ１００は、カメラシステムの機能を制御するボディ制御手段としてのボディＣＰＵ１１１を備えている。カメラボディ１００は、撮影レンズを装着するためのマウント１０３を備え、このマウント１０３には、撮影レンズとの間で通信するための複数の独立した端子群からなる通信・制御端子群１０４を備えている。本実施の形態において通信端子１０４は６個の接続端子を備えている。その中の１個は、撮影レンズ等に搭載されたＲＯＭ等の低消費電力素子を動作させる第１の電源を供給する端子であり、他の１個は、レンズＲＯＭをイネーブル／ディスエーブル状態（オン／オフ）する機能を有する制御端子である。さらにマウント１０３の近傍には、カメラボディ１００に搭載された第２の電源を撮影レンズ等に供給する電源端子１０５（VPZ）を備えている。電源端子１０５（VPZ）から供給される第２の電源容量は、通信・制御端子１０４中の定電圧端子から供給される第１の電源容量よりも十分大きい。また、通常第１の電源電圧よりも第２の電源電圧の方が高いが、同一でも、逆に第２の電源電圧の方が低くてもよいが、電源容量は第２の電源の方が十分大きい。なお、これらの通信・制御端子群１０４、電源端子１０５は、マウント１０３の表面に設けるのが望ましいが、マウント１０３の内方（ミラーボックス内）に設けることも可能であり、また通信・制御端子群１０４はマウント１０３表面に、電源端子１０５はマウント１０３の内方（ミラーボックス内）に設けてもよい。
【０００６】
図２には、カメラボディ１００の主要回路構成をブロックで示してある。カメラボディおよび撮影レンズの機能動作全体を統括的に制御する制御手段としての機能を備えたボディＣＰＵ１１１には、スイッチ類として測光スイッチＳＷＳ、レリーズスイッチＳＷＲ、メインスイッチＳＷＭＡＩＮ、手ブレ補正スイッチＳＷ１、ＡＦスイッチＳＷＡＦが接続されている。
メインスイッチＳＷＭＡＩＮはカメラボディ１００の周辺回路への電源オン／オフを制御するスイッチであって、ボディＣＰＵ１１１はメインスイッチＳＷＭＡＩＮがＯＮしたらバッテリ１１３の電源をレギュレータ（ＤＣ／ＤＣコンバータ）１１６を介して各周辺回路に供給し、メインスイッチＳＷＭＡＩＮがＯＦＦしたらその電源供給を遮断する。なお、ボディＣＰＵ１１１自身は、バッテリ１１３からレギュレータ１１６を介して電源供給を受けて常時動作している。
測光スイッチＳＷＳおよびレリーズスイッチＳＷＲは、図示しないが周知の通り、カメラボディに備えられたレリーズボタンの半押しおよび全押しでＯＮする。測光スイッチＳＷＳがＯＮするとボディＣＰＵ１１１は測光回路１２９を作動させて測光し、適正シャッタ速度よび絞値を演算して設定するとともに必要に応じてストロボ回路１２１にストロボ充電処理を実行させ、さらにＡＦスイッチＳＷＡＦによりＡＦ（自動焦点調節）が設定されている場合は測距回路１３１を作動させてデフォーカス量を求め、焦点調節処理を実行する。レリーズスイッチＳＷＲがＯＮすると、ミラー回路１２３を作動させて不図示のミラーをアップさせ、シャッタ回路１２５を作動させて不図示のシャッタ機構を作動させて露出を実行する。露出が終了すると、巻上げ回路１２７を作動させてフィルムを１コマ巻き上げると共に、シャッタ機構のいわゆるチャージを行う。
【０００７】
また、ボディＣＰＵ１１１は、装着された撮影レンズが本発明を適用したＫＡＦIII撮影レンズ２００の場合、メインスイッチＳＷＭＡＩＮがＯＮしている間、スイッチ回路１１５をＯＮして、第２の電源としてバッテリ１１３の電力を電源端子１０５（VPZ）からＫＡＦIII撮影レンズ２００（電源端子２０５）に供給する。さらに手ブレ補正スイッチＳＷ１によって手ブレ補正が設定されていて、かつ装着されたＫＡＦIII撮影レンズ２００が手ブレ補正装置を備えている場合は、ＫＡＦIIIレンズ通信によって手ブレ補正コマンドをＫＡＦIII撮影レンズ２００に送信してＫＡＦIII撮影レンズ２００に手ブレ補正動作を実行させる。また、装着されたＫＡＦIII撮影レンズ２００がレンズ内ＡＦ装置を備えている場合は、デフォーカスに関するデータ（例えばレンズ内ＡＦモータを駆動する方向および量）をＫＡＦIIIレンズ通信によりＫＡＦIII撮影レンズ２００に通信してレンズ内ＡＦ処理を実行させる。
【０００８】
一方ＫＡＦIII撮影レンズ２００は、レンズマウント２０３を介してカメラボディ１００のマウント１０３に装着された際に、カメラボディ１００の通信端子群１０４および電源端子１０５（VPZ）にそれぞれ接続される通信端子群２０４および電源端子２０５（VPZ）を備えている。ＫＡＦIII撮影レンズ２００はさらに、撮影レンズの機能を制御するレンズ制御手段としてのレンズＣＰＵ（ＬＣＰＵ）２１１、撮影レンズの種々の機能、パラメータ等が格納されたレンズＲＯＭ（ＬＲＯＭ）２２１、現在の焦点距離（ズームコード）、撮影距離（距離コード）を検出するエンコーダ２３１、周辺回路２４１を備えている。周辺回路２４１には、手ブレ補正用モータ、レンズ内ＡＦ用モータ、パワーズーム用のレンズ内モータなどが含まれる。
【０００９】
カメラボディ１００から電源端子１０５（VPZ）、２０５を介して入力された第２の電源は、レギューレータ２４３を介してレンズＣＰＵ２１１に供給され、スイッチング回路２４２を介して周辺回路２４１に供給される。このＫＡＦIII撮影レンズ２００のレンズＲＯＭ２２１は、端子２０４ｄ（CONTL）から供給される定電圧電源で動作するが、レンズＣＰＵ２１１は、電源端子２０５から供給される高容量の第２の電源によって動作する。ＣＰＵの処理速度、処理能力と消費電力とは通常、比例関係にある。つまり本発明は、撮影レンズに第２の電源を供給することで、処理速度が速く、処理能力が高いＣＰＵを搭載できるだけでなく、レンズ内モータ、手ブレ補正装置など比較的消費電力が多い電子部品を搭載することも可能にする。
【００１０】
このＫＡＦIII撮影レンズ２００の通信に関する主要回路構成をさらに具体的なブロックで図３に示してある。制御・通信端子群２０４は、６個の接続端子２０４ａ（Fmin1/（反転）SCKL）、２０４ｂ（Fmin2/DATAL）、２０４ｃ（Fmin3/RESL）、２０４ｄ（CONTL）、２０４ｅ（Fmax1/（反転）FBL）、２０４ｆ（Fmax2/（反転）FLB）を備えている。この内、端子２０４ａ（Fmin1/（反転）SCKL）、２０４ｂ（Fmin2/DATAL）、２０４ｃ（Fmin3/RESL）、２０４ｄ（CONTL）はそれぞれ、レンズＲＯＭ２２１の対応するポートＲＥＳ、ＳＩＯ、（反転）ＳＣＫ、ＣＯＮＴに接続されている。
【００１１】
ポートＲＥＳは、レンズＲＯＭ２２１をリセット解除し、イネーブル状態にするための入力ポート、
ポートＳＩＯはシリアル通信用の入出力ポート、
ポート（反転）ＳＣＫはカメラボディから通信用クロックを入力する入力ポート、
ポートＣＯＮＴはカメラボディから定電圧電源（第１の電源）を入力する入力ポートである。
レンズＲＯＭ２２１は、カメラボディから供給され、このポートＣＯＮＴに印加される第１の電源（定電圧）によって動作し、ポートＲＥＳから入力されるリセット信号によってリセット解除してイネーブル状態となり、ポート（反転）ＳＣＫに入力されるクロックに同期して、書き込まれているレンズデータを読み出してポートＳＩＯから出力する。ここで、ポートＣＯＮＴおよびこのポートＣＯＮＴに接続されている端子２０４ｃ（Fmin3/RESL）は、レンズＲＯＭ２２１をイネーブル／ディスエーブル状態に切替える制御ラインとしても機能する。つまり、レンズＲＯＭ２２１は端子２０４ｄ（CONTL）に第１の電源が供給されているときに作動し、端子２０４ｃ（Fmin3/RESL）がローレベルに落ちるとリセット解除するとともにイネーブル状態となり、端子２０４ｃ（Fmin3/RESL）がハイレベルに立ち上がるとリセット動作すると共にディスエーブル状態になる。このタイミングチャートを、図２０に示してある。
【００１２】
端子２０４ａ（Fmin1/（反転）SCKL）は、高耐圧入力のシュミット・インバータＶＣＣ２および直列接続されたインバータＶＣＣ３を介してレンズＣＰＵ２１１のポート（反転）ＳＣＫにも接続され、端子２０４ｂ（Fmin2/DATAL）は、高耐圧入力のシュミット・インバータＶＣＣ１を介してレンズＣＰＵ２１１のポートＲＸＤと、I/0保護回路２１２を介してレンズＣＰＵ２１１の２個のポートＴＸＤ、ＴＸＤＥＮに接続されている。
ここで、レンズＣＰＵ２１１のポートＲＸＤはデータを入力する入力ポート、
ポートＴＸＤはデータを出力するデータ出力ポート、
ポートＴＸＤＥＮはポートＴＸＤからデータ出力の可否を設定する制御ポート、
ポート（反転）ＳＣＫはカメラボディから通信用クロックを入力するクロック入力ポートである。
【００１３】
制御ポートＴＸＤＥＮがハイレベルとのときに、データ出力ポートＴＸＤがハイレベルになるとI/0保護回路２１２の電界効果トランジスタがオフし、トランジスタがオンしてI/0保護回路２１２の端子２０４ｂ（Fmin2/DATAL）側ポートがハイレベルになる。データ出力ポートＴＸＤがローレベルになるとI/0保護回路２１２の電界効果トランジスタがオンし、トランジスタがオフしてI/0保護回路２１２の端子２０４ｂ（Fmin2/DATAL）側ポートがローレベルになる。つまり、制御ポートＴＸＤＥＮがハイレベルとのときには、データ出力ポートＴＸＤのレベルがI/0保護回路２１２から端子２０４ｂ（Fmin2/DATAL）に出力される。
制御ポートＴＸＤＥＮがローレベルのときは、I/0保護回路２１２の電界効果トランジスタおよびトランジスタがオフしているので、I/0保護回路２１２の端子２０４ｂ（Fmin2/DATAL）側ポートはデータ出力ポートＴＸＤのレベルにかかわらずハイインピーダンス状態になる。
【００１４】
端子２０４ｆ（Fmax2/（反転）FLB）は、I/0保護回路２１３を介して、レンズＣＰＵ２１１のポートＰ００、Ｐ０１に接続され、端子２０４ｅ（Fmax1/（反転）FBL）は高耐圧入力のシュミット・インバータＶＣＣ４を介してレンズＣＰＵ２１１のポートＩＮＴに接続されている。
ポートＰ００は出力ポートであり、ポートＰ０１はポートＰ００の出力可否を設定する制御ポートである。またポートＩＮＴは、割り込み信号等が入力されるポートである。
制御ポートＰ０１がハイレベルのときに、出力ポートＰ００がハイレベルになるとI/0保護回路２１３の電界効果トランジスタがオフし、トランジスタがオンしてI/0保護回路２１３の端子２０４ｆ（Fmax2/（反転）FLB）側ポートがハイレベルになり、出力ポートＰ００がローレベルになるとI/0保護回路２１３の電界効果トランジスタがオンし、トランジスタがオフしてI/0保護回路２１３の端子２０４ｆ（Fmax2/（反転）FLB）側出力がローレベルになる。つまり、出力ポートＰ００のレベルがI/0保護回路２１３から端子２０４ｆ（Fmax2/（反転）FLB）に出力される。
出力制御ポートＰ０１がローレベルのときは、I/0保護回路２１３の電界効果トランジスタおよびトランジスタがオフしているので、I/0保護回路２１３の端子２０４ｆ（Fmax2/（反転）FLB）側出力は出力ポートＰ００のレベルにかかわらずハイインピーダンス状態になる。
【００１５】
電源端子２０５（ＶPZ）は、レギュレータ２４３を介してレンズＣＰＵ２１１の電源ポートＶＣＣに接続されている。レンズＣＰＵ２１１は、レギュレータ２４３から電源ポートＶＣＣに供給される定電圧によって動作する。
【００１６】
レンズＲＯＭ２２１とのレンズＲＯＭ通信と、レンズＣＰＵ２１１とのＫＡＦIIIレンズ通信との通信ラインの切替えは、端子２０４ｃ（Fmin3/RESL）のＲＥＳＬ端子信号による。ＲＥＳＬ端子がハイになると、レンズＲＯＭ２２１がディスエーブル状態となってレンズＲＯＭ２２１のＳＩＯ端子がハイインピーダンス状態になり、レンズＣＰＵ２１１とＫＡＦIIIレンズ通信が可能になる。
【００１７】
なお、端子２０４ａ（Fmin1/（反転）SCKL）、２０４ｂ（Fmin2/DATAL）、２０４ｃ（Fmin3/RESL）、端子２０４ｅ（Fmax1/（反転）FBL）、２０４ｆ（Fmax2/（反転）FLB）は、カメラ−レンズ間通信をレンズＲＯＭを用いたシリアル通信では行なわない、従来のレンズ交換式カメラシステムとの互換性を維持できる端子である。例えば、最小Ｆナンバー、最大Ｆナンバーを取得できるカメラボディとの互換性を維持するために、端子２０４ａ（Fmin1/（反転）SCKL）、２０４ｂ（Fmin2/DATAL）、２０４ｃ（Fmin3/RESL）から最小Ｆナンバー（開放Ｆナンバー）データおよび端子２０４ｅ（Fmax1/（反転）FBL）、２０４ｆ（Fmax2/（反転）FLB）から最大Ｆナンバー（最小絞りＦナンバー）データを入力する絞り情報端子としても機能させるためのダイオードが選択的に設けられ、ダイオードによる各端子の導通状態で最大Ｆナンバーと最小Ｆナンバーとが認識できるように構成されている。
【００１８】
図４には、端子２０４ｄ（CONTL）から供給される第１の電源で動作するＣＰＵ２１１ａと、電源端子１０５（VPZ）、２０５から供給される第２の電源で動作する周辺回路２４１ａを備えた撮影レンズ２００ａの主要回路ブロックを示してある。この撮影レンズ２００ａは、電源端子１０５（VPZ）、２０５から供給された電源を、スイッチ回路２４２を介して周辺回路２４１ａに供給する。
図５には、端子２０４ｄ（CONTL）から供給される第１の電源で動作するレンズＣＰＵ２１１ｂおよび周辺回路２４１ｂを搭載した撮影レンズの主要回路の実施例をブロックで示してある。この実施例は、電源端子２０５、レギュレータ２５１を備えておらず、レンズＣＰＵ２１１ｂおよび周辺回路２４１ｂは、端子２０４ｄ（CONTL）電圧によって動作する。
これら図４、図５に示した撮影レンズの場合、カメラボディ１００は、図４に示した撮影レンズに対しては端子１０４ｄ、２０４ｄ（CONTL）および電源端子１０５（VPZ）、２０５に第１の電源および第２の電源を供給し、図５に示した撮影レンズに対しては端子１０４ｄ、２０４ｄ（CONTL）に第１の電源のみを供給する。
【００１９】
次に、カメラボディ１００およびＫＡＦIII撮影レンズ２００の動作について、図６から図１１に示したフローチャート、および図１８から図２１に示したタイミングチャートを参照して説明する。図６は、ボディＣＰＵ１１１によって処理されるカメラボディ１００のメイン動作に関するフローチャートであって、カメラボディに電池が装填されたときに入る。このカメラボディは、本願発明のＫＡＦIII撮影レンズ２００との間では旧通信（レンズＲＯＭ通信）および新通信（ＫＡＦIII通信）処理を実行し、ＫＡＦIII撮影レンズ２００または同様の通信機能を備えないレンズＲＯＭのみを搭載した他の撮影レンズとの間では旧通信処理だけを実行する。なお、カメラボディ１００の制御・動作に関するフローチャートのステップは「ＣＳ」と略し、ＫＡＦIII撮影レンズ２００の制御・動作に関するフローチャートのステップは「ＬＳ」と略する。
【００２０】
また、この実施形態の説明における主要コマンドの内容は、下記の通りである。なお、全て、カメラボディ側から撮影レンズ側に送信されるコマンドである。レンズからボディにデータ送信させるために、ボディからレンズに送信するコマンド
７０：レンズにレンズの状態を送信させる
７１：レンズにレンズの状態を送信させるとともに、
レンズＣＰＵをスリープさせる（ボディＣＰＵもスリープ）
７２：ブレ補正、レンズ内ＡＦなど、レンズの機能を送信させる
７Ｆ：リアコンバータ用のコマンド
ボディからレンズにデータ送信するコマンド（コマンドのみ）
Ｂ０：ボディデータを送信（レンズは受信）
Ｂ１：ボディデータを送信するとともにレンズＣＰＵをスリープさせる
Ｂ２：レンズ内ＡＦレンズ駆動量データを送信する
ボディからレンズに送信するインストラクションコマンド
Ｄ０：レンズスリープ
Ｄ１：手ブレ補正機能ＯＦＦ
Ｄ２：手ブレ補正機能ＯＮ
Ｄ３：レンズ内ＡＦモータ駆動を停止
Ｄ４：レンズ内ＡＦモータ駆動を再開
【００２１】
このメイン処理に入ると、先ずメインスイッチＳＷＭＡＩＮがＯＮされているかどうかをチェックし（ＣＳ１０１）、ＯＮされていなければチェック処理を繰り返す（ＣＳ１０１；Ｎ、ＣＳ１０１）。メインスイッチＳＷＭＡＩＮがＯＮされると（ＣＳ１０１；Ｙ）、通信確認処理、つまり旧通信処理（ＣＳ１０３）および新通信（ＫＡＦIII通信）セット要求処理（ＣＳ１０５）を実行する。そして撮影レンズから、７２コマンド送信・データ受信処理を実行する（ＣＳ１０７）。７２コマンドは、撮影レンズが備えた機能、例えば、電源端子ＶＰＺから電源供給を受けて動作する機能、ブレ補正機能、レンズ内ＡＦ機能などのデータをレンズＣＰＵに出力させるコマンドである。本実施例でこのデータは１バイトであり、第６番ビットがレンズ内ＡＦの有無、第４番ビットがぶれ補正機能の有無と定義している。
７２コマンドを受信したレンズＣＰＵ２１１は、ＫＡＦIII撮影レンズ２００の機能に関するデータをボディＣＰＵ１１１に出力する。図１８には、メインスイッチＳＷＭＡＩＮがＯＮしてから旧通信処理およびＫＡＦIII通信処理開始直後までのタイミングチャートを、図１９にはＫＡＦIII通信処理開始時のハンドシェークに関するタイミングチャートを、図２０には、旧通信におけるタイミングチャートを、図２１にはＫＡＦIII通信処理に関するタイミングチャートをそれぞれ示してある。
そしてボディＣＰＵ１１１は、レンズＣＰＵ２１１がスリープ状態かどうかを示すレンズスリープフラグＳＬＰに“０”をセットする（ＣＳ１０９）。以上のＣＳ１０３からＣＳ１０９の処理は、メインスイッチＳＷＭＡＩＮがオフからオンしたときに実行し、その後はＣＳ１１１以降の処理を繰り返す。
【００２２】
ＣＳ１１１のステップでは、すべてのスイッチポートの状態（スイッチのON/OFF状態）を入力する。そして、各スイッチのON/OFF状態に応じた設定を実行する（ＣＳ１１３）。次に旧通信処理を実行して、撮影レンズが装着されているかどうかをチェックする（ＣＳ１１５）。撮影レンズが装着されていなければ（ＣＳ１１７；Ｙ）、端子１０４ｄ（CONTL）および電源端子１０５（VPZ）をローレベルに落としてＣＳ１０１に戻る。撮影レンズが装着されていれば（ＣＳ１１７；Ｎ）、フラグＫＡＦIIIに“１”がセットされているか否か（ＫＡＦIII撮影レンズ２００が装着されているか否か）をチェックし（ＣＳ１２１）、フラグＫＡＦIIIに“１”がセットされていればパワーホールドフラグＰＨに“０”がセットされているかどうか（ＣＳ１２３）、つまりパワーホールド中でないかをチェックする。パワーホールドフラグＰＨに“０”がセットされていれば、撮影レンズがスリープ状態であるか否かを識別するレンズスリープフラグＳＬＰに“１”がセットされているかどうかをチェックし（Ｓ１２３；Ｙ、ＣＳ１２５）、レンズスリープフラグＳＬＰに“１”がセットされていればＫＡＦIII撮影レンズ２００はすでにスリープ状態なので、ＣＳ１１１に戻る（ＣＳ１２５；Ｙ、ＣＳ１１１）。レンズスリープフラグＳＬＰに“１”がセットされていなければ、Ｂ１コマンドをレンズＣＰＵ２１１に送信してレンズＣＰＵ２１１をスリープさせ（ＣＳ１２５；Ｎ、ＣＳ１２７）、レンズスリープフラグＳＬＰに“１”をセットしてからＣＳ１１１に戻る（Ｓ１２９）。
【００２３】
パワーホールドフラグＰＨに“０”がセットされていなければ（ＣＳ１２３；Ｎ）、Ｂ０コマンドをレンズＣＰＵ２１１に送信してレンズＣＰＵ２１１を起動させ（ＣＳ１３１）、レンズスリープフラグＳＬＰに、レンズＣＰＵ２１１はスリープしていないことを識別する“０”をセットする（ＣＳ１３３）。
次に、ＣＳ１１５の旧通信処理の結果に基づきリアコンバータが装着されているか否かを判別し（ＣＳ１３４ａ）、リアコンが装着されている場合は、リアコンバータへのデータ送信を要求する７Ｆコマンドを送信して次のステップに進み（ＣＳ１３４ａ；Ｙ、ＣＳ１３４ｂ、ＣＳ１３５）、リアコンバータが装着されていない場合はそのまま次のステップに進む（ＣＳ１３４ａ；Ｎ、ＣＳ１３５）。
そして、手ブレ補正レンズであるか否かを示す手ブレ補正レンズフラグに“１”がセットされているかどうかをチェックし（ＣＳ１３５）、“１”がセットされていれば手ブレ補正関係のフラグおよびデータをセットしてＣＳ１３９に進み（ＣＳ１３５；Ｙ、ＣＳ１３７、ＣＳ１３９）、“１”がセットされていなければＣＳ１３７をスキップしてＣＳ１３９に進む（ＣＳ１３５；Ｎ、ＣＳ１３９）。また、フラグＫＡＦIIIに“１”がセットされていない場合もＣＳ１２３からＣＳ１３７のステップをスキップしてＣＳ１３９に進む（ＣＳ１２１；Ｎ、ＣＳ１３９）。
【００２４】
ＣＳ１３９では、メインスイッチＳＷＭＡＩＮがＯＮからオフしたことを識別するフラグＳＷＭＡＩＮに“１”がセットされているかどうかをチェックし、“１”がセットされていなければ測光スイッチＳＷＳがＯＮしているかどうかをチェックし（ＣＳ１３９；Ｎ、ＣＳ１４１）、ＯＮしていなければＣＳ１１１に戻り（ＣＳ１４１；Ｎ、ＣＳ１１１）、ＯＮしていればＣＳ１５１にすすむ。フラグＳＷＭＡＩＮに“１”がセットされていれば、フラグＫＡＦIIIに“１”がセットされているかどうかをチェックし（ＣＳ１３９；Ｙ、ＣＳ１４３）、フラグＫＡＦIIIに“１”がセットされていなければＣＳ１０１に戻る（ＣＳ１４３；Ｎ、ＣＳ１０１）。フラグＫＡＦIIIに“１”がセットされていればＫＡＦIII撮影レンズ２００が装着されているので、電源端子１０５（VPZ）からの電源供給を受けて動作する撮影レンズであるか否かを示す第２の電源フラグVpzONCPUに“１”がセットされているかどうかをチェックし（ＣＳ１４３；Ｙ、ＣＳ１４５）、フラグVpzONCPUに“１”がセットされていれば電源端子１０５（VPZ）から供給する電源で動作する撮影レンズ（ＫＡＦIII撮影レンズ２００）が装着されているのでポートＶｐｚをオフ（電源端子１０５（VPZ）への電源供給をオフ）してＣＳ１０１に戻る（ＣＳ１４５；Ｙ、ＣＳ１４７、ＣＳ１０１）。フラグVpzONCPUに“１”がセットされていなければ電源端子１０５（VPZ）からの電源で動作しない撮影レンズが装着されているのでそのままＣＳ１０１に戻る（ＣＳ１４５；Ｎ、ＣＳ１０１）。
【００２５】
次に、測光スイッチＳＷＳがＯＮしたときの処理を、図７に示したフローチャートを参照して説明する。この処理には、ＣＳ１４１のチェックにおいて測光スイッチＳＷＳがＯＮしていたときに入る。
測光スイッチＳＷＳがＯＮすると（ＣＳ１４１；Ｙ）、測光モードおよび露出モードに基づいて測光センサから測光データを入力して露出演算を実行し、ＡＦモードに基づいてＡＦセンサからセンサデータを入力し、センサデータに基づいて合焦に必要な所定のＡＦ演算を実行する（ＣＳ１５３）。
【００２６】
次に、フラグＫＡＦIIIに“１”がセットされているかどうかをチェックし（ＣＳ１５５）、フラグＫＡＦIIIに“１”がセットされていればレンズ内ＡＦであるか否かを識別するレンズ内ＡＦフラグに“１”がセットされているかどうかをチェックする（ＣＳ１５５；Ｙ、ＣＳ１５７）。レンズ内ＡＦフラグに“１”がセットされていればＡＦ機能がＯＮしているか否かを識別するフラグＡＦｏｎに“１”がセットされているかどうかをチェックし（ＣＳ１５７；Ｙ、ＣＳ１５９）、フラグＡＦｏｎに“１”がセットされていれば、ＡＦレンズの駆動量データをレンズＣＰＵ２１１に送信してＣＳ１６３に進む（ＣＳ１５９；Ｙ、ＣＳ１６１、ＣＳ１６３）。フラグＫＡＦIII、レンズ内ＡＦフラグ、フラグＡＦｏｎのいずれかのフラグに“１”がセットされていなければ、ＣＳ１６１のレンズ駆動データ送信処理をスキップしてＣＳ１６３に進む。
【００２７】
次に、合焦しているか否かをチェックし、合焦していなければＣＳ１１１に戻る（ＣＳ１６３；Ｎ、ＣＳ１１１）。つまり、この実施の形態は合焦優先レリーズである。もちろんレリーズ優先でもよいが、レリーズ優先の場合は、このＣＳ１６３の処理を省略する。合焦している場合はレリーズスイッチＳＷＲがＯＮしているかどうかをチェックし（ＣＳ１６３；Ｙ、ＣＳ１６５）、ＯＮしていなければＣＳ１１１に戻る（ＣＳ１６５；Ｎ、ＣＳ１１１）。
【００２８】
レリーズスイッチＳＷＲがＯＮしていればフラグＫＡＦIIIに“１”がセットされているかどうかをチェックし（ＣＳ１６５；Ｙ、ＣＳ１６７）、フラグＫＡＦIIIに“１”がセットされていればレリーズ段階を識別するレリーズステートＲＬＳにレリーズスイッチＳＷＲがＯＮした段階であることを識別する１をセットしてレンズＣＰＵ２１１に送信してＣＳ１７１に進み（ＣＳ１６７；Ｙ、ＣＳ１６９）、フラグＫＡＦIIIに“１”がセットされていなければ送信せずにＣＳ１７１に進む（ＣＳ１６７；Ｎ、ＣＳ１７１）。
【００２９】
ＣＳ１７１ではミラー回路１２３を作動させてミラーモータを駆動してミラーをアップさせる。そしてフラグＫＡＦIIIに“１”がセットされているかどうかをチェックし（ＣＳ１７３）、フラグＫＡＦIIIに“１”がセットされていればレリーズステートＲＬＳに、ミラーアップ完了した段階であることを識別する「２」をセットしてレンズＣＰＵ２１１に送信してＣＳ１７７に進み（ＣＳ１７３；Ｙ、ＣＳ１７５、ＣＳ１７７）、フラグＫＡＦIIIに“１”がセットされていなければ送信せずにＣＳ１７７に進む（ＣＳ１７３；Ｎ、ＣＳ１７７）。
【００３０】
ＣＳ１７７ではシャッタ回路１２５を作動させ、シャッタを駆動して露出処理を実行する。露出処理が終了するとフラグＫＡＦIIIに“１”がセットされているかどうかをチェックし（ＣＳ１７９）、フラグＫＡＦIIIに“１”がセットされていればレリーズステートＲＬＳに露光が終了した段階であることを識別する“３”をセットしてレンズＣＰＵ２１１に送信し、ＣＳ１８３に進む（ＣＳ１７９；Ｙ、ＣＳ１８１、ＣＳ１８３）。フラグＫＡＦIIIに“１”がセットされていなければ送信せずにＣＳ１８３に進む（ＣＳ１７９；Ｎ、ＣＳ１８３）。
【００３１】
ＣＳ１８３では、巻上げ回路１２７を作動させてフィルムモータ（メカチャージモータ）を駆動してフィルム１コマ巻上げおよびシャッタチャージ処理を実行する。そしてフラグＫＡＦIIIに“１”がセットされているかどうかをチェックし（ＣＳ１８５）、フラグＫＡＦIIIに“１”がセットされていればレリーズステートＲＬＳにフィルム巻上げが完了した段階、すなわちレリーズ可能な段階であることを識別する０をセットしてレンズＣＰＵ２１１に送信してＣＳ１１１に戻り（ＣＳ１８５；Ｙ、ＣＳ１８７、ＣＳ１１１）、フラグＫＡＦIIIに“１”がセットされていなければ送信せずにＣＳ１１１に戻る（ＣＳ１８５；Ｎ、ＣＳ１１１）。
【００３２】
以上の通りレリーズ処理において、カメラボディ１００にＫＡＦIII撮影レンズ２００が装着されている場合は、レリーズの各段階の処理が終了する毎にレリーズの段階を示すレリーズステートＲＬＳをレンズＣＰＵ２１１に送信する。これにより、ＫＡＦIII撮影レンズ２００側では、レンズＣＰＵ２１１が、カメラボディ１００の動作状態、段階に応じた処理を実行できる。
【００３３】
次に、この実施の形態のカメラボディ１００とＫＡＦIII撮影レンズ２００との間で通信処理として最初に実行される旧（レンズＲＯＭ）通信処理（ＣＳ１０３）、その後に実行されるＫＡＦIII通信セット要求の通信処理（ＣＳ１０５）を通信確認処理とし、図８（Ａ）に示したカメラボディ１００の動作・制御に関するフローチャートおよび図８（Ｂ）に示したＫＡＦIII撮影レンズ２００の動作・制御に関するフローチャートを参照して説明する。
【００３４】
この通信確認処理は、カメラボディ１００の電源がオンされたときに入り、カメラボディ１００とＫＡＦIII撮影レンズ２００の種別、通信プロトコルを確認する通信確認処理である。電源がオンされると、旧通信処理により、レンズＲＯＭ搭載の撮影レンズが装着されているかどうかをチェックし、レンズＲＯＭ搭載の撮影レンズが装着されている場合はレンズＲＯＭ搭載の撮影レンズに対応する通信プロトコルによって旧（レンズＲＯＭ）通信を実行する（ＣＳ２０１）。レンズＲＯＭ通信では、レンズＲＯＭ２２１から所定のレンズデータを読み込む。このレンズデータには、撮影レンズの種別に関するデータが含まれる。
レンズＲＯＭ通信処理が終了すると、新撮影レンズ（ＫＡＦIII撮影レンズ２００）が装着されているかどうかをレンズＲＯＭ通信処理の結果から判断し、新撮影レンズが装着されていない場合は通信確認処理を終了し、以降は、レンズ通信処理において、レンズＣＰＵ２１１を介さない旧通信処理を実行する（ＣＳ２０３；Ｎ）。
【００３５】
新撮影レンズが装着されているときは（ＣＳ２０３；Ｙ）、電源端子１０５（VPZ）からの電源供給を受けて動作する撮影レンズ（ＶｐｚＯＮレンズ）かどうかをチェックし（ＣＳ２０５）、ＶｐｚＯＮレンズであるときは電源端子１０５（VPZ）をＯＮ、つまり電源端子１０５（VPZ）に電源供給する（ＣＳ２０５；Ｙ、ＣＳ２０７）。装着された撮影レンズが電源端子２０５を備えていないときは電源端子１０５（VPZ）に電源供給をしない（Ｓ２０５；Ｎ）。次に、端子１０４ｅ（Fmax1/（反転）FBL）のレベルをローレベル（“Ｌｏ”または“Ｌ”レベル）に落とし（ＣＳ２０９）、端子１０４ｆ（Fmax2/（反転）FLB）のレベルがローレベルに落ちるを待つ（ＣＳ２１１）。端子１０４ｆ（Fmax2/（反転）FLB）がローレベルに落ちると（ＣＳ２１１；Ｙ）、端子１０４ｅ（Fmax1/（反転）FBL）をハイレベルに立ち上げて（ＣＳ２１３）、端子１０４ｆ（Fmax2/（反転）FLB）がハイレベルに立ち上がるのを待つ（ＣＳ２１５）。端子１０４ｆ（Fmax2/（反転）FLB）がハイレベルに立ち上がると（ＣＳ２１５）、ＫＡＦIII撮影レンズ２００が正常動作しているので通信確認処理を抜け、以後ボディＣＰＵ１１１は、ＫＡＦIII撮影レンズ２００との間では、レンズＣＰＵ２１１と新通信（ＫＡＦIII通信）を実行する。
【００３６】
一方、カメラボディが処理ＣＳ２０７からＣＳ２１５を実行する間に、ＫＡＦIII撮影レンズ２００は図８（Ｂ）に示したフローチャートに基づいた処理を実行する。まず、カメラボディのＣＳ２０７の処理によって電源端子１０５（VPZ）に電源が供給されると、電源端子２０５を介してＫＡＦIII撮影レンズ２００に電源が供給される。すると、レギュレータ２４３がレンズＣＰＵ２１１に定電圧Ｖｃｃを供給するので、レンズＣＰＵ２１１が起動して内部ＲＡＭを初期化し（ＬＳ２０１）、端子２０４ｅ（Fmax1/（反転）FBL）がローレベルに落ちるのを待つ（ＬＳ２０３）。ボディＣＰＵ１１１のＣＳ２０９の処理によって端子１０４ｅ（Fmax1/（反転）FBL）がローレベルに落ちたことを端子２０４ｅ（Fmax1/（反転）FBL）、ＩＮＴ端子を介して検知すると（ＬＳ２０３；Ｙ）、ポートＰ００を介して端子２０４ｆ（Fmax2/（反転）FLB）のレベルをローレベルに落とす（ＬＳ２０５）。そして端子２０４ｅ（Fmax1/（反転）FBL）がハイレベルに立ち上がるのを待ち（ＬＳ２０７）、端子２０４ｅ（Fmax1/（反転）FBL）がハイレベルに立ち上がると、端子２０４ｆ（Fmax2/（反転）FLB）をハイレベルに立ち上げて、この通信処理を抜ける。以後、レンズＣＰＵ２１１は、カメラボディ１００（ボディＣＰＵ１１１）との間で、新通信（ＫＡＦIII通信）を実行する。
【００３７】
図１８には、このカメラボディ１００とＫＡＦIII撮影レンズ２００との間で実行されるレンズ通信確認処理のタイミングチャートを示してある。このレンズ通信確認処理では、端子１０４ｅ（Fmax1/（反転）FBL）、２０４ｅ（Fmax1/（反転）FBL）と、端子１０４ｆ（Fmax2/（反転）FLB）、２０４ｆ（Fmax2/（反転）FLB）とをハンドシェークコネクタ、ラインとして使用する（図１９（Ａ）、（Ｂ）参照）。カメラボディ１００のメインスイッチＳＷＭＡＩＮがＯＮすると、ボディＣＰＵ１１１は、端子２０４ｄ（CONTL）をハイベルに立ち上げて、旧通信を実行する。
【００３８】
旧通信（レンズＲＯＭ通信）
カメラボディ１００とＫＡＦIII撮影レンズ２００との間の旧通信、つまりボディＣＰＵ１１１とレンズＲＯＭ２２１との間の通信に関するタイミングチャートを図２０に示した。このレンズＲＯＭ通信は、レンズＲＯＭ２２１に書き込まれている所定のレンズデータを読み込む処理である。レンズＲＯＭ通信開始前におけるボディＣＰＵ１１１のポートは、端子１０４ｄ（Fmin1/（反転）SCKL）はローレベル、端子１０４ｃ（Fmin3/RESL）、端子１０４ａ（Fmin1/（反転）SCKL）はハイレベル、端子１０４ｂ（Fmin2/DATAL）はハイインピーダンス（フローティング）である。
【００３９】
ボディＣＰＵ１１１は、レンズＲＯＭ通信を開始する時に、端子１０４ｄ（CONTL）、２０４ｄをハイレベルに立ち上げて、レンズＲＯＭ２２１を起動させる。そして所定時間（動作安定に要する時間）待ってから、端子１０４ｃ（Fmin3/RESL）をローレベルに落としてレンズＲＯＭ２２１をリセット解除する。その後ボディＣＰＵ１１１は、端子１０４ａ（Fmin1/（反転）SCKL）からクロックを出力すると、レンズＲＯＭ２２１はこのクロックに同期して所定のデータを内部ＲＯＭから読み出して端子２０４ｂ（Fmin2/DATAL）に出力するので、ボディＣＰＵ１１１は端子１０４ｂ（Fmin2/DATAL）を介してそのデータを入力する。
ボディＣＰＵ１１１は、予め設定されたバイト数のレンズデータを入力すると、端子１０４ｃ（Fmin3/RESL）をハイレベルに立ち上げる。本実施の形態では、最後の数バイトは予備バイトが設定されており、例えばリアコンバータが装着された場合、リアコンバータのＲＯＭからのデータをこの予備バイトに乗せることを可能にしてある。すなわち、リアコンバータのＲＯＭ３２１においては、レンズＲＯＭ２２１がレンズ用に割り当てられている規定のバイト数分がダミーデータによりフローティング状態となっていて、予備バイト分にリアコンバータのデータを付加して出力するように構成されており、ボディＣＰＵ１１１は予備バイトのデータに基づいてリアコンバータが接続されているか否かを判別できる。
【００４０】
以上のレンズＲＯＭ通信データの中に、レンズ種別情報が含まれる。ＫＡＦIII撮影レンズ２００のレンズ種別情報には、ＫＡＦIII撮影レンズ（新通信可能なレンズ）であることを識別するデータ（ＫＡＦIIIビット＝“１”）、および電源供給要を識別するデータ（VpzONCPUビット＝“１”）が含まれていて、カメラボディ１００（ボディＣＰＵ１１１）は、これらのデータによって装着された撮影レンズがＫＡＦIII撮影レンズ２００であることを識別する。
【００４１】
新通信（ＫＡＦIII通信）
旧通信が終了するとボディＣＰＵ１１１は、電源端子１０５、２０５（VPZ）への電源供給を開始する。続いてボディＣＰＵ１１１は、端子１０４ｅ（Fmax1/（反転）FBL）（端子２０４ｅ）をローレベルに落としてレンズＣＰＵ２１１に割込みをかけてから、端子１０４ｆ（Fmax2/（反転）FLB）（端子２０４ｆ）がローレベルに落ちるのを、つまりレンズＣＰＵ２１１が端子２０４ｆ（Fmax2/（反転）FLB）をローレベルに落とすのを待つ。この端子１０４ｅ（Fmax1/（反転）FBL）（端子２０４ｅ）が第１の通信制御端子に相当し、端子１０４ｆ（Fmax2/（反転）FLB）（端子２０４ｆ）が第２の通信制御端子に相当し、端子１０４ｂ（Fmin2/DATAL）（端子２０４ｂ）がデータ入出力端子に相当する。
この割込みを受けたレンズＣＰＵ２１１は、スリープしていたときは起動して通常動作状態になり、内部ＲＡＭのクリアなどの初期化を行う。そしてレンズＣＰＵ２１１は、初期化処理が終了すると、端子２０４ｆ（Fmax2/（反転）FLB）をローレベルに落として、端子２０４ｅ（端子１０４ｅ（Fmax1/（反転）FBL））がハイレベルに立ち上がるのを待つ。
ボディＣＰＵ１１１は、端子１０４ｆ（Fmax2/（反転）FLB）（端子２０４ｆ）がローレベルに落ちると、端子１０４ｅ（Fmax1/（反転）FBL）（端子２０４ｅ）をハイレベルに立ち上げて、端子１０４ｆ（Fmax2/（反転）FLB）（端子２０４ｆ）がハイレベルに立ち上がるのを待つ。
【００４２】
レンズＣＰＵ２１１は、端子２０４ｅ（Fmax1/（反転）FBL）（端子１０４ｅ）がハイレベルに立ち上がると、端子２０４ｆ（Fmax2/（反転）FLB）（端子１０４ｆ）をハイレベルに立ち上げて通信確認処理を終了する。
ボディＣＰＵ１１１は、端子１０４ｆ（Fmax2/（反転）FLB）（端子２０４ｆ）がハイレベルに立ち上がったのを確認すると、通信確認処理を終了する。
以後、カメラボディ１００とＫＡＦIII撮影レンズ２００との間では、新通信（ＫＡＦIII通信）処理によってデータおよびコマンドの授受を実行する。
【００４３】
次に、ＣＳ１１３で実行される状態セット処理の詳細について、図１０に示したフローチャートを参照して説明する。この状態セット処理は、新通信（ＫＡＦIII通信）によりレンズＣＰＵ２１１に送信するカメラボディの現在の状態情報をセットする処理である。本実施の形態では、自動焦点調節中か否か、ストロボ充電中か否か、測光スイッチＳＷＳがＯＦＦしてからパワーホールドタイマ時間が経過したか否か、メインスイッチＳＷＭＡＩＮがＯＮしているか否かを状態情報としてチェックし、セットする。
【００４４】
この状態セット処理に入ると、先ず測光スイッチＳＷＳがＯＮしているかどうかをチェックする（ＣＳ３０１）。測光スイッチＳＷＳがＯＮしていれば、ＡＦスイッチＳＷＡＦがＯＮしているかどうか（自動焦点調節モードかどうか）をチェックし（ＣＳ３０１；Ｙ、ＣＳ３０３）、ＡＦスイッチＳＷＡＦがＯＮしていればフラグＡＦｏｎに“１”をセットしてＣＳ３０９に進み（ＣＳ３０３；Ｙ、ＣＳ３０５、ＣＳ３０９）、ＯＮしていなければフラグＡＦｏｎに“０”をセットしてＣＳ３０９に進む（ＣＳ３０３；Ｎ、ＣＳ３０７、ＣＳ３０９）。また、測光スイッチＳＷＳがＯＮしていない場合もフラグＡＦｏｎに“０”をセットしてＣＳ３０９に進む（ＣＳ３０１；Ｎ、ＣＳ３０７、ＣＳ３０９）。
【００４５】
ＣＳ３０９では、ストロボ充電中か否かをチェックし、充電中であればフラグPAUSEに“１”をセットしてＳ３１５に進み（ＣＳ３０９；Ｙ、ＣＳ３１１、ＣＳ３１５）、充電中でなければフラグPAUSEに“０”をセットしてＳ３１５に進む（ＣＳ３０９；Ｎ、ＣＳ３１３、ＣＳ３１５）。このフラグPAUSEは電力消費が多い処理（大電流が必要な処理）をしているかどうかを識別するフラグである。本実施例ではストロボ充電中が該当し、“１”がセットされているときは、カメラボディ１００が電力消費の多いストロボ充電中であるから、ＫＡＦIII撮影レンズ２００は電力消費が多い処理を中断し、または処理の開始を待つ。なお、電力消費が多い処理、大電流が流れる処理としては他に、例えばフィルム巻上げ処理、シャッタチャージ処理などがある。
【００４６】
ＣＳ３１５では、測光スイッチＳＷＳがＯＮしているかどうかをチェックし、ＯＮしていればパワーホールドフラグＰＨに“１”をセットしてＣＳ３２３に進む（ＣＳ３１５；Ｙ、ＣＳ３２１、ＣＳ３２３）。ＯＮしていなければＰＨタイマが終了したかどうかをチェックし（ＣＳ３１５；Ｎ、ＣＳ３１７）、ＰＨタイマが終了していなけばパワーホールドフラグＰＨに“１”をセットしてＣＳ３２３に進み（ＣＳ３１７；Ｎ、ＣＳ３２１、ＣＳ３２３）、終了していればパワーホールドフラグＰＨに“０”をセットしてＣＳ３２３に進む（ＣＳ３１７；Ｙ、ＣＳ３１９、ＣＳ３２３）。ＰＨタイマは、測光スイッチＳＷＳがＯＦＦしてからボディＣＰＵ１１１がスリープするまでの時間を測定するタイマであり、パワーホールドフラグＰＨは、カメラが動作状態かスリープ状態（省電力動作状態）かを設定するフラグである。
【００４７】
ＣＳ３２３ではメインスイッチＳＷＭＡＩＮがＯＮしているかどうかをチェックする。ＯＮしていればフラグＳＷＭＡＩＮに“１”をセットしてリターンし（ＣＳ３２３；Ｙ、ＣＳ３２５）、ＯＮしていなければフラグＳＷＭＡＩＮに“０”をセットしてリターンする（ＣＳ３２３；Ｎ、ＣＳ３２５）。
【００４８】
新通信（ＫＡＦIII通信）（レンズＣＰＵ通信）
レンズＣＰＵとの新通信（ＫＡＦIII通信）におけるタイミングチャートを、図１８、図１９、図２１に示してある。レンズＣＰＵ通信は、端子１０４ｅ（Fmax1/（反転）FBL）と端子２０４ｅ、端子１０４ｆ（Fmax2/（反転）FLB）と端子２０４ｆの接続をハンドシェークラインとして使用する。初期状態における端子１０４ｅ（Fmax1/（反転）FBL）、端子１０４ｆ（Fmax2/（反転）FLB）のレベルは、ＫＡＦIII撮影レンズ２００を着脱するときにショートするのを防止するために、通信時以外はボディＣＰＵ１１１によってプルアップされている（図１９）。
【００４９】
「新通信（ＫＡＦIII通信）セット要求処理」
ＣＳ１０５で実行される新通信（ＫＡＦIII通信）セット要求処理について、図９に示したフローチャートを参照してより詳細に説明する。
このＫＡＦIII通信セット要求処理処理に入ると、先ず、フラグＫＡＦIIIが“１”かどうかによって装着された撮影レンズがＫＡＦIII撮影レンズ２００であるかどうかを判断する（ＣＳ２２１）。フラグＫＡＦIIIが“１”でなければ、ＫＡＦIII通信可能な撮影レンズではないのでそのままリターンする（ＣＳ２２１；Ｎ）。フラグＫＡＦIIIが“１”であれば（ＣＳ２２１；Ｙ）、ＫＡＦIII撮影レンズ２００、他のＫＡＦIII通信可能な撮影レンズなのでＣＳ２２３以降の処理を実行する。
【００５０】
まず、フラグVpzONCPUが“１”かどうかをチェックし（ＣＳ２２３）、フラグVpzONCPUが“１”であれば電源端子１０５（VPZ）をＯＮ、つまり電源端子１０５（VPZ）に電源を供給してＳ２２７に進み（ＣＳ２２３；Ｙ、ＣＳ２２５、ＣＳ２２７）、フラグVpzONCPUが“０”であれば電源端子１０５（VPZ）をＯＮせずにＣＳ２２７に進む（ＣＳ２２３；Ｎ、ＣＳ２２７）。
【００５１】
ＣＳ２２７では端子１０４ｅ（Fmax1/（反転）FBL）をローレベルに落とす。そして端子１０４ｆ（Fmax2/（反転）FLB）がローレベルに落ちたかどうかをチェックし（ＣＳ２２９）、ローレベルに落ちていなければチェックを繰り返す（ＣＳ２２９；Ｎ、ＣＳ２２９）。端子１０４ｆ（Fmax2/（反転）FLB）がローレベルに落ちると（ＣＳ２２９；Ｙ）、端子１０４ｅ（Fmax1/（反転）FBL）をハイレベルに立ち上げ（ＣＳ２３１）、端子１０４ｆ（Fmax2/（反転）FLB）がハイレベルに立ち上がるのを待ち（ＣＳ２３３；Ｎ、ＣＳ２３３）、端子１０４ｆ（Fmax2/（反転）FLB）がハイレベルに立ち上がるとリターンする（ＣＳ２３３；Ｙ）。
【００５２】
「手ブレ関係セット処理」
次に、ＫＡＦIII撮影レンズ２００が手ブレ補正装置を内蔵している場合に、ＣＳ１３７で実行される手ブレ関係セット処理について、図１１に示したフローチャートおよび図１２を参照して説明する。まず、手ブレ補正装置の概要について図１２に示した手ブレ補正装置の制御系の実施例を参照して説明する。手ブレ補正装置は、手ブレ、すなわち撮影レンズ２００の角速度を検出する角速度検出手段として、ＫＡＦIII撮影レンズ２００がカメラボディ１００に正規に装着された正位置を基準としたときに、例えば撮影レンズの光軸Ｏと撮影画面との交点を中心として、光軸の水平方向（Ｘ方向、Ｙ軸回り）の角速度を検出するＸ角速度センサ２５１および上下方向（Ｙ方向、Ｘ軸回り）の角速度を検出するＹ角速度センサ２５２を備えている。補正レンズＬｃは、補正レンズ駆動手段としてのＸモータ２５４、Ｙモータ２５７によってＸ方向およびＹ方向に駆動される。そして、補正レンズＬｃのレンズ位置は、中心位置（補正レンズＬｃの光軸が光軸Ｏと一致する位置）を基準として、補正レンズＬｃが移動するときにＸ方向インタラプタ２５５、Ｙ方向インタラプタ２５８が出力するパルス数によって検知される。なお、Ｘ、Ｙモータ２５４、２５７は、Ｘ、Ｙドライバ２５３、２５６を介してレンズＣＰＵ２１１により駆動制御される。
レンズＣＰＵ２１１は手ブレ補正装置の制御手段、補正方向、量等を演算する演算手段としての機能を有し、手ブレ補正スイッチＳＷ１がＯＮされたときに処理を開始し、角速度センサ２５１、２５２が検出した角速度に基づいて、像ブレを減少させるために補正レンズＬｃを動かす方向および量（速度）を演算し、Ｘ、Ｙモータ２５４、２５７を駆動する。
【００５３】
手ブレ関係セット処理に入ると、まず、メインスイッチフラグＳＷＭＡＩＮが“０”から“１”に変化したかどうか（メインスイッチＳＷＭＡＩＮがオフからオンしたかどうか）をチェックする（ＣＳ４０１）。メインスイッチフラグＳＷＭＡＩＮが“０”から“１”に変化していれば、ＫＡＦIII撮影レンズ２００に７０コマンドを送信し、ＫＡＦIII撮影レンズ２００からデータを受信し（ＣＳ４０１；Ｙ、ＣＳ４０３）、イニシャライズフラグＩｎｉｔ“０”を受信するのを待つ（ＣＳ４０５；Ｎ、ＣＳ４０３）。
なお、７０コマンドは、撮影レンズにレンズ状態を送信させる通信データである。本実施例は、７０コマンドを受けて送信するデータを、１バイトのレンズ状態データとしてあり、第７番ビットがイニシャライズ中か否かを識別するイニシャライズフラグＩｎｉｔと定義してある。また、第０番ビットはＡＦスイッチのオン／オフ、第１ビットが絞りレンズオート／マニュアル、第６番ビットがレンズ機能動作中か否かの識別ビットと定義してある。第２番ビットから第５番ビットは未定義である。つまり、新たな機能を追加した場合、第２番ビットから第５番ビットに定義することができる。なお、ビット０、データ無しは否定を意味する。
イニシャライズフラグＩｎｉｔは、ＫＡＦIII撮影レンズ２００において、リセット処理が終了したときに“０”がセットされ、出力されるフラグデータである。イニシャライズフラグＩｎｉｔ“０”を受信したら（ＣＳ４０５；Ｙ）、ＣＳ４０７に進む。また、メインスイッチフラグＳＷＭＡＩＮが“０”から“１”に変化していなければ（ＣＳ４０１；Ｎ）、通信せずにＣＳ４０７に進む。
【００５４】
ＣＳ４０７ではメインスイッチフラグＳＷＭＡＩＮが“１”から“０”に変化したかどうかをチェックし、“０”に変化していたらメインスイッチＳＷＭＡＩＮがオンからオフに変化しているので、ＫＡＦIII撮影レンズ２００に７０コマンドを送信してＫＡＦIII撮影レンズ２００からデータを送信させてそのデータを受信しながら（ＣＳ４０７；Ｙ、ＣＳ４０９）、イニシャライズフラグＩｎｉｔ“０”を受信するのを待つ（ＣＳ４１１；Ｎ、ＣＳ４０９）。ＫＡＦIII撮影レンズ２００は、補正レンズＬｃを撮影レンズの光路中心位置に戻す初期化駆動処理が終了したときに、イニシャライズフラグＩｎｉｔを“１”から“０”に書き換えて送信する。
【００５５】
イニシャライズフラグＩｎｉｔ“０”を受信したら、パワーホールドフラグＰＨが“１”から“０”に変化したかどうかをチェックする（ＣＳ４１１；Ｙ、ＣＳ４１３）。なお、メインスイッチフラグＳＷＭＡＩＮが変化しなかったときは、７０コマンド送信データの受信処理は実行せずにＣＳ４１３に進む（ＣＳ４０１；Ｎ、ＣＳ４０７；Ｎ、ＣＳ４１３）。
【００５６】
パワーホールドフラグＰＨが“１”から“０”に変化していたときは（ＣＳ４１３；Ｙ）、ＫＡＦIII撮影レンズ２００に７０コマンドを送信してＫＡＦIII撮影レンズ２００にデータを送信させてそのデータを受信しながら（ＣＳ４１５）、イニシャライズフラグＩｎｉｔ“０”を受信するのを待つ（ＣＳ４１７；Ｎ、ＣＳ４１５）。イニシャライズフラグＩｎｉｔ“０”を受信したら、ＣＳ４１９に進む（ＣＳ４１７；Ｙ、ＣＳ４１９）。また、パワーホールドフラグＰＨが“１”から“０”に変化していないときは、通信処理は実行せずにＣＳ４１９に進む（ＣＳ４１３；Ｎ、ＣＳ４１９）。
【００５７】
ＣＳ４１９では、手ブレ補正スイッチＳＷ１がオンからオフしたかどうかをチェックする。手ブレ補正スイッチＳＷ１がオフしたときは、ＫＡＦIII撮影レンズ２００に手ブレ補正動作を停止させるＤ１コマンド（個別機能通信データ）を送信してＣＳ４２３に進む（ＣＳ４１９；Ｙ、ＣＳ４２１、ＣＳ４２３）。Ｄ１コマンドを受信したＫＡＦIII撮影レンズ２００は、手ブレ補正処理を終了させる。手ブレ補正スイッチＳＷ１がオフしていないときはＤ１コマンド送信処理をスキップしてＣＳ４２３に進む（ＣＳ４１９；Ｎ、ＣＳ４２３）。ＣＳ４２３では、手ブレ補正スイッチＳＷ１がオフからオンに変化したかをチェックし、オンした場合はボディＣＰＵ１１１に対して手ブレ補正処理を開始させるＤ２コマンド（個別機能通信データ）を送信してリターンし（ＣＳ４２３；Ｙ、ＣＳ４２５）、手ブレ補正スイッチＳＷ１がオンしていないときはＤ２コマンド送信処理をスキップしてリターンする（ＣＳ４２３；Ｎ）。なお、Ｄ２コマンドを受信したレンズＣＰＵ２１１は、手ブレ補正処理を開始する。
【００５８】
次に、手ブレ補正装置を内蔵したＫＡＦIII撮影レンズ２００のレンズＣＰＵ２１１の主要処理の実施形態について、図１３から図１７に示したフローチャートを参照して説明する。図１３は、ＫＡＦIII撮影レンズ２００の主要処理に関するメインフローチャートである。この処理には、カメラボディのフローチャートのＣＳ１０５で実行されるサブルーチンにおいて、ＣＳ２２５の電源端子Ｖｐｚオン処理によってレンズＣＰＵ２１１に電源が供給されたときに入る。
【００５９】
この処理に入ると、レンズＣＰＵ２１１は先ず自身の内部ＲＡＭ、ポートなどを初期化する（ＬＳ１０１）。次に、ＫＡＦIII通信セット処理を実行して、１mSタイマ割込み、通信用の割込みポート（反転）ＩＮＴによる割込みをイネーブル（許可）してボディ側から割込みを受けての通信を可能にする（ＬＳ１０３）。
次に、ボディＣＰＵ１１１からの送信コマンドによりセットされる（ＬＳ４３３、ＬＳ４３７）スリープフラグが“１”かどうかをチェックし（ＬＳ１０５）、スリープフラグが“１”であれば、レンズＣＰＵ２１１は、レンズ内モータなどの機能を停止させ、スリープフラグに“０”をセットして、スリープする（ＬＳ１０５；Ｙ、ＬＳ１０７、ＬＳ１０９、ＬＳ１１１）。レンズＣＰＵ２１１は、スリープ状態において、割込みポート（反転）ＩＮＴに割込み信号が入ると起動する。
【００６０】
スリープフラグに“１”がセットされていないときは補正レンズリセットフラグに“１”がセットされているかどうかをチェックする（ＬＳ１０５；Ｎ、ＬＳ１１３）。補正レンズリセットフラグに“１”がセットされているときは（ＬＳ１１３；Ｙ）、イニシャル中フラグ（Init中）フラグに“１”をセットし、Ｘ、Ｙモータ２５４、２５７をリセット駆動して補正レンズＬｃを中心位置まで移動させる（ＬＳ１１５；ＬＳ１１７）。そして、補正レンズリセットフラグおよび初期化中フラグにそれぞれ“０”をセットしてＬＳ１２１に進む（ＬＳ１１９、ＬＳ１２１）。なお、補正レンズリセット動作は、補正レンズＬｃを一旦、所定の機械的移動可能端点（基準端点）まで移動させてから、駆動方向および駆動量を規制しながら補正レンズＬｃを中心位置まで移動させる処理である。この処理により補正レンズの絶対位置を把握して、補正レンズを中心位置に正確に位置させることが出来る。
【００６１】
補正レンズリセットフラグに“１”がセットされていなかった場合は（ＬＳ１１３；Ｎ）、補正レンズ中心フラグに“１”がセットされているかどうかをチェックし、補正レンズ中心フラグに“１”がセットされていいない場合はＬＳ１０５に戻る（ＬＳ１２１；Ｎ、ＬＳ１０５）。補正レンズ中心フラグに“１”がセットされている場合は（ＬＳ１２１；Ｙ）、イニシャライズ中フラグに“１”をセットしてから、補正レンズＬｃが中心に位置するようにＸ、Ｙモータ２５４、２５７をを駆動し（ＬＳ１２３、ＬＳ１２５）、補正レンズ中心フラグおよびイニシャライズ中フラグに“０”をセットしてＬＳ１０５に戻る（ＬＳ１２７、ＬＳ１０５）。
【００６２】
ＬＳ１０３のＫＡＦIII通信セット処理について、図１４に示したフローチャートを参照してより詳細に説明する。この処理に入ると、端子２０４ｅ（Fmax1/（反転）FBL）がローレベルに落ちるのを待ち（ＬＳ２２１）、ローレベルに落ちたら端子２０４ｆ（Fmax2/（反転）FLB）をローレベルに落とし（ＬＳ２２１；Ｙ、ＬＳ２２３）、通信設定処理を実行する（ＬＳ２２５）。通信設定処理は、シリアル通信に関するセット、割込みポート（反転）INTによる割込み許可などが含まれる。
通信設定処理が終了すると、端子２０４ｅがハイレベルに立ち上がるのを待ち（ＬＳ２２７）、ハイレベルに立ち上がると（ＬＳ２２７；Ｙ）、端子２０４ｆ（Fmax2/（反転）FLB）をハイレベルに立ち上げてリターンする（ＬＳ２２９）。
【００６３】
手ブレ補正用の１mSタイマ割込み処理について、図１５に示したフローチャートを参照してより詳細に説明する。この１mSタイマ割込み処理は、レンズＣＰＵ２１１が動作している間、１mSハードタイマがタイムアップする毎に割り込み、角速度センサ２５１、２５２から角速度信号を入力して手ブレを検出を実行し、手ブレによる像ブレを防止する方向および量（速度）を演算して、演算した方向および量（速度）でＸ、Ｙモータ２５４、２５７を駆動して補正レンズＬｃを移動させる処理である。
この処理に入ると、まず補正機能ＯＦＦフラグに“１”がセットされているかどうかをチェックする（ＬＳ３０１）。“１”がセットされているときは、手ブレ補正動作するか否かを識別する補正Ｗｏｒｋフラグに動作しない旨を識別する“０”をセットしてリターンする（ＬＳ３０１；Ｙ、ＬＳ３０３）。
【００６４】
補正機能ＯＦＦフラグに“０”がセットされているときは、補正ＯＮフラグに“０”がセットされているかどうかをチェックする（ＬＳ３０１；Ｎ、ＬＳ３０５）。補正ＯＮフラグに“０”がセットされているときは手ブレ補正しないので、補正Ｗｏｒｋフラグに動作しない旨を識別する“０”をセットしてリターンする（ＬＳ３０５；Ｙ、ＬＳ３０３）。
【００６５】
補正ＯＮフラグに“０”がセットされていないとき（補正ＯＮフラグに“１”がセットされているとき）は、補正Ｗｏｒｋフラグに“１”をセットし（ＬＳ３０５；Ｎ、ＬＳ３０７）、手ブレ検出処理を実行する（ＬＳ３０９）。手ブレ検出処理は、角速度センサ２５１、２５２から検出信号を入力してブレの方向および角速度を演算し、さらに像ぶれを防止するために補正レンズＬｃを移動させる位置（駆動方向及び駆動量）を演算する処理である。
そして、駆動ＯＮフラグに“０”がセットされていなければ、ＬＳ３０９で求めた移動位置方向に補正レンズ駆動モータ２５４、２５７を介して補正レンズＬｃを駆動してリターンする（ＬＳ３１１；Ｎ、ＬＳ３１５）。駆動ＯＮフラグに“０”がセットされていれば、補正レンズ駆動モータ２５４、２５７による補正レンズ駆動を強制停止させてリターンする（ＬＳ３１１；Ｙ、ＬＳ３１３）。
【００６６】
（反転）ＩＮＴ割込み処理について、図１６、１７を参照して説明する。この処理は、端子２０４ｅ（Fmax1/（反転）FBL）がローレベルに落ちてレンズＣＰＵ２１１の割込みポートＩＮＴがローレベルに立ち下がったときに割り込む処理である。
この処理に入ると、まずＫＡＦIII通信によってコマンドを受信する（ＬＳ４０１）。そして、受信したコマンドに７０コマンド、７１コマンドおよび７２コマンドのいずれかが含まれているかどうかをチェックし（ＬＳ４０３）、いずれかが含まれていればＫＡＦIII通信によってレンズデータ送信（データ８ビット送信）処理を実行してＬＳ４０７に進み（ＬＳ４０３；Ｙ、ＬＳ４０５、ＬＳ４０７）、いずれのコマンドも含まれていなければそのままＬＳ４０７に進む（ＬＳ４０３；Ｎ、ＬＳ４０７）。
【００６７】
ＬＳ４０７ではＢ０コマンドおよびＢ１コマンドのいずれかが含まれていたかどうかをチェックし、いずれも含まれていなかったらＬＳ４３１に飛ぶ（ＬＳ４０７；Ｎ、ＬＳ４３１）。いずれかが含まれていた場合は、ＫＡＦIII通信によってボディデータ受信処理を実行する（ＬＳ４０７；Ｙ、ＬＳ４０９）。そしてメインスイッチＳＷＭＡＩＮフラグが“０”から“１”に変化したかどうか（ＬＳ４１１）、メインスイッチＳＷＭＡＩＮフラグが“１”から“０”に変化したかどうか（ＬＳ４１５）、パワーホールドＰＨフラグが“１”かどうか（ＬＳ４１９）、パワーホールドＰＨフラグが“１”から“０”に変化したかどうかをチェックする（ＬＳ４２３）。
【００６８】
メインスイッチＳＷＭＡＩＮフラグが“０”から“１”に変化していたときは、補正レンズリセットフラグに“１”をセットしてリセットを可能にしてＬＳ４１５に進む（ＬＳ４１１；Ｙ、ＬＳ４１３、ＬＳ４１５）。メインスイッチＳＷＭＡＩＮフラグが“１”から“０”に変化していたら（ＬＳ４１５；Ｙ）、補正レンズ中心フラグに“１”をセットしてＬＳ４１９に進む（ＬＳ４１７、ＬＳ４１９）。パワーホールドＰＨフラグが“１”であれば（ＬＳ４１９；Ｙ）、補正ＯＮフラグに“１”をセットしてＬＳ４２３に進む（ＬＳ４２１）。パワーホールドＰＨフラグが“１”から“０”に変化していたら（ＬＳ４２３；Ｙ）、補正ＯＮフラグに“０”をセットし、補正レンズ中心フラグに“１”をセットしてＬＳ４２５に進む（ＬＳ４２５）。これらのフラグチェック結果が全てＮＯ（否定）の場合はなにもせずにＬＳ４２５に進む（ＬＳ４１１；Ｎ、ＬＳ４１５；Ｎ、ＬＳ４１９；Ｎ、ＬＳ４２３；Ｎ、ＬＳ４２５）。
【００６９】
ＬＳ４２５では、フラグＰＡＵＳＥに“１”がセットされているかどうかをチェックし、“１”がセットされていれば駆動ＯＮフラグに“０”をセットしてＬＳ４３１に進み（ＬＳ４２５；Ｙ、ＬＳ４２７）、“１”がセットされていなければ駆動ＯＮフラグに“１”をセットしてＬＳ４３１に進む（ＬＳ４２５；Ｎ、ＬＳ４２９）。フラグＰＡＵＳＥには、カメラボディ１００が大電流を要する処理を実行するときに“１”がセットされている。本実施例では、ボディＣＰＵ１１１の状態セット処理において、ストロボ充電中のときにフラグＰＡＵＳＥに“１”がセットされる（ＣＳ３１１）。そしてレンズＣＰＵ２１１は、フラグＰＡＵＳＥ “１”を受信すると、駆動ＯＮフラグに“０”をセットして（ＬＳ４２７）、１ｍSタイマ割込み処理に入ったときに、ＬＳ３１１からＬＳ３１３に進んで、Ｘ、Ｙモータ２５４、２５７の駆動を強制停止する（ＬＳ３１３）。ただし、手ブレ補正用の角速度センサ２５１、２５２の動作は継続する。
【００７０】
ＬＳ４３１では、７１コマンドおよびＢ１コマンドのいずれかを受信したかどうかをチェックし、いずれかを受信していればスリープフラグに“１”をセットしてＬＳ４３５に進み（ＬＳ４３１；Ｙ、ＬＳ４３３、ＬＳ４３５）、いずれも受信していなければそのままＬＳ４３５に進む（ＬＳ４３１；Ｎ、ＬＳ４３５）。スリープフラグに“１”がセットされると、メインループ処理に戻ったときに、ＬＳ１０５からスリープ処理に入ってレンズＣＰＵ２１１はスリープする。
なお、７１コマンドは、撮影レンズへのスリープ命令を併せ持つ通信データである。本実施例は、７１コマンドを受けて送信するデータを、１バイトのレンズ状態データとしてあり、第７番ビットがスリープ中かどうかを識別するビットと定義してある。イニシャライズ中か否かを識別するイニシャライズフラグＩｎｉｔと定義してある。また、第０番ビットはＡＦスイッチのオン／オフ、第１ビットが絞りレンズオート／マニュアル、第６番ビットがレンズ機能動作中か否かの識別ビットと定義してある。なお、ビット０、データ無しは否定を意味する。
【００７１】
ＬＳ４３５では、Ｄ０コマンドを受信したかどうかをチェックし、Ｄ０コマンドを受信したときはスリープフラグに“１”をセットしてＬＳ４３９に進む（ＬＳ４３５；Ｙ、ＬＳ４３７、ＬＳ４３９）。Ｄ０コマンドを受信していないときは何もせずにＬＳ４３９に進む（ＬＳ４３５；Ｎ）。
【００７２】
ＬＳ４３９では、Ｄ１コマンドを受信したかどうかをチェックし、Ｄ１コマンドを受信していれば補正機能ＯＦＦフラグに“１”をセットしてＬＳ４４３に進み（ＬＳ４３９；Ｙ、ＬＳ４４１、ＬＳ４４３）、受信していなければそのままＬＳ４４３に進む（ＬＳ４３９；Ｎ、ＬＳ４４３）。
【００７３】
ＬＳ４４３では、Ｄ２コマンドを受信したかどうかをチェックし、Ｄ２コマンドを受信していれば補正機能ＯＦＦフラグに“０”をセットしてＬＳ４４７に進み（ＬＳ４４３；Ｎ、ＬＳ４４５、ＬＳ４４７）、受信していなければそのままＬＳ４４７に進む（ＬＳ４４３；Ｎ、ＬＳ４４７）。
【００７４】
ＬＳ４４７では７Ｆコマンドを受信したかどうかをチェックし、７Ｆコマンドを受信していればデータ受信してリターンし（ＬＳ４４７；Ｙ、ＬＳ４４９）、受信していなければそのままリターンする（ＬＳ４４７；Ｎ）。７Ｆコマンドは、リアコンバータが装着されている場合にはリアコンバータからデータを出力させるコマンドであり、ＬＳ４４９のデータ受信は、リアコンバータからデータを出力させてボディＣＰＵ１１１が受信する通信を確保するためのダミー受信である。
【００７５】
以上は、手ブレ補正装置を内蔵したＫＡＦIII撮影レンズ２００の構成および処理である。次に、ＫＡＦIII撮影レンズ２００がレンズ内ＡＦ装置を備えている場合の実施例について、図２２から図２６を参照して説明する。なお、図１２から図１７に示した実施例と同一の機能の部材、同一の処理に関しては同一の符号、ステップ番号を付して、説明を省略する。
【００７６】
図２２には、レンズ内ＡＦ装置を備えた回路構成をブロックで示してある。レンズＣＰＵ２１１は、ボディＣＰＵ１１１から受信したレンズ駆動量に基づいて、ドライバ２６１を介してＡＦモータ２６２を所定量駆動し、焦点調節レンズ群Ｌｆを所定位置まで移動させる。レンズ駆動量は、ＡＦモータ２６２の回転に連動してインタラプタ２６３から出力されるパルス数によって検出される。
【００７７】
図２３は、ＫＡＦIII撮影レンズ２００の主要処理に関するメインフローチャートである。この処理には、カメラボディのフローチャートのＣＳ１０５で実行されるサブルーチンにおいて、ＣＳ２２５の電源端子Ｖｐｚオン処理によってレンズＣＰＵ２１１に電源が供給されたときに入る。
この処理に入ると、レンズＣＰＵ２１１は先ず自身の内部ＲＡＭ、ポートなどを初期化する（ＬＳ１０１）。次に、ＫＡＦIII通信セット処理を実行して、１mSタイマ割込み、通信用の割込みポート（反転）ＩＮＴによる割込みをイネーブル（許可）してボディ側から割込みを受けての通信を可能にする（ＬＳ１０３）。
【００７８】
次に、ボディＣＰＵ１１１からの送信コマンドによりセットされる（ＬＳ４３３、ＬＳ４３７）スリープフラグが“１”かどうかをチェックし（ＬＳ１０５）、スリープフラグが“１”であれば、レンズＣＰＵ２１１は、ＡＦモータ２６２、インタラプタ２６３など内蔵の機能を停止させ、スリープフラグに“０”をセットして、スリープする（ＬＳ１０５；Ｙ、ＬＳ１０７、ＬＳ１０９、ＬＳ１１１）。レンズＣＰＵ２１１は、スリープ状態において、割込みポート（反転）ＩＮＴに割込み信号が入ると起動する。
スリープフラグに“１”がセットされていないときは、スリープフラグチェック処理を繰り返す（ＬＳ１０５；Ｎ、ＬＳ１０５）。この繰り返し処理の間に、ＫＡＦIII通信セット処理、１mSタイマ割込み処理、（反転）ＩＮＴ割込み処理などの割込み処理が実行される。
【００７９】
ＬＳ１０３のＫＡＦIII通信セット処理は、図１４に示したＫＡＦIII通信セット処理と同様であるから、説明を省略する。
【００８０】
レンズＣＰＵ２１１が作動状態にあるときに定期的に繰り返される１mSタイマ割込み処理について、図２４に示したフローチャートを参照してより詳細に説明する。この１mSタイマ割込み処理は、レンズＣＰＵ２１１が作動している間、１mSハードタイマがタイムアップする毎に割り込み、ＡＦモータ２６２を制御する処理である。
この処理に入ると、まず、ＡＦ機能ＯＮフラグに“０”がセットされているかどうかをチェックし（ＬＳ３３１）、“０”がセットされていればレンズ内ＡＦ処理は実行しないのでＷｏｒｋフラグに“０”をセットしてリターンする（ＬＳ３３１；Ｙ、ＬＳ３３３）。“０”がセットされていなければ（ＬＳ３３１；Ｎ）、駆動ＥＮＤフラグに“１”がセットされているかどうかをチェックし（ＬＳ３３５）、“１”がセットされていれば駆動終了しているのでWorkフラグに“０”をセットしてリターンする（ＬＳ３３５；Ｙ、ＬＳ３３３）。
駆動ＥＮＤフラグに“１”がセットされていなければ駆動ＯＮフラグに“１”がセットされているかどうかをチェックし（ＬＳ３３５；Ｎ、ＬＳ３３７）、“１”がセットされていなければ、ＡＦモータ２６２を強制的に停止させてリターンする（ＬＳ３３７；Ｙ、ＬＳ３３９）。
駆動ＯＮフラグに“０”がセットされていなければ（ＬＳ３３７；Ｎ）、動作中であることを識別するＷｏｒｋフラグに“１”をセットし（ＬＳ３４１）、ＡＦモータ２６２を駆動する（ＬＳ３４３）。そして駆動終了かどうかをチェックし（ＬＳ３４５）、駆動終了であれば駆動ＥＮＤフラグに“１”をセットしてリターンし（ＬＳ３４５；Ｙ、ＬＳ３４７）、駆動終了でなければそのままリターンする（ＬＳ３４５、リターン）。
【００８１】
（反転）ＩＮＴ割込み処理について、図２５、２６を参照して説明する。この処理は、端子２０４ｅ（Fmax1/（反転）FBL）がローレベルに落ちてレンズＣＰＵ２１１の割込みポートＩＮＴがローレベルに立ち下がったときに割り込む処理である。
この処理に入ると、まずＫＡＦIII通信によってコマンドを受信する（ＬＳ４０１）。そして、受信したコマンドに７０コマンド、７１コマンドおよび７２コマンドのいずれかが含まれているかどうかをチェックし（ＬＳ４０３）、いずれかが含まれていればＫＡＦIII通信によってコマンドに応じたレンズデータ送信（データ８ビット送信）処理を実行してＬＳ４０７に進み（ＬＳ４０３；Ｙ、ＬＳ４０５、ＬＳ４０７）、いずれのコマンドも含まれていなければそのままＬＳ４０７に進む（ＬＳ４０３；Ｎ、ＬＳ４０７）。
【００８２】
ＬＳ４０７ではＢ０コマンドおよびＢ１コマンドのいずれかが含まれていたかどうかをチェックし、いずれも含まれていなかったらＬＳ４６１に飛ぶ（ＬＳ４０７；Ｎ）。いずれかが含まれていた場合は、ＫＡＦIII通信によってボディデータ受信処理を実行する（ＬＳ４０７；Ｙ、ＬＳ４０９）。そしてＡＦｏｎフラグが“１”であるかどうかチェックし（ＬＳ４５１）、“１”であればＡＦ機能ＯＮフラグに“１”をセットしてＬＳ４５５に進み（ＬＳ４５１；Ｙ、ＬＳ４５３、ＬＳ４５５）、“１”でなければＡＦ機能ＯＮフラグに“０”をセットしてからＬＳ４５５に進む（ＬＳ４５１；Ｎ、ＬＳ４５４、ＬＳ４５５）。
【００８３】
ＬＳ４５５では、レリーズ段階を識別するレリーズ段階ＲＬＳが２であるかどうかをチェックする。レリーズ段階ＲＬＳは、ボディＣＰＵ１１１によって状態に応じて設定される設定される２ビットデータであって、ミラーアップ中は「１」、露光中は「２」、フィルム巻上げ中は「３」、それ以外の段階、状態は「０」である。レリーズ段階ＲＬＳが「２」であれば露光中なので、駆動ＯＮフラグに“０”をセットし（ＬＳ４５５；Ｙ、ＬＳ４５７）、レリーズ段階ＲＬＳが「２」でなければ駆動ＯＮフラグに“１”をセットし（ＬＳ４５５；Ｎ、ＬＳ４５９）、ＬＳ４６１に進む。
【００８４】
ＬＳ４６１では、Ｂ２コマンドを受信したかどうかをチェックする。受信していれば（ＬＳ４６１；Ｙ）、駆動量を受信し（ＬＳ４６３）、駆動量をセットし（ＬＳ４６５）、駆動ＥＮＤフラグに“０”をセットしてＬＳ４３１に進む（ＬＳ４６７）。Ｂ２コマンドを受信していなければ（ＬＳ４６１；Ｎ）、そのままＬＳ４３１に進む。
【００８５】
ＬＳ４３１では、７１コマンドおよびＢ１コマンドのいずれかを受信したかどうかをチェックし、いずれかを受信していればスリープフラグに“１”をセットしてＬＳ４３５に進み（ＬＳ４３１；Ｙ、ＬＳ４３３、ＬＳ４３５）、いずれも受信していなければそのままＬＳ４３５に進む（ＬＳ４３１；Ｎ、ＬＳ４３５）。スリープフラグに“１”がセットされると、メインループ処理に戻ったときに、ＬＳ１０５からスリープ処理に入ってレンズＣＰＵ２１１はスリープする。
【００８６】
ＬＳ４３５では、Ｄ０コマンドを受信したかどうかをチェックし、Ｄ０コマンドを受信したときはスリープフラグに“１”をセットしてＬＳ４６９に進む（ＬＳ４３５；Ｙ、ＬＳ４３７、ＬＳ４６９）。Ｄ０コマンドを受信していないときは何もせずにＬＳ４６９に進む（ＬＳ４３５；Ｎ）。
【００８７】
ＬＳ４６９では、Ｄ３コマンドを受信したかどうかをチェックし、Ｄ３コマンドを受信していれば駆動ＯＮフラグに“０”をセットしてＬＳ４７３に進み（ＬＳ４６９；Ｙ、ＬＳ４７１、ＬＳ４７３）、受信していなければそのままＬＳ４７３に進む（ＬＳ４６９；Ｎ、ＬＳ４７３）。
【００８８】
ＬＳ４７３では、Ｄ４コマンドを受信したかどうかをチェックし、Ｄ４コマンドを受信していれば駆動ＯＮフラグに“１”をセットしてＬＳ４７７に進み（ＬＳ４７３；Ｎ、ＬＳ４７７）、受信していなければそのままＬＳ４７７に進む（ＬＳ４７３；Ｎ、ＬＳ４７７）。
【００８９】
ＬＳ４７７では７Ｆコマンドを受信したかどうかをチェックし、７Ｆコマンドを受信していれば、ボディＣＰＵ１１１からダミーデータ受信処理を実行してリターンし（ＬＳ４７７；Ｙ、ＬＳ４７９）、受信していなければそのままリターンする（ＬＳ４７７；Ｎ）。ここで、７Ｆコマンドはリアコンバータの制御手段とデータ通信するためのコマンドである。リアコンバータが装着されているときは、リアコンバータの制御手段は７Ｆコマンドを受信してリアコンバータ用のコマンドであることを認識し、レンズＣＰＵ２１１のダミーデータ受信処理においてリアコンバータからボディＣＰＵ１１１にリアコンバータ新通信データを送信する。
【００９０】
図２７は、カメラボディ１００とＫＡＦIII撮影レンズ２００の間に、リアコンバータ３００を装着した実施の形態の主要回路をブロックで示す図である。このリアコンバータ３００は、リアコンバータ３００の機能を制御するリアコンＣＰＵ３１１と、リアコン用の基本データを記憶した記憶手段としてリアコンＲＯＭ３２１を備えている。リアコンＣＰＵ３１１、リアコンＲＯＭ３２１は、レンズＣＰＵ２１１、レンズＲＯＭ２２１とほぼ同様の入出力ポートを備えている。なお、このリアコンバータ３００は、図示しない変倍用の変倍レンズ群を備えたワイドまたはテレコンバータである。
【００９１】
リアコンバータ３００は、カメラボディ１００に着脱するためのボディ側マウント３０３と、ＫＡＦIII撮影レンズ２００を着脱するためのレンズ側マウント３０３１を備えている。各マウント３０３、３０３１には、カメラボディ１００の各端子とＫＡＦIII撮影レンズ２００の各端子を電気的に接続する中継用、通信用の端子を備えている。
ボディ側マウント３０３には、通信用端子として、カメラボディ１００の各接続端子１０４ａから１０４ｆと接続される端子３０４ａ（Fmin1/（反転）SCKL））、３０４ｂ（Fmin2/DATAL）、３０４ｃ（Fmin3/RESL）、３０４ｄ（CONTL）、３０４ｅ（Fmax1/（反転）FBL）、３０４ｆ（Fmax2/（反転）FLB）を備えている。
レンズ側マウント３０３１には、撮影レンズ２００の各端子２０４ａから２０４ｆと接続される端子３０４ａ1（Fmin1/（反転）SCKL））、３０４ｂ1（Fmin2/DATAL）、３０４ｃ1（Fmin3/RESL）、３０４ｄ1（CONTL）、３０４ｅ1（Fmax1/（反転）FBL）、３０４ｆ1（Fmax2/（反転）FLB）を備えている。
【００９２】
マウント３０３、３０３１の各端子は互いに対応する端子とそれぞれ接続されていて、さらに、端子３０４ａ、３０４ａ1（Fmin1/（反転）SCKL）はリアコンＣＰＵ３１１およびリアコンＲＯＭ３２１のポート（反転）SCKに接続され、端子３０４ｂ、３０４ｂ1（Fmin2/DATAL）はリアコンＣＰＵ３１１およびリアコンＲＯＭ３２１のポートDATAに接続され、端子３０４ｃ、３０４ｃ1（Fmin3/RESL）はリアコンＲＯＭ３２１のポートRESに接続され、端子３０４ｄ、３０４ｄ1（CONTL）はリアコンＣＰＵ３１１およびリアコンＲＯＭ３２１のポートCONTに接続され、端子３０４ｅ、３０４ｅ1（Fmax1/（反転）FBL）はリアコンＣＰＵ３１１のポートFmax1に接続され、端子３０４ｆ、３０４ｆ1（Fmax2/（反転）FLB）はスルー接続されている。
【００９３】
リアコンＣＰＵ３１１には、レンズＣＰＵ２１１の端子２０４ｆ（Fmax2/（反転）FLB）接続ポートに相当するポート接続が無い。レンズＣＰＵ２１１は、ボディＣＰＵ１１１と、端子１０４ｅ（Fmax1/（反転）FBL）、２０４ｅの立ち下がりで通信を開始し、端子１０４ｆ（Fmax2/（反転）FLB）、２０４ｆを使ってハンドシェークする。リアコンＣＰＵ３１１は、この通信中に、端子１０４ｅ（Fmax1/（反転）FBL）、２０４ｅ信号を端子３０４ｅ（Fmax1/（反転）FBL）を介して同期をとりながらポートFmax1を介して通信するので、ハンドシェーク用の端子２０４ｆ（Fmax2/（反転）FLB）接続ポートを省略してある。ここで、端子３０４ｅ（Fmax1/（反転）FBL）が第１の通信制御端子である。
【００９４】
さらにリアコンバータ３００には、電源用の端子１０５、２０５（VPZ）を接続する電源用の端子３０５、３０５１を備えている。本実施例の電源用端子３０５、３０５１はスルー接続されている。リアコンＣＰＵ３１１は端子１０５および２０５を介してカメラボディ内のバッテリ１１３から給電可能であり、レンズＣＰＵ２１１も同様に電源用端子３０５、３０５１を介してバッテリ１１３から給電可能である。
【００９５】
このリアコンバータ３００は、ボディＣＰＵ１１１とレンズＣＰＵ２１１とがハンドシェークして通信している間に、ボディＣＰＵ１１１からの要求に応じてリアコンＣＰＵ３１１からリアコンデータを送信することに特徴を有する。
この実施例の動作について、さらに図２８、図２９に示したタイミングチャートおよび図３０、図３１、図３２に示したフローチャートを参照して説明する。カメラボディ１００と撮影レンズ２００間の通信は、第１の実施形態と同様である。
【００９６】
図２７に示したように正規に装着された状態で、カメラボディ１００の電源スイッチＳＷＡＩＮがＯＮされると、ボディＣＰＵ１１１は端子１０４ｄ（CONTL）に第１の電源を供給し、端子１０４ｃのレベルを立ち下げて、レンズＲＯＭ２２１と旧通信を実行する。このとき、リアコンＣＰＵ３１１、リアコンＲＯＭ３２１にも端子３０４ｄ（CONTL）を介して第１の電源が供給され、端子３０４ｃ（Fmin3/RESL）のレベルを立ち下げによってレンズＲＯＭ２２１のリセット解除がされる。
この旧通信は、リアコンバータ３００が装着されていない場合と同様であるが、最後の数バイトは、レンズＲＯＭ２２１は何もデータを出力せず、リアコンＲＯＭ３２１がリアコンデータを出力する。この旧通信にて送信されるリアコンデータとは、例えばリアコンバータの種別情報であり、このリアコンデータにより、リアコンバータ３００が装着されていることを認識する。そして、装着されているリアコンバータが新通信に対応したＫＡＦIIIと認識した場合、今度は新通信方式にて、リアコンバータ３００に７Ｆコマンドを送信してリアコンＣＰＵ３１１と通信を実行してリアコンＣＰＵ３１１を制御し、リアコン用新通信データを受信する。リアコン用新通信データは、リアコンＣＰＵ３１１の制御下で送信されるので、データ値をリアコン内レンズの変倍に応じて可変したり、より多くの情報を付加して送信でき、リアコンバータの設計自由度を拡大できる。
【００９７】
リアコンバータ３００のリアコンＣＰＵ３１１のメイン処理を、図３０に示したフローチャートを参照して説明する。このフローチャートには、端子１０４ｄ（CONTL）から端子３０４ｄに第１の電源が供給され、端子３０４ｃ（Fmin3/RESL）がローレベルからハイレベルに立ち上がり、端子３０４ｅ（Fmax1/（反転）FBL）がローレベルに落ちたときに実行される。なお、リアコンＣＰＵ３１１の処理ステップは「ＲＳ」と略する。
【００９８】
ＰＯＮ処理に入ると、リアコンＣＰＵ３１１は、先ず自身の内部ＲＡＭ、ポートなどを初期化する（ＲＳ１０１）。次に、ＫＡＦIII通信セット処理を実行して、通信用の割込みポートFmax1（（反転）ＩＮＴ）による割込みをイネーブル（許可）してボディ側から割込みを受けての通信を可能にする（ＲＳ１０３）。次に、ボディＣＰＵ１１１からの送信コマンドによりセットされる（ＲＳ３０９）スリープフラグが“１”かどうかをチェックし（ＲＳ１０５）、スリープフラグが“１”であれば、リアコンＣＰＵ３１１は、停止処理を実行して省電力動作状態となり、スリープフラグに“０”をセットして、スリープする（ＲＳ１０５；Ｙ、ＲＳ１０７、ＲＳ１０９、ＲＳ１１１）。リアコンＣＰＵ３１１は、このスリープ状態において、割込みポート（反転）ＩＮＴに割込み信号が入ると起動する。
【００９９】
ＲＳ１０３におけるＫＡＦIII通信セット処理の詳細について、図３１を参照して説明する。この処理に入ると、割込みポートFmax1（ＩＮＴ）がローレベルに落ちるのを待つ（ＲＳ２０１）。割込みポートFmax1（ＩＮＴ）がローレベルに落ちると（ＲＳ２０ｌ；Ｙ）、割込みポートFmax1（ＩＮＴ）の割込みセットなど、シリアル通信に関するセット処理を実行して、割込みポートFmax1（ＩＮＴ）がハイレベルに立ちあがるのを待ち（ＲＳ２０３、ＲＳ２０５；Ｎ、ＲＳ２０５）、割込みポートFmax1（ＩＮＴ）がハイレベルに立ちあがるとリターンする（ＲＳ２０５；Ｙ）。
【０１００】
（反転）ＩＮＴ割込み処理について、図３２を参照して説明する。この処理は、端子３０４ｅ（Fmax1/（反転）FBL）がローレベルに落ちてリアコンＣＰＵ３１１の割込みポートFmax1（ＩＮＴ）がローレベルに立ち下がったときに割り込み、７Ｆコマンドを受信したときはリアコンデータをカメラボディ１００に対して送信する処理である。
【０１０１】
この処理に入ると、まずＫＡＦIII通信によってコマンド８ビットを受信する（ＲＳ３０１）。そして、受信したコマンドに７０、７１、７２コマンド、Ｂ０、Ｂ１、Ｂ２コマンド、Ｄ１、Ｄ２、Ｄ３、Ｄ４コマンドのいずれかが含まれているかどうかをチェックし（ＲＳ３０３）、いずれかが含まれていれば、これらは撮影レンズに対するコマンドなので、リアコンダミー受信してＲＳ３０７に進み（ＲＳ３０３；Ｙ、ＲＳ３０５、ＲＳ３０７）。いずれのコマンドも含まれていなければそのままＲＳ３０７に進む（ＲＳ３０３；Ｎ、ＲＳ３０７）。なお、本実施例におけるリアコンダミー受信とは、リアコンバータには不要な通信データを受信することを意味する。
【０１０２】
ＲＳ３０７では、Ｄ０コマンド、７１コマンド、Ｂ１コマンドが含まれているかどうかをチェックし、いずれかが含まれていればスリープフラグに“１”をセットしてＲＳ３１１に進み（ＲＳ３０７；Ｙ、ＲＳ３０９）、いずれも含まれていなければそのままＲＳ３１１に進む（ＲＳ３０７；Ｎ、ＲＳ３１１）。つまり、撮影レンズがスリープするときはリアコンバータもスリープするのである。
ＲＳ３１１では７Ｆコマンドが含まれているかどうかをチェックし、含まれていればリアコンデータを送信してリターンし（ＲＳ３１１；Ｙ、ＲＳ３１３）、含まれていなければそのままリターンする（ＲＳ３１１；Ｎ）。この７Ｆコマンドは、リアコンバータに対するコマンドであり、カメラボディ１００から７Ｆコマンドが送信されると、ＫＡＦIII撮影レンズ２００（レンズＣＰＵ２１１）はダミーデータを受信するが、そのダミーデータ受信に同期して、リアコンＣＰＵ３１１がリアコンデータを送信する。ボディＣＰＵ１１１は、そのリアコン通信データを受信すると、リアコンデータに応じた処理を実行する。
【０１０３】
以上の説明から明らかな通り本発明は、撮影レンズおよびカメラボディ間のデータ通信において、予めリアコンデータ通信用のデータ領域を確保しておいて、撮影レンズとカメラボディ間のデータ通信中にリアコンバータからデータを送信するように構成してあるので、リアコンバータ用の通信に切り替えることなく、カメラボディと撮影レンズおよびリアコンバータとの間で通信し、制御することが可能になった。  なお、リアコンバータの機能としては、絞り機能、アオリ機能などを備え、これらの機能に関するデータをリアコンデータとして通信させることができる。
【０１０４】
【発明の効果】
以上の説明から明らかな通り本発明は、リアコンバータの装着が可能なレンズ交換式カメラにおいて、リアコンバータにカメラボディと撮影レンズの通信端子を中継する中継用端子を設け、該中継用端子を介してカメラボディと撮影レンズが通信するときに、該通信に同期してリアコンバータの情報を前記通信端子を中継する端子を介してカメラボディに送信する機能を備えたので、リアコンバータ用に別個に通信端子を設けることなく、撮影レンズとリアコンバータの通信を切り替えることなく、リアコンバータの情報をカメラボディに通信することが可能になった。
【図面の簡単な説明】
【図１】  本発明のカメラのレンズ通信システムを適用した一眼レフカメラのカメラボディおよび撮影レンズの制御系の要部をブロックで示す図である。
【図２】  同カメラボディの制御系の要部をブロックで示す図である。
【図３】  同撮影レンズの制御系の要部をブロックで示す図である。
【図４】  第１の電源で動作する制御手段および第２の電源で動作する周辺回路を備えた撮影レンズの要部をブロックで示す図である。
【図５】  第１の電源のみで動作する撮影レンズの要部をブロックで示す図である。
【図６】  本発明を適用した一眼レフカメラボディのメイン動作に関するフローチャートの一部を示す図である。
【図７】  同一眼レフカメラボディのメイン動作に関するフローチャートの残部を示す図である。
【図８】  同一眼レフカメラボディと該一眼レフカメラボディに装着される本発明の撮影レンズとの間の通信処理をフローチャートで示す図であって（Ａ）はボディ側、（Ｂ）は撮影レンズ側の通信処理を示す図である。
【図９】  同一眼レフカメラボディのＫＡＦIII通信セット処理をフローチャートで示す図である。
【図１０】  同一眼レフカメラボディの状態セット処理に関するフローチャートを示す図である。
【図１１】  同一眼レフカメラボディの手ブレ関係のセット処理に関するフローチャートを示す図である。
【図１２】  本発明を適用した、手ブレ補正装置を搭載した撮影レンズの実施の形態の要部をブロックで示す図である。
【図１３】  同手ブレ補正装置を搭載した撮影レンズのメイン動作に関する処理をフローチャートで示す図である。
【図１４】  同手ブレ補正装置を搭載した撮影レンズのＫＡＦIII通信に関する処理をフローチャートで示す図である。
【図１５】  同手ブレ補正装置を搭載した撮影レンズのタイマ割込みに関する処理をフローチャートで示す図である。
【図１６】  同手ブレ補正装置を搭載した撮影レンズのポート割込みに関する処理のフローチャートの一部を示す図である。
【図１７】  同手ブレ補正装置を搭載した撮影レンズのポート割込みに関する処理のフローチャートの残部を示す図である。
【図１８】  同一眼レフカメラボディと撮影レンズ間における通信処理におけるタイミングチャートを示す図である。
【図１９】  同一眼レフカメラボディと撮影レンズ間におけるハンドシェークのタイミングチャートを示す図である。
【図２０】  同一眼レフカメラボディと撮影レンズ間の旧通信処理におけるタイミングチャートを示す図である。
【図２１】  同一眼レフカメラボディと撮影レンズ間における通信処理におけるタイミングチャートを示す図である。
【図２２】  本発明を適用した、レンズ内ＡＦ駆動装置を搭載した撮影レンズの実施の形態の要部をブロックで示す図である。
【図２３】  同レンズ内ＡＦ駆動装置を搭載した撮影レンズのメイン動作に関する処理をフローチャートで示す図である。
【図２４】  同レンズ内ＡＦ駆動装置を搭載した撮影レンズのタイマ割込みに関する処理をフローチャートで示す図である。
【図２５】  同レンズ内ＡＦ駆動装置を搭載した撮影レンズのポート割込みに関する処理のフローチャートの一部を示す図である。
【図２６】  同レンズ内ＡＦ駆動装置を搭載した撮影レンズのポート割込みに関する処理のフローチャートの残部を示す図である。
【図２７】  本発明のリアコンバータの実施形態の概要をブロックで示す図である。
【図２８】  同リアコンバータを装着した一眼レフカメラボディと撮影レンズ間における通信処理におけるタイミングチャートを示す図である。
【図２９】  同リアコンバータとカメラボディ間の通信処理におけるタイミングチャートを示す図である。
【図３０】  同リアコンバータのメイン動作に関する処理をフローチャートで示す図である。
【図３１】  同リアコンバータのＫＡＦIII通信セット処理に関する処理をフローチャートで示す図である。
【図３２】  リアコンバータのポート割込みに関する処理のフローチャートを示す図である。
【符号の説明】
１００  カメラボディ
１０３  マウント
１０４  通信・制御端子群
１０４ｂ（Fmin2/DATAL）  端子（データ入出力端子）
１０４ｅ（Fmax1/（反転）FBL）  端子（第１の通信制御端子）
１０４ｆ（Fmax2/（反転）FLB）  端子（第２の通信制御端子）
１０５（VPZ）  電源端子
１１１  ボディＣＰＵ
１１３  バッテリ
１２３  ミラー回路
１２５  シャッタ回路
２００  ＫＡＦIII撮影レンズ
２０３  レンズマウント
２０４  制御・通信端子群
２０４ｂ（Fmin2/DATAL）  端子（データ入出力端子）
２０４ｅ（Fmax1/（反転）FBL）  端子（第１の通信制御端子）
２０４ｆ（Fmax2/（反転）FLB）  端子（第２の通信制御端子）
２０５（VPZ）  電源端子
２１１  レンズＣＰＵ
２２１  レンズＲＯＭ
３００  リアコンバータ
３１１  リアコンＣＰＵ（リアコン制御手段）
３２１  リアコンＲＯＭ（リアコン記憶手段）
ＳＷＳ  測光スイッチ
ＳＷＲ  レリーズスイッチ
ＳＷＭＡＩＮ  メインスイッチ
ＳＷＡＦ  ＡＦスイッチ
ＳＷ１  手ブレ補正スイッチ
【図１】
0003836685.tif 000002
【図２】
0003836685.tif 000003
【図３】
0003836685.tif 000004
【図４】
0003836685.tif 000005
【図５】
0003836685.tif 000006
【図６】
0003836685.tif 000007
【図７】
0003836685.tif 000008
【図８】
0003836685.tif 000009
【図９】
0003836685.tif 000010
【図１０】
0003836685.tif 000011
【図１１】
0003836685.tif 000012
【図１２】
0003836685.tif 000013
【図１３】
0003836685.tif 000014
【図１４】
0003836685.tif 000015
【図１５】
0003836685.tif 000016
【図１６】
0003836685.tif 000017
【図１７】
0003836685.tif 000018
【図１８】
0003836685.tif 000019
【図１９】
0003836685.tif 000020
【図２０】
0003836685.tif 000021
【図２１】
0003836685.tif 000022
【図２２】
0003836685.tif 000023
【図２３】
0003836685.tif 000024
【図２４】
0003836685.tif 000025
【図２５】
0003836685.tif 000026
【図２６】
0003836685.tif 000027
【図２７】
0003836685.tif 000028
【図２８】
0003836685.tif 000029
【図２９】
0003836685.tif 000030
【図３０】
0003836685.tif 000031
【図３１】
0003836685.tif 000032
【図３２】
0003836685.tif 000033