(57)【要約】      （修正有）【課題】カメラ本体−交換レンズ間の通信に関して、Ｂｕｓｙ通信が不要で通信の高速化を達成でき、さらに通信データの増加に対応可能な交換レンズを提供する。【解決手段】通信制御手段は、送信要求系コマンドに応じたデータが複数あるときに、複数のデータのうち、第１のデータの送信中に、第２のデータをバッファレジスタに一時的に記憶させ、２バイト以上からなる第１のデータの送信完了後、第２のデータのうちバッファレジスタへの一時記憶が完了しているデータから順次シフトレジスタに転送し、カメラ本体から出力されるクロック信号に同期して順次送信する。【選択図】図６
2010049034.tif 000002
【特許請求の範囲】
【請求項１】
カメラ本体に着脱自在に装着される交換レンズであって、
前記カメラ本体と通信を行う通信回路と、
前記交換レンズに関するデータを記憶したレンズデータ記憶手段と、
前記レンズデータを前記カメラ本体に送信するためのシフトレジスタと、
前記シフトレジスタに転送するレンズデータを一時的に記憶するバッファレジスタと、
前記レンズデータ記憶手段に記憶されたデータのうち、前記カメラ本体から前記通信回路を介して入力された送信要求系コマンドに応じた１又は複数のデータを読み出し、前記シフトレジスタに転送してから、前記カメラ本体から出力されるクロック信号に同期して前記通信回路を介して送信する通信制御手段と、
を有し、
前記通信制御手段は、前記送信要求系コマンドに応じたデータが複数あるときに、前記複数のデータのうち、第１のデータの送信中に、前記第２のデータを前記バッファレジスタに一時的に記憶することを特徴とする交換レンズ。
【請求項２】
前記通信制御手段は、前記第１のデータ送信完了後、前記第２のデータのうち前記バッファレジスタへの一時記憶が完了しているデータから順次前記シフトレジスタに転送し、前記カメラ本体から出力されるクロック信号に同期して順次送信することを特徴とする請求項１に記載の交換レンズ。
【請求項３】
前記第１のデータは２バイト以上からなることを特徴とする請求項１又は２に記載の交換レンズ。
【請求項４】
前記バッファレジスタの数は、前記レンズデータ記憶手段にあらかじめ記憶され、前記送信要求系コマンドに応じて前記カメラ本体に送信されるレンズデータのうち最大容量以上の数であることを特徴とする請求項１乃至３のいずれかに記載の交換レンズ。
【請求項５】
請求項１乃至４のいずれかに記載の交換レンズと、前記カメラ本体と、を有するカメラシステム。
【請求項６】
着脱自在に装着されるカメラ本体に対して、要求されたレンズデータを送信可能な交換レンズのレンズデータ通信方法において、
前記レンズデータを記憶した記憶部から先頭の複数バイトからなる先頭データを読み出し、レジスタに転送する第１の転送工程と、
転送した前記先頭データを前記カメラ本体に送信する第１の送信工程と、
前記レンズデータに、前記先頭データ以外の残りデータがあるかどうかを判定する判定工程と、
を有し、
前記判定工程は前記第１の送信工程と平行して行われ、
前記残りデータがあった場合には、前記残りデータを前記レジスタに転送する第２の転送工程が、前記判定工程終了後に前記第１の送信工程中に開始され、
転送した前記残りデータを前記カメラ本体に送信する第２の送信工程が、前記第１の送信工程終了後に開始されることを特徴とするレンズデータ通信方法。
【請求項７】
前記第２の送信工程は、前記第２の転送工程において転送が完了した前記残りデータから順次行われることを特徴とする請求項６に記載のレンズデータ通信方法。
【請求項８】
前記データ通信の方式はクロック同期式シリアル通信であることを特徴とする請求項６又は７に記載のレンズデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はカメラ本体との間でデータの送受信を行う交換レンズに関し、より詳細には、交換レンズデータをカメラ本体側に素早く送信できる交換レンズに関する。
【背景技術】
【０００２】
従来より、カメラ本体と交換レンズ間で通信を行うことが可能なレンズ交換式カメラシステムが知られている。この種のカメラシステムでは、クロック信号に同期させたシリアル方式による通信を行っているものが一般的である。カメラ本体−交換レンズ間の通信ラインとして、例えば、通信クロック信号ライン、データ送信ライン、データ受信ライン、イネーブル信号ライン等が用いられる。カメラ本体と交換レンズとは、イネーブル信号がＬｏｗのときに通信イネーブルとなり、交換レンズ内のレンズ側マイコンは、クロック信号と同期してカメラ側マイコンから受信したコマンド信号に応じたレンズデータをクロック信号と同期させてカメラ本体に送信することで通信を行っている。
【０００３】
また、上述した構成とは別に、交換レンズが一般にＢｕｓｙ信号と呼ばれる信号を、クロック信号ラインを介してカメラ本体に送信する構成としたレンズ交換式カメラシステムも存在する。このような構成のカメラシステムでは、交換レンズはＢｕｓｙ信号をカメラ本体に送信することによって、交換レンズ内ＣＰＵ（又はマイコン）が特定の処理を実行中であることをカメラ本体に知らせることが可能となる。Ｂｕｓｙ信号を受信したカメラ本体は、交換レンズへの通信を一時中断させることで交換レンズ内の処理を優先させている。これにより、レンズ内の処理不良及びカメラ本体との間の通信不良を避けることができる。
【０００４】
その他にも、近年のカメラ本体−交換レンズ間の通信高速化のニーズや、手振れ補正機構及びレンズ内モータ搭載による通信データの膨大化に対応するため、カメラ本体−交換レンズ間の通信に関する様々な発明が考案されている。
【０００５】
例えば、特許文献１に開示の発明では、カメラに対して装着可能なカメラアクセサリにおいて、カメラと通信を行うための通信回路と、カメラアクセサリに関するデータを記憶したアクセサリデータ記憶手段と、アクセサリデータ記憶手段に記憶されたデータのうちカメラから通信回路を介して送信されてきたデータの送信要求コマンドに応じた１又は複数のデータを読み出してカメラに通信回路を介して送信する通信制御手段と、カメラに送信するデータを一時的に記憶する複数のレジスタとを有し、通信制御手段は、送信要求コマンドに応じたデータが複数あるときに、該複数のデータをデータごとに複数のレジスタに記憶させてからカメラに送信する構成としている。
【０００６】
また、例えば、特許文献２に開示の発明では、着脱自在に装着されたカメラボディとの間でレンズ情報を通信する通信機能を備えた交換レンズであって、カメラボディとの通信を仲介するインターフェース用ロジックＩＣと、このロジックＩＣとは別個に形成され、このロジックＩＣに接続された、交換レンズ情報を記憶したメモリ手段とを備え、カメラボディに送信する交換レンズ情報の先頭所定バイトに、同一レンズでは変化しない固定情報を割り当てて、前記ロジックＩＣの複数の端子を前記固定情報に対応させたレベルを設定した固定情報設定ピン群とし、前記ロジックＩＣは、カメラボディとの通信において、最初の所定バイト分は前記固定情報設定ピン群で設定された前記交換レンズの固定情報を読み込んでカメラボディに送信し、その後に前記メモリ手段から読み込んだ交換レンズ情報をカメラボディに通信する構成としている。
【特許文献１】特開２００５−３７８２４号公報
【特許文献２】特開２００８−１２２５５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の従来技術では以下のような問題点があった。
【０００８】
すなわち、特許文献１に開示の発明では、カメラから要求されたデータの送信を開始するまでに、全てのデータをバッファレジスタに一時的に記憶させる時間が必要となるため、カメラの通信を待たせておくためのＢｕｓｙ信号を出力する構成とする必要があった。また、今後要求されるデータの量がさらに増加すると、多数のデータをバッファレジスタに一時記憶させるのに必要な時間も増え、クロック信号通信が始まる前のカメラアクセサリのＢｕｓｙ処理状態が長くなることになり、通信の高速化を達成できないことになる。
【０００９】
また、特許文献２に開示の発明では、ＥＥＰＲＯＭにアドレスデータを送信してレンズデータを読み出すための時間を稼ぐために、交換レンズ側にレンズマイコンの他にインターフェース用ロジックＩＣ（ゲートアレー）及びメモリ手段（ＥＥＰＲＯＭ）を実装する必要があるため、回路構成が複雑になりコストがかかる等の問題があった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、カメラ本体−交換レンズ間の通信に関して、Ｂｕｓｙ通信が不要で通信の高速化を達成でき、さらに通信データの増加に対応可能な交換レンズ及びカメラシステム、並びにデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明を実施の交換レンズは、カメラ本体に着脱自在に装着される交換レンズにおいて、カメラ本体と通信を行う通信回路と、交換レンズに関するデータを記憶したレンズデータ記憶手段と、レンズデータをカメラ本体に送信するためのシフトレジスタと、シフトレジスタに転送するレンズデータを一時的に記憶するバッファレジスタと、レンズデータ記憶手段に記憶されたデータのうち、カメラ本体から通信回路を介して入力された送信要求系コマンドに応じた１又は複数のデータを読み出し、シフトレジスタに転送してから、カメラ本体から出力されるクロック信号に同期して通信回路を介して送信する通信制御手段と、を有し、通信制御手段は、送信要求系コマンドに応じたデータが複数あるときに、複数のデータのうち、第１のデータの送信中に、第２のデータをバッファレジスタに一時的に記憶する構成としたものである。
【００１２】
さらに本発明は、上記発明において、通信制御手段は、２バイト以上からなる第１のデータの送信完了後、第２のデータのうちバッファレジスタへの一時記憶が完了しているデータから順次シフトレジスタに転送し、カメラ本体から出力されるクロック信号に同期して順次送信する構成とし、さらに、バッファレジスタの数を、送信要求系コマンドに応じてカメラ本体に送信されるレンズデータのうち最大容量以上の数としたものである。
【００１３】
さらに、本発明を実施のレンズデータ通信方法では上記目的を達成するために、レンズデータを記憶した記憶部から先頭の複数バイトからなる先頭データを読み出し、レジスタに転送する第１の転送工程と、転送した先頭データをカメラ本体に送信する第１の送信工程と、レンズデータに、先頭データ以外の残りデータがあるかどうかを判定する判定工程と、を有し、判定工程は第１の送信工程と平行して行われ、残りデータがあった場合には、残りデータを前記レジスタに転送する第２の転送工程が、判定工程終了後に第１の送信工程中に開始され、転送した残りデータをカメラ本体に送信する第２の送信工程が、第１の送信工程終了後に開始され、さらに、第２の送信工程は、第２の転送工程において転送が完了した残りデータから順次行われる構成としたものである。
【発明の効果】
【００１４】
本発明を実施の交換レンズ及びカメラシステム、並びにデータ通信方法によれば、簡単な構成でコストの増加を抑えながらも、Ｂｕｓｙ通信が不要で通信の高速化を達成でき、さらに通信データの増加に対応可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、添付の図面に従って、本発明を実施するための最良の形態について説明する。なお、この実施の形態により本発明が限定されるものではない。
【００１６】
図１は、本発明の一実施形態である交換レンズ及び、その交換レンズに着脱自在に取り付けられたカメラ本体からなるカメラシステムのブロック図であり、図２は、図１に示したカメラシステムの通信接点部の拡大ブロック図である。図３は、カメラ本体から送信されるコマンドの例を示した表図であり、図４は、図１に示したカメラシステムでの通信動作の例を示したタイミングチャートである。また、図５は、交換レンズ内のレンズＣＰＵにおける、イネーブル信号割り込み処理動作を示したフローチャート、図６は、交換レンズ内のレンズＣＰＵにおける、複数バイト送信処理動作を示したフローチャートである。
【００１７】
図１に示すカメラシステムのブロック図において、カメラ本体１００は、カメラ本体１００の機能を制御する制御手段としてのカメラＣＰＵ１０１を備えている。カメラ本体１００にはさらに、カメラＣＰＵ１０１やその他の補助的な制御を行う不図示の周辺回路に電源を供給するためのバッテリ１０２が備えられている。
【００１８】
また、カメラ本体１００は交換レンズ２００を着脱自在に装着するための不図示のマウント部を備えており、このマウント部には、交換レンズ２００との間でデータ通信を行うための複数の端子群からなる通信接点部３００を備えている。通信接点部３００には電源端子も設けられており、交換レンズ２００内に備えられたレンズＣＰＵ２０１には、カメラ本体１００内のバッテリ１０２から、カメラＣＰＵ１０１と通信接点部３００とを介して電源が供給される。
【００１９】
レンズＣＰＵ２０１内には、交換レンズ２００固有のデータ及び光学データからなるレンズデータをあらかじめ記憶したＲＯＭ２０２と、カメラＣＰＵ１０１との間でやり取りするデータを一時的に記憶しておくための容量１バイトのシフトレジスタ２０３と、シフトレジスタ２０３に転送するためのデータを一時的に記憶しておくためのバッファレジスタ２０４が備えられている。また、搭載された不図示の光学系のフォーカス群を駆動するためのＡＦ用モータ２０５が備えられており、カメラ本体１００からのＡＦ制御に基づいて、不図示のレンズ位置検出手段及びレンズ駆動量検出手段を用いてＡＦ駆動を行う。
【００２０】
図２に示す通信接点部３００の拡大ブロック図を用いて、本発明におけるカメラ本体１００と交換レンズ２００との間におけるデータ通信の概要について説明する。カメラ本体１００内のカメラＣＰＵ１０１には、カメラ側イネーブル信号端子Ｃ．ＥＮＢＬ、カメラ側クロック信号端子Ｃ．ＣＬＫ、カメラ側データ送受信端子Ｃ．ＳＩＯ、カメラ側電源端子Ｃ．ＶＤＤが設けられている。また、交換レンズ２００内のレンズＣＰＵ２０１には、レンズ側イネーブル信号端子Ｌ．ＥＮＢＬ、レンズ側クロック信号端子Ｌ．ＣＬＫ、レンズ側データ送受信端子Ｌ．ＳＩＯ、レンズ側電源端子Ｌ．ＶＤＤが設けられており、それぞれの端子から伸びる不図示の通信ラインが通信接点部３００で互いに接続されている。
【００２１】
カメラ本体１００から交換レンズ２００に対して何がしかの要求をする場合には、カメラ側データ送受信端子Ｃ．ＳＩＯから交換レンズ２００へコマンドが送信され、レンズＣＰＵ２０１は受信したコマンドの内容を判断し、その内容に応じて、レンズデータをレンズ側データ送受信端子Ｌ．ＳＩＯからカメラ本体１００に送信したり、ＡＦ用モータ２０５を駆動させるといった制御を行う。
【００２２】
交換レンズ２００内のレンズＣＰＵ２０１等の電子機器を駆動するための電源は、カメラ本体１００内のカメラＣＰＵ１０１等の電子機器を駆動するための電源と共通であり、カメラ本体１００に備えられたバッテリ１０２からカメラ側電源端子Ｃ．ＶＤＤとレンズ側電源端子Ｌ．ＶＤＤとを介して供給される。
【００２３】
カメラ側イネーブル信号端子Ｃ．ＥＮＢＬは、カメラ本体１００が通信を開始することを交換レンズ２００に伝達するイネーブル信号を送信する端子であり、レンズ側通信イネーブル信号端子Ｌ．ＥＮＢＬを介してレンズＣＰＵ２０１と接続されている。イネーブル信号は、通信開始前は“Ｈｉ”となっており、“Ｌｏｗ”への立ち下がりを受信すると、レンズＣＰＵ２０１は通信を受信する準備を行う。
【００２４】
カメラ側クロック信号端子Ｃ．ＣＬＫは、カメラ本体１００−交換レンズ２００間の通信同期に用いるクロック信号を送信する端子であり、レンズ側クロック信号端子Ｌ．ＣＬＫを介してレンズＣＰＵ２０１と接続されている。クロック信号は、通信開始前は“Ｈｉ”となっており、通信中は“Ｌｏｗ”と“Ｈｉ”を８回繰り返した信号を１単位として、これを連続的に発生させる。
【００２５】
カメラ側データ送受信端子Ｃ．ＳＩＯとレンズ側データ送受信端子Ｌ．ＳＩＯとは、カメラ本体１００−交換レンズ２００間のデータ通信に用いられる端子であり、それぞれカメラＣＰＵ１０１とレンズＣＰＵ２０１とに接続されている。これらの端子は、カメラＣＰＵ１０１からレンズＣＰＵ２０１に送信されるコマンドと、レンズＣＰＵ２０１からカメラＣＰＵ１０１に送信されるレンズデータの送受信に用いられる。両端子を介して送受信されるデータ信号は、通信開始前は“Ｈｉ”となっており、“Ｌｏｗ（０）”と“Ｈｉ（１）”の組み合わせで表現されるもので、クロック信号に同期して送受信される。
【００２６】
図３は、カメラＣＰＵ１０１からレンズＣＰＵ２０１に対して送信されるコマンドの例を示した表である。
【００２７】
本発明を実施のカメラシステムでは、カメラＣＰＵ１０１がレンズＣＰＵ２０１に対してコマンドを送信し、レンズＣＰＵ２０１が受信したコマンドに応じた処理を行う構成となっている。カメラＣＰＵ１０１から出力されるコマンドには大きく分けて２種類あり、一方は交換レンズ２００に関する情報を送信するように要求する送信要求系コマンドであり、他方は、交換レンズ２００内に搭載されたＡＦ用モータ２０５を駆動させるよう要求するＡＦ駆動系コマンドである。
【００２８】
例えば、カメラＣＰＵ１０１から送信されたコマンドが０４Ｈ（Ｈは１６進表記を示す、以降も同様）であった場合、レンズＣＰＵ２０１はその交換レンズ２００に固有のデータを次の通信以降に２バイトで送信する。この送信要求系コマンドで要求されるレンズ固有のデータとは、例えば、短焦点レンズかズームレンズか、マクロ撮影機能を有しているか、開放Ｆ値、焦点距離、変換係数等に関するデータが含まれる。
【００２９】
次に、カメラＣＰＵ１０１から送信されたコマンドが０８Ｈであった場合、レンズＣＰＵ２０１は特定の光学データを次の通信以降に８バイトで送信する。この送信要求系コマンドで要求される光学データとは、例えば、交換レンズ２００のある時点におけるフォーカス及び／又はスケールのエンコーダデータ等が含まれる。交換レンズ２００が保持するデータの内、この光学系に関するデータが最も多く、交換レンズ２００の状態が変化した場合は常にデータを更新する必要があるため、カメラ本体１００及び交換レンズ２００共に最も通信にかかる負担が大きい。
【００３０】
次に、カメラＣＰＵ１０１から送信されたコマンドが１６Ｈであった場合、レンズＣＰＵ２０１は次の通信以降の４バイトを受信した後、内蔵されたＡＦ用モータ２０５を駆動するように動作する。この４バイトのＡＦ駆動系コマンドは、たとえばＡＦ用モータ２０５の駆動方向と駆動量を示すコマンドである。
【００３１】
次に、カメラＣＰＵ１０１から送信されたコマンドが１８Ｈであった場合、レンズＣＰＵ２０１は次の通信以降の２バイトを受信した後、内蔵されたＡＦ用モータ２０５の駆動を開始する。
【００３２】
以上のレンズデータは、それぞれレンズＣＰＵ２０１内のＲＯＭ２０２の固有のアドレスにあらかじめ記憶されており、受信したコマンドの内容を解析したレンズＣＰＵ２０１は、要求されたレンズデータをＲＯＭ２０２内の所定のアドレスから読み出して、カメラＣＰＵ１０１に送信する。ＲＯＭ２０２内に記憶されるレンズデータは、カメラシステムの高性能化、高機能化によって、その種類及び数量共に今後も増える傾向にある。
【００３３】
次に、図４に示したタイムチャートを参照しながら、カメラ本体１００−交換レンズ２００間におけるシリアル通信の概要を説明する。このタイムチャートの通信例では、カメラＣＰＵ１０１から送信されるコマンドは１バイトの送信要求系コマンドであり、レンズＣＰＵ２０１に対して４バイト分のレンズデータを要求する場合を想定して説明する。このタイムチャートで送受信されるデータは、図３に示したコマンドの例とは無関係である。データ通信の詳細については、後述するフローチャートを用いて説明する。
【００３４】
まず、カメラＣＰＵ１０１が“Ｈｉ”であったカメラ側イネーブル信号端子Ｃ．ＥＮＢＬのイネーブル信号を“Ｌｏｗ”に下げることで通信の開始をレンズＣＰＵ２０１に伝達する。
【００３５】
イネーブル信号が“Ｌｏｗ”に下がった状態で所定時間が経過すると、カメラＣＰＵ１０１は送信するコマンドをカメラＣＰＵ１０１内の不図示のカメラ側シフトレジスタにセットする。その後、クロック信号がカメラ側クロック信号端子Ｃ．ＣＬＫから自動的に出力され、セットされたコマンドはこのクロック信号に同期してカメラ側データ送受信端子Ｃ．ＳＩＯから出力され、レンズＣＰＵ２０１のレンズ側データ送受信端子Ｌ．ＳＩＯに入力される。なお、本実施例においてレンズＣＰＵ２０１が送信するコマンドは１バイトであるが、これが２バイト以上からなるコマンドであってもよい。
【００３６】
レンズＣＰＵ２０１は、カメラＣＰＵ１０１からコマンドを受信すると、そのコマンドが要求するレンズデータを、レンズＣＰＵ２０１に実装されたＲＯＭ２０２内の所定のアドレスから読み出し、レンズＣＰＵ２０１内のバッファレジスタ２０４にセットする。
【００３７】
図４に示したタイムチャートの例では、要求されたレンズデータは４バイトで構成されるので、レンズＣＰＵ２０１は要求されたレンズデータの全てをバッファレジスタ２０４にセットせず、その一部のみをセットするように処理を行う。例えば、送信するレンズデータの先頭２バイト分のみをセットする。
【００３８】
先頭データのセットから所定時間経過後、レンズＣＰＵ２０１は自動送信モードを開始し、続いてカメラＣＰＵ１０１によってクロック信号がカメラ側クロック信号端子Ｃ．ＣＬＫから自動的に出力されるので、このクロック信号に同期するようにして、レンズ側データ送受信端子Ｌ．ＳＩＯから要求されたレンズデータの先頭２バイト分が自動的に送信開始される。
【００３９】
レンズＣＰＵ２０１は先頭データの送信中に、要求されたレンズデータの残りの分のバッファレジスタ２０４へのセットを開始する。先頭データの送信が完了すると、カメラＣＰＵ１０１からのクロック信号に同期して、先頭データ送信中にセットされた残りのデータが順次カメラＣＰＵ１０１に自動的に送信され、カメラ本体１００−交換レンズ２００間の通信が完了する。レンズデータの自動送信に関しては、後述するフローチャートにおいて説明する。
【００４０】
ここで、カメラＣＰＵ１０１から入力されるクロック信号の間隔に着目する。
【００４１】
クロック間隔はカメラＣＰＵ１０１により任意に変更可能であるが、コマンド受信完了からレンズデータ送信開始までのクロック間隔は、その間にコマンドの解析及び先頭データ２バイト分のセットを行う必要があるため、若干長めとなっている。２つ目のクロック信号を受信すると、すでにセットされている先頭データの１バイト目が自動的に送信開始されるが、この時点で先頭２バイト目もすでにデータセットが完了しているので、１バイト目のデータ送信完了から２バイト目のデータ送信開始までのクロック間隔は短縮することが可能である。また、先頭２バイト分を送信する間に、残る全てのデータのセットが平行して開始されているため、３バイト目以降のクロック間隔も同様に短縮が可能となり、データ通信の高速化が達成される。
【００４２】
次に、交換レンズ２００に設けられたレンズＣＰＵ２０１の動作について、図５及び図６に示すフローチャートを用いて説明する。
【００４３】
まず、カメラ本体１００に交換レンズ２００が装着され、カメラ本体１００の電源が投入されると、レンズＣＰＵ２０１は不図示のメインルーチン処理を行う。すなわち、レンズの初期設定や初期通信等が行なわれ、その後、カメラＣＰＵ１０１からの割り込み処理許可状態となり、待機する。
【００４４】
レンズの初期設定では、例えば各端子の入出力の設定や時間監視タイマーの設定、通信の設定等の初期設定に関する処理を行う。また、カメラ本体１００−交換レンズ２００間の初期通信においては、交換レンズ２００内のＲＯＭ２０２にあらかじめ記憶されている種々のレンズデータがカメラＣＰＵ１０１に一括送信され、カメラＣＰＵ１０１内の不図示のカメラ側ＲＯＭに格納される。カメラ本体１００に送信されるレンズデータとしては、開放Ｆ値や焦点距離等の交換レンズ２００固有のデータや、ＡＦ等に関わるエンコーダデータ等が含まれている。
【００４５】
図５に示したフローチャートは、本実施例におけるカメラシステムのレンズＣＰＵ２０１におけるイネーブル信号割り込み処理時の動作を説明したサブルーチンである。
【００４６】
まず初めに、カメラ側イネーブル信号端子Ｃ．ＥＮＢＬから出力されるイネーブル信号が“Ｈｉ”から“Ｌｏ”に立ち下がり、カメラＣＰＵ１０１よりイネーブル信号の割り込みが入ると、レンズＣＰＵ２０１は受信可能状態になる。その後、ステップ＃１０１においてカメラＣＰＵ１０１から出力されたコマンドをレンズ側データ送受信端子Ｌ．ＳＩＯを介して受信する。
【００４７】
カメラＣＰＵ１０１からコマンドを受信したレンズＣＰＵ２０１は、ステップ＃１０２において、そのコマンドがレンズデータの送信を要求する送信要求系コマンドであるかどうかの判定を行う。コマンドが送信要求系コマンドでなかった場合は、次のステップに進む。
【００４８】
コマンドが送信要求系コマンドでない場合は、受信したコマンドは、カメラＣＰＵ１０１が交換レンズ２００内のＡＦ用モータ２０５を駆動するためのＡＦ駆動系コマンドであるので、ステップ＃１０３においてレンズＣＰＵ２０１はＡＦ用モータ２０５を駆動させ、ＡＦ駆動を行う。ＡＦ駆動については、公知の技術を用いればよい。
【００４９】
受信したコマンドが送信要求系コマンドであった場合には、レンズＣＰＵ２０１は送信要求系コマンドの内容を解析し、カメラＣＰＵ１０１が要求するレンズデータを特定する。その後、レンズＣＰＵ２０１は要求されたレンズデータを内蔵するＲＯＭ２０２から読み出すが、ステップ＃１０４において要求されたレンズデータが複数バイトであるかどうかの判定を行い、要求されたレンズデータの容量に応じて異なる処理を行う。
【００５０】
要求されたレンズデータの容量が１バイトであった場合には、レンズＣＰＵ２０１はステップ＃１０５において公知の送信手順でデータをカメラＣＰＵ１０１に送信する。すなわち、レンズＣＰＵ２０１はＲＯＭ２０２から読み出したデータをシフトレジスタ２０３にセットしてから、カメラＣＰＵ１０１から出力されるクロック信号に同期して送信し、割り込み処理を終了する。
【００５１】
要求されたレンズデータの容量が２バイト以上であった場合には、レンズＣＰＵ２０１はステップ＃１０６において図６に示す複数バイト送信処理に入る。以降は図６のフローチャートに従って、複数バイト送信処理の説明を行う。
【００５２】
まずステップ＃２０１において、レンズＣＰＵ２０１は要求されたレンズデータの全バイト数を確認し、その結果を不図示のバイト数指定レジスタにセットする。レンズＣＰＵ２０１はさらにステップ＃２０２において、要求されたレンズデータのＲＯＭ２０２内における先頭アドレスを不図示の先頭アドレス指定レジスタにセットする。
【００５３】
次に、レンズＣＰＵ２０１は、要求されたデータのうち、先頭２バイト分のみをＲＯＭ２０２内のアドレスから読み出し、ステップ＃２０３においてバッファレジスタ２０４にセットする。
【００５４】
先頭２バイトのセットが完了すると、ステップ＃２０４においてレンズＣＰＵ２０１は不図示の自動送信開始レジスタにフラグをセットし、レンズデータの自動送信モードに入る。自動送信モードでは、カメラＣＰＵ１０１からクロック信号が入力されると、ステップ＃２０１及び＃２０２において指定したデータが自動的にバッファレジスタ２０４にセットされ、次いで、その中の１バイト分が順次シフトレジスタ２０３にセットされ、クロック信号に同期して自動的にカメラＣＰＵ１０１に送信される。
【００５５】
自動送信モードに入ってから所定時間が経過すると、カメラＣＰＵ１０１のカメラ側クロック信号端子Ｃ．ＣＬＫからクロック信号が出力されるので、レンズＣＰＵ２０１はレンズ側クロック信号端子Ｌ．ＣＬＫからこのクロック信号を受信し、ステップ＃２０３でバッファレジスタ２０４にセットされた先頭２バイトデータが、まず初めにクロック信号に同期してレンズ側データ送受信端子Ｌ．ＳＩＯから送信される。
【００５６】
先頭２バイトデータの送信と平行して、レンズＣＰＵ２０１はステップ＃２０５において、要求されたレンズデータが全て送信され、残ったデータがないかどうかの判定を行う。残りのデータがない、すなわち、受信した送信要求系コマンドによって要求されたレンズデータが２バイトで構成されるデータであった場合には、先頭２バイトの送信が完了してからステップ＃２０７に進み、複数バイト送信処理を終了する。自動送信モードは先頭２バイトの送信が完了すると自動的に解除される。続いてイネーブル信号割り込み処理も終了し、カメラＣＰＵ１０１からの通信待機状態に戻る。
【００５７】
ステップ＃２０１及び＃２０２において指定したデータで未送信の残りデータがある場合には、その残りデータが順次バッファレジスタ２０４にセットされ、次いで、その中の１バイト分がシフトレジスタ２０３にセットされる。先頭２バイトの送信が完了すると、その後のクロック信号に同期してシフトレジスタ２０３にセットされた１バイトが自動送信される。その１バイトの送信が完了すると、バッファレジスタ２０４にセットされている次の１バイトが自動的にシフトレジスタ２０３にセットされ、クロック信号に同期して送信される。この自動送信が、要求されたレンズデータが全て送信されるまで繰り返される。
【００５８】
この自動送信は１バイト単位で順次行われるので、先頭２バイトを送信する間に残る全データのセットを完了する必要はなく、また、自動送信はハード的な処理であるため、ファームウェア等によるソフト的な処理よりも高速化が可能である。なお、自動送信により１バイト単位でセットされたデータから順次送信していくが、バッファレジスタ２０４の容量はＲＯＭ２０２に記憶されたレンズデータの最大容量以上とするのがよい。本実施例では、図３からコマンド０８Ｈに対する８バイトである。
【００５９】
自動送信により全てのデータが送信されると、レンズＣＰＵ２０１はステップ＃２０７に進み、複数バイト送信処理を終了する。自動送信モードは先頭２バイトの送信が完了すると自動的に解除される。続いてイネーブル信号割り込み処理も終了し、カメラＣＰＵ１０１からの通信待機状態に戻る。
【００６０】
以上説明したように、本発明を実施の交換レンズ及びカメラシステム、並びにデータ通信方法によれば、通信開始時点において要求されたレンズデータの先頭数バイト分（実施例では２バイト）を先行してバッファレジスタ２０４にセット後、自動送信モードを開始し、カメラＣＰＵ１０１からのクロック信号に同期させて順次自動送信しておき、先頭数バイト分の送信が完了する前までに残りのデータをバッファレジスタに順次セットし、全データを順次自動送信する構成とすることによって、コマンド送信から自動送信開始までの所定の待機時間を短縮することが可能なうえ、データ通信中のクロック信号の間隔も、従来技術のように通信完了ごとにデータセットを行うよりも短縮することが可能となり、結果として通信速度の大幅な高速化を達成することができる。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態である交換レンズとカメラ本体からなるカメラシステムのブロック図である。
【図２】図１に示したカメラシステムの通信接点部の拡大ブロック図である。
【図３】カメラ本体から送信されるコマンドの例を示した表図である。
【図４】図１に示したカメラシステムでの通信動作の例を示したタイミングチャートである。
【図５】交換レンズ内のレンズＣＰＵにおける、イネーブル信号割り込み処理動作を示したフローチャートである。
【図６】交換レンズ内のレンズＣＰＵにおける、複数バイト送信処理動作を示したフローチャートである。
【符号の説明】
【００６２】
１００      カメラ本体
１０１      カメラＣＰＵ
１０２      バッテリ
２００      交換レンズ
３００      通信接点部
２０１      レンズＣＰＵ
２０２      ＲＯＭ
２０３      シフトレジスタ
２０４      バッファレジスタ
２０５      ＡＦ用モータ
【図１】
2010049034.tif 000003
【図２】
2010049034.tif 000004
【図３】
2010049034.tif 000005
【図４】
2010049034.tif 000006
【図５】
2010049034.tif 000007
【図６】
2010049034.tif 000008