(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022192068
(43)【公開日】2022-12-28
(54)【発明の名称】電子機器およびアクセサリ
(51)【国際特許分類】
H04N 5/232 20060101AFI20221221BHJP
G03B 15/05 20210101ALI20221221BHJP
G03B 17/02 20210101ALI20221221BHJP
G03B 17/14 20210101ALI20221221BHJP
【FI】
H04N5/232 030
H04N5/232 411
G03B15/05
G03B17/02
G03B17/14
【審査請求】未請求
【請求項の数】26
【出願形態】OL
(21)【出願番号】P 2022159189
(22)【出願日】2022-10-03
(62)【分割の表示】P 2021090021の分割
【原出願日】2021-05-28
(31)【優先権主張番号】P 2021072996
(32)【優先日】2021-04-23
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100110412
【弁理士】
【氏名又は名称】藤元 亮輔
(74)【代理人】
【識別番号】100104628
【弁理士】
【氏名又は名称】水本 敦也
(74)【代理人】
【識別番号】100121614
【弁理士】
【氏名又は名称】平山 倫也
(72)【発明者】
【氏名】土屋 拓生
(72)【発明者】
【氏名】吉田 宣和
(57)【要約】
【課題】電子機器にアクセサリが装着されたシステムにおける起動時の応答性を高める。
【解決手段】電子機器100は、第1の通信方式でアクセサリ200との通信が可能な第1の処理手段101と、第1の通信方式とは異なる第2の通信方式でアクセサリとの通信が可能な第2の処理手段102とを有する。第1の処理手段は、電子機器へのアクセサリの装着を検出することに応じて第1の通信方式でアクセサリから該アクセサリを識別するためのアクセサリ情報を受信し、その後に該アクセサリ情報を第2の処理手段に通知する。第2の処理手段は、通知されたアクセサリ情報に基づいて、アクセサリと第2の通信方式でアクセサリの制御のための通信を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アクセサリが着脱可能に装着される電子機器であって、
第1の通信方式で前記アクセサリとの通信が可能な第1の処理手段と、
前記第1の通信方式とは異なる第2の通信方式で前記アクセサリとの通信が可能な第2の処理手段とを有し、
前記第1の処理手段は、前記電子機器への前記アクセサリの装着を検出することに応じて前記第1の通信方式で前記アクセサリから該アクセサリを識別するためのアクセサリ情報を受信し、その後に該アクセサリ情報を前記第2の処理手段に通知し、
前記第2の処理手段は、通知された前記アクセサリ情報に基づいて、前記アクセサリと前記第2の通信方式で前記アクセサリの制御のための通信を行うことを特徴とする電子機器。
【請求項2】
前記第1の処理手段は、前記第2の処理手段を構成するプロセッサよりも低い電力で動作するプロセッサにより構成されていることを特徴とする請求項1に記載の電子機器。
【請求項3】
前記第1の処理手段と前記第2の処理手段が、単一のプロセッサ内に設けられていることを特徴とする請求項1に記載の電子機器。
【請求項4】
前記第1の通信方式は、前記第2の通信方式よりも通信速度が低速であることを特徴とする請求項2に記載の電子機器。
【請求項5】
前記電子機器は、第1の電力状態と該第1の電力状態より電力が低い第2の電力状態とを有し、
前記第1の処理手段は、前記第1および第2の電力状態で動作し、
前記第2の処理手段は、前記第2の電力状態では動作せず、前記第1の電力状態で動作することを特徴とする請求項1から4のいずれか一項に記載の電子機器。
【請求項6】
前記第1の処理手段は、前記第2の処理手段による前記アクセサリとの通信が可能となる前に、前記電子機器への前記アクセサリの装着を検出することに応じて前記第1の通信方式で前記アクセサリから該アクセサリを識別するためのアクセサリ情報を受信することを特徴とする請求項1から5のいずれか一項に記載の電子機器。
【請求項7】
前記電子機器の起動時において、
前記第1の処理手段は、前記第2の処理手段よりも先に起動して、前記アクセサリの装着の検出と前記第2の処理手段の起動を並行して行い、
起動した前記第2の処理手段に前記アクセサリ情報を通知することを特徴とする請求項1から6のいずれか一項に記載の電子機器。
【請求項8】
前記アクセサリ情報は、前記アクセサリの種類を示す情報と該アクセサリの仕様を示す情報を含むことを特徴とする請求項1から7のいずれか一項に記載の電子機器。
【請求項9】
前記第1の処理手段は、前記アクセサリが前記電子機器に装着されることに応じて該アクセサリによりアクティブとされた第1の入力信号を検出することにより出力信号を前記アクセサリに出力し、該出力信号を受けた前記アクセサリによりアクティブとされた第2の入力信号を検出することに応じて前記アクセサリと前記第1の通信方式での通信を行うことを検出することを特徴とする請求項1から8のいずれか一項に記載の電子機器。
【請求項10】
前記第1の通信方式で前記アクセサリ情報を受信する接点は、前記第2の通信方式で前記アクセサリの制御のための通信を行う接点と異なる接点であることを特徴とする請求項1から9のいずれか一項に記載の電子機器。
【請求項11】
前記第1の通信方式はI2C通信方式であり、前記第2の通信方式はSPI通信方式であることを特徴とする請求項1から10のいずれか一項に記載の電子機器。
【請求項12】
前記電子機器は、前記アクセサリにおいて一列に配列された複数の接点と電気的に接続されるように一列に配列された複数の接点を有し、
該電子機器の複数の接点は、
I2C通信方式のデータ信号用の接点と該データ信号用の接点に対して一方の側に配置されたI2C通信方式のクロック信号用の接点を含み、さらに、
前記データ信号用の接点に対して他方の側に配置された、前記第2の入力信号用の接点、SPI通信方式の入力選択信号用の接点、SPI通信方式の受信用の接点、SPI通信方式の送信用の接点、SPI通信方式のクロック信号用の接点、前記第1の入力信号用の接点および前記出力信号用の接点を含むことを特徴とする請求項11に記載の電子機器。
【請求項13】
請求項1から12のいずれか一項に記載の電子機器と、
前記電子機器に着脱可能および通信可能に装着されるアクセサリとを有することを特徴とするシステム。
【請求項14】
電子機器に着脱可能に装着されるアクセサリであって、
第1の通信方式および該第1の通信方式とは異なる第2の通信方式で前記電子機器との通信が可能なアクセサリ処理手段を有し、
前記アクセサリ処理手段は、
前記電子機器に前記第1の通信方式で前記アクセサリを識別させるためのアクセサリ情報を送信し、
前記アクセサリ情報を送信した後に前記電子機器と前記第2の通信方式で前記アクセサリの制御のための通信を行うことを特徴とするアクセサリ。
【請求項15】
前記第1の通信方式は、前記第2の通信方式よりも通信速度が低速であることを特徴とする請求項14に記載のアクセサリ。
【請求項16】
前記アクセサリ情報は、前記アクセサリの種類を示す情報と該アクセサリの通信および動作の仕様に関する情報を含むことを特徴とする請求項14または15に記載のアクセサリ。
【請求項17】
前記アクセサリ処理手段は、前記第2の通信方式での通信が可能となる前の前記電子機器に前記第1の通信方式で前記アクセサリ情報を送信することを特徴とする請求項14から16のいずれか一項に記載のアクセサリ。
【請求項18】
前記アクセサリ処理手段は、前記アクセサリが前記電子機器に装着されることに応じて前記電子機器に入力する第1の入力信号をアクティブとし、前記第1の入力信号を検出した前記電子機器から出力された出力信号を受けて前記電子機器に入力する第2の入力信号をアクティブにして、該第2の入力信号を検出した前記電子機器と前記第1の通信方式での通信を行うことを特徴とする請求項14から17のいずれか一項に記載のアクセサリ。
【請求項19】
前記第1の通信方式で前記アクセサリ情報を送信する接点は、前記第2の通信方式で前記アクセサリの制御のための通信を行う接点と異なる接点であることを特徴とする請求項14から18のいずれか一項に記載のアクセサリ。
【請求項20】
前記第1の通信方式はI2C通信方式であり、前記第2の通信方式はSPI通信方式であることを特徴とする請求項14から19のいずれか一項に記載のアクセサリ。
【請求項21】
前記アクセサリは、前記電子機器において一列に配列された複数の接点と電気的に接続されるように一列に配列された複数の接点を有し、
該アクセサリの複数の接点は、
I2C通信方式のデータ信号用の接点と該データ信号用の接点に対して一方の側に配置されたI2C通信方式のクロック信号用の接点を含み、さらに、
前記データ信号用の接点に対して他方の側に配置された、前記第2の入力信号用の接点、SPI通信方式の入力選択信号用の接点、SPI通信方式の送信用の接点、SPI通信方式の受信用の接点、SPI通信方式のクロック信号用の接点、前記第1の入力信号用の接点および前記出力信号用の接点を含むことを特徴とする請求項20に記載のアクセサリ。
【請求項22】
請求項14から21のいずれか一項に記載のアクセサリと、
該アクセサリが着脱可能および通信可能に装着される電子機器とを有することを特徴とするシステム。
【請求項23】
アクセサリが着脱可能に装着され、第1の処理手段と第2の処理手段とを有する電子機器の制御方法であって、
前記第1の処理手段に、前記電子機器への前記アクセサリの装着を検出することに応じて前記第1の通信方式で前記アクセサリから該アクセサリを識別するためのアクセサリ情報を受信させ、その後に該アクセサリ情報を前記第2の処理手段に通知させるステップと、
前記第2の処理手段に、通知された前記アクセサリ情報に基づいて、前記アクセサリと前記第2の通信方式で前記アクセサリの制御のための通信を行わせるステップとを有することを特徴とする制御方法。
【請求項24】
電子機器に着脱可能に装着されるアクセサリの制御方法であって、
前記アクセサリに、前記電子機器に前記第1の通信方式で前記アクセサリを識別させるためのアクセサリ情報を送信させるステップと、
前記アクセサリに、前記アクセサリ情報を送信した後に前記電子機器と前記第2の通信方式で前記アクセサリの制御のための通信を行わせるステップとを有することを特徴とする制御方法。
【請求項25】
アクセサリが着脱可能に装着される電子機器のコンピュータに、請求項23に記載の制御方法に従う処理を実行させることを特徴とするプログラム。
【請求項26】
電子機器に着脱可能に装着されるアクセサリのコンピュータに、請求項24に記載の制御方法に従う処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アクセサリの装着が可能な撮像装置等の電子機器に関する。
【背景技術】
【0002】
照明機器等のアクセサリが撮像装置に装着された撮像システムにおいて撮像装置を起動(電源オン)すると、撮像装置は起動完了後にスイッチ検出や通信検出によってアクセサリの装着を検出し、その後にアクセサリから必要な情報を取得することが一般的である。特許文献1には、表示機能を有するアクセサリから特定の情報を取得し、その後、アクセサリに表示させる情報を指示する撮像装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
撮像装置は、電源オフ状態や低電力(スリープ)状態のようにアクセサリとの通信が不可の状態から起動される場合がある。しかしながら、撮像装置が完全に起動してからしかアクセサリから情報を取得できないと、アクセサリの制御に必要な情報を取得するまでに時間がかかる。特に撮像装置がアクセサリからの情報を用いて制御に関する判断を行う場合に、上記時間によって撮像システムの応答性が損なわれる。
【0005】
本発明は、電子機器にアクセサリが装着されたシステムにおける起動時の応答性を高めることが可能な電子機器およびアクセサリを提供する。
【課題を解決するための手段】
【0006】
本発明の一側面としての電子機器は、アクセサリが着脱可能に装着される。該電子機器は、第1の通信方式でアクセサリとの通信が可能な第1の処理手段と、第1の通信方式とは異なる第2の通信方式でアクセサリとの通信が可能な第2の処理手段とを有する。第1の処理手段は、電子機器へのアクセサリの装着を検出することに応じて第1の通信方式でアクセサリから該アクセサリを識別するためのアクセサリ情報を受信し、その後に該アクセサリ情報を第2の処理手段に通知する。第2の処理手段は、通知されたアクセサリ情報に基づいて、アクセサリと第2の通信方式でアクセサリの制御のための通信を行うことを特徴とする。なお、上記電子機器とこれに着脱可能に装着されるアクセサリとを有するシステムも、本発明の他の一側面を構成する。
【0007】
また、本発明の他の一側面としてのアクセサリは、電子機器に着脱可能に装着される。該アクセサリは、第1の通信方式および該第1の通信方式とは異なる第2の通信方式で電子機器との通信が可能なアクセサリ処理手段を有する。アクセサリ処理手段は、電子機器に第1の通信方式でアクセサリを識別させるためのアクセサリ情報を送信し、アクセサリ情報を送信した後に電子機器と第2の通信方式でアクセサリの制御のための通信を行うことを特徴とする。
【0008】
また、本発明の他の一側面としての制御方法は、アクセサリが着脱可能に装着され、第1の処理手段と第2の処理手段とを有する電子機器に適用される。該制御方法は、第1の処理手段に、電子機器へのアクセサリの装着を検出することに応じて第1の通信方式でアクセサリから該アクセサリを識別するためのアクセサリ情報を受信させ、その後に該アクセサリ情報を第2の処理手段に通知させるステップと、第2の処理手段に、通知されたアクセサリ情報に基づいて、アクセサリと第2の通信方式でアクセサリの制御のための通信を行わせるステップとを有することを特徴とする。なお、電子機器のコンピュータに上記制御方法に従う処理を実行せせるプログラムも、本発明の他の一側面を構成する。
【0009】
さらに本発明の他の一側面としての制御方法は、電子機器に着脱可能に装着されるアクセサリに適用される。該制御方法は、アクセサリに、電子機器に第1の通信方式でアクセサリを識別させるためのアクセサリ情報を送信させるステップと、アクセサリに、アクセサリ情報を送信した後に電子機器と第2の通信方式でアクセサリの制御のための通信を行わせるステップとを有することを特徴とする。なお、アクセサリのコンピュータに上記制御方法に従う処理を実行せせるプログラムも、本発明の他の一側面を構成する。
【発明の効果】
【0010】
本発明によれば、電子機器にアクセサリが装着されたシステムにおける起動時の応答性を高めることができる。
【図面の簡単な説明】
【0011】
【
図1】実施例1におけるカメラシステム(カメラ、レンズユニットおよびアクセサリ)の構成を示す図。
【
図2】実施例1におけるSPI通信のプロトコルを示す図。
【
図3】実施例1におけるカメラとアクセサリが行う処理を示すフローチャート。
【
図4】実施例1におけるSPI通信での通信データを示す図。
【
図6】実施例1におけるカメラシステムの処理シーケンスを示す図。
【
図7】実施例1におけるアクセサリ種別情報を示す図。
【
図8】実施例1における通信要求の発生要因を示す図。
【
図9】実施例1におけるSPI通信での通信間隔を示す図。
【
図10】実施例1においてカメラ(カメラ制御回路A)が行う起動処理を示すフローチャート。
【
図11】実施例1においてカメラ(カメラ制御回路B)が行う起動処理を示すフローチャート。
【
図12】実施例1においてアクセサリが行う処理を示すフローチャート。
【
図13】実施例1におけるカメラシステムの起動シーケンスを示す図。
【
図14】実施例2における低消費電力モードからの起動シーケンスを示す図。
【
図16】実施例1においてカメラからアクセサリへNバイトのデータを送信する場合にカメラが行う処理を示す図。
【
図17】実施例1においてカメラがアクセサリからNバイトのデータを受信する場合にカメラが行う処理を示す図。
【
図18】実施例1においてカメラとアクセサリとでNバイトのデータを送受信する場合にアクセサリが行う処理を示す図。
【
図19】実施例3におけるSW1/SW2同時ON時の処理を示すフローチャート。
【
図20】比較例としてのSW1/SW2同時ON時の処理を示すフローチャート。
【
図21】実施例4におけるライブビュー表示処理を示すフローチャート。
【
図22】比較例としてのライブビュー表示処理を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例0013】
図1は、本発明の実施例1である電子機器である撮像装置(以下、カメラという)100とこれに着脱可能に装着されるアクセサリ200からなる撮像システムの電気的構成を示している。アクセサリ200は、例えば、マイク機器や照明(ストロボ又はフラッシュ)機器であり、カメラ100に装着可能な各種機器を含む。カメラ100とアクセサリ200は、カメラ100に設けられたカメラ接続部141の複数の接点(端子)TC01~TC21とアクセサリ200に設けられたアクセサリ接続部211の複数の接点TA01~TA21とがそれぞれ一対一で接触することで電気的に接続される。なお、アクセサリ200は複数の接点TA01~TA21の一部を有していなくてもよい。
【0014】
カメラ100は、電池111から電力を供給される。電池111はカメラ100に対して着脱が可能である。カメラ100における第1の処理手段および受信手段としてのカメラ制御回路A101および第2の処理手段としてのカメラ制御回路B102は、カメラ100全体を制御する回路であり、CPU等のプロセッサ(マイクロコンピュータ)により構成される。カメラ制御回路A101およびカメラ制御回路B102は、コンピュータプログラムに従って各種制御や処理を実行する。
【0015】
カメラ制御回路A101は、不図示のカメラ操作のためのスイッチ等の操作を監視したり、ユーザの操作に応じてシステム電源の制御を行ったりする。カメラ制御回路A101は、カメラ100が待機状態としての低消費電力モード(第2の電力状態)にあっても動作可能な低電力タイプのプロセッサにより構成されている。一方、カメラ制御回路B102は、撮像センサ122や表示回路127等の制御を担っている。カメラ制御回路B102は、低消費電力モードにおいては動作を停止し、通常動作モード(第1の電力状態)において動作するプロセッサにより構成されている。
【0016】
なお、本実施例では、カメラ制御回路A101とカメラ制御回路B102を別々のプロセッサにより構成する場合について説明しているが、これらを単一のプロセッサ内に設けてもよい。
【0017】
システム電源回路112は、カメラ100の各回路に供給される電源を生成する回路であり、DC/DCコンバータ回路、LDO(Low Drop Out)およびチャージポンプ回路等により構成される。カメラ制御回路A101には、電池111からの電力供給を受けたシステム電源回路112で生成された電圧1.8Vがカメラマイコン電源VMCU_Cとして常時供給される。また、カメラ制御回路B102にも、システム電源回路112で生成された数種類の電圧がカメラマイコン電源VMCU2_Cとして、任意のタイミングで供給される。カメラ制御回路A101は、システム電源回路112を制御することで、カメラ100の各回路への電源供給のオン・オフ制御を行う。
【0018】
光学レンズ121は、カメラ100に着脱可能である。光学レンズ121を介して入射した被写体からの光は、CMOSセンサやCCDセンサ等からなる撮像センサ122上に結像する。なお、光学レンズ121とカメラ100とが一体の構成であってもよい。撮像センサ122上に結像された被写体像は、デジタル撮像信号に符号化される。画像処理回路123は、デジタル撮像信号に対して、ノイズリダクション処理やホワイトバランス処理等の画像処理を行って画像データを生成し、該画像データを記録用メモリ126に記録するためにJPEG形式等の画像ファイルに変換する。また画像処理回路123は、画像データから表示回路127に表示するためのVRAM画像データを生成する。
【0019】
メモリ制御回路124は、画像処理回路123等で生成される画像データや他のデータの送受を制御する。揮発性メモリ125は、DDR3SDRAM等の高速な読み出しと書き込みが可能なメモリであり、画像処理回路123で行われる画像処理のワークスペース等に使用される。記録用メモリ126は、不図示の接続部を介してカメラ100に着脱可能なSDカードやCFexpressカード等の読み書き可能な記録メディアである。表示回路127は、カメラ100の背面に配置されたディスプレイであり、LCDパネルや有機ELディスプレイパネル等により構成される。バックライト回路128は、表示回路127のバックライトの光量を変更することで表示回路127の明るさを調整する。
【0020】
アクセサリ用電源回路A131とアクセサリ用電源回路B132はそれぞれ、システム電源回路112から供給された電圧を所定の電圧に変換する電圧変換回路であり、本実施例ではアクセサリ電源VACCとして3.3Vを生成する。なお、その他の電圧に変換する構成でもよい。
【0021】
アクセサリ用電源回路A131は、LDO等で構成される自己消費電力が小さい電源回路である。アクセサリ用電源回路B132は、DC/DCコンバータ回路等で構成され、アクセサリ用電源回路A131よりも大きな電流を流すことができる回路である。なお、アクセサリ用電源回路B132の自己消費電力は、アクセサリ用電源回路A131よりも大きい。このため、負荷電流が小さいときにはアクセサリ用電源回路A131の方がアクセサリ用電源回路B132よりも効率が良く、負荷電流が大きいときにはアクセサリ用電源回路B132の方がアクセサリ用電源回路A131よりも効率が良くなる。カメラ制御回路A101は、アクセサリ200の動作状態に応じてアクセサリ用電源回路A131とアクセサリ用電源回路B132の電圧出力のオン・オフを制御する。
【0022】
保護回路133は、電流ヒューズ素子、ポリスイッチ素子または抵抗とアンプとスイッチ素子を組み合わせた電子ヒューズ回路等により構成されている。保護回路133は、アクセサリ用電源回路A131とアクセサリ用電源回路B132からアクセサリ200に供給される電源電流値が所定値を超えて過大(異常)になったときに過電流検知信号DET_OVCを出力する。本実施例では、保護回路133は、電子ヒューズ回路であり、1A以上の電流が流れた場合にカメラ制御回路A101に対して過電流検知信号DET_OVCにて通知を行う。過電流検知信号DET_OVCは、Hiレベルによって過電流であることを示す。なお、所定値が1Aと異なる構成であってもよい。
【0023】
カメラ接続部141は、一列に配列された21個の接点TC01~TC21を介してアクセサリ200と電気的な接続を行うためのコネクタである。接点TC01~TC21は、これらの配列方向の一端から他端にこの順で配置されている。
【0024】
TC01はグラウンド(GND)に接続されており、基準電位の接点としてだけではなく、差動信号D1Nと差動信号D1Pの配線インピーダンスをコントロールする接点としての用途も兼ねている。TC01は第3のグラウンド接点に相当する。
【0025】
TC02に接続された差動信号D1NとTC03に接続された差動信号D1Pは、ペアとなってデータ通信を行う差動データ通信信号であり、カメラ制御回路B102に接続されている。TC02、TC03、後述するTC07~TCA10、TC12~TC17、TC19およびTC20は通信接点である。
【0026】
第1のグラウンド接点としてのTC04は、GNDに接続されており、カメラ100とアクセサリ200の基準電位の接点となる。TC04は、次に説明するTC05よりも接点の配列方向における外側に配置されている。
【0027】
電源接点としてのTC05には、保護回路133を介してアクセサリ用電源回路A131,B132で生成されたアクセサリ電源(出力信号)VACCが接続されている。
【0028】
装着検出接点としてのTC06には、アクセサリ装着検出信号(第1の入力信号)/ACC_DETが接続されている。アクセサリ装着検出信号/ACC_DETは、抵抗素子Rp134(例えば10kΩ)を介してカメラマイコン電源VMCU_Cにプルアップされている。カメラ制御回路A101は、アクセサリ装着検出信号/ACC_DETの信号レベルを読み出すことでアクセサリ200の装着の有無を検出することが可能である。アクセサリ装着検出信号/ACC_DETの信号レベル(電位)がHiレベル(所定電位)であればアクセサリ200が未装着と検出され、アクティブ電位としてのLoレベル(GND電位)であればアクセサリ200が装着されたことが検出される。
【0029】
カメラ100の電源ON時にアクセサリ装着検出信号/ACC_DETの信号レベル(電位)がHiレベルからLoレベルになることがトリガーとなり、カメラ100とアクセサリ200との間で接点を介した各種伝達が行われる。
【0030】
カメラ制御回路101は、アクセサリ200が装着状態になったことを検出することに応じて、電源接点としてのTC05を介してアクセサリ200に対して電源供給を行う。
【0031】
通信接点であるTC07に接続されたSCLK、TC08に接続されたMOSI、TC09に接続されたMISOおよびTC10に接続されたCSは、カメラ制御回路B102が通信マスターとなって第2の通信方式であるSPI(Serial Peripheral Interface)通信方式による通信(以下、SPI通信という)を行うための信号である。SCLKはクロック信号、MOSIは送信信号、MISOは受信信号、CS(チップ・セレクト)は通信選択信号であり、通信相手を選択する信号である。本実施例では、SPI通信の通信クロック周波数は1MHz、データ長は8ビット(1バイト)、ビットオーダーはMSBファースト、全二重通信方式である。
【0032】
本実施例では、カメラ100とアクセサリ200は、SPI通信方式として2種類の通信プロトコルに対応可能である。通信プロトコルAは、カメラ100が、アクセサリ200が通信可能状態であるかをSCLKを出力する前に確認しない通信方式であり、以下の説明ではSPIプロトコルAと称する。
図2(a)は、SPIプロトコルAの通信波形の概略を示している。図では、CSをLoアクティブとする。
【0033】
カメラ制御回路B102は、タイミングA1でCSをLoレベル(アクティブ)に変化させてアクセサリ制御回路201に対してSPI通信の要求を行う。
【0034】
タイミングA1から所定の時間T_CS後のタイミングA2において、カメラ制御回路B102はSCLKとMOSIの出力を開始する。また、アクセサリ制御回路201は、SCLKの立下り変化を検出すると、MISOの出力を開始する。
【0035】
カメラ制御回路B102は、1バイト分のSCLKの出力が完了したタイミングA3においてSCLKの出力を停止する。
【0036】
さらにカメラ制御回路B102は、タイミングA3から所定時間T_INTERVALが経過するまでの間、SCLKの出力を停止し、T_INTERVALを経過したタイミングA4でSCLKの出力を再開して次の1バイトの通信を行う。
【0037】
図3(a)のフローチャートは、SPIプロトコルAにおいてカメラ制御回路B102が行う処理を示している。Sはステップを意味する。
【0038】
S101では、カメラ制御回路B102は、内部変数Nに通信するバイト数を示す数値を格納する。例えば、3バイト通信する場合は3を格納する。
【0039】
S102では、カメラ制御回路B102は、CSをLoレベルに変化させてSPI通信の要求を行う。
【0040】
S103では、カメラ制御回路B102は、CSをLoレベルに変化させてから、所定時間T_CS経過するまでウェイト処理を行う。所定時間T_CS経過後にS104に進む。
【0041】
S104では、カメラ制御回路B102は、1バイトデータの通信を行うため、SCLKの出力制御を行うとともに、MOSIデータの出力制御とMISOデータの入力制御を行う。
【0042】
S105では、カメラ制御回路B102は、通信バイト数を示す内部変数Nが0であるか否かを確認する。内部変数Nが0の場合はS106に進み、内部変数Nが0以外の場合はS107に進む。
【0043】
S107では、カメラ制御回路B102は、通信バイト数を示す内部変数Nの数値を1だけ減じた値を新たな内部変数Nとして格納する。
【0044】
S108では、カメラ制御回路B102は、S104で1バイトデータの通信が完了してから所定時間T_INTERVAL経過するまでウェイト処理を行う。そして所定時間T_INTERVAL経過後にS104の処理に戻り、再び同じ処理を実行する。
【0045】
S106では、カメラ制御回路B102は、CSをHiレベルに変化させて、一連のSPI通信を終了する。
【0046】
図3(b)のフローチャートは、SPIプロトコルAにおいてアクセサリ制御回路201が行う処理を示している。
【0047】
S201では、アクセサリ制御回路201は、CSがLoに変化しているか否かを確認する。CSがLoに変化している場合はS202に進み、CSがLoに変化していない場合はS211に戻る。
【0048】
S202では、アクセサリ制御回路201は、SCLK信号の入力に応じてMOSIデータの入力制御とMISOデータの出力制御を行って1バイトデータの通信を行う。
【0049】
S203では、アクセサリ制御回路201は、CSがHiに変化しているか否かを確認する。CSがHiに変化している場合はSPI通信が終了したと判断し、CSがHiに変化していない場合は次の1バイト通信を行うためにS202に戻る。
【0050】
また、SPI通信方式における通信プロトコルBは、カメラ100が、アクセサリ200が通信可能状態であるかをSCLKを出力する前に確認する通信方式であり、以下の説明ではSPIプロトコルBと称する。
図2(b)は、SPIプロトコルBの通信波形の概略を示している。
【0051】
カメラ制御回路B102は、タイミングB1でCSをLoレベルに変化させて、アクセサリ制御回路201に対してSPI通信の要求を行う。また、カメラ制御回路B102は、通信の要求と併せてMISOの電位を確認する。MISOがHiレベルならばアクセサリ制御回路201が通信可能な状態であると判断し、Loレベルならばアクセサリ制御回路201が通信不可能な状態であると判断する。
【0052】
一方、アクセサリ制御回路201は、タイミングB2でCSの立下りを検出すると、SPI通信可能な状態であればMISOをHiレベルに制御し、通信不可能な状態であればMISOをLoレベルに制御する。
【0053】
さらにカメラ制御回路B102は、タイミングB3でMISOがHiレベルにあることを確認すると、SCLKとMOSIの出力を開始する。またアクセサリ制御回路201は、SCLKの立下り変化を検出すると、MISOの出力を開始する。
【0054】
カメラ制御回路B102は、タイミングB4で1バイト分のSCLK出力が完了すると、SCLKの出力を停止する。
【0055】
アクセサリ制御回路201は、1バイトのデータ送受を行った後に、タイミングB5とタイミングB6に示すように、SPI通信可能な状態であればMISOをHiレベルに制御し、SPI通信不可能な状態であればMISOをLoレベルに制御する。
【0056】
カメラ制御回路B102は、タイミングB7でMISOの電位を確認する。MISOがHiレベルならばアクセサリ制御回路201が通信可能な状態であると判断し、Loレベルならばアクセサリ制御回路201が通信不可能な状態であると判断する。
【0057】
図3(c)のフローチャートは、SPIプロトコルBにおいてカメラ制御回路B102が行う処理を示している。
【0058】
S111では、カメラ制御回路B102は、内部変数Nに通信するバイト数を示す数値を格納する。例えば、3バイト通信する場合は3を格納する。
【0059】
S112では、カメラ制御回路B102は、CSをLoレベルに変化させてSPI通信の要求を行う。
【0060】
S113では、カメラ制御回路B102は、MISOがHiレベルに変化しているかの確認を行う。MISOがHiレベルの場合はS114に進み、MISOがHiレベルになっていない場合はS113に戻る。
【0061】
S114では、カメラ制御回路B102は、1バイトデータの通信を行うため、SCLKの出力制御を行うとともに、MOSIデータの出力制御とMISOデータの入力制御を行う。
【0062】
S115では、カメラ制御回路B102は、全データの通信が完了した(通信バイト数を示す内部変数Nが0である)か否かを確認する。内部変数Nが0の場合はS116に進み、内部変数Nが0以外の場合はS117に進む。
【0063】
S117では、カメラ制御回路B102は、通信バイト数を示す内部変数Nの数値を1だけ減じた値を新たな内部変数Nとして格納する。
【0064】
S118では、カメラ制御回路B102は、MISOがHiレベルに変化しているか否かを確認する。MISOがHiレベルの場合はS114に進み、MISOがHiレベルになっていない場合はS118に戻る。
【0065】
S116では、カメラ制御回路B102は、CSをHiレベルに変化させて、一連のSPI通信を終了する。
【0066】
図3(d)のフローチャートは、SPIプロトコルBにおいてアクセサリ制御回路201が行う処理を示している。
【0067】
S211では、アクセサリ制御回路201は、CSがLoに変化しているか否かを確認する。CSがLoに変化している場合はS212に進み、CSがLoに変化していない場合はS211に戻る。
【0068】
S212では、アクセサリ制御回路201は、SPI通信可能な状態であるか否かを確認する。SPI通信を可能な場合はS213に進み、SPI通信を可能ではない場合はS214に進む。
【0069】
S213では、アクセサリ制御回路201は、MISOをHiレベルに制御してS215に進む。
【0070】
S214では、アクセサリ制御回路201は、MISOをLoレベルに制御してS212に戻る。
【0071】
S215では、アクセサリ制御回路201は、SCLK信号入力に応じてMOSIデータの入力制御とMISOデータの出力制御を行って1バイトデータの通信を行う。
【0072】
S216では、アクセサリ制御回路201は、CSがHiに変化しているか否かを確認する。CSがHiに変化している場合はSPI通信が終了したと判断し、CSがHiに変化していない場合は次の1バイト通信を行うためにS212に戻る。
【0073】
図4は、本実施例においてSPI通信にてカメラ100からアクセサリ200への動作実行命令(コマンド)を通知する際の通信内容を示している。
【0074】
カメラ制御回路B102は、最初の1バイト目の通信において、MOSIデータとして、コマンド番号を示す情報CMDをアクセサリ制御回路201に送信する。アクセサリ制御回路201は、MISOデータとして、通信可能状態であることを示す情報である0xA5の値をカメラ制御回路B102に送信する。アクセサリ制御回路201は、1バイト目の通信処理を実行できない場合には、MISOデータとして、0xA5以外の値をカメラ制御回路B102に送信する。
【0075】
カメラ制御回路B102は、2バイト目の通信において、コマンド番号CMDに対応した引数MOSI_DATA1をアクセサリ制御回路201に送信する。そして3バイト目から(N-2)バイト目以降も同様に、コマンド番号CMDに対応した引数MOSI_DATA2~MOSI_DATA[N-3]をアクセサリ制御回路201に送信する。
【0076】
アクセサリ制御回路201は、2バイト目の通信において、MISOデータとして、1バイト目に受信したコマンド番号CMDをカメラ制御回路B102に送信する。これにより、カメラ制御回路B102が、アクセサリ制御回路201がMOSIデータを正しく受信できていることを判別できるようにしている。
【0077】
さらにアクセサリ制御回路201は、3バイト目の通信において、MISOデータとしてコマンド番号CMDに対応した戻り値MISO_DATA1をカメラ制御回路B102に送信する。そして4バイト目から(N-2)バイト目以降も同様に、コマンド番号CMDに対応した引数MISO_DATA2~MISO_DATA[N-4]をカメラ制御回路B102に送信する。
【0078】
なお、引数及び戻り値の数は、コマンド番号毎にあらかじめ決められているものとする。また、引数と戻り値のどちらか一方または両方がなくてもよい。
【0079】
カメラ制御回路B102は、(N-1)バイト目の通信において、MOSIデータとして、チェックサムデータCheckSum_Cをアクセサリ制御回路201に送信する。チェックサムデータCheckSum_Cは、下記式で算出される値である。
CheckSum_C=EXOR(AND( SUM(CMD, MOSI_DATA1, …, MOSI_DATA[N-3]), 0xFF ), 0xFF )
また、アクセサリ制御回路201は、MISOデータとして、0x00を送信する。
【0080】
次に、カメラ制御回路B102は、Nバイト目の通信において、MOSIデータとして、0x00をアクセサリ制御回路201に送信する。
【0081】
また、アクセサリ制御回路201は、MISOデータとして、チェックサムデータCheckSum_Aを送信する。チェックサムデータCheckSum_Aは、(N-1)バイト目の通信でカメラ制御回路B102が受信したCheckSum_Cの値とカメラ制御回路B102が算出したCheckSum_Cの値とが一致している場合は、下記式で算出される。
CheckSum_A=EXOR(AND(SUM(0xA5, CMD,MIS0_DATA1,…, MOSI_DATA[N-4]), 0xFF ), 0xFF )
一方、(N-1)バイト目の通信でカメラ制御回路B102が受信したCheckSum_Cの値とカメラ制御回路B102が算出したCheckSum_Cの値とが一致していない場合は、下記式で算出される。
CheckSum_A=AND(SUM(0xA5, CMD, MIS0_DATA1, …, MOSI_DATA[N-4] ), 0xFF )
図1に示した信号接点(通信要求接点)であるTC11には、アクセサリ200からカメラ100(カメラ制御回路A101)に対して通信を要求するための通信要求信号(第2の入力信号)/WAKEが接続されている。通信要求信号/WAKEは、抵抗を介してカメラマイコン電源VMCU_Cにプルアップされている。カメラ制御回路A101は、通信要求信号/WAKEの変化(立下りエッジ)を検出することでアクセサリ200からの通信要求を検出することができる。
【0082】
通信接点であるTC12に接続されたSDAおよびTC13に接続されたSCLは、カメラ制御回路A101が通信マスターとなって第1の通信方式であるI2C(Inter-Integrated Circuit)通信方式による通信(以下、I2C通信という)を行うための信号である。SDAはデータ信号、SCLはクロック信号である。SDAとSCLは、カメラマイコン電源VMCU_Cにプルアップされたオープンドレイン通信であり、本実施例では通信周波数は100kbpsとする。
【0083】
I2C通信では、SDAを介してカメラ100からのデータ送信、アクセサリ200からのデータ送信の双方が行われる。SPI通信とI2C通信を比較すると、I2C通信は、SPI通信に比べて通信速度が低速である。また、SPI通信のほうがI2C通信よりも通信速度が高速であるためデータ量の多い情報の通信に適している。そのため、本実施例のカメラ100とアクセサリ200との通信においては、データ量の多い情報はSPI通信を用いて通信し、データ量の少ない情報はI2C通信を用いて通信する。例えば、まずI2C通信を用いてデータを通信し、このデータに基づいてSPI通信が実行可能である場合やSPI通信を実行する必要がある場合には、更にSPI通信を実行するように制御することができる。
【0084】
図15(a)、(b)は、I2C通信波形の一例を示した図である。
図15(a)はカメラがアクセサリにNバイト分のデータ(DATA[1]~DATA[N])を送信する場合の波形例を示し、
図15(b)はカメラがアクセサリからNバイト分のデータ(DATA[1]~DATA[N])を受信する場合の波形例を示している。
図15(a)と
図15(b)において、上段の波形はSCLで、下段の波形はSDAである。
【0085】
SDA波形の下には各タイミングにおける信号が示す意味と、SDA信号の出力レベルを制御している制御回路がカメラ制御回路A101であるか、アクセサリ制御回路201であるかを示している。また、通信データは1バイト単位のデータと応答を示す1ビットの情報で構成されている。図の上部には、通信開始から何バイト目のデータであるかを示している。
【0086】
通信内容の詳細については
図16~18を用いて後述するため、
図15(a)と
図15(b)では概略を説明する。
【0087】
図15(a)において、1バイト目と2バイト目の通信では、カメラ制御回路A101からアクセサリ制御回路201に対して、送信するデータの格納アドレス情報を通知する。3バイト目から(N+2)バイト目の通信では、カメラ制御回路A101はNバイト分のデータ(DATA[ADDRESS]~DATA[ADDRESS+N])をアクセサリ制御回路201に送信する。
【0088】
図15(b)において、1バイト目と2バイト目の通信では、カメラ制御回路A101からアクセサリ制御回路201に対して、受信するデータの格納アドレス情報を通知する。3バイト目から(N+3)バイト目の通信で、カメラ制御回路A101はNバイト分のデータ(DATA[ADDRESS]~DATA[ADDRESS+N])をアクセサリ制御回路201から受信する。
【0089】
図16のフローチャートは、カメラ制御回路A101からアクセサリ制御回路201へNバイトのデータを送信する場合にカメラ制御回路A101が行う処理を示している。
【0090】
S3001では、カメラ制御回路A101は、内部変数Nに送信するバイト数を示す数値を格納する。例えば、3バイト送信する場合は3を格納する。本実施例では3を格納するものとする。
【0091】
S3002では、カメラ制御回路A101は、SCLがHiレベルの間に、SDAをLoレベルに変化させる(STARTコンディション)。これによりアクセサリ制御回路201に対して通信の開始を通知する。
【0092】
S3003では、カメラ制御回路A101は、アクセサリ制御回路201のスレーブアドレスを示すスレーブアドレス情報を送信データの上位7ビットにセットする。本実施例では、アクセサリ制御回路201のスレーブアドレスは2進数で1010000であるとする。
【0093】
S3004では、カメラ制御回路A101は、WRITE通信であることを示す情報を送信データの下位1ビットにセットする。本ビットに0をセットするとWRITE通信を意味する。
【0094】
S3005では、カメラ制御回路A101は、S3003とS3004で送信データとしてセットされたデータ(2進数で10100000、16進数で0xA0)をアクセサリ制御回路201に対して送信する。
【0095】
S3006では、カメラ制御回路A101は、1バイトのデータ送信後にSCLを1クロック分出力するとともに、SDAの信号レベルを確認する。SDAの信号レベルがLoの場合はアクセサリ制御回路201からのデータ受信通知(ACK)と判断してS3007に進む。一方、SDAの信号レベルがHiの場合はアクセサリ制御回路201がデータを正常に受信できていないと判断してS3014に進む。
【0096】
S3007では、カメラ制御回路A101は、アクセサリ制御回路201に送信するデータの格納アドレスの情報(開始アドレス情報)を送信データとしてセットする。本実施例では開始アドレス情報のサイズは1バイトで、値は0x00であるとする。
【0097】
S3008では、カメラ制御回路A101は、アクセサリ制御回路201に対してセットされた1バイトの開始アドレス情報(値0x00)を送信する。
【0098】
S3009では、カメラ制御回路A101は、1バイトの開始アドレス情報データ送信後にSCLを1クロック分出力するとともに、SDAの信号レベルを確認する。SDAの信号レベルがLoの場合はアクセサリ制御回路201からのデータ受信通知(ACK)と判断してS3010に進む。一方、SDAの信号レベルがHiの場合はアクセサリ制御回路201がデータを正常に受信できていないと判断してS3014に進む。
【0099】
S3010では、カメラ制御回路A101は、内部変数Mに1を格納する。内部変数Mは送信データ数をカウントするための変数である。
【0100】
S3011では、カメラ制御回路A101は、SCLを1バイト分出力するとともに、SCLがLoの間にSDAを所望の信号レベルに変化させることで、アクセサリ制御回路201に対して1バイトのデータを送信する。ここでは、開始アドレス情報は0x00、内部変数Mは1であるので、アドレス0x00に対応する1バイトのデータを送信する。
【0101】
S3012では、カメラ制御回路A101は、1バイトのデータ送信後にSCLを1クロック分出力するとともに、SDAの信号レベルを確認する。SDAの信号レベルがLoの場合はアクセサリ制御回路201からのデータ受信通知(ACK)と判断してS3013に進む。一方、SDAの信号レベルがHiの場合はアクセサリ制御回路201がデータを正常に受信できていないと判断してS3014に進む。
【0102】
S3013では、カメラ制御回路A101は、内部変数Mが内部変数Nと同じ値であるかを確認する。内部変数Mが内部変数Nと同じ値である場合は全データの送信が完了したと判断してS3014に進む。内部変数Mが内部変数Nと同じ値でない場合は送信データがまだ残っていると判断してS3015に進む。
【0103】
S3015では、カメラ制御回路A101は、内部変数Mに1を加算しS3011に戻る。
【0104】
このようにして、S3011に戻った後に、カメラ制御回路A101は、送信するデータのアドレスを順次インクリメントし、それぞれのアドレスに対応する1バイトデータを送信する。このようにS3013の処理で内部変数Mと内部変数Nが同じ値になるまで繰り返し1バイトのデータを送信することで、カメラ制御回路A101はアクセサリ制御回路201に対してNバイト分のデータを送信する。本実施例のように内部変数Nを3とした場合は、3バイトのデータ送信が行える。
【0105】
S3014では、カメラ制御回路A101は、SCLがHiレベルの間に、SDAをHiレベルに変化させる(STOPコンディション)。これによりアクセサリ制御回路201に対して通信の終了を通知する。
【0106】
図17のフローチャートは、カメラ制御回路A101がアクセサリ制御回路201からNバイトのデータを受信する場合にカメラ制御回路A101が行う処理を示している。
【0107】
S3101では、カメラ制御回路A101は、内部変数Nに受信するバイト数を示す数値を格納する。例えば、3バイト受信する場合は3を格納する。本実施例では3を格納するものとする。
【0108】
S3102~S3106では、カメラ制御回路A101は、それぞれS3002~S3006と同じ処理を行っているため説明を省略する。
【0109】
S3107では、カメラ制御回路A101は、アクセサリ制御回路201から受信するデータの格納アドレスの情報(開始アドレス情報)を送信データとしてセットする。本実施例では開始アドレス情報のサイズは1バイトで、値は0x00であるとする。
【0110】
S3108では、カメラ制御回路A101は、アクセサリ制御回路201に対してセットされた1バイトの開始アドレス情報(値0x00)を送信する。
【0111】
S3109では、カメラ制御回路A101は、1バイトの開始アドレス情報データ送信後にSCLを1クロック分出力するとともに、SDAの信号レベルを確認する。SDAの信号レベルがLoの場合はアクセサリ制御回路201からのデータ受信通知(ACK)と判断してS3110に進む。一方、SDAの信号レベルがHiの場合はアクセサリ制御回路201がデータを正常に受信できていないと判断してS3122に進む。
【0112】
S3110では、カメラ制御回路A101は、S3102と同様にSCLがHiレベルの間に、SDAをLoレベルに変化させ、アクセサリ制御回路201にSTARTコンディションを通知する。
【0113】
S3111では、カメラ制御回路A101は、アクセサリ制御回路201のスレーブアドレスを示すスレーブアドレス情報を送信データの上位7ビットにセットする。本実施例では、アクセサリ制御回路201のスレーブアドレスは2進数で1010000であるとする。
【0114】
S3112では、カメラ制御回路A101は、READ通信であることを示す情報を送信データの下位1ビットにセットする。本ビットに1をセットするとREAD通信を意味する。
【0115】
S3113では、カメラ制御回路A101は、S3003とS3004で送信データとしてセットされたデータ(2進数で10100001、16進数で0xA1)をアクセサリ制御回路201に対して送信する。
【0116】
S3114では、カメラ制御回路A101は、1バイトのデータ送信後にSCLを1クロック分出力するとともに、SDAの信号レベルを確認する。SDAの信号レベルがLoの場合はアクセサリ制御回路201からのデータ受信通知(ACK)と判断してS3115に進む。一方、SDAの信号レベルがHiの場合はアクセサリ制御回路201がデータを正常に受信できていないと判断してS3122に進む。
【0117】
S3115では、カメラ制御回路A101は、内部変数Mに1を格納する。内部変数Mは受信データ数をカウントするための変数である。
【0118】
S3116では、カメラ制御回路A101は、SCLを1バイト分出力するとともに、SCLがLoからHiに変化したタイミングのSDAの信号レベルを読み出す。これにより、アクセサリ制御回路201から1バイト分のデータを受信することが可能となっている。受信した1バイトデータはアドレス0x00に対応するデータとして、揮発性メモリ125に記憶したり、所定の処理に用いたりすることができる。
【0119】
S3117では、カメラ制御回路A101は、1バイトのデータを正常に受信できているか判別する。正常に受信できている場合はS3118に進む。正常に受信できていない場合はS3119に進む。
【0120】
S3118では、カメラ制御回路A101は、内部変数Mが内部変数Nと同じ値であるかを確認する。内部変数Mが内部変数Nと同じ値である場合は全データの受信が完了したと判断してS3119に進む。内部変数Mが内部変数Nと同じ値でない場合は受信データがまだ残っていると判断してS3120に進む。
【0121】
S3120では、カメラ制御回路A101は、SCLを1バイト分出力するとともに、SDAをLoレベルに制御することで、アクセサリ制御回路201に対してデータ受信通知(ACK)を行い、引き続きデータ通信を行うことを通知する。
【0122】
S3121では、カメラ制御回路A101は、カメラ制御回路A101は、内部変数Mに1を加算してS3116に戻る。
【0123】
このようにして、S3116に戻った後に、カメラ制御回路A101は、受信するデータのアドレスを順次インクリメントし、それぞれのアドレスに対応する1バイトデータを受信する。このようにS3118の処理で内部変数Mと内部変数Nが同じ値になるまで繰り返し1バイトのデータを受信することで、カメラ制御回路A101はアクセサリ制御回路201からNバイト分のデータを受信する。本実施例のように内部変数Nを3とした場合は、3バイトのデータ受信が行える。
【0124】
S3119では、カメラ制御回路A101は、SCLを1バイト分出力するとともに、SDAをHiレベルに制御することで、アクセサリ制御回路201に対してデータ通信を完了したことを通知する(NACK)。
【0125】
S3122では、カメラ制御回路A101は、SCLがHiレベルの間に、SDAをHiレベルに変化させる(STOPコンディション)。これによりアクセサリ制御回路201に対して通信の終了を通知する。
【0126】
図18のフローチャートは、カメラ制御回路A101からアクセサリ制御回路201へNバイトのデータを送信する場合およびカメラ制御回路A101がアクセサリ制御回路201からNバイトのデータを受信する場合にアクセサリ制御回路201が行う処理を示している。
【0127】
S3201では、アクセサリ制御回路201は、SCLがHiレベルの間に、SDAがLoレベルに変化する(STARTコンディション)のを待つ。アクセサリ制御回路201は、STARTコンディションを検出したらS3202に進む。
【0128】
S3202では、アクセサリ制御回路201は、内部変数Mに0を格納する。内部変数Mは送信及び受信データ数をカウントするための変数である。
【0129】
S3203では、アクセサリ制御回路201は、カメラ制御回路A101から送信された1バイトのデータを受信する。
【0130】
S3204では、アクセサリ制御回路201は、S3203で受信した1バイトデータの上位7ビットのデータが、アクセサリ制御回路201のスレーブアドレス(本実施例では0x50)と一致しているかを判別する。アクセサリ制御回路201のスレーブアドレスと一致している場合はS3205に進む。アクセサリ制御回路201のスレーブアドレスと一致していない場合はS3221に進む。
【0131】
S3205では、アクセサリ制御回路201は、1バイト受信後の次のSCLクロック出力に対してSDAをLoレベルに制御することで、カメラ制御回路A101に対してデータ受信通知(ACK)を行う。
【0132】
S3206では、アクセサリ制御回路201は、S3203で受信した1バイトデータの下位1ビットのデータによって、次に行う1バイト通信のデータの種類を判別する。下位1ビットのデータが0の場合は、次に行う1バイト通信のデータはカメラ制御回路A101からアクセサリ制御回路201に対する開始アドレス情報であると判別してS3207に進む。下位1ビットのデータが1の場合は、次に行う1バイト通信のデータはアクセサリ制御回路201からカメラ制御回路A101への送信データであると判別しS3209に進む。
【0133】
S3207では、アクセサリ制御回路201は、カメラ制御回路A101から送信された1バイトのデータを受信する。受信した1バイトのデータは、以降の通信で送信・受信するデータが格納されているアドレスを示す情報である。本実施例では、
図16と
図17で説明したように、開始アドレス情報は0x00であるとする。
【0134】
一方、S3209では、アクセサリ制御回路201は、開始アドレス情報はあらかじめアクセサリ制御回路201が記憶しているアドレス情報あるいは先にあらかじめカメラ制御回路A101から通知されたアドレス情報が用いられる。
【0135】
S3208では、アクセサリ制御回路201は、1バイトのデータを正常に受信できたと判断した場合には、S3210に進む。1バイトのデータを正常に受信できていないと判断した場合には、S3221に進む。
【0136】
S3210では、アクセサリ制御回路201は、1バイトのデータ受信後の次のSCLクロック出力に対してSDAをLoレベルに制御することで、カメラ制御回路A101に対してデータ受信通知(ACK)を行う。
【0137】
S3211では、アクセサリ制御回路201は、SCLがHiレベルの間に、SDAがLoレベルに変化(STARTコンディション)したかを確認する。STARTコンディションを検出した場合は、アクセサリ制御回路201は、次に通信する1バイトのデータは、カメラ制御回路A101からアクセサリ制御回路201に対して送信するデータであり、スレーブアドレスと通信種類を示すデータであると判断してS3212に進む。STARTコンディションを検出しなかった場合は、アクセサリ制御回路201は次に通信する1バイトのデータは、アクセサリ制御回路201がカメラ制御回路A101から受信するデータ情報であると判断してS3216に進む。
【0138】
S3212では、アクセサリ制御回路201は、カメラ制御回路A101から送信された1バイトのデータを受信する。
【0139】
S3213では、アクセサリ制御回路201は、S3212で受信した1バイトデータの上位7ビットのデータが、アクセサリ制御回路201のスレーブアドレス(本実施例では0x50)と一致しているかを判別する。アクセサリ制御回路201のスレーブアドレスと一致している場合はS3214に進む。アクセサリ制御回路201のスレーブアドレスと一致していない場合はS3221に進む。
【0140】
S3214では、アクセサリ制御回路201は、S3203で受信した1バイトデータの下位1ビットのデータによって、次に行う1バイト通信のデータの種類を判別する。下位1ビットのデータが0の場合は、S3221に進む。下位1ビットのデータが1の場合は、次に行う1バイト通信のデータはアクセサリ制御回路201からカメラ制御回路A101への送信データであると判別してS3215に進む。
【0141】
S3215では、アクセサリ制御回路201は、1バイト受信後の次のSCLクロック出力に対してSDAをLoレベルに制御することで、カメラ制御回路A101に対してデータ受信通知(ACK)を行う。
【0142】
S3222では、アクセサリ制御回路201は、S3207でカメラ制御回路A101から受信した開始アドレス情報またはS3209で決定した開始アドレス情報に対応する1バイトのデータをカメラ制御回路A101に送信する。
【0143】
S3223では、アクセサリ制御回路201は、内部変数Mに1を加算してS3224に進む。
【0144】
S3224では、アクセサリ制御回路201は、1バイトのデータ送信後にSDAの信号レベルを確認する。SDAの信号レベルがHiの場合はカメラ制御回路A101がすべてのデータを受信完了した通知(NACK)であると判断してS3225に進む。一方、SDAの信号レベルがHiの場合はカメラ制御回路A101が引き続きアクセサリ制御回路201からのデータ送信を要求していると判断してS3222に戻る。このようにして、S3222に戻った後に、アクセサリ制御回路201は、送信するデータのアドレスを順次インクリメントし、それぞれのアドレスに対応する1バイトデータを送信する。このようにS3224の処理でカメラ制御回路A101からNACKが通知されるまで繰り返し1バイトのデータを送信することで、アクセサリ制御回路201はカメラ制御回路A101に対してNバイト分のデータを送信する。
【0145】
S3225では、アクセサリ制御回路201は、SCLがHiレベルの間にSDAがHiレベルに変化するSTOPコンディションを待つ。アクセサリ制御回路201は、STOPコンディションを検出すると通信を終了する。
【0146】
一方、S3216では、アクセサリ制御回路201は、1バイト分のデータを受信し、その1バイトデータはS3207でカメラ制御回路A101から受信した開始アドレス情報に対応するデータとして不図示の不揮発性メモリ等に記憶したり、所定の処理に用いたりする。
【0147】
S3217では、アクセサリ制御回路201は、内部変数Mに1を加算してS3218に進む。
【0148】
S3218では、アクセサリ制御回路201は、1バイトのデータを正常に受信できたと判断した場合には、S3219に進む。1バイトのデータを正常に受信できていないと判断した場合には、S3221に進む。
【0149】
S3219では、アクセサリ制御回路201は、1バイト受信後の次のSCLクロック出力に対してSDAをLoレベルに制御することで、カメラ制御回路A101に対してデータ受信通知(ACK)を行う。
【0150】
S3230では、アクセサリ制御回路201は、SCLがHiレベルの間にSDAがHiレベルに変化するSTOPコンディションを検出したかを確認する。アクセサリ制御回路201は、STOPコンディションを検出すると通信を終了する。一方、アクセサリ制御回路201は、STOPコンディションを検出しなかった場合には、カメラ制御回路A101から引き続きアクセサリ制御回路201にデータ送信を行ってくると判断してS3216に戻る。
【0151】
このようにして、S3216に戻った後に、アクセサリ制御回路201は、受信するデータのアドレスを順次インクリメントし、それぞれのアドレスに対応する1バイトデータを受信する。このようにS3220でSTOPコンディションが通知されるまで繰り返し1バイトのデータを受信することで、アクセサリ制御回路201はカメラ制御回路A101からNバイト分のデータを受信する。
【0152】
このように、カメラ接続部141は、I2C通信方式のデータ信号用の接点TC12と該データ信号用の接点に対して一方の側に配置された(一方の側にて隣り合う)I2C通信方式のクロック信号用の接点TC13を含む。さらにデータ信号用の接点TC12に対して他方の側に(他方の側にて隣り合う位置から順に)配置された、第2の入力信号用の接点TC11、SPI通信方式の入力選択信号用の接点TC10、SPI通信方式の受信用の接点TC09、SPI通信方式の送信用の接点TC08、SPI通信方式のクロック信号用の接点TC07、第1の入力信号用の接点TC06および出力信号用の接点TC05を含む。
【0153】
アクセサリ200は、不図示の不揮発性メモリ内にアクセサリ情報を格納している。アクセサリ情報は、カメラ100にアクセサリ200の種類や通信および動作(機能)に関する仕様を識別させるための情報である。
図5は、アクセサリ情報の例を示している。アクセサリ情報は、アドレス0x00~0x0Fのメモリ空間にマッピングされており、I2C通信によりアクセサリ200からアクセサリ情報を読み出すことが可能である。アクセサリ情報の詳細については後述する。なお、本実施例のI2C通信においては、読み出したデータに対するチェックサム値を通信の最終データとして付加する。
【0154】
図1に示した通信接点であるTC14に接続されたFNC1信号、TC15に接続されたFNC2信号、TC16に接続されたFNC3信号およびTC17に接続されたFNC4信号は、装着されたアクセサリ200の種類に応じて機能を変更できる機能信号である。例えば、アクセサリ200がマイク機器である場合はTC15を介して通信される信号は音声データに関する信号として、またアクセサリ200がストロボ機器である場合はTC14を介して通信される信号は発光タイミングを通知する信号となる。
【0155】
なお、装着されたアクセサリの種別によって、同じ接点を介して異なる機能を実現する信号が通信されるようにしてもよい。例えばアクセサリ200が照明以外のアクセサリである場合に、TC14を介して発光タイミングとは異なるタイミングを制御するための同期信号が通信されるようにしてもよい。TC14~TC17は機能信号接点に相当する。機能信号接点の少なくともいずれかを用いた通信を機能信号通信とも称する。機能信号通信は、I2C通信・SPI通信と並行して、I2C通信・SPI通信に依存しないタイミングで通信を実行することができる。
【0156】
ここでいうアクセサリ種別とは、上述のマイク機器、照明機器等である。性能が異なる照明同士のように、同じ目的の機能を実現するアクセサリは同じ種別のアクセサリである。マイク機器と照明機器のように、異なる目的の機能を実現するアクセサリは異なる種別のアクセサリである。機能信号通信は、I2C通信またはSPI通信によって取得された情報に基づいて実行される。第2のグラウンド接点としてのTC18もGNDに接続されており、TC04と同様に、カメラ100とアクセサリ200の基準電位となる接点である。TC19に接続された差動信号D2NおよびTC20に接続された差動信号D2Pは、それらがペアとなってデータ通信を行うデータ通信信号であり、カメラ制御回路B102と接続されている。TC19とTC20とを介して、例えばUSB通信を行うことが可能である。
【0157】
TC21はGNDに接続されており、基準電位の接点としてだけではなく、差動信号D2Nと差動信号D2Pの配線インピーダンスをコントロールする接点としての用途も兼ねる。TC21は第4のグラウンド接点に相当する。接点TC01、TC04、TC06、TC18、TC21は、例えば、フレキシブル基板のGND部に接続されていて、フレキシブル基板のGND部がカメラ100のGNDレベルとなる金属性の部材とビス等で固定される。GNDレベルとなる金属性の部材は例えば、アクセサリシュー部においてアクセサリ200と係合する係合部材、カメラ100内部の不図示のベースプレート等がある。
【0158】
本実施例では、クロック信号であるSCLK(第1のクロック信号)を伝達する接点(第1のクロック接点)TC07の隣に、アクセサリ装着検出信号/ACC_DETが接続されている装着検出接点TC06を配置している。一般に、クロック信号の接点に隣接した接点には、クロック信号の電位変動に伴うノイズ(クロックノイズ)が伝わり、これが誤動作の要因となり得る。特に、本実施例のように接点数が多く、接点間の距離が短い構成においては、その影響がより大きくなる。そこで、SCLK接点TC07の隣に、装着検出接点TC06を配置することで、クロックノイズの影響を抑えることができる。
【0159】
アクセサリ装着検出信号/ACC_DETは、アクセサリ装着前はプルアップされているが、アクセサリ装着後はGND電位に設定される。一方、クロック信号を伝達するSCLK接点TC07は、アクセサリ装着前はクロック信号を伝達しないので、電位の変動がなく、アクセサリ装着後にのみクロック信号を伝達するために電位が変動する。
【0160】
SCLK接点TC07がクロック信号を伝達する際に、装着検出接点TC06はGND電位になっている。このため、装着検出接点TC06がクロックノイズを受けても、カメラ100やアクセサリ200の制御回路の電位は変動しにくいため、誤動作を防ぐことができる。また、装着検出接点TC06よりも離れた位置へクロックノイズが伝わるのを抑制することができる。その結果、GND端子を配置せずに済むので、接点数を増やさずにクロックノイズの影響を抑制することができる。
【0161】
また、接点(第2のクロック接点)TC13にもクロック信号としてのSCL(第2のクロック信号)が伝達される。しかし、SCLK接点TC07に伝達されるSCLKの方がSCLよりも周波数が高く、SCLK接点TC07からの方がSCL接点TC13からに比べてクロックノイズをより多く発生する。このため、装着検出接点TC06を、SCL接点TC13の隣ではなく、SCLK接点TC07の隣に配置する方が、クロックノイズによる誤動作を防ぐ効果が大きい。
【0162】
さらに、周波数の違いだけでなく、SCL接点TC13で伝達されるSCLは、I2C通信規格のクロック信号であり、信号線の電圧の変動はオープンドレイン接続で駆動される。一方、SCLK接点TC07で伝達されるSCLKは、SPI通信規格のクロック信号であり、信号線の電圧の変動はCMOS出力で駆動される。このため、SCL接点TC13の方がSCLK接点TC07に比べて電圧の変動のエッジが緩やかになりやすく、クロックノイズが発生しにくい。したがって、装着検出接点TC06を、SCL接点TC13の隣ではなくSCLK接点TC07の隣に配置する方がクロックノイズによる誤動作を防ぐ効果が大きい。
【0163】
また、第1および第2の差動信号接点TC19、TC20にもペアで差動信号D1N、D1Pを伝達して、クロック信号を伝達する場合がある。その際、SCLK接点TC07やSCL接点TC13よりも周波数が高いクロック信号(第3のクロック信号)を伝達することがある。しかし、差動信号D1N、D1Pはペア信号であるために、シングルエンド信号を伝達するSCLK接点TC07やSCL接点TC13よりもクロックノイズの放射は少ない。このため、装着検出接点TC06を、第1および第2の差動信号接点TC19、TC20の隣ではなく、SCLK接点TC07の隣に配置する方が、クロックノイズによる誤動作を防ぐ効果が大きい。
【0164】
なお、SCLK接点TC07の装着検出接点TC06とは反対側の隣に配置された接点(第1のデータ接点)TC08は、MOSI(第1のデータ信号)を伝達する。MOSIはデータ信号であるので、クロックノイズの影響を受けやすいように見える。しかし、MOSIは、SCLK接点TC07で伝達されるクロック信号と同一のSPI通信規格のデータ信号であるため、電位の変動タイミングがクロック信号と同期しており、クロックノイズの影響を受けにくい。このため、接点TC08をGND電位に固定しなくてよく、MOSI接点として用いることができる。
【0165】
アクセサリ200は、電池205を有し、該電池205からの電力供給を受けるとともに、カメラ接続部141とアクセサリ接続部211を介してカメラ100からの電力供給も受ける。アクセサリ200におけるアクセサリ処理手段としてのアクセサリ制御回路201は、アクセサリ200全体を制御する回路であり、CPU等のプロセッサ(マイクロコンピュータ)により構成されている。アクセサリ制御回路201は、コンピュータプログラムに従って各種制御や処理を実行する。
【0166】
アクセサリ電源回路202は、アクセサリ200の各回路に供給するための電源を生成する回路であり、DC/DCコンバータ回路やLDOやチャージポンプ回路等で構成されている。アクセサリ制御回路201には、アクセサリ電源回路202で生成された電圧1.8Vがアクセサリマイコン電源VMCU_Aとして常時供給される。なお、アクセサリ電源回路202で生成される電圧が1.8Vと異なる値である構成であってもよい。アクセサリ電源回路202を制御することで、アクセサリ200の各回路への電源供給のオン・オフ制御が行われる。
【0167】
充電回路204は、カメラ100から供給された電力を用いて電池205を充電するための回路である。アクセサリ制御回路201は、充電動作を行うのに十分な電力をカメラ100から供給されていると判断できる場合には、充電回路204を制御して電池205への充電を行う。なお、本実施例ではアクセサリ200に電池205が装着される場合について説明するが、電池205が装着されずにカメラ100からの給電のみでアクセサリ200が動作してもよい。この場合、充電回路204は不要となる。
【0168】
差動通信回路207は、カメラ100と差動通信を行うための回路であり、カメラ100との間でデータの送受信を行うことができる。外部通信IF回路208は、不図示の外部機器とデータ通信を行うためのIF回路であり、Ethernet通信IF、無線LAN通信IFおよび公衆ネットワーク通信IF等である。アクセサリ制御回路201は、差動通信回路207および外部通信IF回路208を制御することで、カメラ100から受信したデータを外部機器に送信したり外部機器から受信したデータをカメラ100に送信したりすることができる。
【0169】
機能回路206は、アクセサリ200の種類に応じて異なる機能を有する回路である。機能回路206は、例えば、アクセサリ200がストロボ機器の場合には、発光回路、充電回路等である。また、アクセサリ200がマイク機器の場合には、音声コーデック回路やマイク回路等である。
【0170】
外部接続端子209は、外部機器と接続するためのコネクタ端子であり、本実施例ではUSB TYPE-Cコネクタである。接続検出回路210は、外部接続端子209に外部機器が接続されたことを検出するための回路である。アクセサリ制御回路201は、接続検出回路210の出力信号を受信することで、外部接続端子209への外部機器接続を検出することができる。
【0171】
電源スイッチ203は、アクセサリ200の電源(つまりは動作)をオン・オフするためにユーザにより操作されるスイッチである。アクセサリ制御回路201は、電源スイッチ203が接続された端子の信号レベルを読み出すことでオンポジション/オフポジションを検出することができる。
【0172】
操作スイッチ212は、アクセサリ200に各種指示を与えたり各種設定を行ったりするためにユーザにより操作されるスイッチであり、ボタン、十字キー、スライドスイッチ、ダイヤルスイッチ、タッチセンサ等を含む。操作スイッチ212が操作されると、アクセサリ制御回路201は操作を検出して、該操作に応じた所定の処理を実行する。
【0173】
アクセサリ接続部211は、一列に配列された21個の接点TA01~TA21を介してカメラ100と電気的な接続を行うためのコネクタである。接点TA01~TA21は、これらの配列方向の一端から他端にこの順で配置されている。
【0174】
TA01は、GNDに接続されており、基準電位の接点としてだけではなく、差動信号D1Nと差動信号D1Pの配線インピーダンスをコントロールする接点としての用途も兼ねる。TA01は第3のグラウンド接点に相当する。
【0175】
TA02に接続された差動信号D1NとTA03に接続された差動信号D1Pは、それらがペアとなってデータ通信を行うデータ通信信号であり、差動通信回路207と接続されている。TA02、TA03、後述するTA07~TA10、TA12~17、TA19およびTA20は通信接点である。
【0176】
第1のグラウンド接点としてのTA04は、GNDに接続されており、カメラ100とアクセサリ200の基準電位の接点となる。TA04は、次に説明するTA05よりも接点の配列方向における外側に配置されている。
【0177】
電源接点としてのTA05には、アクセサリ電源回路202と充電回路204が接続されており、カメラ100から供給されるアクセサリ電源VACCが接続される。
【0178】
装着検出接点としてのTA06は、GNDに直接接続されている。アクセサリ200がカメラ100に装着されたときに、アクセサリ制御回路201は前述したアクセサリ装着検出信号/ACC_DETをアクティブ電位としてのLoレベル(GND電位)にする。これにより、カメラ100にアクセサリ200の装着を検出させる。
【0179】
通信接点であるTA07に接続されたSCLK、TA08に接続されたMOSI、TA09に接続されたMISOおよびTA10に接続されたCSは、アクセサリ制御回路201が通信スレーブとなってSPI通信を行うための信号である。
【0180】
信号接点(通信要求接点)であるTA11には、アクセサリ制御回路201からカメラ100に対して通信を要求するための通信要求信号/WAKEが接続されている。アクセサリ制御回路201は、カメラ100との通信が必要と判断した場合に、通信要求信号/WAKEをHiレベルからLoレベルに変化させることで、カメラ100に対して通信要求を行う。
【0181】
アクセサリ200が装着状態であることを検出することに応じてカメラ制御回路101からアクセサリ200に対してTC5を介した電源供給がなされると、アクセサリ制御回路201は通信要求信号/WAKEの信号レベル(電位)をHiレベルからLoレベルに変化させることで、電源供給を受けた旨をカメラ制御回路101に通知する。
【0182】
アクセサリ制御回路201は、カメラからの要求がなくとも通信要求信号/WAKEの信号レベル(電位)をHiレベルからLoレベルに変化させることで、アクセサリ200がカメラ100と通信すべき要因が発生したことを通知することができる。この構成により、カメラ制御回路101はアクセサリ200に通信すべき要因が発生したか否かを、ポーリングすることよって周期的に確認する動作を省略することができる。また、アクセサリ200は通信すべき要因が発生した場合にその旨をリアルタイムにカメラ100に通信することが可能である。
【0183】
通信接点であるTA12に接続されたSDAおよびTA13に接続されたSCLは、アクセサリ制御回路201が通信スレーブとなってI2C通信を行うための信号である。
【0184】
このように、アクセサリ接続部211は、I2C通信方式のデータ信号用の接点TA12と該データ信号用の接点に一方の側にて隣り合うI2C通信方式のクロック信号用の接点TA13を含む。さらにデータ信号用の接点TAB12に他方の側にて隣り合う位置から順に配置された、第2の入力信号用の接点TA11、SPI通信方式の入力選択信号用の接点TA10、SPI通信方式の送信用の接点TA09、SPI通信方式の受信用の接点TA08、SPI通信方式のクロック信号用の接点TA07、第1の入力信号用の接点TA06および出力信号用の接点TA06を含む。
【0185】
通信接点(機能信号接点)であるTA14に接続されたFNC1信号、TA15に接続されたFNC2信号、TA16に接続されたFNC3信号およびTA17に接続されたFNC4信号は、アクセサリ200の種類に応じて機能を変更できる機能信号である。例えば、アクセサリ200がマイク機器である場合は音声データに関する信号として、またアクセサリ200がストロボ機器である場合は発光タイミングを通知する信号となる。
【0186】
第2のグラウンド接点としてのTA18もGNDに接続されており、TA04と同様に、カメラ100とアクセサリ200の基準電位の接点となる。TA19に接続された差動信号D2NとTA20に接続された差動信号D2Pは、それらがペアとなってデータ通信を行うデータ通信信号であり、外部接続端子209と接続されている。
【0187】
TA21はGNDに接続されており、基準電位の接点としてだけではなく、差動信号D2Nと差動信号D2Pの配線インピーダンスをコントロールする端子としての用途も兼ねる。TA21は第4のグラウンド接点に相当する。
【0188】
接点TA01、TA04、TA06、TA18、TA21は、例えば、フレキシブル基板のGND部に接続されていて、フレキシブル基板のGND部がアクセサリ200のGNDレベルとなる金属性の部材と不図示のビス等で固定される。GNDレベルとなる金属性の部材は例えば、カメラ100のアクセサリシュー部と係合するシュー取付脚やアクセサリ200内部の不図示のベースプレート等がある。
【0189】
図6は、アクセサリ200がカメラ100に装着されたときに行われる処理のシーケンスを示している。ここでは、カメラ100(カメラ制御回路A101、B102)とアクセサリ200(アクセサリ制御回路201)のそれぞれの処理の概要を説明し、詳細は後述する。
【0190】
アクセサリ200がカメラ100に装着されると、アクセサリ装着検出信号/ACC_DETがLoレベルとなる。これにより、カメラ制御回路A101は、カメラ100にアクセサリ200が装着されたものと判定する。アクセサリ200が装着されたと判定したカメラ制御回路A101は、アクセサリ用電源回路A131の出力をオンするために、電源制御信号CNT_VACC1をHiレベルにする。アクセサリ用電源回路A131は、電源制御信号CNT_VACC1がHiになることに応じてアクセサリ電源VACCを出力する。
【0191】
VACCを受電したアクセサリ電源回路202は、アクセサリ制御回路201のための電源VMCU_Aを生成する。これにより、アクセサリ制御回路201が起動する。起動したアクセサリ制御回路201は、アクセサリ200内の各ブロックの初期化を行う。その後、アクセサリ制御回路201は、カメラ100との通信が可能な状態になると、通信要求信号/WAKEをLoレベルとする。
【0192】
カメラ制御回路A101は、通信要求信号/WAKEがLoレベルとなることで、アクセサリ200が通信可能な状態になったことを検出する。カメラ制御回路A101は、I2C通信によってアクセサリ200に対してアクセサリ情報の通信を要求する。アクセサリ情報要求を受信したアクセサリ制御回路201は、カメラ制御回路A101にアクセサリ情報を送信する。アクセサリ情報を送信したアクセサリ制御回路201は、通信要求信号/WAKEをHiレベルとする。
【0193】
カメラ制御回路A101は、受信したアクセサリ情報に基づいて、装着されたアクセサリの制御が可能か否か等を判定する。また、アクセサリ用電源回路B132をオンにする。そしてカメラ制御回路A101は、カメラ100の種々の設定を行い、これが完了すると、カメラ制御回路B102に対してアクセサリ情報を通知する。
【0194】
カメラ制御回路B102は、通知されたアクセサリ情報に基づいて、SPI通信によってアクセサリ200に対する制御コマンドの通知(アクセサリ制御通信)を行ったり機能信号に対応する制御(機能信号制御)を行ったりする。すなわち、SPI通信によってアクセサリ200を制御する。
【0195】
アクセサリ制御回路201は、カメラ100からのSPI通信による制御コマンドに対して応答するとともに、機能信号に応じた動作を行う。
【0196】
ここで、
図5に例示したアクセサリ情報について説明する。アドレス(address)0x00のD7-D0データは、アクセサリの種類を示す情報(以下、アクセサリ種別情報という)である。
図7は、アクセサリ種別情報の例を示している。例えば、0x81はストロボ機器、0x82はインタフェース変換アダプタ機器、0x83はマイク機器、0x84は複数のアクセサリ機器をカメラ100に装着するためのマルチアクセサリ接続アダプタ機器を示している。
【0197】
アダプタ機器は、カメラ100とストロボ機器やマイク機器等のアクセサリとの間に装着される中間アクセサリである。インタフェース変換アダプタ機器は、カメラ100のインタフェースとアクセサリのインタフェースが異なる場合に、カメラ100とアクサセリとの間に互換性を持たせるためにインタフェースを変換するアダプタ機器である。マルチアクセサリ接続アダプタ機器は、複数のアクセサリを装着可能なアダプタ機器である。
【0198】
図5におけるアドレス0x01のD7-D0データは、アクセサリ200の機種(型番)を示す情報である。先に説明したアクセサリ種別情報と本情報とによって、アクセサリの種類と機種を識別することが可能である。
【0199】
アドレス0x02のD7-D0データは、アクセサリ200のファームウェアのバージョンを示す情報である。
【0200】
アドレス0x03のD7-D6データは、カメラ100が不図示の電源スイッチをオフした状態において、アクセサリ200へのアクセサリ電源VACC供給を要求するか否かを示す仕様情報である。本情報が0の場合には給電不要を示し、1の場合にはアクセサリ用電源回路A131による給電要求を示す。また、2の場合にはアクセサリ用電源回路B132による給電要求を示す。
【0201】
アドレス0x03のD5-D4データは、カメラ100がオートパワーオフ機能によって省電力状態(以下、オートパワーオフ状態という)になったときにアクセサリ200へのアクセサリ電源VACCの供給を要求するか否かを示す仕様情報(以下、オートパワーオフ給電要否情報という)である。カメラ100は、消費電力を抑えるために、何の操作もされない無操作状態が所定時間継続すると、自動的に電源をオフにするオートパワーオフ機能を有する。本情報が0の場合には給電不要を示し、1の場合にはアクセサリ用電源回路A131による給電要求を示し、2の場合にはアクセサリ用電源回路B132による給電要求を示す。
【0202】
アドレス0x03のD3-D2データは、アクセサリ200が電池205を備えているか否かを示す仕様情報である。本情報が0の場合には電池を備えていないことを示し、1の場合には電池を備えていることを示す。
【0203】
アドレス0x03のD1-D0データは、アクセサリ200が電池205への充電機能を備えているか否かを示す仕様情報である。本情報が0の場合には充電機能を備えていないことを示し、1の場合には充電機能を備えていることを示す。
【0204】
アドレス0x04のD7-D0データは、アクセサリ200がカメラ100から給電されるアクセサリ電源VACCに対する要求電力を示す仕様情報である。例えば、本情報を10倍した値が電流値を示し、本情報が10の場合には100mAを、本情報が100の場合には1Aを示す。また、本情報の情報量を削減する方法として、本情報を電流値に関連付けた簡易な情報としてもよい。例えば、本情報が0の場合には100mAを示し、本情報が1の場合には300mAを示し、本情報が3の場合には450mAを示し、本情報が4の場合には600mAを示すとしてもよい。
【0205】
アドレス0x05のD7データは、アクセサリ200がファームアップモードか否かを示す仕様情報である。本情報が0の場合にはファームアップモードではないことを示し、1の場合にはファームアップモードであることを示す。
【0206】
アドレス0x05のD6データは、アクセサリ200がファームアップ機能を備えているか否かを示す仕様情報である。本情報が0の場合にはファームアップ機能を備えていないことを示し、1の場合にはファームアップ機能を備えていることを示す。
【0207】
アドレス0x05のD5-D4データは、アクセサリ200が中間接続アクセサリに装着された場合の動作を許可するか否かを示す仕様情報である。本情報が0の場合には動作を許可しないことを示し、1の場合には動作を許可することを示す。
【0208】
アドレス0x05のD3-D2データは、アクセサリ200がカメラ100が起動するときにカメラ100による中間接続アクセサリの装着の確認を必要とするか否かを示す仕様情報である。本情報が0の場合には確認が不要であることを示し、1の場合には確認が必要であることを示す。
【0209】
アドレス0x05のD1-D0データは、アクセサリ200がI2C通信によるコマンド通知に対応しているか否かを示す仕様情報である。本情報が0の場合にはコマンド通知に非対応であることを示し、1の場合にはコマンド通知に対応していることを示す。
【0210】
アドレス0x06のD5-D4データは、アクセサリ200が通信要求信号/WAKEをカメラ100に通知した後にカメラ100に通信要求の発生要因の通知に使用可能な通信方式である通信要求要因取得方式(使用通信方式:以下、要因取得方式という)を示す仕様情報である。本情報が0の場合にはI2C通信方式が要因取得方式であることを示し、1の場合にはSPI通信方式が要因取得方式であることを示し、2の場合にはI2C通信方式とSPI通信方式の両方が要因取得方式であることを示す。
【0211】
アドレス0x06のD3-D0データは、アクセサリ200がFNC1信号(機能信号1)、FNC2信号(機能信号2)、FNC3信号(機能信号3)およびFNC4信号(機能信号4)に対応する機能を備えているか否かを示す仕様情報である。D0データはFNC1信号、D1データはFNC2信号、D2データはFNC3信号、D3データはFNC4信号にそれぞれ対応し、それぞれの値が0の場合には該機能を備えていないことを示し、1の場合には該機能を備えていることを示す。
【0212】
アドレス0x0AのD7データは、アクセサリ200が通信要求信号/WAKEをカメラ100に通知した際にカメラ100に対して起動を要求するか否かを示す仕様情報である。本情報が0の場合には起動を要求することを示し、1の場合には起動を要求しないことを示す。
【0213】
アドレス0x0AのD6-D0データは、アクセサリ200がカメラ100に対して通知した通信要求信号/WAKEの発生要因を示す情報である。
【0214】
図8は、通信要求信号/WAKEの発生要因(以下、通信要求要因ともいう)の例を示している。ここでは、アクセサリ200がマイク機器である場合の例を示している。例えば、要因番号0x00は、操作スイッチ212のうちメニュー呼び出しスイッチが操作(押下)されたことを示す番号である。要因番号0x01は、アクセサリ200が音声信号の出力制御を完了したことを示す番号である。要因番号0x02は、アクセサリ200が音声信号のミュート処理を完了した(ミュートを解除した)ことを示す番号である。このように、本実施例では、通信要求信号/WAKEの発生要因に関する情報としての通信要求要因(番号)の情報をアクセサリ情報の1つとしてアクセサリ200からカメラ100に通知(送信)できるようにしている。
【0215】
図5において、アドレス0x0CのD1データは、アクセサリ200が対応しているSPI通信プロトコルを示す仕様情報であり、本情報が0の場合はSPIプロトコルAに対応していることを示し、1の場合にはSPIプロトコルBに対応していることを示す。
【0216】
アドレス0x0CのD0データは、アクセサリ200が対応しているSPI通信のCSの制御論理を示す仕様情報であり、本情報が0の場合はCSがLoアクティブ論理であることを示し、1の場合はCSがHiアクティブ論理であることを示す。
【0217】
アドレス0x0DのD7-D0データは、アクセサリ200がSPIプロトコルAで通信を行い、かつアドレス0x05のD7データが0の場合、すなわちアクセサリ200がファームアップモードではない場合の通信バイト間隔として必要な時間を示す仕様情報である。
【0218】
アドレス0x0EのD7-D0データは、アクセサリ200がSPIプロトコルAで通信を行い、かつアドレス0x05D7データが1の場合、すなわちアクセサリ200がファームアップモードである場合の通信バイト間隔として必要な時間を示す仕様情報である。
【0219】
図9(a)、(b)は、アドレス0x0Dとアドレス0x0Eのデータ(0~7)に対応する通信バイト間隔の時間(通信間隔)を示している。
図9(a)はアドレス0x0Dのデータの情報に対する通信間隔を示し、
図8(b)はアドレス0x0Eのデータに対する通信間隔を示している。
【0220】
図5において、アドレス0x0Fのデータは、アドレス0x00から0x0Eまでの総和を示すチェックサム値のデータである。
【0221】
図10は、アクセサリ200がカメラ100に装着されてアクセサリ200の機能を有効にするまでにカメラ制御回路A101が実行する起動処理を示している。
【0222】
S401では、カメラ制御回路A101は、アクセサリ装着検出信号(第1の入力信号)/ACC_DETの信号レベルをモニタし、アクセサリ200が装着されているか否かを判断(検出)する。カメラ制御回路A101は、/ACC_DETの信号レベルがHiであればアクセサリ200は未装着であると判断してS401に戻り、再び装着を判断する。信号レベルがLoであればアクセサリ200が装着されたと判断してS402に進む。
【0223】
S402では、カメラ制御回路A101は、アクセサリ用電源回路A131の出力をオンするために、電源制御信号CNT_VACC1をHiレベルに制御する。そしてS403に進む。アクセサリ用電源回路A131は、電源制御信号CNT_VACC1がHiレベルになると、アクセサリ電源(出力信号)VACCを出力する。
【0224】
S403では、カメラ制御回路A101は、過電流検知信号DET_OVCの信号レベルをモニタし、過電流が流れていないかを判断する。カメラ制御回路A101は、DET_OVCの信号レベルがLoであれば過電流は流れていないと判断してS404に進み、信号レベルがHiであれば過電流が流れたと判断してS405に進み、エラー処理を行う。
【0225】
S404では、カメラ制御回路A101は、アクセサリ200からの通知信号である通信要求信号(第2の入力信号)/WAKEの信号レベルをモニタし、アクセサリ200の初期化が完了しているか否かを判断する。カメラ制御回路A101は、/WAKEの信号レベルがLoレベル(アクティブ)であれば初期化が完了していると判断してS406に進み、信号レベルがHiレベルであれば初期化が完了していない判断してS404に戻り、再び初期化の完了を判断する。
【0226】
S406では、カメラ制御回路A101は、アクセサリ200に対して初期通信としてI2C通信を行い、15バイトのアクセサリ情報を読み出す。そしてS407に進む。
【0227】
S407では、カメラ制御回路A101は、S406で読み出したアクセサリ情報に基づいて、装着されたアクセサリ200がカメラ100に対応する機器(対応アクセサリ)であるか否かを判断する。カメラ制御回路A101は、装着されたアクセサリ200が対応アクセサリであると判断するとS408に進み、対応アクセサリでないと判断するとS409に進んでエラー処理を行う。
【0228】
S408では、カメラ制御回路A101は、アクセサリ用電源回路B132の出力をオンするために、電源制御信号CNT_VACC2をHiレベルに制御する。そしてS410に進む。アクセサリ用電源回路B132は、電源制御信号CNT_VACC2がHiレベルになると、アクセサリ電源VACCを出力する。本実施例においては、電源制御信号CNT_VACC1と電源制御信号CNT_VACC2の両方がHiレベルになると、アクセサリ用電源回路B132による出力がアクセサリ電源VACCに供給される。
【0229】
S410では、カメラ制御回路A101は、カメラ制御回路B102に対して、S406で読み出したアクセサリ情報を通知する。これにより、アクセサリ200の装着に伴うカメラ100での起動処理を完了する。
【0230】
図11のフローチャートは、アクセサリ200がカメラ100に装着されてアクセサリ200の機能を有効にするまでにカメラ制御回路B102が実行する有効化処理を示している。
【0231】
S501では、カメラ制御回路B102は、カメラ制御回路A101からアクセサリ情報が通知されたか否かを判断する。カメラ制御回路B102は、アクセサリ情報が通知されていなければS501に戻って再び通知を判断し、アクセサリ情報が通知されていればS502に進む。
【0232】
S502では、カメラ制御回路B102は、カメラ制御回路A101から通知されたアクセサリ情報に基づいて、機能信号であるFNC1~FNC4に対する設定を行う。例えば、アクセサリ200がマイク機器であると通知された場合には、FNC1が音声データクロック信号BCLKとして、FNC2が音声データチャンネル信号LRCLKとして、FNC3が音声データ信号SDATAとしてそれぞれ機能するように設定する。また別の例として、アクセサリ200がストロボ機器であると通知された場合には、FNC4がストロボ発光同期信号XOUTとして機能するように設定する。なお、アクセサリ200に対して制御が不要な機能信号についても、カメラ100とアクセサリ200の動作に支障が生じないように所定の設定を行う。
【0233】
S503では、カメラ制御回路B102は、カメラ制御回路A101から通知されたアクセサリ情報に基づいて、SPI通信におけるCSの制御論理の設定を行う。
【0234】
S504では、カメラ制御回路B102は、アクセサリ200に対する所定のイベントが発生しているか否かを判断する。カメラ制御回路B102は、イベントが発生していなければS504に戻って再びイベントの発生を判断し、イベントが発生していればS505に進む。
【0235】
S505では、カメラ制御回路B102は、S504で発生したイベントがアクセサリ200とのSPI通信を要するイベントであるかを判断する。カメラ制御回路B102は、イベントがSPI通信を要するものであればS506に進み、そうでなければS507に進む。
【0236】
S507では、カメラ制御回路B102は、S504で発生したイベントが機能信号を用いたアクセサリ200の制御が必要なイベントであるか否かを判断する。カメラ制御回路B102は、イベントが機能信号を用いた制御を要するものであればS508に進み、そうでなければS509に進む。
【0237】
S506では、カメラ制御回路B102は、アクセサリ200に対してSPI通信を行う。ここで行われるSPI通信としては、例えば、アクセサリ200がマイク機器である場合はマイク動作をオンさせる指示の通信、マイク動作をオフさせる指示の通信、マイクの集音指向性を切り替える指示の通信およびマイクのイコライザ機能を切り替える指示の通信等がある。また、アクセサリ200がストロボ機器である場合は、該ストロボ機器の設定情報を読み出す通信やストロボ機器に対して設定情報を通知する通信等がある。カメラ制御回路B102は、S506でのSPI通信が完了すると、S504に戻って再びイベントの発生を判断する。
【0238】
S508では、カメラ制御回路B102は、アクセサリ200に対して機能信号を用いた制御を行う。例えば、アクセサリ200がマイク機器である場合は、FNC1の音声データクロック信号BCLKとFNC2の音声データチャンネル信号LRCLKを出力するとともに、FNC3の音声データ信号SDATAを取り込む。これにより、カメラ100はマイク機器からの音声データを取得可能となる。また、アクセサリ200がストロボ機器である場合は、FNC4のストロボ発光同期信号XOUTを所定のタイミングで出力する。これにより、カメラ100はストロボ機器に発光を指示することができる。こうして記機能信号を用いた制御が完了すると、カメラ制御回路B102は、S504に戻って再びイベントの発生を判断する。
【0239】
また、S509では、カメラ制御回路B102は、S504で発生したイベントに応じて所定のカメラ内制御を行う。カメラ内制御としては、例えば、アクセサリ200がマイク機器である場合は、記録用メモリ126への音声データの記録を開始または終了する制御や、音声データに対するイコライザ処理を行う制御等がある。また、アクセサリ200がストロボ機器である場合は、ストロボ機器が発光した光を撮像センサ122で蓄積取得する測光制御や、ストロボ機器の発光量の指示値を演算する制御等がある。こうしてカメラ内制御が完了すると、カメラ制御回路B102は、S504に戻って再びイベントの発生を判断する。
【0240】
以上説明したカメラ制御回路A101による起動処理およびカメラ制御回路B102による有効化処理によって、カメラ100が装着されたアクセサリ200に対する制御を行うことが可能となる。
【0241】
図12のフローチャートは、アクセサリ200がカメラ100に装着されてからアクセサリ200の各種機能動作が可能になるまでにアクセサリ制御回路201が実行する処理を示している。
【0242】
S601では、アクセサリ制御回路201は、カメラ100からのアクセサリ電源VACCがオンになるのを待つ。アクセサリ200が電池205を備えていない場合は、アクセサリ制御回路201へ電源が供給されてアクセサリ制御回路201自身が動作を開始したことでアクセサリ電源VACCがオンしたことを検出することができる。アクセサリ200が電池205を備える場合は、アクセサリ制御回路201がアクセサリ電源VACCの電圧値をモニタするようにしてアクセサリ電源VACCがオンしたことを検出してもよい。
【0243】
S602では、アクセサリ制御回路201は、所定の初期設定を行う。例えば、マイコンの動作周波数の設定、マイコンの入出力制御ポートの設定、マイコンのタイマー機能の初期化設定およびマイコンの割り込み機能の初期化設定を行う。
【0244】
S602での初期設定が完了すると、S603において、アクセサリ制御回路201は、通信要求信号/WAKEをLoレベルに制御する。これにより、カメラ100に対して初期設定が完了したことを通知する。
【0245】
S604では、アクセサリ制御回路201は、カメラ100からのI2C通信に対して応答して、初期通信として15バイトのアクセサリ情報をカメラ100に送信する。アクセサリ情報には、
図5で示した種々の情報が含まれる。
【0246】
S604の初期通信が完了すると、S605において、アクセサリ制御回路201は、通信要求信号/WAKEをHiレベルに制御する。
【0247】
S606では、アクセサリ制御回路201は、所定のイベントが発生しているか否かを判断する。アクセサリ制御回路201は、イベントが発生していなければS606に戻って再びイベントの発生を判断し、イベントが発生していればS607に進む。
【0248】
S607では、アクセサリ制御回路201は、S606で発生したイベントがカメラ100とのSPI通信を要するイベントであるか否かを判断する。アクセサリ制御回路201は、イベントがSPI通信を要するものであればS608に進み、そうでなければS609に進む。
【0249】
S609では、アクセサリ制御回路201は、S606で発生したイベントがカメラ100とのI2C通信を要するイベントであるか否かを判断する。アクセサリ制御回路201は、イベントがI2C通信を要するものであればS610に進み、そうでなければS611に進む。
【0250】
S611では、アクセサリ制御回路201は、S606で発生したイベントが機能信号を用いた制御を行うイベントであるか否かを判断する。アクセサリ制御回路201は、イベントが機能信号を用いた制御を要するものであればS612に進み、そうでなければS613に進む。
【0251】
S613では、アクセサリ制御回路201は、S606で発生したイベントが通信要求信号/WAKEによるカメラ100への通知を行うイベントであるか否かを判断する。アクセサリ制御回路201は、イベントが通信要求信号/WAKEによるカメラ100への通知を要するものであればS614に進み、そうでなければS615に進む。
【0252】
S608では、アクセサリ制御回路201は、カメラ100とのSPI通信を行う。SPI通信の実行時に通信要求信号/WAKEがLoレベルになっている場合は、SPI通信後に通信要求信号/WAKEをHiレベルに制御する。ここで行われるSPI通信としては、例えば、アクセサリ200がマイク機器である場合は、カメラ100からのマイク動作をオンさせる指示の通信、マイク動作をオフさせる指示の通信、マイクの集音指向性を切り替える指示の通信がある。さらに、マイクのイコライザ機能を切り替える指示の通信等もある。また、アクセサリ200がストロボ機器である場合は、ストロボ機器の設定情報を読み出す通信や、ストロボ機器に対して設定情報を通知する通信等がある。S608での所定のSPI通信が完了すると、アクセサリ制御回路201は、S606に戻って再びイベントの発生を判断する。
【0253】
S610では、アクセサリ制御回路201は、カメラ100とのI2C通信を行う。I2C通信の実行時に通信要求信号/WAKEがLoレベルになっている場合は、I2C通信後に通信要求信号/WAKEをHiレベルに制御する。ここで行われるI2C通信としては、例えば、アクセサリ制御回路201からカメラ100に対して通知した通信要求信号/WAKEに対する通信要求要因を読み出すための通信がある。S610でのI2C通信が完了すると、アクセサリ制御回路201は、S606に戻って再びイベントの発生を判断する。
【0254】
S612では、アクセサリ制御回路201は、カメラ100に対して機能信号を用いた制御を行う。ここで行われる制御としては、例えば、アクセサリ200がマイク機器である場合は、カメラ100から出力されるFNC1の音声データクロック信号BCLKとFNC2の音声データチャンネル信号LRCLKの受信の制御がある。さらに、これらの信号に同期したFNC3の音声データ信号SDATAの出力の制御もある。また、アクセサリ200がストロボ機器である場合は、FNC4のストロボ発光同期信号XOUTの受信する制御と、これに応じたストロボ発光の制御がある。S612での機能信号を用いた制御が完了すると、アクセサリ制御回路201は、S606に戻って再びイベントの発生を判断する。
【0255】
S614では、アクセサリ制御回路201は、S606で発生したイベントに応じたカメラ100への通信要求要因番号をアクセサリ200の不図示の揮発性メモリに格納し、通信要求信号/WAKEをLoレベルに制御する。通信要求要因番号は、
図8に示したように要因内容ごとに割り振られた固有の番号である。S614での通信要求信号/WAKEのLoレベル制御が完了すると、アクセサリ制御回路201は、S606に戻って再びイベントの発生を判断する。
【0256】
S615では、アクセサリ制御回路201は、S606で発生したイベントに応じたアクセサリ内制御を行う。ここで行われるアクセサリ内制御としては、アクセサリ200が電池205を備える場合の電池残量を検出する制御や、操作スイッチ212の操作を検出する制御等がある。S615でのアクセサリ内制御が完了すると、アクセサリ制御回路201は、S606に戻って再びイベントの発生を判断する。
【0257】
以上のアクセサリ制御回路201による処理により、アクセサリ200はカメラ100に装着された後に各種機能動作を行うことが可能となる。
【0258】
図13は、
図6に示した処理シーケンスにおいて、カメラ100の電源オン時にアクセサリ200がカメラ100に装着されていた場合にカメラ制御回路A101とカメラ制御回路B102が行う処理を示している。
図6中の処理と同じ処理については説明を省略する。
【0259】
カメラ制御回路A101は、アクセサリ検出信号/ACC_DETによるアクセサリ検出処理と並行して、カメラ制御回路Bに対してカメラマイコン電源VMCU2_Cを供給し、カメラ制御回路B102の電源をオンにする。カメラ制御回路B102は、電源オンにより自身の初期化処理を実行し、初期化処理が完了するとカメラ制御回路A101に対して準備完了を通知する。
【0260】
準備完了の通知を受けたカメラ制御回路101Aは、アクセサリ200から取得していたアクセサリ情報をカメラ制御回路B102に通知する。
【0261】
以上の処理により、カメラ制御回路A101は、カメラ100へのアクセサリ200の装着を検出する処理とカメラ制御回路B102を起動する処理とを並行して実行することができる。このため、アクセサリ200(つまりは撮像システム)の起動時間を短縮することができる。すなわち、起動時の応答性を高めることができる。
アクセサリ情報を受け取ったカメラ制御回路B102は、アクセサリ情報に基づいてアクセサリに対する制御の切り替えを実行し、アクセサリ200に対してアクセサリ制御通信と機能信号制御とを実行する。
以上の処理により、カメラ100は低消費電力モードからの起動時にアクセサリ検出処理を省略することが可能となり、アクセサリ200(つまりは撮像システム)の起動時間を短縮することができる。すなわち、起動時の応答性を高めることができる。