(57)【特許請求の範囲】
【請求項１】
情報を交換する第１の通信方式を持つ交換レンズ、又は、情報を交換する前記第１の通信方式と第２の通信方式を持つ交換レンズを装着可能とするカメラであって、
前記第１の通信方式で情報を交換する手段と、前記第２の通信方式で情報を交換する手段と、前記第１の通信方式で情報を交換し、装着された交換レンズが前記第２の通信方式を持つ交換レンズであるか否かと、交換レンズとの通信端子がグランドに短絡しているか否かを判別する判別手段とを設け、
まず前記第１の通信方式の状態にしておき、前記判別手段により、装着された交換レンズは前記第２の通信方式を持つものであり、かつ前記通信端子はグランドに短絡していないことが判別された場合に、通信手段として前記第２の通信方式に切り換えて当該第２の通信方式で情報を交換する手段側に切り換えることを特徴とするカメラ。
【請求項２】
前記第１の通信方式はオープンドレイン方式であり、前記第２の通信方式はＣＭＯＳ方式であることを特徴とする請求項１記載のカメラ。
【請求項３】
情報を交換する、オープンドレイン方式の第１の通信方式で通信可能な交換レンズ、又は、情報を交換する、通信クロックの半周期より短い時間だけＣＭＯＳ方式で駆動するオープンドレイン方式の第２の通信方式で通信可能な交換レンズが装着されるカメラであって、
前記第１の通信方式で情報を交換する手段と、前記第２の通信方式で情報を交換する手段と、前記第１の通信方式で情報を交換し、装着された交換レンズが前記第２の通信方式を持つ交換レンズであるか否かと、交換レンズとの通信端子がグランドに短絡しているか否かを判別する判別手段とを設け、
まず前記第１の通信方式の状態にしておき、前記判別手段により、装着された交換レンズは前記第２の通信方式を持つものであり、かつ前記通信端子はグランドに短絡していないことが判別された場合に、通信手段として前記第２の通信方式に切り換えて当該第２の通信方式で情報を交換する手段側に切り換えることを特徴とするカメラ。
【請求項４】
第１の通信方式と第２の通信方式でカメラと情報を交換する交換レンズであって、
カメラと前記第１の通信方式で情報を交換し、前記第２の通信方式を持つかどうかをカメラに伝達する手段を設け、
前記第１の通信方式の状態にて、交換レンズは前記第２の通信方式を持つものであり、かつ交換レンズとの通信端子はグランドに短絡していないことを判別したカメラから、前記第１の通信方式での情報を受けた場合に、前記第２の通信方式に切り換えることを特徴とする交換レンズ。
【請求項５】
前記第１の通信方式はオープンドレイン方式であり、前記第２の通信方式はＣＭＯＳ方式であることを特徴とする請求項４記載の交換レンズ。
【請求項６】
オープンドレイン方式の第１の通信方式、及び、通信クロックの半周期より短い時間だけＣＭＯＳ方式で駆動するオープンドレイン方式の第２の通信方式でカメラと情報を交換する交換レンズであって、
カメラと前記第１の通信方式で情報を交換し、前記第２の通信方式を持つかどうかをカメラに伝達する手段を設け、
前記第１の通信方式の状態にて、交換レンズは前記第２の通信方式を持つものであり、かつ交換レンズとの通信端子はグランドに短絡していないことを判別したカメラから、前記第１の通信方式での情報を受けた場合に、前記第２の通信方式に切り換えることを特徴とする交換レンズ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信により情報の交換（授受）を行うカメラ、及び、この種のカメラに装着されて、同様に通信により情報の交換を行う交換レンズの改良に関するものである。
【０００２】
【従来の技術】
従来、カメラとレンズ間は、図１４に示すようなオープンドレイン方式で通信している。カメラからのローレベルの信号はＮＭＯＳゲート９２をオンにすることで端子９６を通ってレンズ側に伝達され、カメラからのハイレベルの信号はＮＭＯＳゲート９２をオフすることで、レンズ側のプルアップ抵抗９３でプルアップされることで伝達される。
【０００３】
この方式の利点は、事故などで端子９６がグランドに接地された場合でも、電源とグランドの間は抵抗９３を介するので、発熱，発火の心配がない。
【０００４】
また、レンズのＮＭＯＳゲート９４から、同様にしてローレベルの信号をカメラに伝達することもできる。
【０００５】
【発明が解決しようとする課題】
従来は、カメラからレンズにシリアル通信のクロック信号を、レンズからカメラにビジー信号を、というように双方向に１本の信号を使用していた。
【０００６】
しかし、カメラの作動速度の向上のため通信速度を上げようとした場合に、オープンドレイン方式の欠点が現れる。
【０００７】
図１５は、オープンドレイン方式のタイムチャートである。
【０００８】
図１５（Ａ）の低速通信時のような、カメラから出力されるクロック信号がレンズに伝達されるとき、ＮＭＯＳゲート９２がオフすると、端子９６は抵抗９３でプルアップされるが、端子９６などの寄生容量などで直ちにハイレベルにならず、ＣＲの充電曲線を描いてゆっくり立ち上がる。
【０００９】
低速で通信している場合は、図１５（Ａ）の様に十分立ち上ることができるが、図１５（Ｂ）の高速通信のように高速になると、完全にハイレベルに立ち上がることができない。
【００１０】
この速度改善のため、図１６の様にＣＭＯＳ方式で駆動すると、立ち上がりは十分早くなるが、端子９６が接地した場合、電源とグランドがショート状態になるので、発熱，発火の可能性がある。
【００１１】
また、レンズからカメラへ送信しようとすると、ＮＭＯＳゲート９４とＰＭＯＳゲート９７がオンしたときに、電源とグランドがショートすることになる。このため、従来のオープンドレイン通信方式のレンズを装着することができなくなり、互換性がとれなくなる。
【００１２】
（発明の目的）
本発明の第１の目的は、従来の通信方式の交換レンズとの互換性を維持しながら、さらに新しい通信方式の交換レンズとの通信を可能とするカメラを提供することにある。
【００１３】
本発明の第２の目的は、従来のオープンドレイン方式の交換レンズとの互換性を維持しながら、さらに新しいＣＭＯＳ方式の交換レンズとの通信を可能にするカメラを提供することにある。
【００１４】
本発明の第３の目的は、従来のオープンドレイン方式の交換レンズとの互換性を維持しながら、さらに新しい、事故の危険性の無い、双方向通信可能な方式の交換レンズとの通信を可能とするカメラを提供することにある。
【００１５】
本発明の第４の目的は、従来の通信方式のカメラとの互換性を維持しながら、さらに新しい通信方式のカメラとの通信を可能にする交換レンズを提供することにある。
【００１６】
本発明の第５の目的は、従来のオープンドレイン方式のカメラとの互換性を維持しながら、さらに新しいＣＭＯＳ方式のカメラとの通信を可能にする交換レンズを提供することにある。
【００１７】
本発明の第６の目的は、従来のオープンドレイン方式のカメラとの互換性を維持しながら、さらに新しい、事故の危険性の無い、双方向通信可能な方式のカメラとの通信を可能にする交換レンズを提供することにある。
【００１８】
【課題を解決するための手段】
上記第１の目的を達成するために、請求項１記載の本発明は、情報を交換する第１の通信方式を持つ交換レンズ、又は、情報を交換する前記第１の通信方式と第２の通信方式を持つ交換レンズを装着可能とするカメラであって、前記第１の通信方式で情報を交換する手段と、前記第２の通信方式で情報を交換する手段と、前記第１の通信方式で情報を交換し、装着された交換レンズが前記第２の通信方式を持つ交換レンズであるか否かと、交換レンズとの通信端子がグランドに短絡しているか否かを判別する判別手段とを設け、まず前記第１の通信方式の状態にしておき、前記判別手段により、装着された交換レンズが前記第２の通信方式を持つものであり、かつ前記通信端子がグランドに短絡していないことが判別された場合に、通信手段として前記第２の通信方式に切り換えて当該第２の通信方式で情報を交換する手段側に切り換えるようにしている。
【００１９】
上記第２の目的を達成するために、請求項２記載の本発明は、第１の通信方式をオープンでドレイン方式とし、第２の通信方式をＣＭＯＳ方式としている。
【００２０】
上記第３の目的を達成するために、請求項３記載の本発明は、情報を交換する、オープンドレイン方式の第１の通信方式で通信可能な交換レンズ、又は、情報を交換する、通信クロックの半周期より短い時間だけＣＭＯＳ方式で駆動するオープンドレイン方式の第２の通信方式で通信可能な交換レンズが装着されるカメラであって、前記第１の通信方式で情報を交換する手段と、前記第２の通信方式で情報を交換する手段と、前記第１の通信方式で情報を交換し、装着された交換レンズが前記第２の通信方式を持つ交換レンズであるか否かと、交換レンズとの通信端子がグランドに短絡しているか否かを判別する判別手段とを設け、まず前記第１の通信方式の状態にしておき、前記判別手段により、装着された交換レンズが前記第２の通信方式を持つものであり、かつ前記通信端子がグランドに短絡していないことが判別された場合に、通信手段として前記第２の通信方式に切り換えて当該第２の通信方式で情報を交換する手段側に切り換えるようにしている。
【００２１】
上記第４の目的を達成するために、請求項４記載の本発明は、第１の通信方式と第２の通信方式でカメラと情報を交換する交換レンズであって、カメラと前記第１の通信方式で情報を交換し、前記第２の通信方式を持つかどうかをカメラに伝達する手段を設け、前記第１の通信方式の状態にて、交換レンズが前記第２の通信方式を持つものであり、かつ交換レンズとの通信端子がグランドに短絡していないことを判別したカメラから、前記第１の通信方式での情報を受けた場合に、前記第２の通信方式に切り換えるようにしている。
【００２２】
上記第５の目的を達成するために、請求項５記載の本発明は、第１の通信方式をオープンでドレイン方式とし、第２の通信方式をＣＭＯＳ方式としている。
【００２３】
上記第６の目的を達成するために、請求項６記載の本発明は、オープンドレイン方式の第１の通信方式、及び、通信クロックの半周期より短い時間だけＣＭＯＳ方式で駆動するオープンドレイン方式の第２の通信方式でカメラと情報を交換する交換レンズであって、カメラと前記第１の通信方式で情報を交換し、前記第２の通信方式を持つかどうかをカメラに伝達する手段を設け、前記第１の通信方式の状態にて、交換レンズが前記第２の通信方式を持つものであり、かつ交換レンズとの通信端子がグランドに短絡していないことを判別したカメラから、前記第１の通信方式での情報を受けた場合に、前記第２の通信方式に切り換えるようにしている。
【００２４】
【発明の実施の形態】
以下、本発明を図示の実施の形態に基づいて詳細に説明する。
【００２５】
図１は本発明の実施の一形態に係るカメラの電気的構成を示す回路図であり、図２は図１のカメラに装着されるレンズの電気的構成を示す回路図である。
【００２６】
まず、カメラ側の構成について説明する。
【００２７】
図１において、１はカメラ制御用マイコンであり、出力ポートＰ００，Ｐ０４，Ｐ０５，Ｐ０６，Ｐ０７，Ｐ１０，Ｐ１１，Ｐ１２，Ｐ１４，Ｐ１５、及び、入力ポートＰ０１，Ｐ０２，Ｐ０３，Ｐ１３，Ｐ１６を有している。又ＶＣＣは電源端子、ＧＮＤはグランド端子である。ＤＢＵＳはカメラ内の８ビットのデータバスであり、アドレスとデータを転送する。
【００２８】
２はＤＣ／ＤＣコンバータで、ＶＩＮは入力端子、ＶＯＵＴは出力端子、ＣＮＴは制御端子を有しており、制御端子ＣＮＴにローレベルの信号が入力すると出力端子ＶＯＵＴに５Ｖの電圧を出力し、ハイレベルの信号が入力すると０Ｖになる。３は電池、４，５はダイオードである。又上向き矢印は電源系ＶＢＡＴを表し、前記電池３と前記ＤＣ／ＤＣコンバータ２の電圧の高い方を、前記ダイオード４，５で選択して出力する。
【００２９】
６は、前記ＤＣ／ＤＣコンバータ２の出力をカメラ制御用マイコン１に供給するダイオード、７，８はダイオード、９はＶＢＡＴに接続されるプルアップ抵抗、１０は不図示のレリーズ釦の第一ストロークでオンになるレリーズ第一スイッチであり、前記ダイオード７，８は、前記カメラ制御用マイコン１の出力ポートＰ００とレリーズ第一スイッチ１０のワイアードオア回路になっている。
【００３０】
１１はプルアップ抵抗、１２はレリーズ釦の第二ストロークでオンになるレリーズ第二スイッチ、１３はプルアップ抵抗、１４は巻き上げ完了でオンになる巻き上げ完了スイッチである。１５はシャッタチャージ・巻き上げ用モータ、１６，１７はＰＮＰトランジスタ、１８，１９はＮＰＮトランジスタであり、前記モータ１５の回転を制御する。２０は被写体輝度を測光するフォトダイオード、２１は対数圧縮ダイオードである。２２は演算増幅器であり、前記フォトダイオード２０で測光した電流を対数圧縮された電圧に変換する。２３はＡ／Ｄ変換器であり、前記カメラ制御用マイコン１のデータバスＤＢＵＳに接続され、アドレス信号に応じてＡ／Ｄ変換したデータを転送する。
【００３１】
２４はカメラの緊定解除マグネット、２５はＮＰＮトランジスタ、２６はシャッタ先幕マグネット、２７はＮＰＮトランジスタ、２８はシャッタ後幕マグネット、２９はＮＰＮトランジスタ、３０は５１２ＫＨｚのクロックを発振する発振器、３１はクロックを４分周する分周器、３２はインバータ、３３，３４はアンドゲート、３５はオアゲート、３６，３７はＤフリップフロップである。
【００３２】
３８はＣＬＫ端子から入力されるクロックをカウントするカウンタであり、そのＱ１端子はバイナリで１の位を、Ｑ２端子は２の位を、Ｑ４端子は４の位を、Ｑ８端子は８の位を、それぞれ出力する。又、／ＣＬＲはローレベルの信号入力でクリアする端子、ＥＮはローレベルの信号入力でカウントを禁止、ハイレベルの信号入力でカウント可能の切り換えを行う為の端子である。つまり、／ＣＬＲ端子が“０”で、Ｑ１，Ｑ２，Ｑ４，Ｑ８の各端子はすべてローレベルになり、“／ＣＬＲ＝１”かつ“ＥＮ＝１”になってからＣＬＫ端子の立ち上がりエッジをカウントし、そのカウント値のバイナリ出力がＱ１，Ｑ２，Ｑ４，Ｑ８端子に現れる。したがって、クロックを８発カウントしたとき、Ｑ８端子が“１”になる。
【００３３】
３９はインバータ、４０はアンドゲート、４１はＤフリップフロップ、４２はインバータ、４３はナンドゲート、４４はオアゲートである。
【００３４】
４５はシフトレジスタであり、前記カメラ制御用マイコン１のデータバスＤＢＵＳに接続され、アドレス信号に応じてパラレルの８ビットデータを送受信する。受け取ったデータは、内部のレジスタに格納され、ＣＬＫ端子の立ち上がりエッジで１ビットずつシフトされ、端子ＳＯＵＴから出力する。同時にＣＬＫ端子の立ち下がりエッジでＳＩＮのデータをラッチし、１ビットずつ内部のレジスタに取り込む。
【００３５】
４６はバッファ、４７はノアゲート、４８はインバータ、４９はオアゲートである。５０はＰＭＯＳゲートであり、ゲートにローレベルの信号が入力されるとオンし、ハイレベルの信号が入力されるとオフする。５１はＮＭＯＳゲートであり、ゲートにローレベルの信号が入力されるとオンし、ハイレベルの信号が入力されるとオフする。
【００３６】
５２はＰＭＯＳゲート、５３はＮＭＯＳゲート、５４，５５はプルアップ抵抗、５６はＮＭＯＳゲートである。５７は被写体の距離を測定するためのＣＣＤであり、前記カメラ制御用マイコン１のデータバスＤＢＵＳに接続され、アドレス信号に応じてパラレルの８ビットデータを転送する。
【００３７】
次に、レンズ側の構成について説明する。
【００３８】
図２において、５８はレンズ制御用マイコンであり、出力ポートＰ２０，Ｐ２２，Ｐ３０，Ｐ３１，Ｐ３３、及び、入力ポートＰ２１，Ｐ２３，Ｐ２４，Ｐ２５，Ｐ２６を有している。又ＬＢＵＳはレンズ内の８ビットのデータバスであり、アドレスとデータを転送する。
【００３９】
５９は撮影レンズ、６０は絞り、６１は前記絞り６０を駆動して開閉するための絞り駆動回路、６２はプルアップ抵抗である。６３は前記絞り６０が開放でオフ、絞り込まれるとオンになる絞り開放スイッチである。
【００４０】
６４は前記撮影レンズ５９が至近端側に位置するとオンになるゾーンスイッチ、６５は前記撮影レンズ５９が無限端側に位置するとオンになるゾーンスイッチ、６６は前記撮影レンズ５９が移動するにつれて１ミクロン移動する毎にオンオフするパルス発生用櫛歯スイッチである。
【００４１】
６７は前記撮影レンズ５９を駆動する距離環駆動モータ、６８，６９はＰＮＰトランジスタである。７０，７１はＮＰＮトランジスタで、前記距離環駆動モータ６７を制御する。７２は３８と同様のカウンタ、７３はディレイ回路、７４，７５はアンドゲート、７６はインバータ、７７はオアゲート、７８はプルアップ抵抗、７９はバッファである。
【００４２】
８０はＮＭＯＳゲート、８１はフリップフロップ、８２はインバータ、８３は４５と同様なシフトレジスタ、８４はバッファ、８５はインバータ、８６はプルアップ抵抗、８７はＮＭＯＳゲートである。
【００４３】
図１及び図２において、８８（８８ａ，８８ｂ）〜９１（９１ａ，９１ｂ）は、カメラとレンズを接続する端子である。
【００４４】
更に詳しくは、８８（８８ａ，８８ｂ）は電源ＶＢＡＴを接続する電源端子、８９（８９ａ，８８ｂ）はシリアルクロックを転送するシリアルクロック端子、９０（９０ａ，９０ｂ）はカメラからレンズにシリアルデータを通信するカメラ信号端子、９１（９１ａ，９１ｂ）はレンズからカメラにシリアルデータを転送するレンズ信号端子である。
【００４５】
次に、上記カメラとレンズが接続されて成るカメラシステムにおいて、先ず図２に示すレンズ側での動作について、図３〜図５のフローチャートに従って説明する。
【００４６】
なお、このフローチャートにおいて、Ａは演算を行うアキュムレータ、ＬＭＯＶＦは距離環駆動中を示すフラグ、ＦＨＲ，ＦＬＲは８ビットのレジスタ、［ＳＩＢ］はデータバスＬＢＵＳを通してアクセスするシリアルレジスタ８３、［ＥＭＤ］はデータバスＬＢＵＳを通してアクセスする絞り制御回路６１である。又＄は１６進数を表す記号である。
【００４７】
電池３（図１参照）が投入されると、図１に示すダイオード４、電源端子８８を通してレンズ制御用マイコン５８に電源が投入され、該レンズ制御用マイコン５８はステップ＃１を介してステップ＃２よりリセット動作を開始する。
【００４８】
ステップ＃２においては、各出力ポートを初期化する。具体的には、Ｐ２０＝０，Ｐ３１＝１，Ｐ３２＝１，Ｐ３０＝０，Ｐ３３＝０にする。又、レンズ制御用マイコン５８は距離環駆動中フラグＬＭＯＶＦをクリアする。前記出力ポートＰ２０が“０”になると、インバータ７６の出力がハイレベルとなり、アンドゲート７４，７５のうちアンドゲート７５が選択される。前記出力ポートＰ３１が“１”になると、ＰＮＰトランジスタ６９がオフする。前記ポートＰ３２が“１”になると、ＰＮＰトランジスタ６８がオフする。前記Ｐ３０が“０”になると、ＮＰＮトランジスタ７１がオフする。前記ポートＰ３３が“０”になると、ＮＰＮトランジスタ７０がオフし、従ってモータ６７には電流は流れない。
【００４９】
次のステップ＃３においては、レンズ制御用マイコン５８はデータバスＬＢＵＳを介してシフトレジスタ８３にデータ“＄００”を転送する。そして、ステップ＃４において、カメラ通信のサブルーチンをコールする。このサズルーチンについて、図５（Ａ）のフローチャートにより説明する。
【００５０】
カメラ通信のサブルーチンは、図５（Ａ）のステップ＃５７を介してステップ＃５８より開始される。
【００５１】
まず、ステップ＃５８においては、ポートＰ２２に“０”を出力し、カウンタ７２をリセットすると共に、インバータ８２を介してＳＲフリップフロップ８１もリセットする。そして、次のステップ＃５９において、ポートＰ２２に“１”を出力し、前記カウンタ７２及び前記ＳＲフリップフロップ８１のリセットを解除する。続くステップ＃６０においては、ポートＰ２１がハイレベルになるまでこのステップ＃６０をループして待つ。
【００５２】
カメラからシリアルクロック端子８９を介してクロックパルスが送られてくると、バッファ７９を介してカウンタ７２に入り、該カウンタ７２はクロックパルスをカウントする。又カメラ信号端子９０を介してカメラのデータが１ビットずつシリアルクロックに同期して出力されるのをシフトレジスタ８３がシリアルクロックに同期して取り込む。同時にシフトレジスタ８３は、上記ステップ＃３で設定されたデータを１ビットずつシリアルクロックに同期して出力し、このデータはインバータ８５で反転され、さらにゲート８７で反転され、レンズ信号端子９１を介してカメラに送り込まれる。
【００５３】
８ビットシリアルクロックが出力されると、カウンタ７２がＱ８端子からハイレベルを出力し、上記ステップ＃２で選択されたアンドゲート７５を通し、オアゲート７７からＳＲフリップフロップ８１をセットする。従って、ＳＲフリップフロップ８１の出力はハイレベルに反転し、ＮＭＯＳゲート８０をオン状態にする。よって、シリアルクロック端子８９はローレベルになり、カメラにビジー状態であることを転送する。
【００５４】
又カウンタ７２のＱ８端子に接続されたレンズ制御用マイコン５８のポートＰ２１もハイレベルになるので、レンズ制御用マイコン５８はステップ＃６１へ進み、ここでこのサブルーチンから図３のメインルーチンへ戻る。
【００５５】
このようにして、レンズはカメラから８ビットのシリアルデータを送受信することができる。
【００５６】
図３のステップ＃５において、レンズ制御用マイコン５８はデータバスＬＢＵＳを介してシフトレジスタ８３からデータをアキュムレータＡに読み込む。ここで受け取ったデータは、カメラからの通信内容を区別するためのコマンドとして解釈される。次のステップ＃６においては、カメラからのコマンドが“＄０１”と等しければステップ＃７へ進み、そうでなければステップ＃９へ進む。
【００５７】
ステップ＃７においては、カメラからのデータが“＄０１”ならば、レンズ通信を確認するコマンドなので、シフトレジスタ８３に“＄ＡＡ”を転送する。これはどの交換レンズでも共通したデータである。そして、次のステップ＃８においては、図５（Ａ）に示したカメラ通信サブルーチンをコールする。
【００５８】
このサブルーチンでのステップ＃５８においては、ＲＳフリップフロップ８１がリセットされるので、ＮＭＯＳゲート８０はオフする。又シリアルクロック端子８９ｂは抵抗７８でプルアップされハイレベルになり、カメラにビジー解除されたことを伝達する。
【００５９】
一方、カメラはシリアルクロック端子８９がハイレベルになると、次の通信を開始するので、カメラからシリアル通信されるまで待つ。この通信でカメラにデータ“＄ＡＡ”を転送し、レンズ通信ができたことをカメラは確認できる。この後、ステップ＃３に戻って次のカメラ通信待ちに戻る。
【００６０】
ステップ＃９においては、上記ステップ＃６でコマンドが“＄０１”と等しくなかったので今度は“＄０２”と比較する。この結果、等しければステップ＃１０へ進み、等しくなければステップ＃１１へ進む。
【００６１】
ステップ＃１０においては、カメラからのコマンドが“＄０２”ならば、開放絞り値を要求するコマンドなので、シフトレジスタ８３に開放絞り値、例えばＦ1.4 を転送する。これはステップ＃７と異なり、交換レンズ毎に定義されたデータとなる。この後、ステップ＃８において、カメラに前記開放絞り値を転送し、ステップ＃３で次のコマンド待ちに戻る。
【００６２】
ステップ＃１１においては、カメラからのコマンドが“＄０３”ならば、最小絞り値を要求するコマンドなのでステップ＃１２へ進み、ここではシフトレジスタ８３に最小絞り値、例えばＦ２２を転送する。この後、ステップ＃８においてカメラに前記最小絞り値を転送し、ステップ＃３で次のコマンド待ちに戻る。
【００６３】
ステップ＃１３においては、カメラからのコマンドが“＄０４”ならば、ベストピント補正値読み出しのコマンドなので、ステップ＃１４へ進む。ベストピント補正値は、カメラで測定したデフォーカス量と実際のピント位置のずれ量を補正するパラメータであり、レンズの位置により異なる値を待つ。
【００６４】
ステップ＃１４においては、ポートＰ２４が“０”ならば、レンズ５９は至近側に位置するので、ステップ＃１５へ進む。そして、このステップ＃１５において、至近端側では例えば＋２ミクロン補正が必要ならばシフトレジスタ８３に２ｕｍをストアし、次のステップ＃８において、カメラにこれを通信する。
【００６５】
ステップ＃１６においては、ポートＰ２５が“０”ならば、レンズ５９が無限端側に位置するのでステップ＃１７へ進み、そうでなければ中間に位置するのでステップ＃１８へ進む。
【００６６】
ステップ＃１８においては、中間位置では、例えば＋１ミクロン補正が必要ならば、シフトレジスタ８３に１ｕｍをストアし、次のステップ＃８において、カメラにこれを通信する。
【００６７】
また、ステップ＃１７においては、無限端側では、例えば−１ミクロン補正が必要ならば、シフトレジスタ８３に−１ｕｍをストアし、次のステップ＃８において、カメラにこれを通信する。
【００６８】
このようにして、ステップ＃１４から＃１８までにおいて、レンズの位置毎に最適のベストピント補正値をカメラに送信することができる。
【００６９】
ステップ＃１９においては、カメラからのコマンドが“＄０５”ならば、敏感度読み出しのコマンドなので、ステップ＃２０へ進む。レンズ敏感度は、デフォーカス量とレンズの移動量の関係を表すパラメータである。そして、このステップ＃２０において、レンズ敏感度、例えば2.9 をシフトレジスタ８３に転送し、続くステップ＃８において、これをカメラに通信する。
【００７０】
ステップ＃２１においては、カメラからのコマンドが“＄０６”ならば、櫛歯ピッチ読み出しのコマンドなので、ステップ＃２２へ進む。櫛歯ピッチは、櫛歯１歯分のレンズの移動量を表すパラメータである。そして、このステップ＃２２において、櫛歯ピッチ、例えば１ｕｍをシフトレジスタ８３に転送し、次のステップ＃８において、カメラにこれを通信する。
【００７１】
次の図４に示すステップ＃２３においては、カメラからのコマンド“＄０７ならば、レンズ状態読み出しのコマンドなので、ステップ＃２４へ進み、ここではアキュムレータＡに＄８０をストアする。ビット７は高速通信対応のビットであり、この図面のレンズは高速通信対応レンズなので“＄８０”をセットする。従来の高速通信できないレンズは“０”に設定されている。
【００７２】
次のステップ＃２５においては、ポートＰ２６の状態を判別し、絞り開放スイッチ６３がオンになっていて“０”ならばステップ＃２６へ進み、オフで“１”ならばステップ＃２７へ進む。
【００７３】
ステップ＃２６においては、アキュムレータＡに“＄０２”を加算する。ビット１を「１」として、絞りが絞り込まれていることをカメラに伝える。絞り開放ならば、ステップ＃２４で「０」が設定されている。
【００７４】
次のステップ＃２７においては、距離環駆動中フラグＬＭＯＶＦの状態を見て、“１”が立っていればステップ＃２８へ進み、“０”ならばステップ＃２９へ進む。
【００７５】
ステップ＃２８においては、アキュムレータＡに「１」を加えることで、距離環駆動中をカメラに伝える。そして、次のステップ＃２９において、シフトレジスタ８３にアキュムレータＡの内容を転送する。続くステップ＃３０においては、図５（Ａ）に示したカメラ通信サブルーチンをコールして、カメラにレンズ状態を送信する。
【００７６】
以降、ステップ＃３に戻り、カメラのコマンド通信待ちに入る。
【００７７】
また、ステップ＃３１においては、カメラからのコマンドが“＄１０”ならば、絞り駆動のコマンドなのでステップ＃３２へ進み、ここでシフトレジスタ８３に“＄００”を転送する。そして、次のステップ＃３３において、カメラ通信サブルーチンをコールして、カメラからのデータを待つ。
【００７８】
この絞り駆動コマンドでは、カメラから１バイトの絞り込み値を受信する。この絞り込み値は、「０」が開放、８ステップで１段分絞り込む値として定義されている。
【００７９】
次のステップ＃３４においては、カメラから受信した絞り込み量をアキュムレータＡに取り込む。そして、次のステップ＃３５において、レンズ制御用マイコン５８のデータバスＬＢＵＳを介して絞り駆動回路６１にデータを転送する。
【００８０】
絞り駆動回路６１は、与えられた段数分絞りを駆動する。例えば、１６進で“＄１０”，１０進で「１６」ならば、開放Ｆ1.4 から２段分絞り込むので、絞りはＦ2.8 になる。また、Ｆ2.8 に絞り込んでいるときに“＄００”が来た場合は絞りを開放まで戻す。そして、絞り駆動した後にステップ＃３に戻り、カメラコマンド待ちに入る。
【００８１】
ステップ＃３６においては、カメラからのコマンドが“＄２０”ならば、距離環駆動のコマンドなので、ステップ＃３７へ進む。距離環駆動コマンドではカメラから２バイトの符号付データを受信する。ステップ＃３７においては、シフトレジスタ８３に“＄００”を転送する。そして、次のステップ＃３８において、カメラ通信サブルーチンをコールして、カメラからのデータを待つ。
【００８２】
次のステップ＃３９においては、カメラからの一つ目のデータをレジスタＦＨＲに格納する。そして、ステップ＃４０において、シフトレジスタ８３に“＄００”を転送する。続くステップ＃４１においては、カメラ通信サブルーチンをコールして、カメラからのデータを待つ。次いでステップ＃４２において、カメラからの二つ目のデータをレジスタＦＬＲに格納する。
【００８３】
次のステップ＃４３においては、受信したデータが正ならばステップ＃４５へ進み、負ならばステップ＃４４へ進む。
【００８４】
ステップ＃４４においては、ポートＰ３１を“０”にし、Ｐ３３を“１”にする。これにより、ＰＮＰトランジスタ６９とＮＰＮトランジスタ７０が共にオンし、モータ６７を回転させる。この回転によってレンズ５９は無限側に駆動される。
【００８５】
また、ステップ＃４５においては、ポートＰ３２を“０”にし、Ｐ３０を“１”にする。これにより、ＰＮＰトランジスタ６８とＮＰＮトランジスタ７１が共にオンし、モータ６７を上記ステップ＃４４とは逆方向に回転させる。この回転によってレンズ５９は至近側に駆動される。
【００８６】
次のステップ＃４６においては、ポートＰ２３がハイレベルからローレベルになると発生する割込を起動する。以降のモータ制御は、図５（Ｂ）に示すＰ２３割込ルーチンで行われる。次のステップ＃４７においては、距離環駆動中フラグＬＭＯＶＦを“１”にセットする。これからはカメラがコマンド“＄０７”でレンズ状態を要求したときには、上記ステップ＃２８でアキュムレータＡのビット０を「１」にセットするので、カメラに距離環駆動中を伝達することができる。
【００８７】
以降、ステップ＃３に戻り、カメラのコマンド待ちに入る。
【００８８】
上記ステップ＃４４，＃４５で駆動を開始したレンズ５９はパルス発生用櫛歯６６上を移動してゆくため、動いた量に比例した回数だけオン，オフする。その信号をポートＰ２３は受けて、オフからオンしたときに割込を発生する。これについて、図５（Ｂ）のフローチャートにより説明する。
【００８９】
Ｐ２３割込みが発生すると、メインの処理を中断してステップ＃６２を介してステップ＃６３からＰ２３割込み処理を開始する。
【００９０】
ステップ＃６３においては、ＦＨＲが正ならステップ＃７３へ進み、負ならばステップ＃６４へ進む。
【００９１】
まず、負の場合について説明する。
【００９２】
ステップ＃６４においては、レジスタＦＬＲの値を１つ増加させる。そして、次のステップ＃６５において、レジスタＦＬＲがオバーフローしたらステップ＃６６へ進み、そうでなければステップ＃６８へ進む。
【００９３】
ステップ＃６６においては、レジスタＦＨＲの値を１つ増加させる。そして、次のステップ＃６７において、レジスタＦＨＲが「０」になったらステップ＃７０へ進み、そうでなければステップ＃６８へ進む。
【００９４】
ステップ＃６８においては、再度、このＰ２３割込みを設定する。そして、次のステップ＃６９において、この割込処理を終了し、メインの処理に戻る。
【００９５】
つまり、レンズが移動するにしたがって、毎回ポートＰ２３がオフからオンになる毎にステップ＃６４から＃６７までにより、カメラから来た２バイトの負のデータを１ずつインクリメントすることを繰り返す。そのうちに、カメラからのデータが「０」になったら、ステップ＃７０へ進むことになる。
【００９６】
ステップ＃７０においては、上記ステップ＃２と同様に、各出力ポートを設定し、モータ６７の駆動を停止させる。又距離環駆動中フラグＬＭＯＶＦをクリアする。次の、ステップ＃７１においては、ポートＰ２３の割込を停止する。そして、ステップ＃７２において、この割込処理を終了し、図４のメインの処理に戻る。
【００９７】
このようにして、カメラから指示された櫛歯パルス分だけ至近側にレンズを駆動することができた。
【００９８】
次に、カメラからのデータが正の場合について説明する。
【００９９】
ステップ＃７３においては、レジスタＦＬＲから１つ減算する。そして、次のステップ＃７４において、レジスタＦＬＲが「０」でなければステップ＃６８へ進み、割込を継続して行う。
【０１００】
また、ステップ＃７５において、レジスタＦＨＲが「０」でなければステップ＃７６へ進み、一方、レジスタＦＨＲ，ＦＬＲともに「０」ならばステップ＃７０へ進み、モータ６７を停止すると共に距離環駆動を停止する。
【０１０１】
ステップ＃７６においては、ＦＨＲから１つ減算する。そして、ステップ＃６８へ進み、この割込を継続して行う。
【０１０２】
つまり、レンズが移動するにしたがって、毎回ポートＰ２３がオフからオンになる毎にステップ＃７３から＃７６までにより、カメラから通信されて来た２バイトの正のデータを１づつデクリメントすることを繰り返す。そのうちに、カメラからのデータが「０」になったら、ステップ＃７０へ進むことになる。
【０１０３】
このようにして、カメラから指示された櫛歯パルス分だけ無限側にレンズを駆動することができる。
【０１０４】
そして、ステップ＃７２でこのＰ２３割込みサブルーチンからメインルーチンへ戻る。
【０１０５】
図４に戻って、ステップ＃４８においては、カメラからのコマンドが“＄３０”ならば、通信速度切換えのコマンドなので、ステップ＃４９へ進む。そして、このステップ＃４９においては、ポートＰ２０を“１”にする。これにより、アンドゲート７４をイネーブル、アンドゲート７５をディセーブルする。
【０１０６】
これ以降の通信完了時、ＲＳフリップフロップ８１のセット信号はディレイ回路７３のディレイされた出力を用いる。このディレイについては、後で説明する。
【０１０７】
次のステップ＃５０においては、カメラからのデータが“＄４０”ならば、レンズ停止のコマンドなので、ステップ＃５１へ進み、そうでなければカメラからのコマンドは該当するものがないので無視してステップ＃３へ戻り、次のコマンド待ちに入る。
【０１０８】
ステップ＃５１においては、Ｐ２２＝０とする。続くステップ＃５２においては、Ｐ２２＝１とする。これにより、図５（Ａ）のステップ＃５８，＃５９と同様、カウンタ７２とＲＳフリップフロップ８１をクリアする。
【０１０９】
次のステップ＃５３においては、上記ステップ＃２と同様、モータ６７を停止する。そして、ステップ＃５４において、ポートＰ２１の割込を許可する。続くステップ＃５５において、レンズ制御用マイコン５８の作動を停止させる。
【０１１０】
ポートＰ２１が“０”の間、レンズ制御用マイコン５８は停止したままになる。カメラから新たに１バイト通信が行われると、ポートＰ２１はハイレベルになり、レンズ制御用マイコン５８はステップ＃５６から作動を開始する。
【０１１１】
ステップ＃５６においては、作動を開始したレンズ制御用マイコン５８は上記ステップ＃５で送られたコマンドを受け取り、説明した処理を再開する。
【０１１２】
以上でレンズ制御用マイコン５８の説明を終わる。
【０１１３】
次に、図１に示すカメラ制御用マイコン１の動作について、図６，図７のメインフローチャート、及び、これらメインフローチャートの実行時にコールされる、図８〜図１２のサブルーチンのフローチャートにより説明する。
【０１１４】
なお、このフローチャートにおいては、Ａは演算を行うアキュムレータ、ＪＦＦはピントが合っていることを示す合焦フラグ、ＨＣＯＭは装着したレンズが高速通信可能レンズであることを表すフラグ、ＬＭＯＶＦは距離環駆動中を示すフラグ、ＣＬＯＳＥＦは装着したレンズの絞りが絞り込まれていることを表すフラグ、ＢＶは被写体の輝度、ＥＶは被写体の露出値、ＳＶはＩＳＯ感度、ＡＶは演算した絞り値、ＴＶは演算したシャッタ秒時、ＡＶｏは開放絞り値、ＡＶｍａｘは最も絞り込める最小の絞り値、ＢＰはベストピント補正値、Ｓはレンズ敏感度、ＰＴは櫛歯ピッチを格納するそれぞれ８ビットのレジスタ、ＤＥＦはデフォーカス量、ＬＭはレンズ駆動量を格納する１６ビットレジスタ、ＦＰは駆動櫛歯数を格納するそれぞれ１６ビットレジスタ、［ＳＢ］はデータバスＤＢＵＳを通してアクセスするシリアルレジスタ４５を表している。
【０１１５】
撮影者が不図示のレリーズ釦を半押しすると、図１に示すレリーズ第一スイッチ１０がオンし、ダイオード７を通してＤＣ／ＤＣコンバータ２を作動させる。すると、ＤＣ／ＤＣコンバータ２は電池３の電圧を昇圧し、ダイオード６を介してカメラ制御用マイクロコンピュータ１に電源が供給される。これにより、カメラ制御用マイクロコンピュータ１はステップ＃７１を介してステップ＃７２からの処理を開始する。
【０１１６】
ステップ＃７２においては、ポートＰ００をローレベルにする。これにより、ダイオード８を介してＤＣ／ＤＣコンバータ２がオンし、レリーズ第一スイッチ１０がオフされても電源が保持されるようになる。
【０１１７】
次のステップ＃７３においては、合焦フラグＪＦＦをクリアすると共に、各ポートを、Ｐ１０＝０，Ｐ１１＝０，Ｐ１２＝０，Ｐ０４＝０，Ｐ０５＝１，Ｐ０６＝１，Ｐ０７＝０，Ｐ１４＝０にする。前記ポートＰ１０，Ｐ１１，Ｐ１２を“０”にすることにより、ＮＰＮトランジスタ２５，２６，２７がそれぞれオフする。又ポートＰ０５，Ｐ０６を“１”にすることにより、ＰＮＰトランジスタ１６，１７がオフし、ポートＰ０４，Ｐ０７を“０”にすることにより、ＮＰＮトランジスタ１８，１９がオフし、モータ１５の両端をオープンにさせる。又ポートＰ１４を“０”にすることにより、アンドゲート３３をディセーブル，インバータ３２を介してアンドゲート３４をイネーブルにする。また、ナンドゲート４３もディセーブルにする。
【０１１８】
次のステップ＃７４においては、図８（Ａ）に示すレンズチェックのサブルーチンをコールし、ステップ＃１２８を介してステップ＃１２９よりレンズチェック処理を開始する。
【０１１９】
ステップ＃１２９においては、データバスＤＢＵＳを介してシフトレジスタ４５にデータ“＄０１”を転送する。そして、次のステップ＃１３０において、図１２（Ｃ）に示すレンズ通信サブルーチンをコールし、ステップ＃２１４を介してステップ＃２１５からレンズチェック処理を開始する。
【０１２０】
図１２（Ｃ）のステップ＃２１５においては、ポートＰ１３をチェックし、ハイレベルになるまでここで待つ。
【０１２１】
レンズ制御用マイコン５８はリセットから制御を始め、図３のステップ＃４でコールされる、カメラ通信サブルーチン内のステップ＃６０（図５（Ａ）参照）でループしてコマンド通信待ちをしている。その前のステップ＃５８にて、ＲＳフリップフロップ８１をリセットしているので、ＮＭＯＳゲート８０はオフであり、従ってシリアルクロック端子８９は抵抗７８にてハイレベルにプルアップされているので、シリアルクロック端子８９もハイレベルとなり、ステップ＃２１６に進む。
【０１２２】
今、ポートＰ１４が“０”なので、発振器３０の出力の５１２ＫＨｚは分周器３１で４分周されて１２８ＫＨｚになり、アンドゲート３４，オアゲート３５を通って、Ｄフリップフロップ３６，４１、ナンドゲート４３に入る。前記Ｄフリップフロップ３６でさらに２分周されたクロックはＤフリップフロップ３７に入る。ポートＰ１５が“０”を出力していると、Ｄフリップフロップ３７の出力もローレベルであり、従ってカウンタ３８はクリア状態で、各端子Ｑ１，Ｑ２，Ｑ４，Ｑ８ともに“０”を出力であり、インバータ３９がハイレベルになる。又アンドゲート４０はＤフリップフロップ３７の出力が“０”なので“０”を出力し、インバータ４２の出力が“１”，オアゲート４４の出力も“１”，インバータ４８の出力が“０”なので、ＮＭＯＳゲート５１はオフ状態になっている。
【０１２３】
また、ポートＰ１４が“０”なので、ナンドゲート４３が“１”を出力し、オアゲート４９の出力も“１”となり、又ＰＭＯＳゲート５０，５２，５６もオフ状態にある。ノアゲート４７も“０”なのでＮＭＯＳゲート５３もオフ状態にある。このとき、レンズのプルアップ抵抗７８，８６によってシリアルクロック端子８９とカメラ信号端子９０はハイレベルにプルアップされている。
【０１２４】
ここで、ステップ＃２１６において、ポートＰ１５に“１”を出力すると、Ｄフリップフロップ３７の入力がハイレベルになり、６４ＫＨｚのクロックに同期して出力もハイレベルになる。すると、カウンタ３８はクリアを解除され、クロックのカウントを始める。しかし、クリアされていたので端子Ｑ８は“０”のままで、アンドゲート４０の出力が“１”になる。
【０１２５】
インバータ４２の出力が“０”、従ってオアゲート４４は６４ＫＨｚのクロックを出力し、インバータ４８で反転され、６４ＫＨｚクロックがローレベルの時にＮＭＯＳゲート５１をオンにする。よって、シリアルクロック端子８９は６４ＫＨｚのローレベルの時、グランドにショートされ、ハイレベルのときはＰＭＯＳゲート５０，ＮＭＯＳゲート５１ともにオフでプルアップ抵抗７８によりハイレベルにプルアップされるので、６４ＫＨｚクロックをオープンドレイン方式でレンズに伝達することができる。
【０１２６】
同時に、オアゲート４４の６４ＫＨｚクロックはシフトレジスタ４５に入り、格納されている８ビットデータをＳＯＵＴ端子から１ビットづつ出力する。インバータ４２の出力が“０”なのでノアゲート４７の出力は、シリアルデータの反転した値を出力し、ローレベルの時にＮＭＯＳゲート５３をオン，ハイレベルの時にオフさせる。ハイレベルの時はＰＭＯＳゲート５２，ＮＭＯＳゲート５３ともにオフで、プルアップ抵抗８６によりハイレベルにプルアップされるので、カメラ信号端子にオープンドレイン方式で６４ＫＨｚクロックに同期してシリアルデータを出力することができる。
【０１２７】
レンズはシリアルクロック端子８９の信号をバッファ７９を通してシフトレジスタ８３に入れる。該シフトレジスタ８３はクロックに同期して８ビットデータをカメラからバッファ８４を通して取り込み、同時にレンズデータをＳＯＵＴから出力し、インバータ８５，ＮＭＯＳゲート８７を通してレンズ信号端子９１に出力する。
【０１２８】
カメラは、同様にバッファ４６を通してＳＩＮからレンズのシリアルデータをシフトレジスタ４５に取り込む。
【０１２９】
次のステップ＃２１７においては、カウンタ３８のＱ８端子が“１”になるまで待つ。６４ＫＨｚクロックが８発カウントされると、カウンタ３８のＱ８端子の出力が“１”に変る。その結果、アンドゲート４０が“０”、インバータ４２の出力が“１”になり、オアゲート４４の出力はクロックの伝達を停止して“１”になる。又インバータ４８，ノアゲート４７を通してＮＭＯＳゲート５１，５３はオフ状態になる。この時、６４ＫＨｚクロックは８発分、シリアルクロック端子８９を通して出力して止まり、カメラのシフトレジスタ４５とレンズのシフトレジスタ８３の８ビットデータが交換されたことになる。
【０１３０】
このようにして、従来通りのオープンドレイン方式でレンズとカメラが通信することができる。
【０１３１】
ここにおいては、カメラのシフトレジスタに“＄０１”が入っていたので、レンズのシフトレジスタ８３に“＄０１”に転送されたことになる。レンズはカウンタ７２が６４ＫＨｚをカウントし、８発目でＱ８端子が“１”を出力し、ポートＰ２０が“０”なので、アンドゲート７５，オアゲート７７を通して、ＲＳフリップフロップ８１をセット、ＮＭＯＳゲート８０をオンにして、シリアルクロック端子８９をグランドにショートする。
【０１３２】
同時にポートＰ２１をハイレベルにするので、レンズ制御用マイコン５８は、ステップ＃６０からステップ＃６１に進む。ＲＳフリップフロップ８１の出力はレンズのポートＰ２２が“０”を出力するまで“１”のままになる。したがって、シリアルクロック端子８９もローレベルのまま、レンズ制御用マイコン５８がビジーであることを伝達する。レンズ制御用マイコン５８は、ステップ＃５で“＄０１”を取り込み、ステップ＃６でステップ＃７に分岐する。
【０１３３】
次のステップ＃２１８においては、ポートＰ１５を“０”にして、カウンタ３８をクリアする。そして、ステップ＃２１９において、このサブルーチンをリターンし、図８（Ａ）のメインのルーチンに戻る。
【０１３４】
図８（Ａ）に戻って、ステップ＃１３１においては、シフトレジスタ４５に０を設定する。そして、次のステップ＃１３２において、再度、レンズ通信をコールする。
【０１３５】
今度は、シリアルクロック端子８９がローレベルなので、ステップ＃２１５でハイレベルになるまでループして待つ。レンズが処理を終わって次のカメラ通信サブルーチンでポートＰ２２が０を出力し、シリアルクロック端子８９ａはプルアップ抵抗７８によりハイレベルにされ、ビジーが解除される。そこでステップ＃２１６へ進み、次のシリアル通信を行う。
【０１３６】
このようにして、レンズ処理中はカメラに通信を待たせることができる。
【０１３７】
今度は、レンズ制御用マイコン５８はステップ＃７でシフトレジスタ８３に“＄ＡＡ”を設定しているので、１バイトシリアル通信するとカメラのシフトレジスタ４５には“＄ＡＡ”が入っている。
【０１３８】
次のステップ＃１３３においては、アキュムレータＡにシフトレジスタ４５の受信したデータを取り込む。そして、ステップ＃１３４において、図６のメインのルーチンに戻る。
【０１３９】
図６に戻って、ステップ＃７５においては、アキュムレータＡと“＄ＡＡ”を比較する。
【０１４０】
上述したようにレンズとの通信ができれば、アキュムレータＡは“＄ＡＡ”なのでステップ＃７８へ進むが、もしレンズ装着されていなかったり、レンズ制御用マイコン５８が作動していない場合には、アキュムレータＡには、“＄ＡＡ”以外のデータが入る。例えば、レンズ装着していない時には、レンズ信号端子９１はオープンなので、プルアップ抵抗５４でハイレベルになるから、シフトレジスタ４５には“＄ＦＦ”のデータが入る。このような場合はステップ＃７６へ分岐することになる。
【０１４１】
また、故障などでシリアルクロック端子８９ａがグランドにショートされているような場合、レンズにシリアルクロックが転送されず、レンズ信号端子９１はハイレベル、あるいはローレベルのままになる。したがって、データが“＄００”になるので、ステップ＃７６へ分岐する。
【０１４２】
ステップ＃７６においては、ポートＰ００に“１”を出力し、ＤＣ／ＤＣコンバータ２の出力を停止する。そして、次のステップ＃７７において、異常状態なので、カメラ制御用マイコン１の作動を停止させる。
【０１４３】
また、ステップ＃７８においては、図１０に示すレンズ状態読込みのサブルーチンをコールし、ステップ＃１７０を介してステップ＃１７１よりレンズ状態の読込みを開始する。
【０１４４】
ステップ＃１７１においては、［ＳＢ］＝＄０７とする。そして、次のステップ＃１７２において、レンズにレンズ状態読込みコマンドである“＄０７”を送信する。次いで、ステップ＃１７３において、［ＳＢ］＝＄００とする。続くステップ＃１７４においては、レンズから１バイトデータを受け取る。そして、ステップ＃１７５において、アキュムレータＡにシフトレジスタ４５のデータを取り込む。
【０１４５】
次のステップ＃１７６においては、アキュムレータＡのビット０をチェックし、すなわちＡ＆＄０１を判別する。この結果、“１”ならばステップ＃１７７へ進み、“０”ならばステップ＃１７８へと進む。
【０１４６】
ステップ＃１７７においては、フラグＬＭＯＶＦに“１”を立てる。一方、ステップ＃１７８においては、フラグＬＭＯＶＦに“０”を入れる。
【０１４７】
このようにして、ステップ＃１７６，１７７，１７８において、アキュムレータＡのビット１の状態に従ってフラグＬＭＯＶＦがセットされる。このビットは、上記ステップ＃２７，＃２８で設定された距離環駆動中の情報である。
【０１４８】
次のステップ＃１７９においては、Ａ＆＄０２を判別する。この結果、“１”ならばステップ＃１８０へ進み、“０”ならばステップ＃１８１へと進む。
【０１４９】
ステップ＃１８０においては、ＣＬＯＳＥＦ＝１とする。また、ステップ＃１８１においては、同様に、アキュムレータＡのビット１の情報でフラグＣＬＯＳＥＦをセットする。これは、ステップ＃２５，２６で設定された絞り開放スイッチ６３の状態を表すビットである。
【０１５０】
次のステップ＃１８２においては、Ａ＆＄８０を判別する。この結果、“１”ならばステップ＃１８３へ進み、“０”ならばステップ＃１８４へと進む。
【０１５１】
ステップ＃１８３においては、ＨＣＯＭ＝１とする。また、ステップ＃１８４においては、同様に、アキュムレータＡのビット７の情報でフラグＨＣＯＭをクリアする。これは、ステップ＃２４で設定された高速通信可能レンズを表すビットである。
【０１５２】
ステップ＃１８５においては、図６のメインルーチンへ戻る。
【０１５３】
再び図６において、ステップ＃７９においては、フラグＨＣＯＭの状態を調べて、“１”つまり高速通信可能レンズならばステップ＃８０へ進み、従来の高速通信できないレンズならばステップ＃８２へ進む。
【０１５４】
次のステップ＃８０においては、図１２（Ａ）に示す通信切換えのサブルーチンをコールし、ステップ＃２０６を介してステップ＃２０７より通信切換え処理を開始する。
【０１５５】
ステップ＃２０７においては、［ＳＢ］＝＄３０とする。そして、次のステップ＃２０８において、レンズに“＄３０”のコマンドを送信する。レンズ制御用マイコン５８はコマンド“＄３０”を受信して、図４のステップ＃４９でポートＰ２０に“１”を出力する。続くステップ＃２０９において、図６のメインのルーチンへ戻る。
【０１５６】
再び図６において、ステップ＃８１においては、ポートＰ１４に“１”を出力する。この結果、インバータ３２の出力がローレベルに、アンドゲート３３がイネーブルになるので、発振器３０の５１２ＫＨｚがアンドゲート３３，オアゲート３５を通ってＤフリップフロップ３６に入り、シリアル通信のクロックレートは、６４ＫＨｚから２５６ＫＨｚに切り替わる。さらに、ナンドゲート４３がイネーブルになる。
【０１５７】
次のステップ＃８２においては、図８（Ｂ）に示すＡＶｏ読込みのサブルーチンをコールし、ステップ＃１３５を介してステップ＃１３６よりＡＶｏ読込み処理を開始する。
【０１５８】
ステップ＃１３６においては、［ＳＢ］＝＄０２とする。そして、次のステップ＃１３７において、コマンド“＄０２”をレンズに送信する。
【０１５９】
このとき、図１２（Ｃ）のステップ＃２１６でポートＰ１５を“１”にすると、今度はポートＰ１５が“１”なので、Ｄフリップフロップ３７は２５６ＫＨｚのクロックでラッチし、“１”を出力する。カウンタ３８のＱ８端子の出力は、クリアを解除されても“０”なので、アンドゲート４０の出力は“１”になる。Ｄフリップフロップ４１は５１２ＫＨｚのクロックが入っているので、２５６ＫＨｚの半クロック分遅れて“１”にラッチされる。ナンドゲート４３のＤフリップフロップ４１とポートＰ１５は“１”、従って、５１２ＫＨｚと２５６ＫＨｚとナンドした結果を出力する。
【０１６０】
つまり、図１３のタイミングチャートに示したように、シリアルクロックのハイレベルの期間の前半の時間だけ、ローレベルを出力する。
【０１６１】
オアゲート４４の出力であるシリアルクロックがローレベルの時には、ＮＭＯＳゲート５１がオンになり、シリアルクロック端子８９をローレベルに引き落とす。
【０１６２】
シリアルクロックがハイレベルになると、ナンドゲート４３がローレベルになるので、ＰＭＯＳゲート５０がオンになり、シリアルクロック端子８９を電源に接続する。シリアルクロックがハイレベルの期間の前半を過ぎると、ＰＭＯＳゲート５０がオフし、シリアルクロック端子８９は、プルアップ抵抗７８でのみハイレベルにプルアップされる。
【０１６３】
このようにして、シリアルクロック端子８９の立ち上がりのみＰＭＯＳゲートでハイレベルにすることで、立ち上がり時間を高速化することができる。
【０１６４】
シリアルクロックが８発転送されると、カウンタ３８のＱ８端子が“１”を出力し、インバータ３９を通してアンドゲート４０の出力が“０”になる。しかし、Ｄフリップフロップ４１は半クロック分遅れるので、ＰＭＯＳゲート５０は最後の立ち上がりの半クロック分までオンにして、シリアルクロック端子８９を立ち上げる。
【０１６５】
レンズ側においては、カウンタ７２がシリアルクロックを８発カウントし、８発目でＱ８端子を“１”にするが、ポートＰ２０が“１”なので、ディレイ回路７３がシリアルクロックの半クロック分以上信号を遅らせて出力し、アンドゲート７４，オアゲート７７を通してＲＳフリップフロップ８１をセットし、シリアルクロック端子８９をローレベルに引き下げるので、ＰＭＯＳゲート５０とＮＭＯＳゲート８０は同時にオンすることなく、電源，グランドのショートが起きることはない。
【０１６６】
また、シリアルクロック端子８９が事故でグランドにショートしている場合には、ステップ＃７５から＃７６へ進むので、ＰＭＯＳゲート５０はオンにならず、電源，グランドのショートが起きることはない。
【０１６７】
このようにして、電源，グランドのショートの危険なく、ＣＭＯＳ方式で高速に通信することが可能になった。
【０１６８】
カメラ信号端子９０もノアゲート４７がシリアルデータの反転した値を出力し、シリアルデータが“１”の時のみ、ナンドゲート４３の出力のオアゲート４９から同様なタイミングでＰＭＯＳゲート５２が立ち上がり半クロック分オンになるので、ＣＭＯＳ方式で高速に通信することが可能になる。
【０１６９】
レンズ信号端子９１については、ＰＭＯＳゲート５６をオンすることで立ち上がり半クロック分抵抗５４と５５がパラにプルアップすることができ、高速に立ち上げることが可能になる。
【０１７０】
また、従来の高速通信できないレンズにおいては、ステップ＃７９から＃８２に進むので、ポートＰ１４が“１”にならない。したがって、ＣＭＯＳ方式の高速通信に切り換わることなく、従来の低速なオープンドレイン方式のまま通信を行うことになる。
【０１７１】
図８（Ｂ）に戻って、ステップ＃１３８においては、［ＳＢ］＝＄００とする。そして、次のステップ＃１３９において、レンズ通信する。次いで、ステップ＃１４０において、ＡＶｏ＝［ＳＢ］とする。つまり、同様にレンズに１バイトシリアル通信し、開放絞り値をレンズから受け取り、ＡＶｏレジスタに収納する。そして、ステップ＃１４１において、図６のメインルーチンに戻る。
【０１７２】
再び図６において、ステップ＃８３においては、同様にＡＶｍａｘ読込みのサブルーチンをコールし、図８（Ｃ）に示す様に、ステップ＃１４２から＃１４８までにおいて、レンズへ“＄０３”のコマンドを送信し、レンズから最小絞り値を受信して、ＡＶｍａｘレジスタに格納する処理を行う。
【０１７３】
次のステップ＃８４から＃９５までは、プログラム露出のシャッタ秒時，絞り値を求めるルーチンである。
【０１７４】
ステップ＃８４においては、フォトダイオード２０を用いて被写体の輝度を測光し、そのアナログ値をＡ／Ｄ変換器２３を介してデータバスＤＢＵＳから取り込み、ＢＶレジスタに読み込む。そして、次のステップ＃８５において、測光値ＢＶに不図示のＩＳＯ設定手段より設定されたフィルム感度値ＳＶを加え、ＥＶレジスタに格納する。続くステップ＃８６においては、演算絞り値ＡＶをＥＶ／２として求める。
【０１７５】
次のステップ＃８７においては、演算絞り値ＡＶが開放絞り値ＡＶｏより小さいか否かを判別し、大きければ次のステップ＃８９へ進み、小さければステップ＃８８へ進んでここで演算絞り値ＡＶを開放絞り値ＡＶｏにし、ステップ＃８９へ進む。
【０１７６】
次のステップ＃８９においては、演算絞り値ＡＶが最小絞り値ＡＶｍａｘより小さいか否かを判別し、大きければ次のステップ＃９１へ進み、小さければステップ＃９０へ進んでここで演算絞り値ＡＶを最小絞り値ＡＶｍａｘにし、ステップ＃９１へ進む。
【０１７７】
次のステップ＃９１においては、シャッタ秒時ＴＶを「ＥＶ−ＡＶ」により求める。そして、次のステップ＃９２において、シャッタ秒時ＴＶが１／５００であるか判別し、そうでなければ次のステップ＃９４へ進み、そうであればステップ＃９３へ進んでここで「ＴＶ＝１／５００」を設定する。
【０１７８】
次のステップ＃９４においては、シャッタ秒時ＴＶが１秒か否かを判別し、そうでなければ図７のステップ＃９６進み、そうであればステップ＃９５へ進んでここで「ＴＶ＝１ｓ」とする。つまり、シャッタ秒時を１／５００秒から１秒の間に制限する。
【０１７９】
このようにして、プログラム露出のシャッタ秒時，絞り値が演算される。
【０１８０】
次の図７に示すステップ＃９６から＃１０９までは、自動焦点合せのルーチンである。
【０１８１】
ステップ＃９６において、合焦フラグＪＦＦが立っているか否かを判別する。この時点では立っていないのでステップ＃９７へ進み、上記ステップ＃７８と同様にレンズ状態を読み込む。次のステップ＃９８においては、距離環駆動中フラグＬＭＯＶＦをチェックするが、初めは動いていないのでステップ＃９９へ進む。
【０１８２】
ステップ＃９９においては、ＣＣＤ５７から像データをデータバスＤＢＵＳを通して読込み、公知の測距演算を行ってデフォーカス量を求め、レジスタＤＥＦに格納する。そして、ステップ＃１００において、ＢＰ読込みのサブルーチンをコールし、図９（Ａ）に示す様に、レンズへ“＄０４”を送信し、レンズからベストピント補正値を受信して、これをレジスタＢＰに読み込む。
【０１８３】
次のステップ＃１０１においては、演算したデフォーカス量をベストピント補正値で補正する。そして、ステップ＃１０２において、デフォーカス量が「０」に近ければ合焦と判定してステップ＃１０９へ進むが、ここではデフォーカス量があるとしてステップ＃１０３へ進むものとする。
【０１８４】
ステップ＃１０３においては、レンズの敏感度を読込み、レジスタＳに格納する。次のステップ＃１０４においては、デフォーカスを敏感度で割ったレンズ駆動量ＬＭを求める。続くステップ＃１０５においては、レンズの櫛歯ピッチを読込み、レジスタＰＴに格納する。そして、次のステップ＃１０６において、レンズ駆動量を櫛歯ピッチで割った、駆動ピッチ数ＦＰを求める。
【０１８５】
次のステップ＃１０７においては、図１１（Ｃ）に示すレンズ駆動送信のサブルーチンをコールし、ステップ＃１９８を介してステップ＃１９９よりレンズ駆動送信を開始する。
【０１８６】
ステップ＃１９９においては、［ＳＢ］＝＄２０とする。そして、次のステップ＃２００において、レンズに距離環駆動コマンドを送信する。続くステップ＃２０１においては、［ＳＢ］＝ＦＰ／２５６とする。そして、次のステップ＃２０２において、櫛歯ピッチ数ＦＰを２５６で割ることで上位バイトを求め、レンズに送信する。続くステップ＃２０３においては、［ＳＢ］＝ＦＰｍｏｄ２５６、つまり櫛歯ピッチ数ＦＰを２５６で割ったあまりで下位バイトを求め、次のステップ＃２０４においてこれをレンズに送信して、図７のメインルーチンに戻る。
【０１８７】
このデータを受信すると、レンズ制御用マイコン５８は、図４に示したステップ＃４３から＃４６までにより距離環の駆動を開始し、ステップ＃４７でＬＭＯＶＦフラグに“１”を立てる。
【０１８８】
次のステップ＃１０８においては、撮影者がレリーズ釦の第一ストロークを保持している間は、レリーズ第一スイッチ１０はオンなのでステップ＃７４へ戻り、ステップ＃７４から＃９７までを実行する。
【０１８９】
そして、ステップ＃９８においては、距離環が駆動してフラグＬＭＯＶＦが“１”になっているのでステップ＃１０８へ進み、距離環駆動が終わるまでステップ＃７４から＃９７までを繰り返し実行する。
【０１９０】
レンズが送信した櫛歯数ＦＰだけ距離環駆動すると、モータ６７にブレーキを掛けてＬＭＯＶＦフラグをクリアする。従って、ステップ＃９８からステップ＃９９へ再度分岐する。
【０１９１】
このようにして繰り返し測距演算とレンズ距離環駆動を行っていると、デフォーカスが「０」に近くなるので、ステップ＃１０２からステップ＃１０９へ分岐し、ここで合焦フラグＪＦＦに“１”をセットし、レンズ距離環が合焦位置にあると判定する。
【０１９２】
すると、ステップ＃９６で今度はステップ＃１１０へ分岐する。そして、このステップ＃１１０において、レリーズ第二スイッチ１２の状態を判定し、オフならばステップ＃１０８へ進み、撮影者が、レリーズ釦の第一ストロークを保持している間、前述したステップ＃７４から＃９６，＃１１０，＃１０８を繰り返し実行する。このとき、撮影者がレリーズ釦をさらに押し込むとレリーズ第二スイッチ１２がオンになり、ステップ＃１１０からステップ＃１１１に分岐する。
【０１９３】
ステップ＃１１１においては、各ポートを、Ｐ１０＝１，Ｐ１１＝１，Ｐ１２＝１として、ＮＰＮトランジスタ２５，２７，２９をオンにし、緊定解除マグネット２４，シャッタ先幕マグネット２６，シャッタ後幕マグネット２８に通電する。この様に緊定解除マグネット２４に通電することで、不図示のミラー機構が跳ね上げを開始し、同時にシャッタの緊定を解除する。
【０１９４】
次のステップ＃１１２においては、図１１（Ａ）に示すレンズ絞り込みのサブルーチンをコールし、ステップ＃１８６を介してステップ＃１８７よりレンズの絞り込み通信を開始する。
【０１９５】
ステップ＃１８７においては、［ＳＢ］＝＄１０とする。そして、ステップ＃１８８において、絞り込みコマンドを送信する。次のステップ＃１８９においては、［ＳＢ］＝ＡＶ−ＡＶｏとし、続くステップ＃１９０において、レンズ通信する。つまり、演算した絞り値ＡＶから開放絞り値ＡＶｏを引いた差分の絞り込み段数をレンズに送信する。
【０１９６】
レンズ制御用マイコン５８は、このデータを絞り駆動回路６１に出力し、絞り込みを行わせる。
【０１９７】
そして、ステップ＃１９１において、図７のメインルーチンへ戻る。
【０１９８】
図７のステップ＃１１３においては、ポートＰ１０を“０”にする。そして、次のステップ＃１１４において、図１０に示したレンズ状態読込みを開始し、続くステップ＃１１５において、絞り開放スイッチ６３がオンになったか否かを判別する。この動作は、レンズ状態を読込み、絞り開放スイッチ６３がオンになるまで繰り返し行われる。
【０１９９】
ステップ＃１１６においては、シャッタ先幕マグネット２６の通電をオフすることでシャッタ先幕を走行させる。そして、ステップ＃１１７において、演算したシャッタ秒時ＴＶに相当する時間待つ。次いでステップ＃１１８において、シャッタ後幕マグネット２８の通電をオフすることでシャッタ後幕を走行させる。次のステップ＃１１９においては、絞り込み通信とほぼ同様にして、レンズ制御用マイコン５８に絞り込み量「０」を送信する。絞り駆動回路６１はこのデータを受けて絞りを開放に戻す。
【０２００】
次のステップ＃１２０においては、ポートＰ０５を“０”に、Ｐ０７を“１”にし、ＰＮＰトランジスタ１６とＮＰＮトランジスタ１９をオンにして、モータ１５を駆動させる。モータ１５が駆動されることで、不図示のフィルム巻き上げ、シャッタチャージが実行される。
【０２０１】
ステップ＃１２１においては、巻き上げ完了スイッチ１４がオンになるまで、このステップ＃１２１をループして待つ。
【０２０２】
次のステップ＃１２２においては、巻き上げ完了スイッチ１４がオンになったのでフィルム巻き上げ，シャッタチャージが完了したことから、ポートＰ０５とＰ０４をそれぞれ“１”にし、ＰＮＰトランジスタ１６をオフに、ＮＰＮトランジスタ１８，１９をオンにして、モータ１５の両端を接地して該モータ１５の駆動を停止させる。
【０２０３】
次のステップ＃１２３においては、ブレーキ時間である１０ｍｓの間、このステップで待機する。そして、次のステップ＃１２４において、ポートＰ０４を“０”に、Ｐ０７を“０”にし、ＮＰＮトランジスタ１８，１９をオフにしてステップ＃７４へ戻る。
【０２０４】
このようにして、フィルムの露光と巻き上げの一連の処理を説明した。
【０２０５】
撮影が終了し、レリーズ釦から手を離すとレリーズ第一スイッチがオフになり、ステップ＃１０８でステップ＃１２５へ分岐する。
【０２０６】
ステップ＃１２５においては、レンズ制御用マイコン５８にコマンド“＄４０”を送信する。すると、ステップ＃５１から＃５５でレンズ制御用マイコン５８は作動を停止する。
【０２０７】
次のステップ＃１２６においては、ＤＣ／ＤＣコンバータ２の通電を停止する。そして、ステップ＃１２７において、カメラ制御用マイコン１の作動を停止する。
【０２０８】
この後、再度レリーズ釦を押すと、またカメラ制御用マイコン１はリセットから作動を開始し、レンズに１バイト通信すると、レンズ制御用マイコン５８はステップ５６から再度作動を開始する。
【０２０９】
以上で一連の動作説明を終わる。
【０２１０】
（発明と実施の形態の対応）
請求項１において、第１の通信方式で情報を交換する手段は、図１のカメラ制御用マイコン１のポートＰ１４が“０”の時の、Ｄフリップフロップ３６，３７、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、オアゲート４４、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７で構成される回路であり、第２の通信方式で情報を交換する手段は、ポートＰ１４が“１”の時の、Ｄフリップフロップ３６，３７，４１、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、ナンドゲート４３、オアゲート４４，４９、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７、ＰＭＯＳゲート５０，５２で構成される回路である。
【０２１１】
また、第１の通信方式で情報を交換し、装着された交換レンズが第２の通信方式を持つかどうかを判別する手段は、図６のステップ＃７９を実行する部分に相当し、上記判別手段により、第２の通信方式を持つと判別されると、第２の通信方式に切り換えることは、図６のステップ＃８１に相当する。
【０２１２】
請求項２において、オープンドレイン方式の通信を行う手段は、図１のカメラ制御用マイコン１のポートＰ１４が“０”の時の、Ｄフリップフロップ３６，３７、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、オアゲート４４、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７で構成される回路であり、ＣＭＯＳ方式の通信を行う手段は、ポートＰ１４が“１”の時の、Ｄフリップフロップ３６，３７，４１、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、ナンドゲート４３、オアゲート４４，４９、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７、ＰＭＯＳゲート５０，５２で構成される回路である。
【０２１３】
請求項３において、第１の通信方式で情報を交換するオープンドレイン方式の通信手段は、図１のカメラ制御用マイコン１のポートＰ１４が“０”の時の、Ｄフリップフロップ３６，３７、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、オアゲート４４、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７で構成される回路であり、第２の通信方式で情報を交換する、通信クロックの半周期より短い時間だけＣＭＯＳ駆動するオープンドレイン方式の通信手段は、ポートＰ１４が“１”の時の、Ｄフリップフロップ３６，３７，４１、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、ナンドゲート４３、オアゲート４４，４９、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７、ＰＭＯＳゲート５０，５２で構成される回路である。
【０２１４】
また、第１の通信方式で情報を交換し、装着された交換レンズが、第２の通信方式を持つかどうかを判別する手段は、図６のステップ＃７９を実行する部分に相当し、上記判別手段により、第２の通信方式を持つと判別されると、第２の通信方式に切り換えることは、図６のステップ＃８１に相当する。
【０２１５】
請求項４において、第１の通信方式で情報を交換する手段は、図１のカメラ制御用マイコン１のポートＰ１４が“０”の時の、Ｄフリップフロップ３６，３７、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、オアゲート４４、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７で構成される回路であり、第２の通信方式で情報を交換する手段は、ポートＰ１４が“１”の時の、Ｄフリップフロップ３６，３７，４１、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、ナンドゲート４３、オアゲート４４，４９、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７、ＰＭＯＳゲート５０，５２で構成される回路である。
【０２１６】
また、第１の通信方式で情報を交換し、第２の通信方式を持つかどうかをカメラに伝達する手段は、図４のステップ＃２４から＃３０を実行する部分であり、第１の通信方式で受けたカメラからの情報で、第２の通信方式に切り換えることは、図４のステップ＃４８，４９と図２のディレイ回路７３、アンドゲート７４，７５、インバータ７６に相当する。
【０２１７】
請求項５において、オープンドレイン方式の通信を行う手段は、図１のカメラ制御用マイコン１のポートＰ１４が“０”の時の、Ｄフリップフロップ３６，３７、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、オアゲート４４、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７で構成される回路であり、ＣＭＯＳ方式の通信を行う手段は、ポートＰ１４が“１”の時の、Ｄフリップフロップ３６，３７，４１、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、ナンドゲート４３、オアゲート４４，４９、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７、ＰＭＯＳゲート５０，５２で構成される回路である。
【０２１８】
請求項６において、第１の通信方式で情報を交換するオープンドレイン方式の通信手段は、図１のカメラ制御用マイコン１のポートＰ１４が“０”の時の、Ｄフリップフロップ３６，３７、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、オアゲート４４、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７で構成される回路であり、第２の情報を交換する通信クロックの半周期より短い時間だけＣＭＯＳ駆動するオープンドレイン方式の通信手段は、ポートＰ１４が“１”の時の、Ｄフリップフロップ３６，３７，４１、カウンタ３８、インバータ３９，４２，４８、アンドゲート４０、ナンドゲート４３、オアゲート４４，４９、ＮＭＯＳゲート５１，５３、シフトレジスタ４５、ノアゲート４７、ＰＭＯＳゲート５０、５２で構成される回路である。
【０２１９】
また、第１の通信方式で情報を交換し、第２の通信方式を持つかどうかをカメラに伝達する手段は、図４のステップ＃２４から＃３０を実行する部分であり、第１の通信方式で受けたカメラからの情報で、第２の通信方式に切り換えることは、図４のステップ＃４８、＃４９と図２のディレイ回路７３、アンドゲート７４，７５、インバータ７６に相当する。
【０２２０】
以上が実施の形態の各構成と本発明の各構成の対応関係であるが、本発明は、これら実施の形態の構成に限定されるものではなく、請求項で示した機能、又は実施の形態がもつ機能が達成できる構成であればどのようなものであってもよいことは言うまでもない。
【０２２１】
【発明の効果】
以上説明したように、本発明によれば、従来の通信方式と互換性を失うことなく新しい通信方式を導入し、カメラとレンズ間の通信を高速化できるものである。
【０２２２】
また、本発明によれば、オープンドレイン通信との互換性を失うことなく、又ＣＭＯＳ方式の欠点である電源とグランドの短絡といった危険性の無い、新しい通信方式を導入し、カメラとレンズ間の通信を高速化できるものである。
【図面の簡単な説明】
【図１】本発明の実施の一形態に係るカメラ側の要部構成を示す回路図である。
【図２】本発明の実施の一形態に係るレンズ側の要部構成を示す回路図である。
【図３】図１のカメラ制御用マイコンの動作の一部を示すフローチャートである。
【図４】図３の動作の続きを示すフローチャートである。
【図５】図３及び図４でコールされるサブルーチンを示すフローチャートである。
【図６】図２のレンズ制御用マイコンの動作の一部を示すフローチャートである。
【図７】図６の動作の続きを示すフローチャートである。
【図８】図６及び図７でコールされるサブルーチンを示すフローチャートである。
【図９】同じく図６及び図７でコールされるサブルーチンを示すフローチャートである。
【図１０】同じく図６及び図７でコールされるサブルーチンを示すフローチャートである。
【図１１】同じく図６及び図７でコールされるサブルーチンを示すフローチャートである。
【図１２】同じく図６及び図７でコールされるサブルーチンを示すフローチャートである。
【図１３】本発明の実施の一形態におけるタイミングチャートである。
【図１４】従来のカメラとレンズの接続について説明する為の一例を示す回路図である。
【図１５】図１１の構成における問題点を説明する為の図タイミングチャートである。
【図１６】従来のカメラとレンズの接続について説明する為の他の例を示す回路図である。
【符号の説明】
１                カメラ制御用マイコン
３６，３７        Ｄフリップフロップ
３８              カウンタ
３９，４２，４８  インバータ
４０              アンドゲート
４３              ナンドゲート
４４              オアゲート
４５              シフトレジスタ
４７              ノアゲート
５０，５２        ＰＭＯＳゲート
５１，５３        ＮＭＯＳゲート
【図１】
0003658084.tif 000002
【図２】
0003658084.tif 000003
【図３】
0003658084.tif 000004
【図４】
0003658084.tif 000005
【図５】
0003658084.tif 000006
【図６】
0003658084.tif 000007
【図７】
0003658084.tif 000008
【図８】
0003658084.tif 000009
【図９】
0003658084.tif 000010
【図１０】
0003658084.tif 000011
【図１１】
0003658084.tif 000012
【図１２】
0003658084.tif 000013
【図１３】
0003658084.tif 000014
【図１４】
0003658084.tif 000015
【図１５】
0003658084.tif 000016
【図１６】
0003658084.tif 000017