(57)【要約】    【課題】カメラおよびアクセサリの通信処理に関する負担を軽減する。    【解決手段】  カメラ１０に対して装着可能なカメラアクセサリ１において、カメラと通信を行うための通信回路８と、該カメラアクセサリに関するデータを記憶したアクセサリデータ記憶手段７ｂと、アクセサリデータ記憶手段に記憶されたデータのうちカメラから通信回路を介して送信されてきたデータの送信要求コマンドに応じた１又は複数のデータを読み出してカメラに通信回路を介して送信する通信制御手段７ａと、カメラに送信するデータを一時的に記憶する複数のレジスタとを有する。通信制御手段は、送信要求コマンドに応じたデータが複数あるときに、該複数のデータをデータごとに複数のレジスタに記憶させてからカメラに送信する。    【選択図】  図１
2005037824.tif 000002
【特許請求の範囲】
【請求項１】
カメラに対して装着可能なカメラアクセサリであって、
前記カメラと通信を行うための通信回路と、
前記カメラとの間で前記通信回路を介して１又は複数のデータの通信を行う通信制御手段と、
前記カメラとの間での通信データを一時的に記憶する複数のレジスタとを有し、
前記通信制御手段は、前記通信データが複数あるときに、該複数の通信データをデータごとに前記複数のレジスタに記憶させてから該データに関わる処理を可能とすることを特徴とするカメラアクセサリ。
【請求項２】
カメラに対して装着可能なカメラアクセサリであって、
前記カメラと通信を行うための通信回路と、
該カメラアクセサリに関するデータを記憶したアクセサリデータ記憶手段と、
前記アクセサリデータ記憶手段に記憶されたデータのうち、前記カメラから前記通信回路を介して送信されてきた送信要求コマンドに応じた１又は複数のデータを読み出して前記カメラに前記通信回路を介して送信する通信制御手段と、
前記カメラに送信するデータを一時的に記憶する複数のレジスタとを有し、
前記通信制御手段は、前記送信要求コマンドに応じたデータが複数あるときに、該複数のデータをデータごとに前記複数のレジスタに記憶させてから前記カメラに送信することを特徴とするカメラアクセサリ。
【請求項３】
前記複数のレジスタとして、前記カメラに送信する１つのデータを一時的に記憶するシフトレジスタと、該シフトレジスタに転送されるデータを一時的に記憶する１又は複数のバッファレジスタとを有することを特徴とする請求項２に記載のカメラアクセサリ。
【請求項４】
前記レジスタの数は、前記送信要求コマンドに応じて前記カメラに送信するデータ数のうち最大数以上の数であることを特徴とする請求項２又は３に記載のカメラアクセサリ。
【請求項５】
前記通信制御手段は、前記送信要求コマンドに応じたデータが複数あるときに限り、前記レジスタにデータを記憶させることを特徴とする請求項２から４のいずれか１つに記載のカメラアクセサリ。
【請求項６】
前記通信制御手段は、前記レジスタにデータを記憶させたことを示す情報を前記カメラに送信することを特徴とする請求項２から５のいずれか１つに記載のカメラアクセサリ。
【請求項７】
前記通信制御手段は、前記複数のレジスタに記憶されたデータがすべて前記カメラに送信されるまでシリアル通信機能に関わる動作を停止することを特徴とする請求項２から６のいずれか１つに記載のカメラアクセサリ。
【請求項８】
カメラアクセサリが装着可能なカメラであって、
前記カメラアクセサリと通信を行うための通信回路と、
前記通信回路を介して前記カメラアクセサリとの間で１又は複数のデータを通信する通信制御手段と、
前記カメラアクセサリとの通信データを一時的に記憶する複数のレジスタとを有し、
前記通信制御手段は、前記通信データが複数あるときに、該複数のデータをデータごとに前記複数のレジスタに記憶させてから該データに関わる処理を可能とすることを特徴とするカメラ。
【請求項９】
カメラアクセサリが装着可能なカメラであって、
前記カメラアクセサリと通信を行うための通信回路と、
前記カメラアクセサリに対し前記通信回路を介してデータの送信要求コマンドを送信するとともに、前記カメラアクセサリから前記通信回路を介して送信されてきた、前記送信要求コマンドに応じた１又は複数のデータを受信する通信制御手段と、
前記カメラアクセサリから受信した情報を一時的に記憶する複数のレジスタとを有し、
前記通信制御手段は、前記カメラアクセサリから受信するデータが複数あるときに、該複数のデータをデータごとに前記複数のレジスタに記憶させてから該データに関わる処理を可能とすることを特徴とするカメラ。
【請求項１０】
前記複数のレジスタとして、前記カメラから受信した１つのデータを一時的に記憶するシフトレジスタと、該シフトレジスタから転送されたデータを一時的に記憶する１又は複数のバッファレジスタとを有することを特徴とする請求項９に記載のカメラ。
【請求項１１】
前記レジスタの数は、前記送信要求コマンドに応じて前記カメラアクセサリから送信されてくるデータ数のうち最大数以上の数であることを特徴とする請求項９又は１０に記載のカメラ。
【請求項１２】
前記通信制御手段は、前記送信要求コマンドに応じたデータが複数あるときに限り、前記レジスタにデータを記憶させることを特徴とする請求項９から１１のいずれか１つに記載のカメラ。
【請求項１３】
前記通信制御手段は、前記送信要求コマンドに応じた複数のデータがすべて前記レジスタに記憶されるまでシリアル通信機能に関する動作を停止することを特徴とする請求項９から１２のいずれか１つに記載のカメラ。
【請求項１４】
請求項１から７のうちいずれか１つに記載のカメラアクセサリと、このカメラアクセサリが装着可能なカメラとを有することを特徴とするカメラシステム。
【請求項１５】
前記カメラは、請求項８から１３のいずれか１つに記載のカメラであることを特徴とする請求項１４に記載のカメラシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラに装着されるフラッシュ、交換レンズ、データパック等のカメラアクセサリに関するものである。
【背景技術】
【０００２】
従来、カメラとアクセサリ間はメカ的な保持部材（マウント）で連結され、そのマウントには、電気的な接点が用意されている。そして、この電気的接点を通じて、図７に示すように、それぞれに設けられたマイクロコンピュータ（以下、マイコンと記す）が有するシリアル通信機能によってデータを交換する方式が一般的である。
【０００３】
図７において、Ｃｏｕｔはカメラマイコンからアクセサリマイコンに対する出力データを送信するための出力端子、Ｃｉｎはカメラマイコンに対するアクセサリマイコンからの出力データを受信する入力端子である。
【０００４】
ＣｃｌｋはＣｏｕｔ、Ｃｉｎを介したデータ通信において同期をとるためのカメラ同期出力クロック端子である。Ｌｉｎはアクセサリマイコンに対するカメラマイコンからの出力データを受信する入力端子である。
【０００５】
Ｌｏｕｔはアクセサリマイコンからカメラマイコンに対する出力データを送信するための出力端子、ＬｃｌｋはＬｉｎ、Ｌｏｕｔを介したデータ通信において同期をとるためのアクセサリ同期入力クロック端子である。
【０００６】
図８には、図７に示した各信号端子を使った通信方法における、カメラマイコンの各端子への信号の入出力タイミングを示している。同図において、カメラマイコンがアクセサリマイコンに対して通信する場合には、同期クロックであるＣｃｌｋがＨｉからＬｏに切り変わったときに、カメラマイコンはＣｏｕｔを通じたアクセサリマイコンに対する出力データのＨｉ／Ｌｏを切り換える。
【０００７】
また、アクセサリマイコンは、カメラマイコン（Ｃｉｎ）に対するデータのＨｉ／Ｌｏを切り換える。次に、同期クロックであるＣｃｌｋがＬｏからＨｉに切り変わったときに、カメラマイコンはＣｉｎを通じてアクセサリマイコンからのデータを内部レジスタに取り込む。また、アクセサリマイコンは、カメラマイコンのＣｏｕｔからの出力データを内部レジスタに取り込む。
【０００８】
このやり取りを合計８回繰り返すことにより、カメラマイコンおよびアクセサリマイコンは１バイトのデータを記憶し、内部処理に使用する。同図において、この通信がＭＳＢファーストである場合、カメラマイコン（Ｃｉｎ）には００１１００１０Ｂ（Ｈｅｘ３２）、アクセサリマイコン（Ｌｉｎ）には１００１１００１Ｂ（Ｈｅｘ９９）というデータがそれぞれ送信されていることが分かる。また、図中のＢｕｓｙとは、各々のマイコンが送られた通信データを処理するために設けられた時間である。
【０００９】
図９は、カメラマイコンとアクセサリマイコン間でやり取りされるデータの意味を示した表である。
【００１０】
同図より、カメラマイコンはアクセサリマイコンに対して一方的な要求を送信する構成となっている。つまり、カメラマイコンはアクセサリマイコンに対してコマンドという特定のコードを送信し、アクセサリマイコンはそのコードを解読してカメラマイコンの要求に応えることになる。
【００１１】
同図はその例であり、例えば、カメラマイコンから送信されたコマンドが１０Ｈの場合、アクセサリマイコンは特定の光学用データを次の通信以降に８バイトで送信することになる。アクセサリ側で保持するデータはこの光学系に関するデータが最も多く、アクセサリ側の状態が変化した場合は常にデータを更新する必要があり、カメラおよびアクセサリ共に最も通信に負担が掛かるデータである。
【００１２】
同じく、コマンドが１２Ｈの場合、アクセサリマイコンは、例えばアクセサリ側に設けられたスイッチの状態、内蔵するモータの動作／非動作状態など現在のアクセサリの状態を次の通信以降に３バイトで送信することになる。
【００１３】
また、コマンドが１４Ｈの場合、アクセサリマイコンはアクセサリが動作するための条件を設定したデータを次の通信以降に４バイトで受信しなければならない。この条件とは例えば内蔵するアクチュエータ（モータ等）の速度制限データである。
【００１４】
さらに、コマンドが２０Ｈの場合、アクセサリマイコンは次の通信以降の２バイトを受信した後、内蔵されたモータを起動するように動作する。カメラマイコンから受信した２バイトのコマンドは、たとえばモータの駆動方向と駆動量を示すコマンドである。
【００１５】
このように、アクセサリマイコンでは、カメラマイコンの要求に応えるシステムとなっているのが一般的であり、今後もカメラの高性能化、高機能化によってデータの種類および数量が増える傾向にある。
【００１６】
このようなカメラ−アクセサリ間でのデータ量の増大に対し、特許文献１では、データ通信命令を出力するカメラと、上記通信命令に応じてカメラにデータを通信するカメラアクセサリとを有するカメラシステムにおいて、アクセサリは、前回通信したデータと今回通信しようとするデータとが量および内容等において同じであるときに所定信号をカメラに出力し、カメラは上記所定信号が入力されたときには今回のアクセサリからのデータ通信を制限するとともに、前回通信されたデータに基づいて処理動作するカメラシステムが提案されている。
【特許文献１】特開平１０−１８６４８８号公報（段落０００９〜００１１、図１等）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、上記特許文献１にて提案のカメラシステムでは、アクセサリは一度送信したデータの内容に変更があるまでカメラにデータを送信しない。これを実現するには、カメラからは別コマンドを送り、アクセサリではその通信コマンドを解析し、その結果をカメラに送信するという一連の処理が必要となる。また、カメラはアクセサリデータが何時変更になるか分からないため、頻繁にアクセサリと別コマンドで通信する必要がある。このようなシステムでは、処理内容によってはかえって通信量が増大することが予想される。
【００１８】
また、近年のカメラは、高性能化によって内部に複数のマイコンを備え、各々のマイコンが交互にアクセサリと通信する構成となっているため、複数のマイコンが同じ内容の通信をアクセサリに要求した場合、アクセサリは一度通信したことで内容が変わっていないからといって通信しないことはできない。また、この対応方法として、どのカメラマイコンからの通信要求かを判別することが考えられる。しかし、アクセサリマイコンでの判別処理が必要となり、アクセサリへの通信に関わる負担が更に増加する。
【００１９】
このように、カメラとアクセサリという２つの機器を組み合わせて共通する通信を成立させようとした場合、各々のマイコンが持つ動作速度が同程度であれば問題は少ない。しかし、例えば、カメラは新しく高性能化していても、アクセサリが古いために通信が遅いような場合には、高性能化の意味がなくなってしまう。
【００２０】
一方、アクセサリにおいても、カメラの高性能化に合わせて通信処理能力の向上を図りたいが、コストが高くなる。つまり、価格の高低差が激しいアクセサリにおいては全て共通したシステム構成にできないため、結果的にカメラシステム全体の高性能化は難しくなる。
【００２１】
本発明は、カメラの高性能化、高機能化に伴うカメラ−アクセサリ間の通信の高速化および通信データの膨大化に対応するため、カメラおよびアクセサリの通信処理に関する負担を軽減することができるようにすることを目的としている。
【課題を解決するための手段】
【００２２】
上記の目的を達成するために、本発明では、カメラに対して装着可能なカメラアクセサリにおいて、カメラと通信を行うための通信回路と、カメラとの間で通信回路を介して１又は複数のデータの通信を行う通信制御手段と、カメラとの間での通信データを一時的に記憶する複数のレジスタとを有する。そして、通信制御手段は、通信データが複数あるときに、該複数の通信データをデータごとに複数のレジスタに記憶させてから該データに関わる処理を可能とする。
また、本発明では、カメラに対して装着可能なカメラアクセサリにおいて、カメラと通信を行うための通信回路と、該カメラアクセサリに関するデータを記憶したアクセサリデータ記憶手段と、アクセサリデータ記憶手段に記憶されたデータのうちカメラから通信回路を介して送信されてきたデータの送信要求コマンドに応じた１又は複数のデータを読み出してカメラに通信回路を介して送信する通信制御手段と、カメラに送信するデータを一時的に記憶する複数のレジスタとを有する。そして、通信制御手段は、送信要求コマンドに応じたデータが複数あるときに、該複数のデータをデータごとに複数のレジスタに記憶させてからカメラに送信する。
【００２３】
また、本発明では、カメラアクセサリが装着可能なカメラにおいて、カメラアクセサリと通信を行うための通信回路と、通信回路を介してカメラアクセサリとの間で１又は複数のデータを通信する通信制御手段と、カメラアクセサリとの通信データを一時的に記憶する複数のレジスタとを有する。そして、通信制御手段は、通信データが複数あるときに、該複数のデータをデータごとに前記複数のレジスタに記憶させてから該データに関わる処理を可能とする。
【００２４】
また、本発明では、カメラアクセサリが装着可能なカメラにおいて、カメラアクセサリと通信を行うための通信回路と、カメラアクセサリに対し通信回路を介してデータの送信要求コマンドを送信するとともに、カメラアクセサリから通信回路を介して送信されてきた、該送信要求コマンドに応じた１又は複数のデータを受信する通信制御手段と、該受信したデータを記憶する受信データ記憶手段と、カメラアクセサリから受信した情報を一時的に記憶する複数のレジスタとを有する。そして、通信制御手段は、カメラアクセサリから受信するデータが複数あるときに、該複数のデータをデータごとに複数のレジスタに記憶させてからカメラの該データに関わる処理を可能とする。
【発明の効果】
【００２５】
本発明のカメラアクセサリによれば、カメラとの通信データが複数ある場合にこれら複数のデータを複数のレジスタに一旦記憶させた後、処理（カメラへの送信やカメラアクセサリ内での制御）を可能とするため、従来のように１つのデータの通信ごとにＢｕｓｙ処理を行う必要がなくなり、通信制御手段の処理負担を軽減でき、高速で複数のデータの送信を行うことができる。
【００２６】
また、本発明のカメラにおいても、カメラアクセサリとの通信データが複数ある場合にこれら複数のデータを一旦複数のレジスタに記憶させた後、処理（カメラアクセサリへの送信やカメラ内での制御）を可能とするので、従来のように１つのデータの通信ごとにＢｕｓｙ処理を行う必要がなくなり、通信制御手段の処理負担を軽減でき、高速で複数のデータの受信を行うことができる。
【００２７】
なお、レジスタの数として、様々な種類の通信データのうち一度に通信される数が最大のもののデータ数以上の数とすることにより、すべてのデータの通信において上記効果が得られる。
【００２８】
また、通信制御手段に、上記複数のレジスタにデータを記憶させたことを示す情報を通信の相手方（カメラ又はカメラアクセサリ）に送信させることにより、相手方の通信制御を上記通信制御手段による通信制御に対応させることができ、最適な通信状態を確立することができる。
【００２９】
さらに、通信制御手段に、複数のレジスタに記憶されたデータがすべてカメラに送信されるまで又は送信要求コマンドに応じた複数のデータがすべてレジスタに記憶されるまでシリアル通信機能に関する動作を停止させるとよい。マイクロコンピュータ等の通信制御手段におけるシリアル通信機能（シリアルコミュニケーションインターフェースＳＣＩ）を使用すると必ずファームウエアが介在することになるが、本発明のように、複数のレジスタに記憶されたデータがすべてカメラに送信されるまで又は送信要求コマンドに応じた複数のデータがすべてレジスタに記憶されるまでＳＣＩの動作を停止させ、通信処理を複数のレジスタを含むハード的な処理で行うことにより、ファームウエアの介在を極力避けることができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００３１】
本実施例では、カメラアクセサリとしての交換レンズをデジタルカメラに装着する場合について説明する。
【００３２】
図１には、交換式オートフォーカスレンズ１とカメラ１０の内部構成を示している。交換式オートフォーカスレンズ１において、２はフォーカスユニットである。フォーカスレンズユニット２は、フォーカスレンズを保持し、アクチュエータとしてのモータ３によって光軸方向に駆動されて被写体にピントを合わせる。モータ３としては、電磁式、振動型、ボイスコイル式などの各種モータを使用することができる。本実施例では、電磁式モータを採用している。フォーカスレンズと不図示のズームレンズおよび絞り等とにより、撮影光学系が形成されている。
【００３３】
４はモータ３の回転量（および回転速度）を検出するための移動量検出ユニットで、モータ３の回転に同期して回転する周方向に複数のスリットが形成されたスリット盤と、ＬＥＤから照射された光の該スリット盤による遮断状態と透過状態とに応じて電気信号（パルス信号）を出力するフォトインタラプタとにより構成される。フォーカスユニット２の移動量は、モータ３の回転量と比例するため、移動量検出ユニット４はフォーカスユニット２の移動量検出にも使用される。
【００３４】
５はフォーカスユニット２の絶対位置を検出するための位置検出ユニットである。この位置検出ユニット５は、フォーカスユニット２に連動して移動する複数の導電性のブラシがレンズ１の本体部材に固定された導電パターンに対して摺動する構成を有し、それらの接触位置によって変化する信号の値でフォーカスユニット２の絶対位置を検出する。
【００３５】
６はデータの書き換えが可能な不揮発性メモリであるＥＥＰＲＯＭ（又はフラッシュメモリ）である。このＥＥＰＲＯＭ６には、本実施例では、位置検出ユニット５の値（フォーカスユニット２の絶対位置）や、不図示の絞りの位置や、不図示の像振れ補正ユニットの位置や、不図示のオートフォーカス／マニュアルフォーカス切換えスイッチの状態や、フォーカスユニット２を所定の基準位置にリセットした回数などのデータが記憶される。
【００３６】
７はレンズ１の全ての制御をつかさどる、ＣＰＵやＭＰＵ等からなるレンズマイクロコンピュータ（以下、レンズマイコンという）である。レンズマイコン７には、カメラ１０との通信を行うための通信コントローラ（通信制御手段）７ａと、ＲＯＭ及びＲＡＭからなる内部メモリ７ｂと、図示しないリセット回路、Ａ／Ｄ変換器、タイマー、入出力ポートおよびＲＡＭ等とが搭載されている。リセット回路は、マイコンへ供給している電源が仕様範囲以下の電圧になった場合に、マイコンの暴走を防止させるための回路である。
【００３７】
８はカメラ１０との通信を行うための複数の導電接点（金属片）を有する接点ユニット（通信回路）である。カメラ１０には、上記導電接点に対応した複数の導電突起が設けられており、レンズ１をカメラ１０に装着することにより、導電接点と導電突起とが接触し、レンズマイコン７とカメラマイコン１２との間の通信回線が形成される。
【００３８】
また、上記接点ユニット８内の所定の導電接点とこれに対応する導電突起とを介してレンズ１にカメラ１０から電源が供給される。
【００３９】
カメラ１０において、１２はカメラ１０のすべての制御をつかさどる、ＣＰＵやＭＰＵ等からなるカメラマイクロコンピュータ（以下、カメラマイコンという）である。カメラマイコン１２には、レンズマイコン７との通信を行うための通信コントローラ（通信制御手段）１２ａと、ＲＡＭ及びＲＡＭからなる内部メモリ１２ｂと、図示しないＡ／Ｄ変換器、電流検出器、タイマー、レンズへの電源供給スイッチ、入出力ポートおよびＲＯＭ等とが搭載されている。
【００４０】
１１はＣＣＤやＣＭＯＳセンサ等により構成される撮像素子であり、レンズ１（撮影光学系）により形成された被写体像を光電変換する。光電変換により得られた信号は、カメラマイコン１２内に設けられた画像処理回路（図示せず）によって各種処理が施されて画像信号とされ、この画像信号は半導体メモリ、磁気ディスク、光ディスク等の記録媒体１３に記録されたり、不図示のディスプレイパネルに表示されたりする。
【００４１】
なお、本実施例では、撮像素子１１における複数の撮像領域から出力された信号を用いて位相差検出方式により撮影光学系の被写体に対する焦点状態、すなわちピントのずれ量（デフォーカス量）を検出する。但し、焦点検出方式はこれに限らず、また被写体までの距離を測定してピントずれ量を算出する方法を用いてもよい。
【００４２】
カメラマイコン１２は、不図示のＡＦ開始スイッチが使用者によりオンされると、デフォーカス量を検出し、検出したデフォーカス量に基づいて合焦を得るために必要なフォーカスユニット２の駆動方向および駆動量（パルス換算値）を算出する。
【００４３】
このとき、被写体に適度なコントラストの差がない等の理由によりデフォーカス量が検出できない場合には、カメラマイコン１２はサーチモードであることを接点ユニット８を介してレンズマイコン７に送信する。一方、デフォーカス量を検出できたときは、プレディクションモードであることをレンズマイコン７に送信するとともに、算出したフォーカスユニット２の駆動方向および駆動量をレンズマイコン７に送信する。
【００４４】
レンズマイコン７は、それぞれのモードに合わせてモータ３を駆動し、フォーカスユニット２を移動させる。プレディクションモードの場合は、レンズマイコン７は移動量検出ユニット４からのパルス信号をカウントし、カメラマイコン１２から送信された駆動量と一致するようにフォーカスユニット２を移動させる。一方、サーチモードの場合は、位置検出ユニット５からの出力をモニターし、フォーカスユニット２の位置が無限遠端又は至近端となったときに直ちにフォーカスユニット２の駆動を停止させる。
【００４５】
レンズマイコン７は、フォーカスユニット２の駆動を開始すると、内部メモリ（アクセサリデータ記憶手段）７ｂにフォーカスユニット２が動作状態であることを書き込む。このメモリされた現在の状態を示す情報をステータス情報といい、カメラマイコン１２はこのステータス情報の送信要求をレンズマイコン７へ時々送信する。レンズマイコン７は、この送信要求に応じてカメラマイコン１２にステータス情報を送る。これにより、カメラマイコン１２は、フォーカスユニット２の状態を検知できる。なお、ステータス情報には、絞りの状態（通電／非通電）や現在の絞り位置も含まれる。絞りを駆動するモータ（図示せず）は、カメラマイコン１２からの駆動命令を受けたレンズマイコン７が動作させる。
【００４６】
また、レンズマイコン７の内部メモリ７ｂには、レンズ１に関する様々なデータが記憶されている。例えば、個々のレンズ１に割り当てられたＩＤデータ、カメラマイコン１２において前述したフォーカスユニット２の駆動量を演算するための敏感度データ、個々のレンズ１の光学的な調整データや製造上の誤差データなどがある。
【００４７】
これらのステータス情報やＩＤデータ、光学データ（敏感度データ、調整データ、誤差データ）といったレンズデータは、通常８ｂｉｔを１バイトデータとし、数バイトに分けられて（すなわち、複数バイトのデータとして）構成されている。具体的には、図９の表に示したように構成されている。
【００４８】
図１０には、レンズマイコン７の内部に設けられた、カメラマイコン１２とのシリアル通信を制御する通信コントローラ７ａの構造を示している。通信コントローラ７ａは、複数のレジスタ、すなわち８ｂｉｔシフトレジスタ７１と複数（ｎ）個の８ｂｉｔバッファレジスタ７２−１，７２−２，７２−３…７２−ｎとを有し、主にカメラマイコン１２へのデータ出力（図８のＬｏｕｔ）端子として接点ユニット８に接続されている（図８で説明したＬｉｎ端子も同様な構成となっていてもよい）。８ｂｉｔシフトレジスタ７１と複数の８ｂｉｔバッファレジスタ７２−１，７２−２，７２−３…７２−ｎの合計数は、カメラマイコン１２からの様々な送信要求に対してレンズマイコン７から送信される各種レンズデータのうち、最大のデータ数（通信回数）以上の数とすることが望ましい。
【００４９】
次に、図８と図１０を用いてカメラマイコン１２との通信シーケンスを説明する。カメラマイコン１２は、端子Ｃｃｌｋからレンズマイコン１２の端子Ｌｃｌｋにクロック信号を入力する。通信コントローラ７ａでは、クロック信号の立下りに同期して８ｂｉｔシフトレジスタ７１の下位側から１ｂｉｔずつデータを上位側にシフトさせる。レンズマイコン７では、８ｂｉｔシフトレジスタ７１が全てデータで埋め尽くされると割り込み処理が発生する。これは１バイトのデータ通信が終了したことを判断するためであり、カメラマイコン１２でも割り込みが発生する。
【００５０】
レンズマイコン７は８ｂｉｔシフトレジスタ７１のデータの内容を、ＢＵＳを通して確認する。このとき、レンズマイコン７は、カメラマイコン１２に対し、データの内容を確認処理中であることをカメラマイコン１２に知らせるため、ＬｃｌｋをＬｏに引き下げる処理を行う。これをＢｕｓｙ処理状態と呼ぶ。レンズマイコン７は、Ｂｕｓｙ処理が終了すると該Ｂｕｓｙ処理を解除するため、ＬｃｌｋをＨｉにし、再び通信可能であることをカメラマイコン１２に知らせる。
【００５１】
レンズマイコン７は、このＢｕｓｙ処理中にＬｉｎから入力された１バイトデータの内容を確認し、このカメラマイコン１２からのデータがコマンドデータであった場合、該コマンドを解析する。
【００５２】
解析の結果、コマンドが１バイト構成のデータの送信要求であった場合、該コマンドに対応するレンズデータを、内部メモリ７ａから読み出して８ｂｉｔシフトレジスタ７１にＢＵＳを通して転送し、これをカメラマイコン１２に送信して処理を終了する。
【００５３】
また、解析の結果、コマンドが４バイト（すなわち、複数）構成のデータの送信要求であった場合、対応する４バイトのデータを決定し、これら４バイトのデータのうち最初に送信するデータをＢＵＳを通して８ｂｉｔシフトレジスタ７１に転送して一旦記憶させる。また、次回の通信で送信するデータを８ｂｉｔバッファレジスタ７２−１に転送して一旦記憶させ、次々回の通信で送信するデータを８ｂｉｔバッファレジスタ７２−２に転送して一旦記憶させる。さらに、次々々回の通信で送信するデータを８ｂｉｔバッファレジスタ７２−３に転送して一旦記憶させる。
【００５４】
Ｂｕｓｙ処理が終了すると、通信コントローラ７ａはカメラマイコン１２へのデータ送信を行う。このとき、まずカメラマイコン１２に送信されるデータは、８ｂｉｔシフトレジスタ７１に転送記憶されたデータである。そして、最初のデータの通信が終了すると、通信コントローラ７ａは、予め組み込まれたロジック回路（図示せず）の動作によって、８ｂｉｔバッファレジスタ７２−１に記憶されていたデータを８ｂｉｔシフトレジスタ７１に、８ｂｉｔバッファレジスタ７２−２に記憶されていたデータを８ｂｉｔバッファレジスタ７２−１に、８ｂｉｔバッファレジスタ７２−３に記憶されていたデータを８ｂｉｔバッファレジスタ７２−２にそれぞれ転送する。（自動転送処理）
ここで、従来は１回の通信ごとにマイコンの割込み処理が行なわれ、Ｂｕｓｙ処理もその割込み処理で行うようにしていた。これに対し、本実施例では、それを必要な通信数に合わせて、全てのデータをバッファレジスタに転送させ、自動的にカメラに送信させることで割込み処理を入らなくしてマイコンへの負担を軽減させている。
【００５５】
この通信では、Ｂｕｓｙ処理も内部のロジック回路によって自動的に発生／停止するように構成されている。カメラによってはレンズが必ずＢｕｓｙ処理を行なうことを前提に設計されているものがあり、この様な仕様のカメラにこのレンズが装着された場合は、必ずＢｕｓｙ処理をしないと、通信出来なくなる。このため、この場合は、ハード回路で自動Ｂｕｓｙを発生させるようにすることでマイコンでの割込み処理を不必要にしている。さして、この場合、通信コントローラ７ａは、自動Ｂｕｓｙ処理が終了すると再び通信を行う。
【００５６】
なお、Ｂｕｓｙ処理が必要なカメラか、不必要なカメラかはレンズマイコン１２が判別する。そして、Ｂｕｓｙ処理はカメラマイコン１２の通信処理がＢｕｓｙの有無に影響しない場合は不要である。この詳細な内容は後述するフローチャートにおいて自動的なＢｕｓｙが無い構成で説明する。
【００５７】
このとき、カメラマイコン１２に送信されるデータは、８ｂｉｔシフトレジスタ７１に記憶されたデータであり、最初のＢｕｓｙ処理中にて８ｂｉｔバッファレジスタ７２−１に記憶されたデータである。
【００５８】
こうして、最初のＢｕｓｙ処理中にて８ｂｉｔバッファレジスタ７２−２および７２−３に記憶されたデータが順次８ｂｉｔシフトレジスタ７１に転送されてカメラマイコン１２に送信されると、一連の自動送信および自動Ｂｕｓｙの設定を解除し、次回の通信に備える操作を内部ロジック回路によって行う。
【００５９】
このように、レンズマイコン７は最初のコマンドデータの解析処理において、カメラマイコン１２に転送するデータを決定し、それが複数ある場合にはこれら複数のデータのうち最初に送信するデータを８ｂｉｔシフトレジスタ７１に記憶させるとともに、他のデータを８ｂｉｔバッファレジスタ７２−１〜７２−ｎに記憶させることで、その後のカメラマイコン１２へのデータ送信は、レンズマイコン７（通信コントローラ７ａ）のシリアル通信機能により連続して行われるため、レンズマイコン７の特にファームウエアに依存する通信処理が削減され、例えばカメラの高性能化によってカメラが頻繁に通信を要求してくる場合でも、対応することができる。
【００６０】
また、このようなバッファとして機能するレジスタを使用した通信処理の場合、レンズマイコン７におけるＢｕｓｙ処理は必要ないため、Ｂｕｓｙ処理を禁止するようにしてもよい（これについては後述のフローチャートで説明する）。さらに、Ｂｕｓｙ処理が無い場合は、レジスタ使用の通信であることをカメラマイコン１２が判別することも可能なため、カメラマイコン１２の処理をこれに対応させることで種々のカメラの仕様に合わせた、より早い通信も可能である。
【００６１】
なお、本実施例では、１つのデータを１バイト構成とした場合について説明したが、１つのデータを複数バイト構成とした場合でも本発明を適用することができる。例えば、１つのデータを１６ｂｉｔ（２バイト）構成としてもよい。
【００６２】
また、本実施例では、レンズマイコン７の内部に８ｂｉｔバッファレジスタを設けた場合について説明したが、レンズマイコンの外部にディスクリート部品構成で８ｂｉｔバッファレジスタを設けることも可能である。これにより、レンズマイコン７として様々なマイクロコンピュータを使用することができ、レンズ１の仕様（例えば、コスト面）に合ったマイクロコンピュータを選択することができる。
【００６３】
さらに、本実施例では、８ｂｉｔバッファレジスタ７２−１〜７２−３に記憶されたデータを、通信するごとに１つ隣のバッファレジスタに転送する形式になっているが、バッファレジスタを通信回数によって選択的に決定し、直接８ｂｉｔシフトレジスタに内容を転送させることでも同じ効果を得ることが可能である。
【００６４】
図２は、カメラマイコン１２における通信処理以外の処理動作（ここでは、オートフォーカス処理動作）を示したフローチャートである。以下、この図を用いてカメラマイコン１２でのオートフォーカス処理動作の流れを説明する。なお、同図において、２重線で囲んだ処理はレンズマイコン７との通信を行う処理を表している。
【００６５】
（ステップ１０１，１０２）
カメラマイコン１２は、不図示の各種スイッチの状態を検出し、カメラマイコン１２内のメモリ１２ｂに検出結果を書き込む。ここにいうスイッチには、オートフォーカス開始スイッチ、レンズ装着スイッチ、撮影開始スイッチ、モード切り換えスイッチ、ダイヤルスイッチおよびその他のスイッチがある。本実施例では、レンズ１はカメラ１０に装着済みであり、カメラ１０からレンズ１への電源供給も既に実行されているものとする。またここでの説明では、オートフォーカス開始スイッチがオンされたときの動作を中心に説明する。なお、オートフォーカス開始スイッチは、不図示のレリーズボタンが半押しされるとオンになる。
【００６６】
（ステップ１０４）
カメラマイコン１２は、レンズマイコン７に対してレンズデータの送信要求コマンドを接点ユニット８を介して送信する。レンズマイコン７は受信したコマンドを解析し、該コマンドに対応するレンズデータを接点ユニット８を介してカメラマイコン１２に送信し、カメラマイコン１２はこれを受信する。レンズデータは前述した通りであるが、ここでは、フォーカスユニット２の駆動量を演算するために必要な敏感度データ（例えば、フォーカスユニット２の移動量に対する撮像素子１１の受光面でのピントの移動量の比率を表す）とする。
【００６７】
レンズマイコン７は、上記送信要求コマンドを解析した結果、カメラマイコン１２に送信すべき（カメラマイコン１２が必要とする）データの内容（敏感度データ）とその数を決定する。図９に示したように、カメラマイコン１２から送信されたコマンドが１０Ｈｅｘであった場合、レンズマイコン７は光学データ（敏感度データ）をカメラマイコン１２に送信するためデータ数を確認する。図９によれば、データ数は８バイトである。
【００６８】
（ステップ１０５）
カメラマイコン１２は、ステップ１０２で検出したオートフォーカス開始スイッチがオンされているか否かを判断し、オンの場合はステップ不指示の場合はステップ１０６に進み、オンでなければステップ１０２に戻る。
【００６９】
（ステップ１０６）
カメラマイコン１２は、撮像素子１１からの信号に基づいて撮影光学系の焦点状態（デフォーカス量）を検出する。なお、本実施例では、焦点状態を表す信号は常に撮像素子１１から取り込んでおり、本ステップ１０６にてそのとき取り込んだ信号に基づいてデフォーカス量を得る。これにより、オートフォーカスに要する時間を短縮することができる。
【００７０】
（ステップ１０７）
カメラマイコン１２は、ステップ１０６で得たデフォーカス量のデータより、撮影光学系が被写体に対して合焦範囲（合焦とみなせる所定の範囲）にあるかどうかを判断する。合焦している場合は使用者に合焦中であることを、圧電ブザーによる音やＬＥＤの点灯表示等によって知らせる。そして、ステップ１１１に進む。
【００７１】
（ステップ１０８）
ステップ１０７において被写体に合焦していない場合は、カメラマイコン１２は、現在、レンズ１のフォーカスユニット２が駆動中であるか否かを判断する。駆動中の場合はステップ１０２に戻る。
【００７２】
（ステップ１０９）
カメラマイコン１２は、ステップ１０６で得たデフォーカス量のデータとステップ１０４でレンズマイコン７から得たフォーカスユニット２の敏感度データとに基づいて、合焦を得るために必要なフォーカスユニット２の駆動量（および駆動方向）を演算する。
【００７３】
（ステップ１１０）
カメラマイコン１２は、ステップ１０９での演算結果をレンズマイコン７に接点ユニット８を介して送信する。これが、レンズマイコン７に対するＡＦ動作開始命令となる（図９参照）。レンズマイコン７は、このＡＦ動作開始命令を受信すると、ただちにフォーカスユニット２の駆動を開始する。
【００７４】
（ステップ１１１）
ステップ１０７において合焦範囲である場合は、カメラマイコン１２は、レンズマイコン７に対してフォーカスユニット２の駆動停止命令を送信する（フォーカスユニット２の駆動が停止していても駆動していてもどちらでもよいように強制的に送信する）。
【００７５】
以上で、カメラマイコン１２によるオートフォーカス処理動作が終了する。
【００７６】
図３は、レンズマイコン７の内部処理を示したフローチャートである。以下、同図を用いてレンズマイコン７の通信処理以外の処理動作（ここでは、オートフォーカス処理動作）の流れを説明する。
【００７７】
（ステップ２０１，２０２）
レンズマイコン７は、各種スイッチ類の状態を検出し、レンズマイコン７内のメモリ７ｂにその検出結果を書き込む。スイッチ類としては、オートフォーカス／マニュアルフォーカス切換えスイッチ（図示せず）、位置検出ユニット５およびズームユニットの位置を検出するズーム検出スイッチ（不図示）等がある。
【００７８】
（ステップ２０３）
レンズマイコン７は、現在、フォーカスユニット２の駆動を行っているかを判別する。駆動中であればステップ２０４に進み、駆動中でなければステップ２０２に戻る。
【００７９】
（ステップ２０４）
レンズマイコン７は、フォーカスユニット２の駆動開始から駆動現在までの駆動量（移動量検出ユニット４からのパルス信号のカウント値）とカメラマイコン１２からのＡＦ駆動開始命令に含まれた駆動量（パルス換算値）とを比較し、フォーカスユニット２の駆動量がＡＦ駆動開始命令の駆動量に達していない場合はステップ２０２に戻り、達している場合はステップ２０５に進む。
【００８０】
（ステップ２０５）
レンズマイコン７は、フォーカスユニット２の駆動を停止させ、ステップ２０２に戻る。これにより、合焦が得られる。
【００８１】
図４および図５は、カメラマイコン１２の通信に関する内部処理を示したフローチャートである。以下、この図を用いてカメラマイコン１２での通信処理の流れを説明する。なお、図４および図５において、同じ丸囲み数字が付された部分は互いにつながっていること示す。
【００８２】
（ステップ３０１，３０２）
カメラマイコン１２は、図２において２重線で囲まれた処理（ステップ１０４，１０８，１１０，１１１）の中でレンズマイコン７との通信が必要な場合、この処理を行う。まずカメラマイコン１２は、コマンド送信処理なのかコマンド送信後のデータ読み取り処理なのかを判別する。
【００８３】
（ステップ３０３）
コマンド送信処理の場合、カメラマイコン１２は、レンズマイコン７がＢｕｓｙ処理中か否かを判断し、Ｂｕｓｙ処理中であれば該Ｂｕｓｙ処理が解除されるまで待つ。
【００８４】
（ステップ３０４）
カメラマイコン１２は、レンズマイコン７に送信するコマンドをカメラマイコン１２内のシリアル送信バッファである８ｂｉｔシフトレジスタ（図示せず）に転送し、Ｃｃｌｋにクロック出力を発生させ、１バイト分のコマンドをレンズマイコン７に送信する。
【００８５】
（ステップ３０５）
カメラマイコン１２は、ステップ３０４でのコマンド送信が終了するまで待つ。
【００８６】
（ステップ３０６）
カメラマイコン１２による１バイト分のコマンド送信が終了すると、レンズマイコン７はＬｃｌｋをＬｏに引き下げ（Ｂｕｓｙ状態）、コマンドを受信したことをカメラマイコン１２に伝達する。カメラマイコン１２は、ＣｃｌｋがＬｏに引き下げられるまで、すなわちレンズマイコン７がＢｕｓｙ状態になるまで待ち、通信処理を終了する（ステップ３１４）。
【００８７】
（ステップ３０７）
カメラマイコン１２は、ステップ３０２においてコマンド送信後のデータ読み取り処理のための通信であると判別すると、データ読み取りの最初の送信（初期通信）かどうかを判断する。
【００８８】
（ステップ３０８）
初期通信であった場合は、カメラマイコン１２はレンズマイコン７に送信するデータを上記シリアル送信バッファに転送し、Ｃｃｌｋにクロック出力を発生させ、１バイト分のデータをレンズマイコン７に通信する。ここで送信するデータは、レンズマイコン７が送信されたデータを読み取って、読み取ったことを返信することによってレンズ１が適正にカメラ１０に装着されたかどうかを確認するためのものである。
【００８９】
（ステップ３０９）
カメラマイコン１２は、ステップ３０８でのデータ送信が終了するまで待つ。
【００９０】
（ステップ３１０）
カメラマイコン１２は所定時間待つ。ここで、カメラマイコン１２としては、装着されたレンズ１がＬｃｌｋをＢｕｓｙにするタイプかどうかを分からないため、予めレンズマイコン７がカメラマイコン１２からのデータを受信してからＢｕｓｙ処理に入るまでの最大時間を所定時間として設定しておき、その所定時間が経過してもＢｕｓｙにならなかっときは装着されたレンズ１がＢｕｓｙ処理をしないタイプであると判別する。ここでの処理によって、カメラの動作シーケンスを変更することが目的である。
【００９１】
（ステップ３１１）
カメラマイコン１２は、ステップ３１０での待ち時間が所定時間に達すると、ＣｃｌｋがＬｏ（Ｂｕｓｙ状態）かどうかを判別する。
【００９２】
（ステップ３１２）
カメラマイコン１２は、レンズマイコン７がＢｕｓｙ処理中である場合は、通信の動作モードをモード１に設定する。
【００９３】
（ステップ３１３）
カメラマイコン１２は、レンズマイコン７がＢｕｓｙ処理中でない場合は、通信の動作モードをモード２に設定する。ステップ３１２および３１３からはステップ３１４に進み、通信処理を終了する。
【００９４】
ここで、ステップ３１２およびステップ３１３で設定されるモード１およびモード２について説明する。
【００９５】
図１１は、レンズマイコン７とカメラマイコン１２の通信時におけるＬｃｌｋまたはＣｃｌｋの信号波形を示している。
【００９６】
モード１は、装着されたレンズが通信のたびにＢｕｓｙ処理を行うタイプである場合に設定される。モード２は、装着されたレンズが通信のたびにはＢｕｓｙ処理を行わないタイプである場合に設定される。モード１において、レンズマイコン７がカメラマイコン１２と通信をするごとにＢｕｓｙ処理を実行すると、レンズマイコン７の処理時間が増えてしまう。一方、図１０に示した複数のレジスタ７１，７２−１〜７２−ｎを備えたレンズがモード２でカメラマイコン１２と通信する場合は、通信をするごとのＢｕｓｙ処理が不要であり、より高速な通信が可能となるとともにレンズマイコン７の負担も少なくなる。
【００９７】
また、上記複数のレジスタを備えたレンズであっても、Ｂｕｓｙ処理を内部のロジック回路或いはレンズマイコンの内蔵機能を使用して処理するようにしてもよい。但しこの場合は、カメラマイコン１２にはステップ３０６のようなＢｕｓｙ解除待ちの時間が必要となる。
【００９８】
（ステップ４００）
ステップ３０７で初期通信でないと判断した場合は、レンズ１がモード１での通信を行うタイプかモード２での通信を行うタイプかを判別する。モード１での通信を行うタイプである場合はステップ３０３に進み、モード２での通信を行うタイプである場合はステップ４０１に進む。
【００９９】
（ステップ４０１）
カメラマイコン１２は、レンズマイコン７に送信するデータをシリアル送信バッファ（８ｂｉｔシフトレジスタ）に転送し、Ｃｃｌｋにクロック出力を発生させ、１バイト分のデータをレンズマイコン７に送信する。
【０１００】
（ステップ４０２）
カメラマイコン１２は、ステップ４０１での送信が終了するまで待ち、送信が終了すると通信処理を終了する（ステップ４０３）。
ならＢｕｓｙが解除されるまで待つ。
【０１０１】
なお、ステップ４００からステップ３０３に進んだ場合は、カメラマイコン１２はレンズマイコン７がＢｕｓｙ中かを判断し、Ｂｕｓｙ中ならＢｕｓｙが解除されるまで待つ。そして、ステップ３０４において、レンズマイコン７に送信するコマンドをシリアル送信バッファに転送し、Ｃｃｌｋにクロック出力を発生させ、１バイト分のコマンドをレンズマイコン７に送信する。この送信が終了すると（ステップ３０５）、レンズマイコン７はＬｃｌｋ（Ｃｃｌｋ）をＬｏに引き下げ（Ｂｕｓｙ状態）、データを受信したことをカメラマイコン１２に伝達する。カメラマイコン１２は、ＣｃｌｋがＢｕｓｙ状態になるまで待ち（ステップ３０６）、通信処理を終了する（ステップ３１４）。
【０１０２】
以上の説明で分かるように、レンズタイプの違いに対応したモード１とモード２でのカメラマイコン１２での処理の違いは、ステップ３０６のＢｕｓｙ解除待ちがあるか無いかである。これによってカメラマイコン１２もより早い処理を行うことができる。
【０１０３】
図６は、レンズマイコン７の通信に関する処理を示したフローチャートである。以下、同図を用いてレンズマイコン７での通信処理の流れを説明する。この処理は、レンズマイコン７の内部では通信に関する割り込み処理とした方が、より高速な通信処理が可能である。
【０１０４】
（ステップ５０１）
レンズマイコン７は、カメラマイコン１２から送信されたデータ（コマンド）がレンズマイコン７内に設けられた受信用８ｂｉｔシフトバッファ（図１０に示した送信用８ｂｉｔシフトバッファ７１と構成が同じもの）に転送されると、本フローの処理を開始する。
【０１０５】
（ステップ５０２）
レンズマイコン７は、カメラマイコン１２からのデータを受信すると、Ｌｃｌｋを引き下げ、Ｂｕｓｙ処理中であることを示すデータをカメラマイコン１２に送信する。カメラマイコン１２は、レンズマイコン７がＢｕｓｙ処理中であるためこの間は通信しない。
【０１０６】
（ステップ５０３）
レンズマイコン７は、カメラマイコン１２から受信した１バイトのデータの解析を行う。カメラマイコン１２からのデータがコマンド（レンズマイコン７に対する要求命令）であった場合は、図９に示したようなテーブル（予め内部メモリ７ｂに記憶されている）の中からカメラマイコン１２の要求内容とカメラマイコン１２に送信するべきデータおよびその数を決定する。
【０１０７】
（ステップ５０４）
次に、レンズマイコン７は、カメラマイコン１２から受信した１バイトのデータがフォーカスユニット２の駆動命令（ＡＦ駆動開始命令）かどうかを判断する。図９の例では、１バイトコマンドが２０Ｈｅｘの場合にその駆動命令と判断する。
【０１０８】
（ステップ５０５）
ステップ５０４でＡＦ駆動開始命令であると判断した場合、モータ３を駆動してフォーカスユニット２の駆動を開始させる。
【０１０９】
（ステップ５０６）
ステップ５０４でＡＦ駆動開始命令でないと判断した場合、すなわちレンズ１の光学データやステータスデータであると判断した場合は、レンズマイコン７（通信コントローラ７ａ）は、図１０を用いて説明したように、該コマンドに対応する（カメラマイコン１２が必要としている）複数のデータのうち最初にカメラマイコン１２に送信するデータを８ｂｉｔシフトレジスタ７１に転送して記憶させ、残りのデータをデータごとに複数の８ｂｉｔバッファレジスタ７２−１〜７２−ｎに送信順に全て転送して記憶させる。この処理によって、次回の通信から順番にデータがカメラマイコン１２に送信される。
【０１１０】
（ステップ５０７）
レンズマイコン７は、ステップ５０３において解析したコマンドに対応した、カメラマイコン１２への送信データが複数であるか否か、つまりステップ５０６において８ｂｉｔバッファレジスタ７２−１〜７２−ｎにデータ転送が行われたか送信データが１つ以下であるかを判断する。送信データが複数である場合はステップ５０８に、送信データが１つ以下の場合はステップ５０９に進む。
【０１１１】
（ステップ５０８）
カメラマイコン１２への送信データが複数の場合は、レンズマイコン７は、自動送信モードを設定し、カメラマイコン１２がＢｕｓｙ処理が必要でる場合は自動Ｂｕｓｙモードに設定する。
【０１１２】
また、次回のこの通信割り込み処理を禁止設定する等の処理を行う。カメラマイコン１２に送信すべきデータは全て８ｂｉｔレジスタ７１，７２−１〜７２−ｎに転送済みであるため、次回からの通信は自動的にカメラマイコン１２に送信されるため、この割り込み処理自体が不必要となり、常にこの割り込みが入る従来のシステムに比べてレンズマイコン７の負担を減らすことができる。
【０１１３】
（ステップ５０９）
ステップ５０７でカメラからのコマンドを解析した結果、カメラマイコン１２に送信するデータが１つ以下の場合、つまりステップ５０６においていずれの８ｂｉｔバッファレジスタ７２−１〜７２−ｎにもデータ転送が行われなかった場合は、自動通信解除、自動Ｂｕｓｙ解除、次回のこの通信割り込み処理の許可設定といった処理を行う。これによって、次回の通信もこの割り込み処理を行い、カメラマイコン１２との通信に不具合が出ないシステムとなる。
【０１１４】
（ステップ５１０）
レンズマイコン７は、Ｂｕｓｙ処理を中止し、通信割り込み処理を終了する（ステップ５１１）。
【０１１５】
これまでの説明で分かるように、カメラマイコン１２からレンズマイコン７に送信するコマンドをできるだけ少なくする一方、該コマンドに対してレンズマイコン７からカメラマイコン１２に送信するデータ数を増やすことにより、レンズマイコン７の通信処理に関する負担を軽減することができる。
【実施例２】
【０１１６】
実施例１では、主にレンズマイコン７に通信バッファとしてのレジスタ（８ｂｉｔシフトレジスタおよび複数の８ｂｉｔバッファレジスタ）を備えた場合について説明したが、カメラにも同様な通信バッファを設けることにより、更に大量のデータを短時間で交換でき、カメラマイコン１２の通信処理に関する負担を軽減することができる。
【０１１７】
以下、交換レンズ１の装着が可能なカメラ１０にも、８ｂｉｔバッファレジスタおよび複数の８ｂｉｔバッファレジスタを設けた場合について説明する。なお、本実施例のレンズ１およびカメラ１０の基本構成は実施例１で説明したものと同様であり、共通する構成要素には同符号を付す。
【０１１８】
図１２には、カメラマイコン１２の内部に設けられた通信コントローラ１２ａの内部構造を示す。通信コントローラ１２ａは、８ｂｉｔシフトレジスタ８１と複数（ｎ）個の８ｂｉｔバッファレジスタ８２−１〜８２−ｎを有しており、主にレンズマイコン７からのデータ入力（図８のＣｉｎ）端子として接点ユニット８に接続されている。８ｂｉｔシフトレジスタ８１と複数の８ｂｉｔバッファレジスタ８２−１，８２−２，８２−３…８２−ｎの合計数は、カメラマイコン１２からの様々な送信要求に対してレンズマイコン７から送信される各種レンズデータのうち、最大のデータ数（通信回数）以上の数とすることが望ましい。
【０１１９】
図８と図１２を使用してレンズマイコン７との通信におけるシーケンスを説明する。カメラマイコン１２は、８ｂｉｔシフトレジスタ８１にコマンド（レンズへマイコンへの要求命令）をＢＵＳを通して転送し、端子Ｃｃｌｋへクロックを発生させる。８ｂｉｔシフトレジスタ８１では、クロックの立下りに同期して下位側から１ｂｉｔずつデータを上位側にシフトさせる。そして、カメラマイコン１２では、８ｂｉｔシフトレジスタ８２が全てデータで埋め尽くされると割り込み処理が発生する。これは１バイトのデータ通信が終了したことを判断するためであり、レンズマイコン７でも割り込みが発生する。
【０１２０】
Ｃｉｎにつながっている８ｂｉｔシフトレジスタ８１がデータで埋まると、カメラマイコン１２およびレンズマイコン７はデータの内容をＢＵＳを通して確認する。このとき、レンズマイコン７は、カメラマイコン１２に対し、内容確認処理中であることをカメラマイコン１２に知らせるため、端子ＬｃｌｋをＬｏに引き下げる処理を行う。これをＢｕｓｙ処理状態と呼ぶ。レンズマイコン７はＢｕｓｙ処理が終了すると、Ｂｕｓｙ処理を解除するため端子ＬｃｌｋをＨｉにし、再び通信可能であることをカメラマイコン１２に知らせる。
【０１２１】
カメラマイコン１２は、このＢｕｓｙ処理中にレンズマイコン７から端子Ｃｉｎを通じて入力された１バイトデータの内容をＢＵＳを通して確認し、レンズマイコン７からのデータを解析する。解析の結果、１バイト構成のデータであることを確認した場合、次に必要なデータを８ｂｉｔシフトレジスタにＢＵＳを通して転送する。ここにいう必要なデータとは、カメラの種類を示すＩＤコードやカメラの動作状態を示すステータス情報がある。また、単にレンズ情報を得るためだけの無意味な通信の場合もある。
【０１２２】
カメラマイコン１２は、装着されたレンズ１が自動通信を装備しているか否かを予めを判断しており、レンズマイコン７が自動通信に対応している場合は先にレンズマイコン７に送信したコマンドに対してレンズマイコン７から送信されてくるデータが複数であると認識し、次回からの通信を自動とするための設定を行う。
【０１２３】
カメラマイコン１２は、Ｂｕｓｙ処理が解除されたと同時にＣｃｌｋからクロックを発生させ、全てのデータ送信が終了するのを待つ。この間、レンズマイコン７から送信されてきたデータは、８ｂｉｔシフトレジスタ８１を介して８ｂｉｔバッファレジスタ８２−１〜８２−ｎに順次記憶される。
【０１２４】
例えば、レンズマイコン７から送信されてくるデータが４バイト構成である場合、最初に送信されてきたデータをＢＵＳを通して８ｂｉｔシフトレジスタ８１に転送して一旦記憶させる。また、次回の通信でデータが送信されてきた場合、８ｂｉｔシフトレジスタ８１に記憶されていた最初に送信されてきたデータを８ｂｉｔバッファレジスタ８２−１に転送して記憶させ、新たに送信されてきたデータを８ｂｉｔシフトレジスタ８１に記憶させる。
【０１２５】
さらに、次々回の通信でデータが送信されてきた場合、最初に送信されてきたデータを８ｂｉｔバッファレジスタ８２−２に転送し、２回目に送信されてきたデータを８ｂｉｔバッファレジスタ８２−１に転送し、新たに送信されてきたデータを８ｂｉｔシフトレジスタ８１に記憶させる。
【０１２６】
こうしてレンズマイコン７からのデータを全て受信した場合は、８ｂｉｔシフトレジスタ８１、８ｂｉｔバッファレジスタ８２−１〜８２−ｎに一旦記憶されたデータをＢＵＳを通して読み取り、各種処理および制御に使用する。例えば、内部メモリ１２ｂに書き込む。
【０１２７】
なお、実施例１で説明したレンズ１と実施例２で説明したカメラとを組み合わせたカメラシステムにおいては、レンズマイコン７とカメラマイコン１２間でのデータ転送が双方とも自動で行われるため、レンズマイコン７およびカメラマイコン１２は通信中に他の処理に専念することが可能となる。
【０１２８】
また、上記各実施例では、デジタルカメラとこれに装着可能な交換レンズについて説明したが、本発明はフィルムカメラとこれに装着可能な交換レンズにも適用することができる。
【０１２９】
また、上記各実施例では、カメラとの通信を行うカメラアクセサリが交換レンズである場合について説明したが、フラッシュ、データ保持用コンピュータボード（データパックなど）、赤外リモートコントロールユニットなどの他のカメラアクセサリおよびこれが装着されるカメラにも本発明を適用することができる。
【０１３０】
また、実施例１ではカメラアクセサリ（レンズ）側の出力系に、実施例２ではカメラ側の入力系に複数のレジスタが設けられている場合について説明したが、アクセサリ側の入力系とカメラ側の出力系にも同様に複数のレジスタを設けることにより、カメラとアクセサリ間の双方向通信を高速かつ大容量で行うことが可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施例１であるカメラとレンズの内部構成を示すブロック図。
【図２】実施例１におけるカメラマイコンの通信処理以外の処理動作を示すフローチャート。
【図３】実施例１におけるレンズマイコンの通信処理動作以外の動作を示すフローチャート。
【図４】実施例１におけるカメラマイコンの通信処理動作を示すフローチャート。
【図５】実施例１におけるカメラマイコンの通信処理動作を示すフローチャート。
【図６】実施例１におけるレンズマイコンの通信割り込み処理動作を示すフローチャート。
【図７】カメラマイコンとアクセサリマイコンの通信回路を示す概念図。
【図８】カメラ−レンズ間の通信動作を示すタイミングチャート。
【図９】カメラ−アクセサリ間のコマンド例を示した表図。
【図１０】実施例１のレンズマイコンに設けられた通信コントローラの構成を示す概念図。
【図１１】端子Ｌｃｌｋ又はＣｃｌｋの通信時の信号波形を示す図。
【図１２】本発明の実施例２であるカメラのカメラマイコンに設けられた通信コントローラの構成を示す概念図。
【符号の説明】
【０１３２】
１  交換レンズ
２  フォーカスユニット
３  モータ
４  移動量検出ユニット
５  位置検出ユニット
６  ＥＥＰＲＯＭ
７  レンズマイコン
７ａ  通信コントローラ
７ｂ  内部メモリ
８  接点ユニット
１０  カメラ
１１  撮像素子
１２  カメラマイコン
１２ａ  通信コントローラ
【図１】
2005037824.tif 000003
【図２】
2005037824.tif 000004
【図３】
2005037824.tif 000005
【図４】
2005037824.tif 000006
【図５】
2005037824.tif 000007
【図６】
2005037824.tif 000008
【図７】
2005037824.tif 000009
【図８】
2005037824.tif 000010
【図９】
2005037824.tif 000011
【図１０】
2005037824.tif 000012
【図１１】
2005037824.tif 000013
【図１２】
2005037824.tif 000014