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