(57)【特許請求の範囲】
【請求項１】
撮像装置に取り外し可能に装着されるアクセサリ装置であって、
前記撮像装置との間に、前記撮像装置から前記アクセサリ装置への通知に用いられる通知チャネルと、前記アクセサリ装置から前記撮像装置へのアクセサリデータの送信に用いられる第１のデータ通信チャネルと、前記撮像装置から前記アクセサリ装置へのカメラデータの送信に用いられる第２のデータ通信チャネルとから構成される３つのチャネルを設けるアクセサリ通信部と、
前記通知チャネルを介して前記撮像装置から前記通知としての送信要求を受けることに応じて前記第１のデータ通信チャネルを介して前記撮像装置に前記アクセサリデータを送信するとともに、前記撮像装置が前記第２のデータ通信チャネルを介して送信した前記カメラデータを受信するアクセサリ制御部とを有し、
前記アクセサリ通信部は、前記撮像装置に送信する前記アクセサリデータを格納するアクセサリデータバッファを有しており、
前記アクセサリ制御部は、
前記撮像装置から受信した前記カメラデータにおける通信エラーを検出する機能を備えており、
前記通信エラーを検出した場合に、アクセサリ側エラー情報を前記撮像装置に送信するとともに、前記アクセサリデータバッファに格納された前記アクセサリデータを消去することを特徴とするアクセサリ装置。
【請求項２】
前記アクセサリ制御部は、前記アクセサリデータの特定ビットを反転させることで前記アクセサリ側エラー情報を生成することを特徴とする請求項１に記載のアクセサリ装置。
【請求項３】
前記通信エラーは、パリティエラーまたはフレーミングエラーであることを特徴とする請求項１または２に記載のアクセサリ装置。
【請求項４】
前記特定ビットは、パリティビットまたはストップビットであることを特徴とする請求項１から３のいずれか一項に記載のアクセサリ装置。
【請求項５】
前記アクセサリ制御部は、前記通信エラーを検出した場合に、前記撮像装置から前記通知チャネルを介して前記通知としてのエラー検出通知を受けているときは前記アクセサリ側エラー情報を前記撮像装置に送信せず、前記エラー検出通知を受けていないときは前記アクセサリ側エラー情報を前記撮像装置に送信することを特徴とする請求項１から４のいずれか一項に記載のアクセサリ装置。
【請求項６】
前記アクセサリ制御部は、前記通信エラーを検出した場合に、前記エラー検出通知を受けているときと受けていないときのいずれにおいても、前記アクセサリデータバッファに格納された前記アクセサリデータを消去することを特徴とする請求項５に記載のアクセサリ装置。
【請求項７】
前記アクセサリ制御部は、前記通知チャネルの信号レベルが第１のレベルから第２のレベルに切り替わることにより前記通知を受けることを特徴とする請求項１から６のいずれか一項に記載のアクセサリ装置。
【請求項８】
前記アクセサリ制御部は、前記撮像装置に送信するアクセサリデータを、該アクセサリデータの送信開始前に前記アクセサリデータバッファに全て格納し、前記撮像装置から前記通知としての送信要求を受けることに応じて、前記第１のデータ通信チャネルを介して前記アクセサリデータバッファに格納された前記アクセサリデータを前記撮像装置に送信することを特徴とする請求項１から７のいずれか一項に記載のアクセサリ装置。
【請求項９】
アクセサリ装置が取り外し可能に装着される撮像装置であって、
前記撮像装置との間に、前記撮像装置から前記アクセサリ装置への通知に用いられる通知チャネルと、前記アクセサリ装置から前記撮像装置へのアクセサリデータの送信に用いられる第１のデータ通信チャネルと、前記撮像装置から前記アクセサリ装置へのカメラデータの送信に用いられる第２のデータ通信チャネルとから構成される３つのチャネルを設けるカメラ通信部と、
前記通知チャネルを介して前記アクセサリ装置に前記通知としての送信要求を与えることで該アクセサリ装置に前記第１のデータ通信チャネルを介して前記アクセサリデータを送信させるとともに、前記第２のデータ通信チャネルを介して前記アクセサリ装置に前記カメラデータを送信するカメラ制御部とを有し、
前記カメラ通信部は、前記アクセサリ装置に送信する前記カメラデータを格納するカメラデータバッファを有しており、
前記カメラ制御部は、
前記アクセサリ装置から受信した前記レンズデータにおける通信エラーを検出する機能を備えており、
前記通信エラーを検出した場合に、カメラ側エラー情報を前記アクセサリ装置に送信するとともに、前記カメラデータバッファに格納された前記カメラデータを消去することを特徴とする撮像装置。
【請求項１０】
前記カメラ制御部は、前記カメラデータの特定ビットを反転させることで前記カメラ側エラー情報を生成することを特徴とする請求項９に記載の撮像装置。
【請求項１１】
前記通信エラーは、パリティエラーまたはフレーミングエラーであることを特徴とする請求項９または１０に記載の撮像装置。
【請求項１２】
前記特定ビットは、パリティビットまたはストップビットであることを特徴とする請求項９から１１のいずれか一項に記載の撮像装置。
【請求項１３】
前記カメラ制御部は、前記通信エラーを検出した場合に、前記カメラ側エラー情報を前記アクセサリ装置に送信するとともに、前記通知チャネルを介して前記通知としてのエラー検出通知を前記アクセサリ装置に与えることを特徴とする請求項９から１２のいずれか一項に記載の撮像装置。
【請求項１４】
前記カメラ制御部は、前記通信エラーを検出した場合に、前記アクセサリ装置に前記エラー検出通知を与えているときと与えていないときのいずれにおいても、前記カメラデータバッファに格納された前記カメラデータを消去することを特徴とする請求項１３に記載の撮像装置。
【請求項１５】
前記カメラ制御部は、前記通知チャネルの信号レベルを第１のレベルから第２のレベルに切り替えることにより前記アクセサリ装置に前記通知を与えることを特徴とする請求項９から１４のいずれか一項に記載の撮像装置。
【請求項１６】
前記カメラ制御部は、前記アクセサリ装置に送信するカメラデータを、該カメラデータの送信開始前に前記カメラデータバッファに全て格納し、前記アクセサリ装置に前記通知としての送信要求を与えることで該アクセサリ装置に前記第１のデータ通信チャネルを介して前記アクセサリデータを送信させるとともに、前記第２のデータ通信チャネルを介して前記カメラデータバッファに格納された前記カメラデータを前記アクセサリ装置に送信することを特徴とする請求項９から１５のいずれか一項に記載の撮像装置。
【請求項１７】
撮像装置と該撮像装置に取り外し可能に装着されるアクセサリ装置とを含む撮像システムであって、
前記撮像装置および前記アクセサリ装置はそれぞれ、
前記撮像装置から前記アクセサリ装置への通知に用いられる通知チャネルと、前記アクセサリ装置から前記撮像装置へのアクセサリデータの送信に用いられる第１のデータ通信チャネルと、前記撮像装置から前記アクセサリ装置へのカメラデータの送信に用いられる第２のデータ通信チャネルとから構成される３つのチャネルを設けるカメラ通信部およびアクセサリ通信部と、
カメラ制御部およびアクセサリ制御部とを有し、
前記カメラ制御部が前記通知チャネルを介して前記アクセサリ制御部に前記通知としての送信要求を与えることに応じて前記アクセサリ制御部が前記第１のデータ通信チャネルを介して前記カメラ制御部に前記アクセサリデータを送信するとともに、前記カメラ制御部は前記第２のデータ通信チャネルを介して前記アクセサリ制御部に前記カメラデータを送信し、
前記カメラ通信部は、前記アクセサリ装置に送信する前記カメラデータを格納するカメラデータバッファを有しており、
前記アクセサリ通信部は、前記撮像装置に送信する前記アクセサリデータを格納するアクセサリデータバッファを有しており、
前記カメラ制御部は、前記アクセサリ装置から受信した前記アクセサリデータにおける通信エラーを検出する機能を備え、前記アクセサリデータにおける前記通信エラーを検出した場合に、カメラ側エラー情報を前記アクセサリ制御部に送信するとともに、前記カメラデータバッファに格納された前記カメラデータを消去し、
前記アクセサリ制御部は、前記撮像装置から受信した前記カメラデータにおける通信エラーを検出する機能を備え、前記カメラデータにおける前記通信エラーを検出した場合に、アクセサリ側エラー情報を前記カメラ制御部に送信するとともに、前記アクセサリデータバッファに格納された前記アクセサリデータを消去することを特徴とする撮像システム。
【請求項１８】
撮像装置に取り外し可能に装着されるアクセサリ装置であり、前記撮像装置との間に、前記撮像装置から前記アクセサリ装置への通知に用いられる通知チャネルと、前記アクセサリ装置から前記撮像装置へのアクセサリデータの送信に用いられる第１のデータ通信チャネルと、前記撮像装置から前記アクセサリ装置へのカメラデータの送信に用いられる第２のデータ通信チャネルとから構成される３つのチャネルを設けるアクセサリ装置の制御方法であって、
前記アクセサリ装置に、
前記通知チャネルを介して前記撮像装置から前記通知としての送信要求を受けることに応じて前記第１のデータ通信チャネルを介して前記撮像装置に前記アクセサリデータを送信させるとともに、前記撮像装置が前記第２のデータ通信チャネルを介して送信した前記カメラデータを受信させ、
前記撮像装置から受信した前記カメラデータにおいて通信エラーを検出した場合に、アクセサリ側エラー情報を前記撮像装置に送信させるとともに、前記撮像装置に送信する前記アクセサリデータを格納するアクセサリデータバッファに格納された前記アクセサリデータを消去させることを特徴とする制御方法。
【請求項１９】
アクセサリ装置が取り外し可能に装着される撮像装置であり、前記アクセサリ装置との間に、前記撮像装置から前記アクセサリ装置への通知に用いられる通知チャネルと、前記アクセサリ装置から前記撮像装置へのアクセサリデータの送信に用いられる第１のデータ通信チャネルと、前記撮像装置から前記アクセサリ装置へのカメラデータの送信に用いられる第２のデータ通信チャネルとから構成される３つのチャネルを設ける撮像装置の制御方法であって、
前記撮像装置に、
前記通知チャネルを介して前記アクセサリ装置に前記通知としての送信要求を与えることで該アクセサリ装置に前記第１のデータ通信チャネルを介して前記アクセサリデータを送信させるとともに、前記第２のデータ通信チャネルを介して前記アクセサリ装置に前記カメラデータを送信させ、
前記アクセサリ装置から受信した前記アクセサリデータにおいて通信エラーを検出した場合に、カメラ側エラー情報を前記アクセサリ装置に送信させるとともに、前記アクセサリ装置に送信する前記カメラデータを格納するカメラデータバッファに格納された前記カメラデータを消去させることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，相互に通信が可能な撮像装置（以下、カメラ本体という）と交換レンズ等のアクセサリ装置に関する。
【背景技術】
【０００２】
アクセサリ装置が着脱可能なカメラ本体を含むアクセサリ交換型カメラシステムでは、カメラ本体がアクセサリ装置を制御したりアクセサリ装置がその制御や撮像に必要なデータをカメラ本体に提供したりするための通信が行われる。特に、交換レンズを用いて記録用動画やライブビュー表示用動画を撮像する際にはその撮像周期に合わせた滑らかなレンズ制御が求められるため、カメラ本体の撮像タイミングと交換レンズの制御タイミングとの同期をとる必要がある。したがって、カメラ本体は、交換レンズからのデータの受信と交換レンズへの各種命令や要求等の送信とを撮像周期内で完了させる必要がある。ただし、カメラ本体が交換レンズから受信するデータ量が増加したり撮像周期が短縮したり（高フレームレート化したり）することで、より高速で大量のデータの通信が求められる。特許文献１には、カメラ本体と交換レンズとの間でクロック同期式通信を行う場合に撮像モード（静止画撮像と動画撮像）に応じた通信処理を行うカメラシステムが開示されている。
【０００３】
高速データ通信を実現するためにはデータ信号そのものの通信レートを高速化させなければならない。ただし、通信レートの高速化により、伝送路のノイズ成分の影響が生じ易くなり、通信エラーの頻度が高まるおそれがある。このため、通信エラーが生じた場合に速やかに通信エラーから復帰できることが重要となる。上述した特許文献１には、このような通信エラーが生じた場合の対処については開示されていない。一方、特許文献２には、カメラ本体と交換レンズとの間でのシリアル通信において通信エラーが発生した際に、シリアル通信の初期化動作を行うことで通信エラーから復帰するようにしたカメラシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１３３６０号公報
【特許文献２】特開平１１−３３８０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２にて開示されたカメラシステムのように通信エラーの発生に応じて初期化動作を行う場合には、該初期化動作が完了するまでカメラ本体と交換レンズとの間の通信を再開することができない。初期化動作は、電源オン等に際してカメラ本体と交換レンズとの間で通信開始前に行われる互いの識別情報のやり取り等である。また、一般に、カメラ本体と交換レンズはそれぞれ、相手方に送信したいデータを予め送信用バッファに格納した上でそのデータが相手方に送信されるように構成されている。例えば、カメラ本体が通信エラーを検出した場合にはカメラ本体側の送信用バッファをクリアするとともに、交換レンズ側の送信バッファをクリアするための無駄な通信を行う必要がある。通信エラーの発生時にこれらの初期化動作やバッファクリアを行うと、通信エラーの発生後に速やかに撮像を再開することができない。
【０００６】
本発明は、撮像装置とアクセサリ装置との間で通信エラーが発生したときに速やかに通信および撮像を再開することができるようにしたアクセサリ装置および撮像装置等を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面としてのアクセサリ装置は、撮像装置との間に、撮像装置からアクセサリ装置への通知に用いられる通知チャネルと、アクセサリ装置から撮像装置へのアクセサリデータの送信に用いられる第１のデータ通信チャネルと、撮像装置からアクセサリ装置へのカメラデータの送信に用いられる第２のデータ通信チャネルとから構成される３つのチャネルを設けるアクセサリ通信部と、通知チャネルを介して撮像装置から通知としての送信要求を受けることに応じて第１のデータ通信チャネルを介して撮像装置にアクセサリデータを送信するとともに、撮像装置が第２のデータ通信チャネルを介して送信したカメラデータを受信するアクセサリ制御部とを有する。アクセサリ通信部は、撮像装置に送信するアクセサリデータを格納するアクセサリデータバッファを有する。アクセサリ制御部は、撮像装置から受信したカメラデータにおける通信エラーを検出する機能を備え、通信エラーを検出した場合に、アクセサリ側エラー情報を撮像装置に送信するとともに、アクセサリデータバッファに格納されたアクセサリデータを消去することを特徴とする。
【０００８】
また、本発明の他の一側面としての撮像装置は、アクセサリ装置との間に、撮像装置からアクセサリ装置への通知に用いられる通知チャネルと、アクセサリ装置から撮像装置へのアクセサリデータの送信に用いられる第１のデータ通信チャネルと、撮像装置からアクセサリ装置へのカメラデータの送信に用いられる第２のデータ通信チャネルとから構成される３つのチャネルを設けるカメラ通信部と、通知チャネルを介してアクセサリ装置に通知としての送信要求を与えることで該アクセサリ装置に第１のデータ通信チャネルを介してアクセサリデータを送信させるとともに、第２のデータ通信チャネルを介してアクセサリ装置にカメラデータを送信するカメラ制御部とを有する。カメラ通信部は、アクセサリ装置に送信するカメラデータを格納するカメラデータバッファを有する。カメラ制御部は、アクセサリ装置から受信したレンズデータにおける通信エラーを検出する機能を備え、通信エラーを検出した場合に、カメラ側エラー情報をアクセサリ装置に送信するとともに、カメラデータバッファに格納されたカメラデータを消去することを特徴とする。
【０００９】
なお、上記撮像装置と上記アクセサリ装置とを含む撮像システムも、本発明の他の一側面を構成する。
【００１０】
また、本発明の他の一側面としてのアクセサリ装置の制御方法は、アクセサリ装置に、通知チャネルを介して撮像装置から通知としての送信要求を受けることに応じて第１のデータ通信チャネルを介して撮像装置にアクセサリデータを送信させるとともに、撮像装置が第２のデータ通信チャネルを介して送信したカメラデータを受信させ、撮像装置から受信したカメラデータにおいて通信エラーを検出した場合に、アクセサリ側エラー情報を撮像装置に送信させるとともに、撮像装置に送信するアクセサリデータを格納するアクセサリデータバッファに格納されたアクセサリデータを消去させることを特徴とする。
【００１１】
さらに、本発明の他の一側面としての撮像装置の制御方法は、撮像装置に、通知チャネルを介してアクセサリ装置に通知としての送信要求を与えることで該アクセサリ装置に第１のデータ通信チャネルを介してアクセサリデータを送信させるとともに、第２のデータ通信チャネルを介してアクセサリ装置にカメラデータを送信させ、アクセサリ装置から受信したアクセサリデータにおいて通信エラーを検出した場合に、カメラ側エラー情報をアクセサリ装置に送信させるとともに、アクセサリ装置に送信するカメラデータを格納するカメラデータバッファに格納されたカメラデータを消去させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、撮像装置と撮像アクセサリ間で通信エラー情報を共有することができるとともに、通信エラーの発生後にバッファを速やかにクリアして短時間のうちに通信および撮像を再開させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１であるレンズ交換型カメラシステムの構成を示すブロック図。
【図２】実施例１におけるカメラと交換レンズとの間の通信回路を示す図。
【図３】実施例１における第１の通信設定でのカメラ／レンズデータ送受信部の構成を示すブロック図。
【図４】実施例１において第１の通信設定でカメラ本体と交換レンズとの間でやり取りされる信号の波形を示す図。
【図５】実施例１において通信エラー検出時にカメラ本体と交換レンズとの間でやり取りされる信号波形を示す図。
【図６】実施例１における通信処理を示すフローチャート。
【図７】本発明の実施例２において通信エラー検出時にカメラ本体と交換レンズとの間でやり取りされる信号波形を示す図。
【図８】実施例２における通信処理を示すフローチャート。
【図９】本発明の実施例３における通信処理を示すフローチャート。
【図１０】実施例３においてパリティエラー発生時にカメラ本体と交換レンズとの間でやり取りされる信号波形を示す図。
【図１１】実施例３においてフレーミングエラー発生時にカメラ本体と交換レンズとの間でやり取りされる信号波形を示す図。
【図１２】本発明の実施例４において第１の通信設定のうち非ＢＵＳＹ付加モードでカメラ本体と交換レンズとの間でやり取りされる信号の波形を示す図。
【図１３】実施例４におけるカメラと交換レンズとの間の通信回路を示す図。
【図１４】実施例４における第２の通信設定でのカメラ／レンズデータ送受信部の構成を示すブロック図。
【図１５】実施例４において第２の通信設定でカメラ本体と交換レンズとの間でやり取りされる信号の波形を示す図。
【図１６】実施例４において第２の通信設定でカメラ本体と交換レンズとの間でやり取りされるデータフレームの関係を示す図。
【図１７】実施例４における第１の通信設定でのエラー処理を示すフローチャート。
【図１８】実施例４における第２の通信設定でのエラー処理を示すフローチャート。
【図１９】実施例４において第２の通信設定でカメラ本体と交換レンズとの間で行われる通信の問題点を示すタイミングチャート。
【図２０】実施例４における第２の通信設定でのエラー処理を示すフローチャート。
【図２１】実施例４における第２の通信設定での通信エラー発生時のデータファーマット（パリティビット付加）を示す図。
【図２２】実施例４における第２の通信設定での通信エラー発生時のデータファーマット（離散的パリティビット付加）を示す図。
【図２３】本発明の実施例５における第２の通信設定でのエラー処理を示すフローチャート。
【図２４】実施例５における第２の通信設定での通信エラー発生時のデータファーマット（バースト長変更）を示す図。
【図２５】本発明の実施例６においてカメラ本体と交換レンズとの間でやり取りされる信号の波形を示す図。
【図２６】実施例６における通信処理を示すフローチャート。
【図２７】本発明の実施例７における通信処理を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１５】
図１には、本発明の実施例１である撮像装置としてのカメラ本体２００とこれに取り外し可能に装着されたアクセサリ装置としての交換レンズ１００とを含む撮像システム（以下、カメラシステムという）の構成を示している。
【００１６】
カメラ本体２００と交換レンズ１００は、それぞれが有する後述する通信部を介して制御命令や内部情報の伝送を行う。それぞれの通信部はともに複数の通信形式をサポートしており、通信するデータの種類や通信目的に応じて互いに同期して同一の通信フォーマットに切り替えることにより、様々な状況に対する最適な通信フォーマットを選択することが可能となっている。
【００１７】
まず、交換レンズ１００とカメラ本体２００の具体的な構成について説明する。交換レンズ１００とカメラ本体２００は、結合機構であるマウント３００を介して機械的および電気的に接続されている。交換レンズ１００は、マウント３００に設けられた電源端子部（図示せず）を介してカメラ本体２００から電源の供給を受け、後述する各種アクチュエータやレンズマイクロコンピュータ（以下、レンズマイコンという）１１１を動作させる。また、交換レンズ１００とカメラ本体２００は、マウント３００に設けられた通信端子部（図２に示す）を介して相互に通信を行う。
【００１８】
交換レンズ１００は、撮像光学系を有する。撮像光学系は、被写体ＯＢＪ側から順に、フィールドレンズ１０１と、変倍を行う変倍レンズ１０２と、光量を調節する絞りユニット１１４と、像振れ補正レンズ１０３と、焦点調節を行うフォーカスレンズ１０４とを含む。
【００１９】
変倍レンズ１０２とフォーカスレンズ１０４はそれぞれ、レンズ保持枠１０５，１０６により保持されている。レンズ保持枠１０５，１０６は、不図示のガイド軸により図中に破線で示した光軸方向に移動可能にガイドされており、それぞれステッピングモータ１０７，１０８によって光軸方向に駆動される。ステッピングモータ１０７，１０８はそれぞれ、駆動パルスに同期して変倍レンズ１０２およびフォーカスレンズ１０４を移動させる。
【００２０】
像振れ補正レンズ１０３は、撮像光学系の光軸に直交する方向に移動することで、手振れ等に起因する像振れを低減する。
【００２１】
レンズマイコン１１１は、交換レンズ１００内の各部の動作を制御するアクセサリ制御部である。レンズマイコン１１１は、アクセサリ通信部としてのレンズデータ送受信部１１２ｂを介して、カメラ本体２００から送信された制御コマンドを受信し、レンズデータ（アクセサリデータ）の送信要求を受ける。また、レンズマイコン１１１は、制御コマンドに対応するレンズ制御を行い、レンズデータ送受信部１１２ｂを介して送信要求に対応するレンズデータをカメラ本体２００に送信する。レンズマイコン１１１は、コンピュータプログラムとしての通信制御プログラムに従ってカメラ本体２００（後述するカメラマイクロコンピュータ２０５）との通信に関する動作を行う。
【００２２】
本実施例では、レンズマイコン１１１とカメラマイクロコンピュータ（以下、カメラマイコンという）２０５との間の通信方式として調歩同期式通信を採用している。レンズマイコン１１１とカメラマイコン２０５は、通信の異常（通信エラー）が生じたことを示すエラー情報を共有することができる。
【００２３】
また、レンズマイコン１１１は、制御コマンドのうち変倍やフォーカシングに関するコマンドに応答してズーム駆動回路１１９およびフォーカス駆動回路１２０に駆動信号を出力してステッピングモータ１０７，１０８を駆動させる。これにより、変倍レンズ１０２による変倍動作を制御するズーム処理やフォーカスレンズ１０４による焦点調節動作を制御するＡＦ（オートフォーカス）処理が行われる。
【００２４】
交換レンズ１００は、ユーザにより回転操作可能なマニュアルフォーカスリング１３０と、該マニュアルフォーカスリング１３０の回転操作量を検出するフォーカスエンコーダ１３１とを有する。レンズマイコン１１１は、フォーカスエンコーダ１３１により検出されたマニュアルフォーカスリング１３０の回転操作量に応じてフォーカス駆動回路１２０にステッピングモータ１０８を駆動させてフォーカスレンズ１０４を移動させる。これにより、ＭＦ（マニュアルフォーカス）が行われる。
【００２５】
絞りユニット１１４は、絞り羽根１１４ａ，１１４ｂを備えて構成される。絞り羽根１１４ａ，１１４ｂの状態は、ホール素子１１５により検出され、増幅回路１２２およびＡ／Ｄ変換回路１２３を介してレンズマイコン１１１に入力される。レンズマイコン１１１は、Ａ／Ｄ変換回路１２３からの入力信号に基づいて絞り駆動回路１２１に駆動信号を出力して絞りアクチュエータ１１３を駆動させる。これにより、絞りユニット１１４による光量調節動作を制御する。
【００２６】
さらに、レンズマイコン１１１は、交換レンズ１００内に設けられた振動ジャイロ等の不図示の振れセンサにより検出された振れに応じて、防振駆動回路１２５を介して防振アクチュエータ１２６を駆動する。これにより、像振れ補正レンズ１０３の移動を制御する防振処理が行われる。
【００２７】
カメラ本体２００は、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子２０１と、Ａ／Ｄ変換回路２０２と、信号処理回路２０３と、記録部２０４と、カメラマイクロコンピュータ（以下、カメラマイコンという）２０５と、表示部２０６とを有する。
【００２８】
撮像素子２０１は、交換レンズ１００内の撮像光学系により形成された被写体像を光電変換して電気信号（アナログ信号）を出力する。Ａ／Ｄ変換回路２０２は、撮像素子２０１からのアナログ信号をデジタル信号に変換する。信号処理回路２０３は、Ａ／Ｄ変換回路２０２からのデジタル信号に対して各種画像処理を行って映像信号を生成する。信号処理回路２０３は、映像信号から被写体像のコントラスト状態、つまり撮像光学系の焦点状態を示すフォーカス情報や露出状態を表す輝度情報も生成する。信号処理回路２０３は、映像信号を表示部２０６に出力し、表示部２０６は映像信号を構図やピント状態等の確認に用いられるライブビュー画像として表示する。また、信号処理回路２０３は、映像信号を記録部２０４に出力し、記録部２０４は映像信号を記録する。
【００２９】
メモリ（記憶部）２１０は、ＤＤＲ（Double Data Rate SDRAM）等により構成される。メモリ２１０は、撮像素子２０１により得られたデジタル撮像信号または画像処理回路２０３により生成された映像信号を格納したり、レンズマイコン１１１から受信したレンズデータを格納したりする。
【００３０】
カメラ制御部としてのカメラマイコン２０５は、不図示の撮像指示スイッチおよび各種設定スイッチ等を含むカメラ操作部２０７からの入力に応じてカメラ本体２００の制御を行う。また、カメラマイコン２０５は、カメラデータ送受信部２０８ｂを介して、不図示のズームスイッチの操作に応じてズームレンズ１０２の変倍動作に関する制御コマンドをレンズマイコン１１１に送信する。さらに、カメラマイコン２０５は、カメラデータ送受信部２０８ｂを介して、輝度情報に応じた絞りユニット１１４の光量調節動作やフォーカス情報に応じたフォーカスレンズ１０４の焦点調節動作に関する制御コマンドをレンズマイコン１１１に送信する。カメラマイコン２０５は、コンピュータプログラムとしての通信制御プログラムに従ってレンズマイコン１１１との通信に関する動作を行う。
【００３１】
次に、図２を用いてカメラマイコン２０５とレンズマイコン１１１との間で構成される通信回路とこれらの間で行われる通信について説明する。カメラマイコン２０５は、レンズマイコン１１１との間での通信方式や通信設定を管理する機能と、レンズマイコン１１１に対して送信要求等の通知を行う機能とを有する。また、レンズマイコン１１１は、レンズデータを生成する機能と該レンズデータを送信する機能とを有する。
【００３２】
カメラマイコン２０５はカメラ通信インタフェース回路２０８ａを有し、レンズマイコン１１１はレンズ通信インタフェース回路１１２ａを有する。カメラマイコン２０５（カメラデータ送受信部２０８ｂ）とレンズマイコン１１１（レンズデータ送受信部１１２ｂ）は、マウント３００に設けられた通信端子部（図中に３つの四角形で示す）と上記通信インタフェース回路２０８ａ，１１２ａを介して通信を行う。本実施例では、カメラマイコン２０５とレンズマイコン１１１は、３つのチャネルを用いた（３線式の）調歩同期式シリアル通信を行う。カメラ通信インタフェース回路２０８ａとカメラデータ送受信部２０８ｂとによりカメラ通信部２０８が構成され、レンズ通信インタフェース回路１１２ａとレンズデータ送受信部１１２ｂとによりアクセサリ通信部としてのレンズ通信部１１２が構成される。
【００３３】
上記３つのチャネルは、通知チャネルとしての送信要求チャネルと、第１のデータ通信チャネルと、第２のデータ通信チャネルとから構成される。送信要求チャネルは、カメラマイコン２０５からレンズマイコン１１１へのレンズデータの送信要求（送信指示）や後述する通信設定の切替え要求（切替え指示）等の通知に用いられる。送信要求チャネルでの通知は該送信要求チャネルでの信号のレベル（電圧レベル）をＨｉｇｈ（第１のレベル）とＬｏｗ（第２のレベル）との間で切り替えることで行う。以下の説明では、送信要求チャネルに供給される信号を送信要求信号ＲＴＳという。
【００３４】
第１のデータ通信チャネルは、レンズマイコン１１１からカメラマイコン２０５へのレンズデータ送信に用いられる。以下の説明では、第１のデータ通信チャネルでレンズマイコン１１１からカメラマイコン２０５に信号として送信されるレンズデータ（アクセサリデータ）を、レンズデータ信号ＤＬＣという。第２のデータ通信チャネルは、カメラマイコン２０５からレンズマイコン１１１へのカメラデータ送信に用いられる。以下の説明では、第２のデータ通信チャネルでカメラマイコン２０５からレンズマイコン１１１に信号として送信されるカメラデータを、カメラデータ信号ＤＣＬという。
【００３５】
送信要求信号ＲＴＳは、通信マスタとしてのカメラマイコン２０５から通信スレーブとしてのレンズマイコン１１１に送られる。カメラデータ信号ＤＣＬは、カメラマイコン２０５からレンズマイコン１１１への制御コマンドや送信要求コマンド等を含む。レンズデータ信号ＤＬＣは、レンズマイコン１１１からカメラマイコン２０５に送信される様々なデータを含む。カメラマイコン２０５とレンズマイコン１１１は、予め通信速度を設定し、この設定に沿った通信ビットレートで送受信を行う。通信ビットレートとは、１秒間に転送することができるデータ量を示し、単位はｂｐｓ（bits per second）で表される。カメラマイコン２０５とレンズマイコン１１１は、相互に送受信を行う全二重通信方式（フルデュープレックス方式）で通信する。
【００３６】
なお、３つのチャネルを用いた調歩同期式シリアル通信に代えて、３つのチャネルを用いたクロック同期式シリアル通信を行ってもよい。また、レンズマイコン１１１からカメラマイコン２０５に送信されるデータ量が多い場合に、クロック同期式シリアル通信から調歩同期式シリアル通信に切り替えるようにしてもよい。この場合、通知チャネルを、カメラマイコン２０５からレンズマイコン１１１に対してクロック信号を供給するクロックラインとして用いることができる。これにより、新たなチャネルを追加することなく、調歩同期式シリアル通信とクロック同期式シリアル通信という２つの通信方式を切り替えて用いることができる。クロック同期式シリアル通信においては、エラー情報を通信コマンドにより共有してもよい。 
【００３７】
カメラマイコン２０５は、カメラエラー検出部２０５１、カメラ通信制御部２０５２および信号反転部２１３を有する。カメラエラー検出部２０５１は、レンズマイコン１１１から受信したレンズデータ信号ＤＬＣにおける通信エラーの有無を検出する機能を有する。カメラエラー検出部２０５１で検出する通信エラーは、パリティエラーおよびフレーミングエラーのうち少なくとも一方である。カメラエラー検出部２０５１は、カメラマイコン２０５と別のハードウェアとして構成されていてもよいが、この場合もカメラエラー検出部２０５１を含めてカメラ制御部が構成される。
【００３８】
信号反転部２１３は、カメラエラー検出部２０５１が通信エラーを検出した場合に、後述する送信データ用パラレル−シリアル変換部３０５から出力されるカメラデータ信号ＤＣＬの一部（特定ビット）を反転させる。カメラ通信制御部２０５２は、カメラデータ送受信部２０８ｂ、カメラエラー検出部２０５１および信号反転部２１３を制御する。
【００３９】
カメラ本体２００内に設けられたクロック生成部２１２は、水晶発振器等により構成され、所定の周波数（周期）のクロック信号を出力する。クロック生成部２１２が生成するクロック信号は、カメラ本体２００内に設けられたボーレート生成部２１１で生成されるボーレートの周波数より高い周波数を有する。ボーレート生成部２１１は、分周比が可変である分周器を有し、クロック生成部２１２から出力されたクロック信号をカメラマイコン２０５からのボーレートジェネレータ設定値に応じた分周比で分周することによりボーレートを生成する。交換レンズ１００内にも、クロック生成部２１２およびボーレート生成部２１１と同様の機能を有するクロック生成部１４１およびボーレート生成部１４０が設けられている。
【００４０】
一方、レンズマイコン１１１は、レンズエラー検出部１０９１、レンズ通信制御部１０９２および信号反転部１４２を有する。レンズエラー検出部１０９１は、カメラマイコン２０５から受信したカメラデータ信号ＤＣＬにおける通信エラーの有無を検出する機能を有する。レンズエラー検出部１０９１で検出する通信エラーも、パリティエラーおよびフレーミングエラーのうち少なくとも一方である。レンズエラー検出部１０９１は、レンズマイコン１１１と別のハードウェアとして構成されていてもよいが、この場合もレンズエラー検出部１０９１を含めてアクセサリ制御部（レンズ制御部）が構成される。
【００４１】
信号反転部１４２は、レンズエラー検出部１０９１が通信エラーを検出した場合に、後述する送信データ用パラレル−シリアル変換部３１５から出力されるレンズデータ信号ＤＬＣの一部（特定ビット）を反転させる。レンズ通信制御部１０９２は、レンズデータ送受信部１１２ｂ、レンズエラー検出部１０９１および信号反転部１４２を制御する。
【００４２】
次に、図３および図４を用いて、カメラマイコン２０５とレンズマイコン１１１との間での通信設定である第１の通信設定について説明する。図３には、カメラマイコン２０５内のカメラデータ送受信部２０８ｂおよびレンズマイコン１１１内のレンズデータ送受信部１１２ｂの構成を示す。２０５ａはカメラマイコン２０５の本体としてのＣＰＵである。３０１はＲＴＳ制御部であり、３０２はＲＡＭ等により構成された送信データ用バッファ（カメラデータバッファ）である。３０３はＲＡＭ等で構成された受信データ用バッファであり、３０４は上記バッファ３０２，３０３へのデータ格納とデータ読み出しを制御するバッファ制御部である。
【００４３】
また、図３には、カメラ本体２００におけるカメラマイコン２０５内のカメラデータ送受信２０８ｂの構成を示す。２０５ａはカメラマイコン２０５の本体としてのＣＰＵである。３０１はＲＴＳ制御部であり、３０２はＲＡＭ等により構成された送信データ用バッファである。３０３はＲＡＭ等で構成された受信データ用バッファであり、３０４は上記バッファ３０２，３０３へのデータ格納とデータ読み出しを制御するバッファ制御部である。
【００４４】
一方、レンズマイコン１１１内において、１１１ａはレンズマイコン１１１の本体としてのＣＰＵである。３１６はＲＴＳ検出部であり、３１１はＲＡＭ等により構成された受信データ用バッファである。３１２はＲＡＭ等で構成された送信データ用バッファ（アクセサリデータバッファ）であり、３１３は上記バッファ３１１，３１２へのデータ格納とデータ読み出しを制御するバッファ制御部である。
【００４５】
カメラマイコン２０５からレンズマイコン１１１に送信されるカメラデータ信号ＤＣＬは送信データ用バッファ３０２に格納される。例えば、１２８バイトのカメラデータ信号ＤＣＬを送信する場合には、送信データ用バッファ３０２にこの１２８バイトのカメラデータ信号ＤＣＬを格納してから送信が開始される。バッファ制御部３０４は、送信データ用バッファ３０２から送信するカメラデータ信号ＤＣＬを１フレーム毎に読み出す。そして、読み出された１フレーム毎のカメラデータ信号ＤＣＬは、パラレル−シリアル変換部３０５にてパラレルデータ信号からシリアルデータ信号に変換され、第２のデータ通信チャネルでレンズマイコン１１１に送信される。
【００４６】
カメラマイコン２０５から送信されたカメラデータ信号ＤＣＬは、レンズマイコン１１１内のシリアル−パラレル変換部３１４にてシリアルデータ信号からパラレルデータ信号に変換される。バッファ制御部３１３は、パラレルデータ信号に変換されたカメラデータ信号ＤＣＬを受信データ用バッファ３１１に格納する。
【００４７】
レンズマイコン１１１からカメラマイコン２０５に送信されるレンズデータ信号ＤＬＣは送信データ用バッファ３１２に格納される。例えば、１２８バイトのレンズデータ信号ＤＬＣを送信する場合には、送信データ用バッファ３１２にこの１２８バイトのレンズデータ信号ＤＬＣを格納してから送信が開始される。バッファ制御部３１３は、送信データ用バッファ３１２から送信するレンズデータ信号ＤＬＣを１フレーム毎に読み出す。そして、読み出された１フレーム毎のレンズデータ信号ＤＬＣは、パラレル−シリアル変換部３１５にてパラレルデータ信号からシリアルデータ信号に変換され、第１のデータ通信チャネルでカメラマイコン２０５に送信される。
【００４８】
レンズマイコン１１１から送信されたレンズデータ信号ＤＬＣは、カメラマイコン２０５内のシリアル−パラレル変換部３０６にてシリアルデータ信号からパラレルデータ信号に変換される。バッファ制御部３０４は、パラレルデータ信号に変換されたレンズデータ信号ＤＬＣを受信データ用バッファ３０３に格納する。受信データ用バッファ３０３に格納されたレンズデータ信号ＤＬＣは、ＤＭＡ制御部３０７により受信データ用バッファ３０３から読み出され、該読み出されたデータはメモリ２１０に転送されて格納される。
【００４９】
このように、本実施例では、カメラマイコン２０５とレンズマイコン１１１の双方に送信データ用バッファ３０２，３１２が存在する。このため、通信エラーが発生した場合に速やかに正常な通信状態に復帰するためには、これらの送信データ用バッファ３０２，３１２をクリア（消去）する必要がある。エラー情報の共有方法については後で詳しく説明する。
【００５０】
この第１の通信設定には、さらに以下に説明するように、ＢＵＳＹフレームが付加される通信設定（以下、ＢＵＳＹ付加モードという）とＢＵＳＹフレームが付加されない通信設定（以下、非ＢＵＳＹ付加モードという）とが設けられている。図４（Ａ）〜（Ｃ）には、第１の通信設定においてカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。このやり取りの手順を取り決めたものを通信プロトコルと呼ぶ。
【００５１】
図４（Ａ）は最小通信単位である１フレームの信号波形を示している。１フレームのデータフォーマットの内訳は、レンズデータ信号ＤＬＣとカメラデータ信号ＤＣＬとでは一部異なる部分がある。
【００５２】
まずレンズデータ信号ＤＬＣのデータフォーマットについて説明する。１フレームのレンズデータ信号ＤＬＣは、大きな区分けとして、前半のデータフレームとこれに続くＢＵＳＹフレームとにより構成されている。データフレームは、開始フィールドと、データフィールドと、終了フィールドとにより構成されている。レンズデータ信号ＤＬＣは、データ送信を行っていない非送信状態では信号レベルはＨｉｇｈに維持されている。
【００５３】
レンズマイコン１１１は、レンズデータ信号ＤＬＣの１フレームの送信開始をカメラマイコン２０５に通知するため、レンズデータ信号ＤＬＣの信号レベルを１ビット期間の間Ｌｏｗとする。この１フレームの送信開始をカメラマイコン２０５に通知する期間が開始フィールドであり、本実施例では開始フィールドとしての１ビット期間をスタートビットＳＴと呼ぶ。すなわち、このスタートビットＳＴからデータフレームが開始される。スタートビットＳＴは、レンズデータ信号ＤＬＣの１フレームごとにその先頭ビットに設けられている。ただし、開始フィールドは先頭ビットに限られず、任意のビットで構成されてもよい。
【００５４】
続いて、レンズマイコン１１１は、次の２ビット目から９ビット目までの８ビット期間で１バイトのレンズデータを送信する。データのビット配列はＭＳＢファーストフォーマットとして、最上位のデータＤ７から始まり、順にデータＤ６、データＤ５と続き、最下位のデータＤ０で終わる。この８ビット期間がデータフィールドである。そして、レンズマイコン１１１は、１０ビット目に１ビットのパリティ情報（パリティビット）ＰＡを付加し、１フレームの最後を示すストップビットＳＰの期間のレンズデータ信号ＤＬＣの信号レベルをＨｉｇｈとする。これにより、スタートビットＳＴから開始されたデータフレーム期間が終了する。
【００５５】
パリティビットＰＡは、データＤ０〜Ｄ７に対する偶奇性（パリティ）を示すビットである。奇数パリティと偶数パリティのうちどちらを用いるかは、カメラマイコン２０５とレンズマイコン１１１とが予め選択する。通信エラーの考慮が不要である場合は、パリティビットＰＡを設けなくてもよい。ストップビットＳＰは、１フレームの通信終了を宣言するビットである。本実施例ではストップビットＳＰを１ビットで構成しているが、２ビット以上の複数ビットで構成してもよい。
【００５６】
次に、図中の「ＤＬＣ（ＢＵＳＹ有）」に示すように、レンズマイコン１１１は、ストップビットＳＰの後にＢＵＳＹフレームを付加する。ＢＵＳＹフレームは、レンズマイコン１１１からカメラマイコン２０５に通知する通信待機要求ＢＵＳＹの期間を表す。レンズマイコン１１１は、通信待機要求ＢＵＳＹを解除するまでレンズデータ信号ＤＬＣの信号レベルをＬｏｗに保持する。パリティビットＰＡ、ストップビットＳＰおよびＢＵＳＹフレームを合わせた期間が終了フィールドである。
【００５７】
一方、レンズマイコン１１１からカメラマイコン２０５への通信待機要求ＢＵＳＹの通知が不要な場合がある。この場合のために、図中の「ＤＬＣ（ＢＵＳＹ無）」に示すように、ＢＵＳＹフレーム（以下、ＢＵＳＹ通知ともいう）を付加せずに１フレームを構成するデータフォーマットも設けられている。つまり、レンズデータ信号ＤＬＣのデータフォーマットとしては、レンズマイコン側の処理状況に応じてＢＵＳＹ通知を付加したものと付加しないものとを選択することができる。
【００５８】
カメラマイコン２０５が行うＢＵＳＹ通知の有無の識別方法について説明する。図４（Ａ）中の「ＤＬＣ（ＢＵＳＹ無）」に示す信号波形および図４（Ａ）中の「ＤＬＣ（ＢＵＳＹ有）」に示す信号波形には、Ｂ１とＢ２というビット位置が含まれている。カメラマイコン２０５は、これらＢ１とＢ２のいずれかのビット位置をＢＵＳＹ通知の有無を識別するＢＵＳＹ識別位置Ｐとして選択する。このように本実施例では、ＢＵＳＹ識別位置ＰをＢ１とＢ２のビット位置から選択するデータフォーマットを採用する。これにより、レンズマイコン１１１の処理性能によってレンズデータ信号ＤＬＣのデータフレーム送信後にＢＵＳＹ通知（ＤＬＣのＬｏｗ）が確定するまでの処理時間が異なる課題に対処することができる。
【００５９】
ＢＵＳＹ識別位置ＰをＢ１のビット位置とするかＢ２のビット位置とするかは、通信を行う前にカメラマイコン２０５とレンズマイコン１１１との間で通信により決定する。なお、ＢＵＳＹ識別位置ＰをＢ１とＢ２のビット位置のいずれかに固定する必要はなく、両マイコン２０５，１１１の処理能力に応じて変更してもよい。
【００６０】
図４（Ｂ）は、図４（Ａ）の「ＤＬＣ（ＢＵＳＹ有）」に示すＢＵＳＹ付加モードで連続的に通信を行う場合の信号波形を示している。レンズマイコン１１１からの通信待機要求ＢＵＳＹ（ＢＵＳＹフレーム）は、第１のデータ通信チャネルでレンズデータ信号ＤＬＣを用いて通知され、通信待機要求ＢＵＳＹが解除された後に次の通信が開始される。図４（Ｂ）に示したＣＭＤ１は、カメラマイコン２０５からレンズマイコン１１１にカメラデータ信号ＤＣＬとして送信される送信要求コマンドを示す。レンズマイコン１１１は、この送信要求コマンドＣＭＤ１を受信することに応じて、該送信要求コマンドＣＭＤ１に対応する２バイトのレンズデータ信号ＤＴ１（ＤＴ１ａ，ＤＴ１ｂ）をカメラマイコン２０５に送信する。
【００６１】
また、図４（Ｃ）は、ＢＵＳＹ付加モードと非ＢＵＳＹ付加モードとを切り替えて通信を行う場合の信号波形を示している。図４（Ｃ）の例では、最初にＢＵＳＹ付加モードで通信を行い、その後に非ＢＵＳＹ付加モードで通信を行う。ＣＭＤ２は、カメラマイコン２０５からレンズマイコン１１１にカメラデータ信号ＤＣＬとして送信される制御コマンドと送信要求コマンドを示す。なお、図では制御コマンドと送信要求コマンドを１フレームで送信する場合を示しているが、制御コマンドと送信要求コマンドを別々のフレームで送信してもよい。レンズマイコン１１１は、コマンドＣＭＤ２のうち制御コマンドを受信することに応じて通信設定（通信モード）をＢＵＳＹ付加モードからＢＵＳＹフレームが付加されない方式に切り替える。そして、レンズマイコン１１１は、コマンドＣＭＤ２のうち送信要求コマンドを受信することに応じて、該送信要求コマンドに対応する３バイトのレンズデータ信号ＤＴ２（ＤＴ２ａ〜ＤＴ２ｃ）をカメラマイコン２０５に送信する。
【００６２】
次に、カメラデータ信号ＤＣＬのデータフォーマットについて説明する。１フレームのデータフレームの仕様はレンズデータ信号ＤＬＣと共通である。ただし、カメラデータ信号ＤＣＬは、レンズデータ信号ＤＬＣとは異なり、ＢＵＳＹフレームの付加が禁止されている。
【００６３】
次に、カメラマイコン２０５とレンズマイコン１１１との間での第１の通信設定での通信の手順について説明する。まず、ＢＵＳＹ付加モードでの通信の手順について説明する。
【００６４】
カメラマイコン２０５は、レンズマイコン１１１との通信を開始するイベントが発生すると、送信要求信号ＲＴＳのレベルをＬｏｗにする（以下、送信要求信号ＲＴＳをアサートするという）ことで、レンズマイコン１１１に対して送信要求を通知する。レンズマイコン１１１は、送信要求信号ＲＴＳのＬｏｗにより送信要求を検出すると、カメラマイコン２０５に送信するレンズデータ信号ＤＬＣの生成処理を行う。そして、該レンズデータ信号ＤＬＣの送信準備が整うと、第１のデータ通信チャネルでの１フレームのレンズデータ信号ＤＬＣの送信を開始する。ここで、レンズマイコン１１１は、送信要求信号ＲＴＳがＬｏｗとなった時点からカメラマイコン２０５とレンズマイコン１１１との間で相互に設定した設定時間内にレンズデータ信号ＤＬＣの送信を開始する。すなわち、送信要求信号ＲＴＳがＬｏｗとなった時点からレンズデータ信号ＤＬＣの送信開始までの間に、最初のクロックパルスが入力される時点までに送信するレンズデータを確定させておく必要があるといった厳しい制約はない。
【００６５】
次にカメラマイコン２０５は、レンズマイコン１１１から受信したレンズデータ信号ＤＬＣのデータフレームの先頭ビットであるスタートビットＳＴの検出に応じて、送信要求信号ＲＴＳのレベルをＨｉｇｈに戻す（以下、送信要求信号ＲＴＳをネゲートするという）。これにより、送信要求を解除するとともに第２のデータ通信チャネルでのカメラデータ信号ＤＣＬの送信を開始する。なお、送信要求信号ＲＴＳのネゲートとカメラデータ信号ＤＣＬの送信開始はどちらが先であってもよく、レンズデータ信号ＤＬＣのデータフレームの受信が完了するまでにこれらを行えばよい。
【００６６】
レンズデータ信号ＤＬＣのデータフレームを送信したレンズマイコン１１１は、カメラマイコン２０５に通信待機要求ＢＵＳＹを通知する必要がある場合に、レンズデータ信号ＤＬＣにＢＵＳＹフレームを付加する。カメラマイコン２０５は、通信待機要求ＢＵＳＹの通知の有無を監視しており、通信待機要求ＢＵＳＹが通知されている間は次の送信要求のために送信要求信号ＲＴＳをアサートすることが禁止される。レンズマイコン１１１は、通信待機要求ＢＵＳＹによりカメラマイコン２０５からの通信を待機させている期間に必要な処理を実行し、次の通信準備が整った後に通信待機要求ＢＵＳＹを解除する。カメラマイコン２０５は、通信待機要求ＢＵＳＹが解除され、かつカメラデータ信号ＤＣＬのデータフレームの送信が完了したことを条件に、次の送信要求のために送信要求信号ＲＴＳをアサートすることが許可される。
【００６７】
このように、本実施例では、カメラマイコン２０５での通信開始イベントがトリガとなって送信要求信号ＲＴＳがアサートされたことに応じて、レンズマイコン１１１がカメラマイコン２０５にレンズデータ信号ＤＬＣのデータフレームの送信を開始する。そして、カメラマイコン２０５は、レンズデータ信号ＤＬＣのスタートビットＳＴを検出することに応じて、カメラデータ信号ＤＣＬのデータフレームのレンズマイコン１１１への送信を開始する。ここでレンズマイコン１１１は、必要に応じて通信待機要求ＢＵＳＹのためにレンズデータ信号ＤＬＣのデータフレームの後にＢＵＳＹフレームを付加し、その後、通信待機要求ＢＵＳＹを解除することで１フレームの通信処理が完了する。この通信処理により、カメラマイコン２０５とレンズマイコン１１１との間で相互に１バイトのデータが送受信される。
【００６８】
次に、非ＢＵＳＹ付加モードでの通信の手順について説明する。非ＢＵＳＹ付加モードは、ＢＵＳＹ付加モードに比べて、ＢＵＳＹフレームが付加されない分、より高速なデータ通信が可能である。非ＢＵＳＹ付加モードでは、レンズデータ信号ＤＬＣのデータフォーマットは、１フレームがデータフレームのみで構成され、ＢＵＳＹフレームは存在しない。このため、非ＢＵＳＹ付加モードでは、レンズマイコン１１１からカメラマイコン２０５への通信待機要求ＢＵＳＹを通知することができない。このようなデータフォーマットは、比較的大きな容量のデータをカメラマイコン２０５とレンズマイコン１１１との間で転送する際に、フレーム間の間隔を短くした連続通信（バースト通信）を行う用途に用いられる。すなわち、非ＢＵＳＹ付加モードにより、大容量データの高速通信が可能となる。
【００６９】
次に、図５を用いて、第１の通信設定において通信エラーが発生したときの処理について説明する。図５（Ａ）は、カメラマイコン２０５（カメラエラー検出部２０５１）が通信エラーを検出したときにカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。５０１〜５１３はカメラマイコン２０５およびレンズマイコン１１１が行う処理を示している。
【００７０】
カメラマイコン２０５が送信要求信号ＲＴＳをアサートすると（５０１）、レンズマイコン１１１は、１フレームのレンズデータ信号ＤＬＣをカメラ２００に送信する（５０２）。これに応じてカメラマイコン２０５は１フレームのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する（５０３）。カメラマイコン２０５のカメラエラー検出部２０５１が通信エラーを検出するのは（５０４）、パリティビットまたはストップビットの反転を検出したときであり、カメラマイコン２０５はこれをパリティエラーまたはフレーミングエラーとして認識する。
【００７１】
カメラマイコン２０５は、カメラエラー検出部２０５１による通信エラーの検出（つまりはエラー情報）をレンズマイコン１１１と共有するために、次のフレームで以下のような通信処理を行う。カメラマイコン２０５は、送信要求信号ＲＴＳを再度アサートし（５０５）、レンズマイコン１１１からレンズデータ信号ＤＬＣを受信する（５０６）。この後、カメラマイコン２０５は、通信エラーの検出をレンズマイコン１１１と共有するためにカメラ側エラー情報（以下、単にエラー情報という）を生成する（５０７）。エラー情報の生成方法として、本実施例では、カメラマイコン２０５（信号反転部２１３）は、カメラデータ信号ＤＣＬの特定ビットであるパリティビットＰＡ（０または１）を反転する。ただし、別の特定ビットとしてのストップビットＳＴを反転させてもよい。
【００７２】
このようにしてエラー情報として生成されたカメラデータ信号ＤＣＬ（以下、カメラエラー通知フレームという）がレンズマイコン１１１に送信される。ただし、初めてこのカメラエラー通知フレームを受信したレンズマイコン１１１はカメラマイコン２０５が通信エラーを認識しているか否かを判断することができない。
【００７３】
そこで、以下の通信処理を行うことでカメラマイコン２０５とレンズマイコン１１１との間で通信エラーの検出を共有する。また、レンズマイコン１１１は、この後にカメラマイコン２０５に送信予定であったレンズデータ信号ＤＬＣを破棄するため、レンズデータ送受信部１１２ｂ内の送信データ用バッファ３１２をクリアする（５０８）。カメラマイコン２０５は、カメラエラー通知フレームの次のフレームにおいて、送信要求信号ＲＴＳをアサートする（５０９）。これに応じてレンズマイコン１１１は、カメラマイコン２０５にレンズデータ信号ＤＬＣを送信する（５１０）。この際レンズマイコン１１１（信号反転部１４２）は、先にカメラエラー通知フレームを受信したことに応じて、レンズデータ信号ＤＬＣの特定ビットであるパリティビットＰＡを反転させることでアクセサリ側エラー情報（以下、単にエラー情報という）を生成する。そして、このエラー情報として生成されたレンズデータ信号ＤＬＣをカメラマイコン２０５に送信する（５１１）。この結果、カメラマイコン２０５は、レンズマイコン１１１からのエラー情報を受信する（５１２）。
【００７４】
以上のエラー情報のやり取りを経ることで、カメラマイコン２０５とレンズマイコン１１１の双方が通信エラーの検出を共有する。この後、カメラマイコン２０５は、カメラデータ送受信部２０８ｂ内の送信データ用バッファ３０２をクリアして次に送信予定であったカメラデータ信号ＤＣＬを破棄する（５１３）。
【００７５】
図５（Ｂ）には、レンズマイコン１１１（レンズエラー検出部１０９１）が通信エラーを検出したときにカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。５２０〜５３４はカメラマイコン２０５およびレンズマイコン１１１が行う処理を示している。
【００７６】
カメラマイコン２０５が送信要求信号ＲＴＳ信号をアサートすると（５２０）、レンズマイコン１１１はカメラマイコン２０５にレンズデータ信号ＤＬＣを送信する（５２１）。これに応じてカメラマイコン２０５は、レンズマイコン１１１にカメラデータ信号ＤＣＬを送信する（５２２）。レンズマイコン１１１のエラー検出部１０９１が通信エラーを検出するのは（５２３）、パリティビットまたはストップビットの反転を検出したときであり、レンズマイコン１１１はこれをパリティエラーまたはフレーミングエラーとして認識する。
【００７７】
レンズマイコン１１１は、この検出された通信エラーが、カメラマイコン２０５によりエラー情報を共有するために生成されたエラー情報によるものなのか、実際にカメラデータ信号ＤＣＬに生じた異常によるものなのかを判断することができない。しかし、レンズマイコン１１１は、いずれにせよこの後に通信エラーの検出をカメラマイコン２０５と共有する処理に移行する。このため、レンズマイコン１１１は、レンズデータ送受信部１１２ｂ内の送信用データ用バッファ３１２をクリアして次に送信予定であったレンズデータ信号ＤＬＣを破棄する（５２５）。
次に、レンズマイコン１１１は、通信エラーの検出をカメラマイコン２０５と共有するために、次のフレームで以下のような通信処理を行う。カメラマイコン２０５が送信要求信号ＲＴＳをアサートすると（５２６）、レンズマイコン１１１はカメラマイコン２０５にレンズデータ信号ＤＬＣを送信する。このときレンズデータ送受信部１１２ｂの送信データ用バッファ３１２はすでにクリアされているため、レンズマイコン１１１はレンズデータ信号ＤＬＣとして、例えば「００Ｈ」をカメラマイコン２０５に送信する（５２７）。そして、レンズマイコン１１１は、エラー情報を生成する（５２８）。具体的には、レンズデータ信号ＤＬＣのパリティビットＰＡ（０または１）を反転する。ただし、別の特定ビットとしてのストップビットＳＴを反転させてもよい。
【００７８】
このようにしてエラー情報としてのレンズデータ信号ＤＬＣ（以下、レンズエラー通知フレームという）がカメラマイコン２０５に送信される。カメラマイコン２０５は、レンズエラー通知フレームの受信に応じて１フレームのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信した後（５２９）、次の１フレームにてレンズマイコン１１１と通信エラーの検出を共有するために以下の通信処理を行う。
【００７９】
まず、カメラマイコン２０５は送信要求信号ＲＴＳをアサートする（５３０）。これに応じてレンズマイコン１１１は、レンズデータ信号ＤＬＣをカメラマイコン２０５に送信し（５３１）、さらにこれに応じてカメラマイコン２０５はカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する（５３２）。このとき、カメラマイコン２０５は、カメラデータ信号ＤＬＣのパリティビットＰＡを反転することでエラー情報を生成し、このエラー情報としてのカメラデータ信号ＤＬＣをレンズマイコン１１１に送信する（５３３）。
【００８０】
以上のエラー情報のやり取りを経ることで、カメラマイコン２０５とレンズマイコン１１１の双方が通信エラーの検出を共有する。この後、カメラマイコン２０５は、カメラデータ送受信部２０８ｂ内の送信データ用バッファ３０２をクリアして次に送信予定であったカメラデータ信号ＤＣＬを破棄する（５３４）。
【００８１】
次に、上述した通信処理（通信制御）の流れを図６のフローチャートを用いて説明する。ステップ（図ではＳと略記する）６０１〜６１１はカメラマイコン２０５が行う処理であり、ステップ６２０〜６３５はレンズマイコン１１１が行う処理である。カメラマイコン２０５およびレンズマイコン１１１はそれぞれ、コンピュータプログラムである通信制御プログラムに従って本処理を行う。
【００８２】
ステップ６０１において、カメラマイコン２０５は、レンズマイコン１１１との通信イベントが発生すると、ステップ６０２に進み、通信イベントに応じた送信要求コマンド等のカメラデータ信号ＤＣＬ（全フレーム）を送信データ用バッファ３０２に格納する。カメラデータ信号ＤＣＬのデータサイズは送信要求コマンド毎に異なる。
【００８３】
次にステップ６０３では、カメラマイコン２０５は、送信要求信号ＲＴＳをアサートする。そして、ステップ６０４では、カメラマイコン２０５は、送信要求信号ＲＴＳのアサートに応じてレンズマイコン１１１から送信された１フレームのレンズデータ信号ＤＬＣを受信する。
【００８４】
次にステップ６０５では、カメラマイコン２０５は、前回のルーチンにおけるステップ６０４で受信した１フレーム（前フレーム）のレンズデータ信号ＤＬＣに異常がある、すなわち通信エラーがあるか否かを判定する。異常があると判定した（通信エラーを検出した）場合、カメラマイコン２０５は、ステップ６０６に進む。ステップ６０６では、カメラマイコン２０５は、ステップ６０２で送信データ用バッファ３０２に格納したカメラデータ信号ＤＣＬのうち次にレンズマイコン１１１に送信するフレームのパリティビットＰＡを反転する。そして、ステップ６０７にて、カメラマイコン２０５は、パリティビットＰＡが反転された１フレームのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する。
【００８５】
次にステップ６０８では、カメラマイコン２０５は、今回のルーチンにおけるステップ６０４で受信した１フレーム（現フレーム）のレンズデータ信号ＤＬＣに異常があるか否かを判定し、異常があると判定した場合はステップ６０９に進む。ステップ６０９では、カメラマイコン２０５は、カメラデータ信号ＤＣＬによりエラー情報をレンズマイコン１１１に送信した後にレンズマイコン１１１からのレンズデータ信号ＤＬＣに異常があると判定したか否かを判定する。これは、カメラマイコン２０５とレンズマイコン１１１との双方が通信エラーを検出したか否かを確認するための判定であり、該当する場合はカメラマイコン２０５はステップ６１０にて送信データ用バッファ３０２をクリアする。
【００８６】
その後、カメラマイコン２０５は、レンズマイコン１１１によるレンズデータ信号ＤＬＣの通信待機要求ＢＵＳＹが解除されたことを確認した上でステップ６０１にて発生した通信イベントに応じたカメラデータ信号ＤＣＬの再度の送信（通信リトライ）を行う。
【００８７】
ステップ６０８にて異常なしであったと判定した場合またはステップ６０９にてまだエラー情報をレンズマイコン１１１に送信していない（レンズマイコン１１１との間で通信エラーの検出を共有していない）場合は、カメラマイコン２０５はステップ６１１に進む。ステップ６１１では、カメラマイコン２０５は、ステップ６０２で送信データ用バッファ３０２に格納したカメラデータ信号ＤＣＬの全フレームのレンズマイコン１１１への送信を完了したか否かを判定する。完了していればカメラマイコン２０５は通信待ち（ＩＤＬＥ）状態に移行する。完了していなければ、カメラマイコン２０５は、ステップ６１２にて送信データ用バッファ３０２に未送信のまま残っているカメラデータ信号ＤＣＬのうち次に送信するフレームを指定するインデックスをインクリメントして、ステップ６０３に戻る。
【００８８】
次に、レンズマイコン１１１が行う処理について説明する。レンズマイコン１１１は、ステップ６２０において、カメラマイコン２０５からの送信要求コマンド（カメラデータ信号ＤＣＬ）に応じて、１フレームのダミーデータであるレンズデータ信号ＤＣＬを送信データ用バッファ３１２の先頭インデックス領域に格納する。レンズマイコン１１１は、カメラマイコン２０５からの送信要求コマンドを解析する前に、このダミーデータをカメラマイコン２０５に送信する必要がある。
【００８９】
次にステップ６２１では、レンズマイコン１１１は、カメラマイコン２０５が送信要求信号ＲＴＳをアサートしたか否かを判定する。送信要求信号ＲＴＳがアサートされると、レンズマイコン１１１は、ステップ６２２において、ステップ６２０で送信データ用バッファ３１２に格納したダミーデータとしての１フレームのレンズデータ信号ＤＣＬをカメラマイコン２０５に送信する。
【００９０】
この後、ステップ６２３では、レンズマイコン１１１は、カメラマイコン２０５から送信された１フレームのカメラデータ信号ＤＣＬを受信する。そして、ステップ６２４では、レンズマイコン１１１は、ステップ６２３で受信したカメラデータ信号ＤＣＬに異常があるか否かを判定する。異常があると判定した場合は、レンズマイコン１１１は、ステップ６２５にて送信データ用バッファ３１２をクリアして通信待機（ＩＤＬＥ）状態に移行する。この理由は、図５（Ｂ）に示した処理５２５で説明した通りであり、レンズマイコン１１１はステップ６２３で受信したカメラデータ信号ＤＣＬに対応付けられたレンズデータ信号ＤＣＬを送信しない。
【００９１】
一方、ステップ６２４において、ステップ６２３で受信したカメラデータ信号ＤＣＬに異常がないと判定した場合は、レンズマイコン１１１は、ステップ６２６に進む。ステップ６２６では、レンズマイコン１１１は、ステップ６２３で受信したカメラデータ信号ＤＣＬに対応付けられたレンズデータ信号ＤＣＬ（全フレーム）を送信データ用バッファ３１２に格納する。
【００９２】
次にステップ６２７では、レンズマイコン１１１は、カメラマイコン２０５が送信要求信号ＲＴＳをアサートするのを待つ。送信要求信号ＲＴＳがアサートされると、レンズマイコン１１１は、ステップ６２８において、前回のルーチンにおける後述するステップ６３１でカメラマイコン２０５から受信した前フレームのカメラデータ信号ＤＣＬに異常があるか否かを判定する。異常がないと判定した場合には、レンズマイコン１１１はそのままステップ６３１に進む。また、異常があると判定した場合には、レンズマイコン１１１は、ステップ６２９に進み、送信データ用バッファ３１２に格納されているレンズデータ信号ＤＣＬの１フレーム目のパリティビットＰＡを反転する。そして、ステップ６３０に進む。
【００９３】
ステップ６２８からそのままステップ６３０に進んだレンズマイコン１１１は、パリティビットＰＡが反転されていない１フレームのレンズデータ信号ＤＬＣをカメラマイコン２０５に送信する。一方、ステップ６２８からステップ６２９を経てステップ６３０に進んだレンズマイコン１１１は、パリティビットＰＡが反転された１フレームのレンズデータ信号ＤＬＣをカメラマイコン２０５に送信する。これらいずれかのレンズデータ信号ＤＬＣを受信したカメラマイコン２０５からは１フレームのカメラデータ信号ＤＣＬが送信され、レンズマイコン１１１はステップ６３１でこれを受信する。
【００９４】
続いてステップ６３２では、レンズマイコン１１１は、今回ステップ６３１で受信した現フレームのカメラデータ信号ＤＣＬに異常があるか否かを判定する。異常があると判定した場合は、レンズマイコン１１１はステップ６３３に進み、送信データ用バッファ３１２をクリアして通信待機（ＩＤＬＥ）状態に移行する。
【００９５】
一方、今回ステップ６３１で受信した現フレームのカメラデータ信号ＤＣＬに異常がないと判定した場合は、レンズマイコン１１１は、ステップ６３４に進む。ステップ６３４では、レンズマイコン１１１は、ステップ６２６で送信データ用バッファ３１２に格納したカメラデータ信号ＤＣＬ全フレームのカメラマイコン２０５への送信を完了したか否かを判定する。完了していれば、レンズマイコン１１１は通信待ち（ＩＤＬＥ）状態に移行する。完了していなければ、レンズマイコン１１１は、ステップ６３５にて送信データ用バッファ３１２に未送信のまま残っているレンズデータ信号ＤＬＣのうち次に送信するフレームを指定するインデックスをインクリメントして、ステップ６２７に戻る。
【００９６】
本実施例によれば、カメラマイコン２０５またはレンズマイコン１１１が通信エラーを検出したときにカメラマイコン２０５とレンズマイコン１１１が通信エラーの検出（エラー情報）を共有することができる。これにより、カメラマイコン２０５とレンズマイコン１１１は、通信エラーの発生後、それぞれが有する送信データ用バッファ３０１，３１２を速やかにクリアして、短時間のうちに通信を再開することができる。
【実施例２】
【００９７】
次に、実施例２について説明する。実施例１では、カメラマイコン２０５とレンズマイコン１１１との間でエラー情報を共有する方法として、カメラマイコン２０５とレンズマイコン１１１のうち通信エラーを検出した一方の側が他方の側にエラー情報を送信する方法について説明した。また、エラー情報の生成を、パリティビットまたはストップビットを反転することで行う場合について説明した。しかし、この方法では、前述したように、レンズマイコン１１１は、このエラー情報がカメラマイコン２０５によりエラー情報の共有のために生成されたエラー情報なのか、実際にカメラデータ信号ＤＣＬに生じた異常によるものなのかを判断することができない。このため、レンズマイコン１１１は、確実にカメラマイコン２０５とエラー情報を共有するために、エラー情報としてのレンズデータ信号ＤＬＣを生成してこれをカメラマイコン２０５に送信する必要がある。
【００９８】
実施例２では、送信要求チャネル（ＲＴＳ）を利用して、レンズマイコン１１１が検出したエラー情報が、カメラマイコン２０５がエラー情報の共有のために生成したエラー情報なのか実際にカメラデータ信号ＤＣＬに生じた異常によるものなのかを判定可能とする。
【００９９】
本実施例のカメラシステムの構成は、実施例１において図１〜図４を用いて説明した構成と同じである。図７を用いて、本実施例における第１の通信設定において通信エラーが発生したときの処理について説明する。
【０１００】
図７（Ａ）は、カメラマイコン２０５（カメラエラー検出部２０５１）が通信エラーを検出したときにカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。７０１〜７０９はカメラマイコン２０５およびレンズマイコン１１１が行う処理を示している。
【０１０１】
カメラマイコン２０５が送信要求信号ＲＴＳをアサートすると（７０１）、レンズマイコン１１１は、１フレームのレンズデータ信号ＤＬＣをカメラ２００に送信する（７０２）。これに応じてカメラマイコン２０５は１フレームのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する（７０３）。カメラマイコン２０５のカメラエラー検出部２０５１が通信エラーを検出するのは（７０４）、パリティビットまたはストップビットの反転を検出したときであり、カメラマイコン２０５はこれをパリティエラーまたはフレーミングエラーとして認識する。
【０１０２】
カメラマイコン２０５は、カメラエラー検出部２０５１による通信エラーの検出（つまりはエラー情報）をレンズマイコン１１１と共有するために、次のフレームで以下のような通信処理を行う。
【０１０３】
カメラマイコン２０５は、送信要求信号ＲＴＳを再度アサートし（７０５）、レンズマイコン１１１からレンズデータ信号ＤＬＣを受信する（７０６）。この後、カメラマイコン２０５は、通信エラーの検出をレンズマイコン１１１と共有するためにエラー情報を生成する（７０７）。エラー情報の生成方法として、本実施例ではカメラデータ信号ＤＣＬのパリティビットＰＡ（０または１）を反転する。ただし、他のエラー情報の生成方法を用いてもよい。
【０１０４】
さらに本実施例では、エラー情報としてのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する際に送信要求信号ＲＴＳのアサートを維持する。カメラマイコン２０５が送信要求信号ＲＴＳのアサートを維持しつつエラー情報をレンズマイコン１１１に送信することにより、レンズマイコン１１１はそのエラー情報が共有を目的とするものであると認識することができる。すなわち、レンズマイコン１１１は、エラー情報を受信したときに送信要求信号ＲＴＳがアサートされていれば、これをカメラマイコン２０５からのエラー検出通知と認識して、そのエラー情報は共有目的のものであると判定する。また、送信要求信号ＲＴＳがネゲートされていればそのエラー情報は実際にカメラデータ信号ＤＣＬに発生した異常によるものと判定する。
【０１０５】
カメラマイコン２０５は、エラー情報をレンズマイコン１１１と共有した後にレンズマイコン１１１に送信予定であったカメラデータ信号ＤＣＬを破棄するため、カメラデータ送受信２０８ｂ内の送信データ用バッファ３０２をクリアする（７０８）。また、レンズマイコン１１１も、カメラマイコン２０５に送信予定であったレンズデータ信号ＤＬＣを破棄するため、レンズデータ送受信１１２ｂ内の送信データ用バッファ３１２をクリアする（７０９）。レンズマイコン１１１は、送信データ用バッファ３１２がクリアされる期間中はカメラマイコン２０５に対してカメラデータ信号ＤＬＣにより通信待機要求ＢＵＳＹを通知した状態とし、該クリアが完了した後に通信待機要求ＢＵＳＹを解除する。一方、カメラマイコン２０５は送信データ用バッファ３０２をクリアしてから次の通信を行う。
【０１０６】
以上の処理により、カメラマイコン２０５が通信エラーを検出したときに、カメラマイコン２０５とレンズマイコン１１１の双方がそれぞれの送信データ用バッファ３０２，３１２をほぼ同時にクリアすることが可能となる。このため、速やかに正常な通信を再開することができる。
【０１０７】
図７（Ｂ）には、レンズマイコン１１１（レンズエラー検出部１０９１）が通信エラーを検出したときにカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。７１０〜７２３はカメラマイコン２０５およびレンズマイコン１１１が行う処理を示している。
【０１０８】
カメラマイコン２０５が送信要求信号ＲＴＳ信号をアサートすると（７１０）、レンズマイコン１１１はカメラマイコン２０５にレンズデータ信号ＤＬＣを送信する（７１１）。これに応じてカメラマイコン２０５は、レンズマイコン１１１にカメラデータ信号ＤＣＬを送信する（７１２）。レンズマイコン１１１のエラー検出部１０９１が通信エラーを検出するのは（７１３）、パリティビットまたはストップビットの反転を検出したときであり、レンズマイコン１１１はこれをパリティエラーまたはフレーミングエラーとして認識する。
【０１０９】
レンズマイコン１１１は、通信エラーを検出した際に送信要求信号ＲＴＳがアサートされているかネゲートされているかを判定する。送信要求信号ＲＴＳがネゲートされている（７１４）場合、レンズマイコン１１１は、検出した通信エラー（エラー情報）がカメラマイコン２０５からエラー情報の共有のために送信されたものではなく、カメラデータ信号ＤＣＬに発生した異常を示すものと判断する。この場合は、レンズマイコン１１１は、次のフレーム（以下、レンズエラー通知フレームという）のレンズデータ信号ＤＬＣのパリティビットＰＡを反転させてエラー情報を生成してカメラマイコン２０５に送信する（７１５，７１６）。カメラマイコン２０５は、レンズエラー通知フレームの受信に応じて１フレームのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する（７１７）。その後、カメラマイコン２０５は、次の１フレームにてレンズマイコン１１１と通信エラーの検出を共有するために以下の通信処理（通信制御）を行う。
【０１１０】
カメラマイコン２０５は送信要求信号ＲＴＳ信号をアサートすると（７１８）、これに応じてレンズマイコン１１１は１フレームのレンズデータ信号ＤＬＣをカメラマイコン２０５に送信する（７１９）。そして、これに応じてカメラマイコン２５は、１フレームのカメラデータ信号ＤＣＬのパリティビットＰＡを反転させてエラー情報を生成し、該エラー情報をレンズマイコン１１１に送信する（７２０，７２１）。また、このとき、カメラマイコン２０５は、送信要求信号ＲＴＳのアサートを維持することで、レンズマイコン１１１に対してエラー検出通知を行う。これにより、レンズマイコン１１１は、受信したエラー情報が共有を目的とするものであると認識することができる。
【０１１１】
カメラマイコン２０５は、エラー情報をレンズマイコン１１１と共有した後にレンズマイコン１１１に送信予定であったカメラデータ信号ＤＣＬを破棄するため、カメラデータ送受信２０８ｂ内の送信データ用バッファ３０２をクリアする（７２２）。また、レンズマイコン１１１も、カメラマイコン２０５に送信予定であったレンズデータ信号ＤＬＣを破棄するため、レンズデータ送受信部１１２ｂ内の送信データ用バッファ３１２をクリアする（７２３）。レンズマイコン１１１は、送信データ用バッファ３１２がクリアされる期間中はカメラマイコン２０５に対してレンズデータ信号ＤＬＣにより通信待機要求ＢＵＳＹを通知した状態とし、該クリアが完了した後に通信待機要求ＢＵＳＹを解除する。一方、カメラマイコン２０５は送信データ用バッファ３０２をクリアしてから次の通信を行う。
【０１１２】
以上の処理により、レンズマイコン１１１が通信エラーを検出したときに、カメラマイコン２０５とレンズマイコン１１１の双方がそれぞれの送信データ用バッファ３０２，３１２をほぼ同時にクリアすることが可能となる。このため、速やかに正常な通信を再開することができる。
【０１１３】
次に、上述した通信処理（通信制御）の流れを図８のフローチャートを用いて説明する。ステップ（図ではＳと略記する）８０１〜８１２はカメラマイコン２０５が行う処理であり、ステップ８２０〜８３７はレンズマイコン１１１が行う処理である。カメラマイコン２０５およびレンズマイコン１１１はそれぞれ、コンピュータプログラムである通信制御プログラムに従って本処理を行う。
【０１１４】
ステップ８０１において、カメラマイコン２０５は、レンズマイコン１１１との通信イベントが発生すると、ステップ８０２に進み、通信イベントに応じた送信要求コマンド等のカメラデータ信号ＤＣＬ（全フレーム）を送信データ用バッファ３０２に格納する。カメラデータ信号ＤＣＬのデータサイズは送信要求コマンド毎に異なる。
【０１１５】
次にステップ８０３では、カメラマイコン２０５は、送信要求信号ＲＴＳをアサートする。そして、ステップ８０４では、カメラマイコン２０５は、送信要求信号ＲＴＳのアサートに応じてレンズマイコン１１１から送信された１フレームのレンズデータ信号ＤＬＣを受信する。
【０１１６】
次にステップ８０５では、カメラマイコン２０５は、前回のルーチンにおけるステップ８０４で受信した１フレーム（前フレーム）のレンズデータ信号ＤＬＣに異常がある、すなわち通信エラーがあるか否かを判定する。異常があると判定した（通信エラーを検出した）場合、カメラマイコン２０５はステップ８０６に進む。ステップ８０６では、カメラマイコン２０５は、ステップ８０２で送信データ用バッファ３０２に格納したカメラデータ信号ＤＣＬのうち次にレンズマイコン１１１に送信するフレームのパリティビットＰＡを反転する。そして、カメラマイコン２０５は、ステップ８０７にて送信要求信号ＲＴＳをアサートしたまま維持し（エラー検出通知を行い）、ステップ８０８にてパリティビットＰＡが反転された１フレームのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する。
【０１１７】
次にステップ８０９では、カメラマイコン２０５は、今回のルーチンにおけるステップ６０４で受信した１フレーム（現フレーム）のレンズデータ信号ＤＬＣに異常があるか否かを判定し、異常があると判定した場合はステップ８１０に進む。ステップ８１０では、カメラマイコン２０５は、送信データ用バッファ３０２をクリアする。その後、カメラマイコン２０５は、レンズマイコン１１１によるレンズデータ信号ＤＬＣのＢＵＳＹが解除されたことを確認した上でステップ８０１にて発生した通信イベントに応じたカメラデータ信号ＤＣＬの送信を再度行う（すなわち通信リトライ制御を行う）。
【０１１８】
ステップ８０９において、ステップ８０５での判定結果が異常なしであったと判定した場合は、カメラマイコン２０５はステップ８１１に進む。ステップ８１１では、カメラマイコン２０５は、カメラマイコン２０５は、ステップ８０２で送信データ用バッファ３０２に格納したカメラデータ信号ＤＣＬの全フレームのレンズマイコン１１１への送信を完了したか否かを判定する。完了していればカメラマイコン２０５は通信待ち（ＩＤＬＥ）状態に移行する。完了していなければ、カメラマイコン２０５は、ステップ８１２にて送信データ用バッファ３０２に未送信のまま残っているカメラデータ信号ＤＣＬのうち次に送信するフレームを指定するインデックスをインクリメントして、ステップ８０３に戻る。
【０１１９】
次に、レンズマイコン１１１が行う処理について説明する。レンズマイコン１１１は、ステップ８２０において、カメラマイコン２０５からの送信要求コマンド（カメラデータ信号ＤＣＬ）に応じて、１フレームのダミーデータであるレンズデータ信号ＤＣＬを送信データ用バッファ３１２の先頭インデックス領域に格納する。レンズマイコン１１１は、カメラマイコン２０５からの送信要求コマンドを解析する前に、このダミーデータをカメラマイコン２０５に送信する必要がある。
【０１２０】
次にステップ８２１では、レンズマイコン１１１は、カメラマイコン２０５が送信要求信号ＲＴＳをアサートしたか否かを判定する。送信要求信号ＲＴＳがアサートされると、レンズマイコン１１１は、ステップ８２２において、ステップ８２０で送信データ用バッファ３１２に格納したダミーデータとしての１フレームのレンズデータ信号ＤＣＬをカメラマイコン２０５に送信する。
【０１２１】
次にステップ８２３では、レンズマイコン１１１は、カメラマイコン２０５から送信された１フレームのカメラデータ信号ＤＣＬを受信する。そして、ステップ８２４では、レンズマイコン１１１は、ステップ８２３で受信したカメラデータ信号ＤＣＬに異常があるか否かを判定する。異常があると判定した場合は、レンズマイコン１１１は、ステップ８２５にて送信要求信号ＲＴＳがアサートされているか否かを判定する。送信要求信号ＲＴＳがアサートされている（エラー検出通知がなされている）場合は、レンズマイコン１１１は、カメラデータ信号ＤＣＬの異常がカメラマイコン２０５から共有を目的として送信されたエラー情報であると判断してステップ８２６に進む。ステップ８２６では、レンズマイコン１１１は、送信データ用バッファ３１２をクリアして通信待機（ＩＤＬＥ）状態に移行する。
【０１２２】
一方、ステップ８２４において、ステップ８２３で受信したカメラデータ信号ＤＣＬに異常がないと判定した場合または異常があると判定してもステップ８２５で送信要求信号ＲＴＳがネゲートされている場合は、レンズマイコン１１１はステップ８２７に進む。ステップ８２７では、レンズマイコン１１１は、ステップ８２３で受信したカメラデータ信号ＤＣＬに対応付けられたレンズデータ信号ＤＣＬ（全フレーム）を送信データ用バッファ３１２に格納する。
【０１２３】
次にステップ８２８では、レンズマイコン１１１は、カメラマイコン２０５が送信要求信号ＲＴＳをアサートするのを待つ。送信要求信号ＲＴＳがアサートされると、レンズマイコン１１１は、ステップ８２９において、前回のルーチンにおける後述するステップ８３２でカメラマイコン２０５から受信した前フレームのカメラデータ信号ＤＣＬに異常があるか否かを判定する。ステップ８２５または前回のルーチンにおける後述するステップ８３４で送信要求信号ＲＴＳがアサートされていれば、前フレームのカメラデータ信号ＤＣＬの異常はカメラマイコン２０５から共有を目的として生成されたエラー情報を意味する。このため、このステップ８２９でカメラデータ信号ＤＣＬに異常があるとの判定は、実際にカメラデータ信号ＤＣＬに異常が発生したことを意味する。異常がないと判定した場合には、レンズマイコン１１１はそのままステップ８３１に進む。ステップ８２９で異常があると判定した場合には、レンズマイコン１１１は、ステップ８３０に進み、送信データ用バッファ３１２に格納されているレンズデータ信号ＤＣＬの１フレーム目のパリティビットＰＡを反転する。そして、ステップ８３１に進む。
【０１２４】
ステップ８２９からそのままステップ８３１に進んだレンズマイコン１１１は、パリティビットＰＡが反転されていない１フレームのレンズデータ信号ＤＬＣをカメラマイコン２０５に送信する。一方、ステップ８２９からステップ８３０を経てステップ８３１に進んだレンズマイコン１１１は、パリティビットＰＡが反転された１フレームのレンズデータ信号ＤＬＣをカメラマイコン２０５に送信する。これにより、カメラデータ信号ＤＣＬでの異常の検出（つまりはエラー情報）をカメラマイコン２０５と共有する。これらいずれかのレンズデータ信号ＤＬＣを受信したカメラマイコン２０５からは１フレームのカメラデータ信号ＤＣＬが送信され、レンズマイコン１１１はステップ８３２でこれを受信する。
【０１２５】
次にステップ８３３では、レンズマイコン１１１は、今回ステップ８３２で受信した現フレームのカメラデータ信号ＤＣＬに異常があるか否かを判定する。異常がある場合は、レンズマイコン１１１は、ステップ８３４に進み、送信要求信号ＲＴＳがアサートされているか否かを判定する。送信要求信号ＲＴＳがアサートされていれば、レンズマイコン１１１は、現フレームのカメラデータ信号ＤＣＬの異常はカメラマイコン２０５から共有を目的として生成されたエラー情報を意味するものと判断してステップ８３５に進む。ステップ８３５では、レンズマイコン１１１は、送信データ用バッファ３１２をクリアして通信待機（ＩＤＬＥ）状態に移行する。
【０１２６】
一方、ステップ８３３において、今回受信したカメラデータ信号ＤＣＬの現フレームに異常がない又は異常があってもステップ８３３で送信要求信号ＲＴＳがネゲートされていれば、レンズマイコン１１１はステップ８３６に進む。ステップ８３６では、レンズマイコン１１１は、ステップ８２７で送信データ用バッファ３１２に格納したレンズデータ信号ＤＬＣの全フレームのカメラマイコン２０５への送信を完了したか否かを判定する。完了していれば、レンズマイコン１１１は通信待ち（ＩＤＬＥ）状態に移行する。完了していなければ、レンズマイコン１１１は、ステップ８３７にて送信データ用バッファ３１２に未送信のまま残っているレンズデータ信号ＤＬＣのうち次に送信するフレームを指定するインデックスをインクリメントして、ステップ８２８に戻る。
【０１２７】
本実施例によれば、カメラマイコン２０５またはレンズマイコン１１１が通信エラーを検出したときに、実施例１よりも少ない手順でカメラマイコン２０５とレンズマイコン１１１が通信エラーの検出（エラー情報）を共有することができる。これにより、カメラマイコン２０５とレンズマイコン１１１は、通信エラーの発生後、それぞれが有する送信データ用バッファ３０１，３１２を速やかにクリアして、短時間のうちに通信を再開することができる。
【実施例３】
【０１２８】
次に、本発明の実施例３について説明する。本実施例は、実施例１の変形例であるとともに、以下のような撮像装置の実施例の１つである。撮像装置はカメラ制御部を有し、該カメラ制御部は、アクセサリ装置から受信するアクセサリデータにおける通信エラーを検出する機能を備える。そしてカメラ制御部は、アクセサリデータにおける通信エラーを検出した場合に、該アクセサリデータの受信に応じたアクセサリ装置へのカメラデータの送信中に、該カメラデータの特定ビットを反転させることによりカメラ側エラー情報をアクセサリ装置に送信する。本実施例にいう通信エラーも、パリティエラーまたはフレーミングエラーである。そして、撮像装置は、アクセサリデータの受信に応じてカメラデータを送信する際におけるアクセサリデータの受信に対するカメラデータの送信の遅延量に応じて特定ビットを変更する。さらに、撮像装置は、通信エラーの種類（パリティエラーかフレーミングエラーか）に応じて特定ビットを変更する。
【０１２９】
図１０（Ａ）には、本実施例において通信エラーの発生がない場合にカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。ここにいう通信エラーの発生がない場合とは、カメラマイコン２０５がレンズデータ信号ＤＬＣの受信を開始するタイミングに対して、カメラマイコン２０５がカメラデータ信号ＤＬＣの送信を開始するタイミングの遅延量ｔ１０００が１ビット未満の場合である。遅延量は、レンズデータ信号ＤＬＣのスタートビットＳＴの受信タイミングに対するカメラデータ信号ＤＬＣのスタートビットＳＴの送信タイミングまでの時間（ビットずれ数）である。
【０１３０】
また、図１０（Ｂ），（Ｃ）はそれぞれ、本実施例において通信エラーとしてのパリティエラーが発生した場合にカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。図１０（Ｂ）は上記遅延量ｔ１００１が１ビットである場合を、図１０（Ｃ）は上記遅延量ｔ１００２が２ビットである場合をそれぞれ示している。さらに、図１１（Ａ），（Ｂ）はそれぞれ、本実施例において通信エラーとしてのフレーミングエラーが発生した場合にカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。図１１（Ａ）は上記遅延量ｔ１１０１が１ビットである場合を、図１１（Ｂ）は上記遅延量ｔ１１０２が２ビット以上である場合をそれぞれ示している。図１０（Ａ）〜（Ｃ）および図１１（Ａ），（Ｂ）において、レンズデータ信号ＤＬＣとカメラデータ信号ＤＬＣは、遅延量に差があるが、基本的な信号波形は共通である。
【０１３１】
次に、図９のフローチャートを用いて、通信エラーが発生したときにカメラマイコン２０５が行う通信処理（通信制御）について説明する。カメラマイコン２０５は、コンピュータプログラムである通信制御プログラムに従って本処理を実行する。
【０１３２】
カメラマイコン２０５は、実施例１において図６に示したステップ６０４でレンズマイコン１１１からのレンズデータ信号ＤＬＣの受信を開始した後、ステップ６０５〜ステップ６０７の処理に代えてステップ（図ではＳと略記する）９０１以降の処理を行う。ここでは、カメラマイコン２０５が、レンズデータ信号ＤＬＣのスタートビットＳＴおよびデータＤ７〜Ｄ０の受信までを完了し、カメラデータ信号ＤＣＬの１フレームのスタートビットＳＴおよびデータＤ７〜Ｄ０の送信までを完了した状態にあるものとする。つまり、レンズデータ信号ＤＬＣの受信中かつカメラデータ信号ＤＣＬの１フレームの送信中にステップ９０１の処理が始まる。
【０１３３】
ステップ９０１では、カメラマイコン２０５は、カメラデータ信号ＤＣＬのパリティビットＰＡとストップビットＳＰを反転するか否かを示す反転フラグを初期化する。初期化された反転フラグは、パリティビットＰＡとストップビットＳＰを反転させないＯＦＦとなる。
【０１３４】
次にステップ９０２では、カメラマイコン２０５は、受信したレンズデータ信号ＤＬＣに対するカメラデータ信号ＤＣＬの送信タイミング（スタートビットＳＴ）の遅延量を取得し、その結果に応じて以下の３つの処理を切り替えて行う。遅延量は、カメラマイコン２０５とレンズマイコン１１１との間で予め遅延ビット数を決めておき、その遅延ビット数を遅延量として取得してもよいし、カメラマイコン２０５内に不図示の遅延量検出部を設け、該遅延量検出部により遅延量を検出して取得してもよい。
【０１３５】
カメラマイコン２０５は、取得した遅延量が図１０（Ａ）に示したように１ビット未満である場合は、１つ目の処理として、ステップ９０３〜ステップ９０７にてレンズデータ信号ＤＬＣのパリティエラーに応じた処理を行う。具体的には、図１０（Ａ）に１０１１で示すように、レンズデータ信号ＤＬＣのパリティビットＰＡの受信結果に応じてカメラデータ信号ＤＣＬのストップビットＳＰを反転させる。
【０１３６】
また、取得した遅延量が図１０（Ｂ）および図１１（Ａ）に示したように１ビットである場合は、２つ目の処理として、ステップ９１０〜ステップ９１６にてレンズデータ信号ＤＬＣのパリティエラーとフレーミングエラーに応じた処理を行う。具体的には、レンズデータ信号ＤＬＣのパリティビットＰＡの受信結果に応じて、図１０（Ｂ）に１０１２と１０１３で示すようにカメラデータ信号ＤＣＬのパリティビットＰＡまたはストップピットＳＰを反転させる。または、レンズデータ信号ＤＬＣのストップビットＳＰの受信結果に応じて、図１１（Ａ）に１１１１で示すようにカメラデータ信号ＤＣＬのストップピットＳＰを反転させる。
【０１３７】
さらに、取得した遅延量が図１０（Ｃ）および図１１（Ｂ）に示したように２ビット以上である場合は、３つ目の処理として、ステップ９２０〜ステップ９２６にてレンズデータ信号ＤＬＣのパリティエラーとフレーミングエラーに応じた処理を行う。具体的には、レンズデータ信号ＤＬＣのパリティビットＰＡの受信結果に応じて、図１０（Ｃ）に１０１４と１０１５で示すようにカメラデータ信号ＤＣＬのパリティビットＰＡまたはストップピットＳＰを反転させる。または、レンズデータ信号ＤＬＣのストップビットＳＰの受信結果に応じて、図１１（Ｂ）に１１１２と１１１３で示すようにカメラデータ信号ＤＣＬのパリティビットＰＡまたはストップピットＳＰを反転させる。
【０１３８】
まず、１つ目の処理について説明する。ステップ９０３で、カメラマイコン２０５は、レンズマイコン１１１からレンズデータ信号ＤＬＣのパリティビットＰＡを受信するとともに、カメラデータ信号ＤＣＬのパリティビットＰＡをレンズマイコン１１１に送信する。
【０１３９】
次にステップ９０４において、カメラマイコン２０５は、カメラエラー検出部２０５１によるパリティエラーの検出の有無を判定する。カメラマイコン２０５は、パリティエラーが検出されている場合はステップ９０５に進み、パリティエラーが検出されていない場合はステップ９０６に進む。
【０１４０】
ステップ９０５では、カメラマイコン２０５は、上述した反転フラグをカメラデータ信号ＤＣＬのストップビットＳＰを反転させるＯＮに変更し、ステップ９０６に進む。ステップ９０６では、カメラマイコン２０５は、レンズデータ信号ＤＬＣのストップビットＳＰを受信する。
【０１４１】
そして、ステップ９０７では、カメラマイコン２０５は、反転フラグ（ＯＮまたはＯＦＦ）に応じて、カメラデータ信号ＤＣＬのストップビットＳＰをレンズマイコン１１１に送信する。この後、カメラマイコン２０５は図６のステップ６０８に進む。
【０１４２】
ステップＳ６０８に進んだカメラマイコン２０５は、実施例１で説明したように、今回のルーチンにおけるステップ６０４で受信した現フレームのレンズデータ信号ＤＬＣに異常があるか否かを判定し、異常がある場合はステップ６０９以降の処理を行う。これについては、以下の２つ目および３つ目の処理でも同じである。
【０１４３】
次に、２つ目の処理について説明する。ステップ９１０で、カメラマイコン２０５は、レンズマイコン１１１からレンズデータ信号ＤＬＣのパリティビットＰＡを受信する。次にステップ９１１で、カメラマイコン２０５は、カメラエラー検出部２０５１によるパリティエラーの検出の有無を判定する。カメラマイコン２０５は、パリティエラーが検出されている場合はステップ９１２に進み、パリティエラーが検出されていない場合はステップ９１３に進む。
【０１４４】
ステップ９１２では、カメラマイコン２０５は、上述した反転フラグをカメラデータ信号ＤＣＬのパリティビットＰＡおよびストップビットＳＰのうち少なくとも一方を反転させるＯＮに変更し、ステップ９１３に進む。ここでは、カメラデータ信号ＤＣＬの信号波形を意図的に異常（エラー）状態とすることが目的であるため、反転させるのはパリティビットＰＡでもストップビットＳＰでもよい。ステップ９１３では、カメラマイコン２０５は、レンズマイコン１１１からレンズデータ信号ＤＬＣのストップビットＳＰを受信する。また、カメラマイコン２０５は、反転フラグ（ＯＮまたはＯＦＦ）に応じてカメラデータ信号ＤＣＬのパリティビットＰＡをレンズマイコン１１１に送信する。
【０１４５】
次にステップ９１４では、カメラマイコン２０５は、カメラエラー検出部２０５１によるフレーミングエラーの検出の有無を判定する。カメラマイコン２０５は、フレーミングエラーが検出されている場合はステップ９１５に進み、フレーミングエラーが検出されていない場合はステップ９１６に進む。
【０１４６】
ステップ９１５では、カメラマイコン２０５は、反転フラグをカメラデータ信号ＤＣＬのストップビットＳＰを反転させるＯＮに変更し、ステップ９１６に進む。ステップ９１６では、カメラマイコン２０５は、反転フラグ（ＯＮまたはＯＦＦ）に応じてカメラデータ信号ＤＣＬのストップビットＳＰをレンズマイコン１１１に送信する。この後、カメラマイコン２０５は図６のステップ６０８に進む。
【０１４７】
次に、３つ目の処理について説明する。ステップ９２０で、カメラマイコン２０５は、レンズマイコン１１１からレンズデータ信号ＤＬＣのパリティビットＰＡを受信する。次にステップ３２１で、カメラマイコン２０５は、カメラエラー検出部２０５１によるパリティエラーの検出の有無を判定する。カメラマイコン２０５は、パリティエラーが検出されている場合はステップ９２２に進み、パリティエラーが検出されていない場合はステップ９２３に進む。
【０１４８】
ステップ９２２では、カメラマイコン２０５は、上述した反転フラグをカメラデータ信号ＤＣＬのパリティビットＰＡおよびストップビットＳＰのうち少なくとも一方を反転させるＯＮに変更し、ステップ９２３に進む。ここでは、２つ目の処理と同様に、カメラデータ信号ＤＣＬの信号波形を意図的に異常（エラー）状態とすることが目的であるため、反転させるのはパリティビットＰＡでもストップビットＳＰでもよい。ステップ９２３では、カメラマイコン２０５は、レンズマイコン１１１からレンズデータ信号ＤＬＣのストップビットＳＰを受信する。
【０１４９】
次にステップ９２４で、カメラマイコン２０５は、カメラエラー検出部２０５１によるフレーミングエラーの検出の有無を判定する。カメラマイコン２０５は、フレーミングエラーが検出されている場合はステップ９２５に進み、フレーミングエラーが検出されていない場合はステップ９２６に進む。
【０１５０】
ステップ９２５では、カメラマイコン２０５は、ステップ９２２と同様の理由により、反転フラグをカメラデータ信号ＤＣＬのパリティビットＰＡおよびストップビットＳＰのうち少なくとも一方を反転させるＯＮに変更し、ステップ９２６に進む。ステップ９２６では、カメラマイコン２０５は、反転フラグ（ＯＮまたはＯＦＦ）に応じてカメラデータ信号ＤＣＬのパリティビットＰＡとストップビットＳＰをレンズマイコン１１１に送信する。この後、カメラマイコン２０５は図６のステップ６０８に進む。
【０１５１】
以上の３つの処理のうちいずれかが行われることで、レンズマイコン１１１に対するカメラデータ信号ＤＣＬの１フレームの送信が完了する。なお、上述した３つの処理を必ずしも行う必要はなく、いずれか１つの処理のみを行うようにしてもよい。この場合は、カメラマイコン２０５とレンズマイコン１１１との間で予め上述した遅延量を定めておく必要がある。つまり、予め遅延量を定めて、上記３つの処理のうちその遅延量に最適な処理を行うようにすればよい。
【０１５２】
本実施例では、カメラマイコン２０５においてレンズマイコン１１１からのレンズデータ信号ＤＬＣの受信において通信エラーが発生した際に、カメラデータ信号ＤＣＬの１フレーム内に意図的にエラー状態を生じさせる。これにより、カメラマイコン２０５からレンズマイコン１１１に対して、レンズデータ信号ＤＬＣの受信において通信エラーが発生したことを速やかに通知することができる。
【０１５３】
また、レンズマイコン１１１では、レンズエラー検出部１０９１にてカメラデータ信号ＤＣＬのエラー状態を検出し、所定の回復処理を行うことで速やかに正常な通信を回復することができる。所定の回復処理では、例えば、レンズマイコン１１１がカメラデータ信号ＤＣＬのエラー状態の検出に応じて通信エラー発生時のレンズデータ信号ＤＬＣを再送信するための準備を開始する。そして、次のカメラマイコン２０５との通信時（送信要求信号ＲＴＳのアサート時）に、準備したレンズデータ信号ＤＬＣを再送信する。
【０１５４】
さらに、本実施例の通信処理を行うことで、例えば実施例１で説明したバースト通信中に通信エラーが発生しても、バースト通信を再度初めからやり直す必要がなく、通信エラーが発生したフレームから再送信を開始することが可能となる。
【０１５５】
また、本実施例では、カメラマイコン２０５が通信エラーを検出した場合に、該通信エラーを検出したレンズデータ信号ＤＬＣのフレームに対応するカメラデータ信号ＤＣＬのフレームでレンズマイコン１１１に通信エラーの発生を通知することができる。つまり、カメラデータ信号ＤＣＬの１フレームの送信中にそのフレームのパリティビットＰＡまたはストップビットＳＴを反転させることで、レンズマイコン１１１に通信エラーの発生を通知することができる。このため、実施例１よりも早くレンズマイコン１１１に通信エラーの発生を通知し、より早く正常な通信を再開することができる。
【実施例４】
【０１５６】
次に、本発明の実施例４について説明する。本実施例では、調歩同期式シリアル通信を用いて、通信待機要求ＢＵＳＹ（ＢＵＳＹフレーム）が付加されない通信設定（非ＢＵＳＹ付加モード）によりバースト通信を行う。実施例１でも説明したように、非ＢＵＳＹ付加モードでは、ＢＵＳＹフレームが付加されるＢＵＳＹ付加モードに比べて、大容量データをより高速でバースト通信を行うことが可能となる。
【０１５７】
ただし、このようなバースト通信において通信エラーが発生した場合に、リセット処理や初期化動作を行うと、再度、通信を再開するまでに時間を要し、ユーザが意図したタイミングでの撮像ができなくなるおそれがある。このため、本実施例では、撮像装置が交換レンズ（アクセサリ装置）から大量のデータを素早く取得し、かつ通信エラーが発生した場合に速やかに通信を再開できるようにする。
【０１５８】
本実施例は、以下のような撮像装置の実施例の１つである。撮像装置は、実施例１で説明した第１の通信設定と後述する第２の通信設定との切替えが可能である。撮像装置のカメラ制御部は、第１の通信設定において、撮像装置とアクセサリ装置との間の接続を確認するための接続確認通信を行う機能と、アクセサリ装置から受信するアクセサリデータにおける通信エラーを検出する機能とを備える。そして、カメラ制御部は、通信エラーの検出回数（頻度）に応じて、接続確認通信を行う周期を変更することを特徴とする。また、カメラ制御部は、通信エラーの検出回数に応じて通信設定（第１および第２の通信設定）を変更することを特徴とする。
【０１５９】
図１２（Ａ）には、第１の通信設定における非ＢＵＳＹ付加モードにおいてカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。図５（Ａ）には、最小通信単位である１フレームが連続して３フレーム通信される際の信号波形を示している。先に述べたように、非ＢＵＳＹ付加モードでは、レンズデータ信号ＤＬＣに通信待機要求ＢＵＳＹは付加されない。
【０１６０】
非ＢＵＳＹ付加モードでは、レンズデータ信号ＤＬＣのデータフォーマットは、１フレームがデータフレームのみで構成され、ＢＵＳＹフレームは存在しない。このため、非ＢＵＳＹ付加モードでは、レンズマイコン１１１からカメラマイコン２０５への通信待機要求ＢＵＳＹを通知することができない。このようなデータフォーマットは、比較的大きな容量のデータをカメラマイコン２０５とレンズマイコン１１１との間で転送する際に、フレーム間の間隔を短くした連続通信（バースト通信）を行う用途に用いられる。すなわち、非ＢＵＳＹ付加モードにより、大容量データの高速通信が可能となる。
【０１６１】
また、非ＢＵＳＹ付加モードでは、レンズデータ信号ＤＬＣのフレームごとの最終ビットであるストップビットＳＰの数を、カメラデータ信号ＤＣＬのフレームごとのストップビットＳＴの数よりも多い２としている。そして、このストップビット数の違いにより、レンズデータ信号ＤＬＣの１フレームのビット長をカメラデータ信号ＤＣＬの１フレームのビット長より長くしている。この目的については後述する。
【０１６２】
図１２（Ｂ）には、カメラマイコン２０５とレンズマイコン１１１がそれぞれ、ｎフレームのカメラデータ信号ＤＣＬおよびレンズデータ信号ＤＬＣを連続して送受信する場合（すなわちバースト通信を行う場合）の信号の波形を示している。この通信の開始に先立って、カメラマイコン２０５は、図４（Ａ）に示した１フレームのカメラデータ信号ＤＣＬの通信によって、レンズマイコン１１１から、送信されるデータサイズ情報（フレーム数）であるｎフレームの通知を受けている。
【０１６３】
カメラマイコン２０５は、レンズマイコン１１１との通信を開始するイベントが発生すると、送信要求信号ＲＴＳをアサートする。その後、非ＢＵＳＹ付加モードでは、ＢＵＳＹ付加モードと異なり、カメラマイコン２０５は送信要求信号ＲＴＳを１フレームごとにネゲートする必要はなく、連続してデータ送受信が可能な状態である間は送信要求信号ＲＴＳのアサート状態を維持する。
【０１６４】
レンズマイコン１１１は、送信要求信号ＲＴＳのアサートにより送信要求を検出すると、カメラマイコン２０５に送信するレンズデータ信号ＤＬＣの生成処理を行う。そして、該レンズデータ信号ＤＬＣの送信準備が整うと、第１のデータ通信チャネルでの１フレーム目のレンズデータ信号ＤＬＣ（ＤＬ１）の送信を開始する。
【０１６５】
１フレーム目のレンズデータ信号ＤＬＣのデータフレームを送信したレンズマイコン１１１は、再び送信要求信号ＲＴＳを確認する。このとき、送信要求信号ＲＴＳがアサート状態であった場合には、レンズマイコン１１１は送信が完了した１フレーム目に続けて次の２フレーム目のレンズデータ信号ＤＬＣ（ＤＬ２）をカメラマイコン２０５に送信する。このようにして送信要求信号ＲＴＳのアサート状態が維持されている間はレンズマイコン１１１からのレンズデータ信号ＤＬＣ（ＤＬ１〜ＤＬｎ）がカメラマイコン２０５に連続して送信される。そして、データサイズ情報に示されたフレーム数ｎの送信が完了すると、レンズデータ信号ＤＬＣの送信が停止される。
【０１６６】
カメラマイコン２０５からは、レンズマイコン１１１からのレンズデータ信号ＤＣＬのフレームごとのスタートビットＳＴを検出することに応じて、ｎフレームのカメラデータ信号ＤＣＬ（ＤＣ１〜ＤＣｎ）の第２のデータ通信チャネルでの送信が行われる。このように、カメラマイコン２０５が送信要求信号ＲＴＳのアサート状態を維持することにより、データサイズ情報に対応するフレーム数のレンズデータ信号ＤＬＣおよびカメラデータ信号ＤＣＬの連続送受信を行うことができる。
【０１６７】
カメラマイコン２０５は、レンズマイコン１１１から連続受信したレンズデータ信号ＤＬＣをシリアル−パラレル変換部３０６を介して一旦、受信データ用バッファ３０３に格納する。ＤＭＡ制御部３０７は、受信データ用バッファ３０３に格納されたレンズデータ信号ＤＬＣをメモリ２１０に転送して最終的に該メモリ２１０に格納する。このため、受信データ用バッファ３０３の容量を超えるデータ量のレンズデータ信号ＤＬＣを受信する際には、受信データ用バッファ３０３に先に格納されたレンズデータ信号ＤＬＣをメモリ２１０に転送して該バッファ３０３の空き容量を確保しておく必要がある。
【０１６８】
ただし、カメラ本体２００に設けられた信号処理回路２０３の処理状況によってＤＭＡ制御部３０７がメモリ２１０にアクセスできない場合には、レンズマイコン１１１から連続受信したレンズデータ信号ＤＬＣをメモリ２１０に転送することができなくなる。この結果、受信データ用バッファ３０３の空き容量が確保できず、連続受信したレンズデータ信号ＤＬＣの一部をメモリ２１０に格納することができなくなる。例えば、既にカメラマイコン２０５にて受信されたレンズデータ信号ＤＬＣのうちメモリ２１０に転送されずに受信データ用バッファ３０３に残ったデータが後から受信されたデータによって上書きされることで、メモリ２１０に格納されないデータが生じてしまう。そこで、受信データ用バッファ３０３に格納されているデータが上書きされる前に、カメラマイコン２０５とレンズマイコン１１１との間で実行されている通信を一時的に休止する必要がある。
【０１６９】
図１２（Ｃ）には、図１２（Ｂ）で示した連続データ送受信の通信中にカメラマイコン２０５から一時的な通信休止が指示された場合の信号の波形を示している。ここでも、カメラマイコン２０５から送信要求信号ＲＴＳがアサートされることでレンズマイコン１１１がレンズデータ信号ＤＬＣの送信を開始し、そのスタートビットＳＴの検出に応じてカメラマイコン２０５がカメラデータ信号ＤＣＬの送信を開始する。
【０１７０】
Ｔは、カメラマイコン２０５から通信休止が指示された期間である通信休止期間を示す。該指示は、カメラマイコン２０５が送信要求信号ＲＴＳを一時的にネゲートすることでレンズマイコン１１１に通知される。レンズマイコン１１１は、送信要求信号ＲＴＳがネゲートされたことを検出すると、その検出時点で送信途中のレンズデータ信号ＤＬＣのフレーム（図ではＤＬ６：以下、休止フレームという）の送信を完了した後、送信を休止する。このレンズデータ信号ＤＬＣの送信休止を受けて、カメラマイコン２０５も、カメラデータ信号ＤＣＬのうち上記休止フレームに対応するフレーム（ＤＣ６）を送信した後にカメラデータ信号ＤＣＬの送信を休止する。このような通信制御により、連続データ送受信の通信中に通信休止指示が発生した場合でもレンズデータ信号ＤＬＣとカメラデータ信号ＤＣＬの送信済みフレーム数を同数にする（同期をとる）ように管理することができる。
【０１７１】
カメラマイコン２０５は、通信休止の要求イベントがなくなると、送信要求信号ＲＴＳを再びアサートすることでレンズマイコン１１１に対して通信再開を指示することができる。通信再開指示に応じて、レンズマイコン１１１は休止フレームの次のフレーム（ＤＬ７：以下、再開フレームという）からレンズデータ信号ＤＬＣの送信を再開する。そして、再開フレームのスタートビットＳＴの検出に応じて、カメラマイコン２０５はカメラデータ信号ＤＣＬの上記再開フレームに対応するフレーム（ＤＣ７）からの送信を再開する。
【０１７２】
このように、カメラマイコン２０５は、送信要求信号ＲＴＳを一時的にネゲートすることでレンズマイコン１１１との通信を休止する。そして、その時点で受信したレンズデータ信号ＤＬＣのフレーム数がデータサイズ情報に示されたフレーム数に満たない場合は、送信要求信号ＲＴＳを再びアサートすることで、レンズマイコン１１１からのレンズデータ信号ＤＬＣの受信を再開することができる。
【０１７３】
次に、非ＢＵＳＹ付加モードにおいてカメラマイコン２０５が出力するカメラデータ信号ＤＣＬのビットレートとレンズマイコン１１１が出力するレンズデータ信号ＤＬＣのビットレートに差がある場合に生じ得る問題について、図１６（Ａ）を用いて説明する。図１６（Ａ）は、カメラデータ信号ＤＣＬとレンズデータ信号ＤＬＣの１フレーム（データフレーム）のビット長が同じで、カメラデータ信号ＤＣＬのビットレートがレンズデータ信号ＤＬＣのそれよりも遅い場合の両データ信号ＤＣＬ，ＤＬＣのフレームの関係を示す。図中の矢印は、カメラマイコン２０５がレンズデータ信号ＤＬＣにおけるどのスタートビットＳＴを検出してカメラデータ信号ＤＣＬのフレームをカメラマイコン２０５に送信するかを示す。
【０１７４】
カメラデータ信号ＤＣＬのフレームは、そのビットレートがレンズデータ信号ＤＬＣに比べて遅いため、レンズデータ信号ＤＬＣのフレームに対して徐々に遅延が大きくなる。連続データ通信が行われているために、フレーム間には隙間（非通信時間）がない。したがって、上記遅延が蓄積されることで、両データ信号ＤＣＬ，ＤＬＣ間のずれが１フレーム以上となり、両データ信号ＤＣＬ，ＤＬＣの送信済みのフレーム数に差異が生ずる。また、カメラマイコン２０５が、レンズデータ信号ＤＬＣのスタートビットＳＴを１フレーム飛ばして検出することにより、約１フレームにわたってカメラデータ信号ＤＣＬが送信されない期間が生じる。このような状況が発生すると、カメラマイコン２０５とレンズマイコン１１１との間での通信データ数の管理が困難となったりデータ通信が破綻したりする。
【０１７５】
そこで、本実施例では、図１２（Ａ）および図１６（Ｂ）に示すように、レンズデータ信号ＤＬＣのフレームごとの最終ビットであるストップビットＳＰの数を、カメラデータ信号ＤＣＬのフレームごとのストップビットＳＴの数よりも多くしている。具体的には、カメラデータ信号ＤＣＬのフレームごとのストップビットＳＴの数が１であるに対して、レンズデータ信号ＤＬＣのフレームごとのストップビットＳＰの数を２としている。ストップビット数の違い以外はレンズデータ信号ＤＬＣのデータフォーマットとカメラデータ信号ＤＣＬのデータフォーマットは同じである。このストップビット数の違いにより、レンズデータ信号ＤＬＣの１フレーム（のデータフレーム）のビット数がカメラデータ信号ＤＣＬの１フレームのビット数より多くなる。言い換えれば、レンズデータ信号ＤＬＣの１フレームのビット長がカメラデータ信号ＤＣＬの１フレームのビット長より長くなる。これにより、カメラデータ信号ＤＣＬのビットレートがレンズデータ信号ＤＬＣ信号のそれよりも遅い場合でも、レンズデータ信号ＤＬＣのフレームに対してカメラデータ信号ＤＣＬのフレームのずれが蓄積されることを防止することができる。
【０１７６】
レンズデータ信号ＤＬＣの１フレームのビット長がカメラデータ信号ＤＣＬの１フレームのビット長より長いことで、両データ信号ＤＣＬ，ＤＬＣのビットレートが同一である場合はカメラデータ信号ＤＣＬの方が早く送信完了となる。さらに、ビットレート誤差によってカメラデータ信号ＤＣＬのビットレートがレンズデータ信号ＤＬＣのそれより遅い場合でも、１フレームのビット長差としての１ビットは、ビットレート誤差によるフレームごとの送信時間の差を吸収するには十分な余裕量である。
【０１７７】
なお、カメラデータ信号ＤＣＬのビットレートがレンズデータ信号ＤＬＣのそれよりも速い場合は、上記のようなフレームのずれの問題は生じない。これは、カメラデータ信号ＤＣＬのフレームがレンズデータ信号ＤＬＣのフレームのスタートビットＳＴを検出することに応じて送信されるように設定されているためである。また、カメラ本体２００と交換レンズ１００において設定できるビットレートが僅かに異なる場合であっても、レンズデータ信号ＤＬＣのストップビットＳＰのビット数をさらに増やすことによって対応することが可能である。
【０１７８】
このように本実施例では、第１の通信設定におけるＢＵＳＹ付加モードでは、カメラマイコン２０５は送信要求信号ＲＴＳをネゲートすることで、レンズマイコン１１１に対して通信の休止を通知することができる。また、レンズマイコン１１１は、通信待機要求ＢＵＳＹ（ＢＵＳＹフレーム）をレンズデータ信号ＤＬＣに付加することで通信の休止をカメラマイコン２０５に通知することができる。これにより、カメラマイコン２０５とレンズマイコン１１１はスムーズかつ高速にデータを通信することができる。一方、第１の通信設定における非ＢＵＳＹ付加モードでは、レンズマイコン１１１からカメラマイコン２０５へのバースト通信中にカメラマイコン２０５は送信要求信号ＲＴＳをネゲートすることでレンズマイコン１１１に対して通信の休止を通知することができる。これにより、カメラマイコン２０５とレンズマイコン１１１との間で大量のデータを同期をとりながら高速で通信することができる。
【０１７９】
次に、カメラマイコン２０５とレンズマイコン１１１との間の第２の通信設定について説明する。第２の通信設定では、図１３に示すように、第２のデータ通信チャネルを、通信インタフェース回路２０８ａ，１１２ａ内での通信方向（通信設定）の切替えによってレンズマイコン１１１からカメラマイコン２０５へのレンズデータ送信に用いる。すなわち、第２のデータ通信チャネルの信号回路は、入出力方向の切り替えが可能なように入出力バッファが並列に構成されており、それぞれ排他的に選択可能となっている。以下の説明では、第２のデータ通信チャネルでレンズマイコン１１１からカメラマイコン２０５に信号として送信されるレンズデータを、第２のレンズデータ信号ＤＬＣ２という。また、第２のレンズデータ信号ＤＬＣ２の送信とともに第１のデータ通信チャネルでレンズマイコン１１１からカメラマイコン２０５に送信されるレンズデータ信号ＤＬＣを、第２のレンズデータ信号ＤＬＣ２と区別するため、第１のレンズデータ信号ＤＬＣという。
【０１８０】
第２の通信設定では、第１および第２のデータ通信チャネルをともにレンズデータ信号のカメラマイコン２０５への連続通信（バースト通信）に用いる。これにより、第１の通信設定における非ＢＵＳＹ付加モードに比べてさらに高速で大量のデータの通信を可能とする。
【０１８１】
ただし、第１の通信設定から第２の通信設定への切替えに際して、第２のデータ通信チャネルでのカメラマイコン２０５から送信されるカメラデータ信号ＤＣＬとレンズマイコン１１１から送信されるレンズデータ信号ＤＬＣ２との衝突を回避する必要がある。このため、本実施例では、カメラマイコン２０５およびレンズマイコン１１１は、互いに連携を取り合いながら予め定められた手順で通信設定の切替え処理を行う。
【０１８２】
図１４には、カメラマイコン２０５内のカメラデータ送受信部２０８ｂ′およびレンズマイコン１１１内のレンズデータ送受信部１１２ｂ′の構成を示す。図１４において、図３に示した構成要素と共通する構成要素については、図３と同符号を付して説明に代える。カメラデータ送受信部２０８ｂ′において、１４０１は通信方向切替え部である。通信方向切替え部１４０１は、スイッチ１４０２を切り替えることで、第２のデータ通信チャネルでの通信方向をカメラマイコン２０５がレンズマイコン１１１から送信された第２のレンズデータ信号ＤＬＣ２を受信する方向に切り替える。この後、カメラマイコン２０５は、第２のデータ通信チャネルでレンズマイコン１１１から受信した第２のレンズデータ信号ＤＬＣ２をシリアル−パラレル変換部３０６でシリアルデータからパラレルデータに変換し、受信データ用バッファ３０３に格納する。なお、受信データ用バッファ３０３には、第１のデータ通信チャネルで受信されてシリアル−パラレル変換部３０６にてシリアルデータからパラレルデータに変換された第１のレンズデータ信号ＤＬＣも格納される。受信データ用バッファ３０３に格納された第２のレンズデータ信号ＤＬＣ２は、ＤＭＡ制御部３０７により読み出され、メモリ２１０に転送されて格納される。
【０１８３】
レンズデータ送受信部１１２ｂ′において、１４１１は通信方向切替え部である。通信方向切替え部１４１１は、スイッチ１４１２を切り替えることで、第２のデータ通信チャネルでの通信方向をレンズマイコン１１１がカメラマイコン２０５に第２のレンズデータ信号ＤＬＣ２を送信する方向に切り替える。この後、レンズマイコン１１１は、送信データ用バッファ３１２に格納した第２のレンズデータ信号ＤＬＣ２をパラレル−シリアル変換部３１５でパラレルデータからシリアルデータに変換し、第２のデータ通信チャネルでカメラマイコン２０５に送信する。なお、レンズマイコン１１１は、送信データ用バッファ３１２に格納した第１のレンズデータ信号ＤＬＣ２をパラレル−シリアル変換部３１５でパラレルデータからシリアルデータに変換し、第１のデータ通信チャネルでカメラマイコン２０５に送信する。
【０１８４】
次に、第２の通信設定での通信の手順について説明する。図１５（Ａ）には、第２の通信設定においてカメラマイコン２０５とレンズマイコン１１１との間でやり取りされる信号の波形を示している。図１５（Ａ）には、最小通信単位である１フレームが連続して３フレーム通信される際の信号波形を示している。
【０１８５】
第２の通信設定では、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の各フレームは、第１の通信設定における非ＢＵＳＹ付加モードと同様に、データフレームのみで構成され、ＢＵＳＹフレームは存在しない。つまり、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２は、レンズマイコン１１１からカメラマイコン２０５に通信待機要求ＢＵＳＹを通知することができないデータフォーマットを有する。また、第２の通信設定は、レンズマイコン１１１からカメラマイコン２０５へのデータ転送のみで使用される通信設定として特化されており、この第２の通信設定ではカメラマイコン２０５からレンズマイコン１１１へのデータ転送はできない。また、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２は、第１の通信設定における非ＢＵＳＹ付加モードと同様に、前フレームのストップビットＳＰと次フレームのスタートビットＳＴとの間を空けずに連続した通信が可能なデータフォーマットを有する。
【０１８６】
なお、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のデータフレームは、互いに同一のデータフォーマットを有し、１フレームのビット長を互いに同じ長さとしている。これは、これらの通信途中に休止が発生した場合に、送信されたフレーム数を同じとして管理することが目的である。ただし、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のデータフレームのビット位置の相対関係は必ずしも一致させる必要はなく、相互のビット位置のずれ量が１フレーム長を超えない範囲であれば許容される。
【０１８７】
図１５（Ｂ）には、第２の通信設定において、レンズマイコン１１１が合計ｎフレームの第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２を連続してカメラマイコン２０５に送信する場合（すなわちバースト通信を行う場合）の信号の波形を示している。
【０１８８】
カメラマイコン２０５は、レンズマイコン１１１との通信を開始するイベントが発生すると、送信要求信号ＲＴＳをアサートする。その後、カメラマイコン２０５は、送信要求信号ＲＴＳを１フレームごとにネゲートする必要はなく、連続してデータ送受信が可能な状態である間は送信要求信号ＲＴＳのアサート状態を維持する。
【０１８９】
レンズマイコン１１１は、送信要求信号ＲＴＳのアサートにより送信要求を検出すると、カメラマイコン２０５に送信する第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の生成処理を行う。そして、これら第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の送信準備が整うと、第１のデータ通信チャネルでの第１のレンズデータ信号ＤＬＣの１フレーム目ＤＬ１のカメラマイコン２０５への送信を開始する。またこれと同時に、第２のデータ通信チャネルでの第２のレンズデータ信号ＤＬＣ２の２フレーム目ＤＬ２のカメラマイコン２０５への送信を開始する。
【０１９０】
第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の１および２フレーム目ＤＬ１，ＤＬ２の送信が完了した後、レンズマイコン１１１は送信要求信号ＲＴＳの状態を確認する。送信要求信号ＲＴＳがアサート状態であった場合には、レンズマイコン１１１は、１および２フレーム目に続けて第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の３および４フレーム目ＤＬ３，ＤＬ４のカメラマイコン２０５への送信を開始する。このようにして、カメラマイコン２０５により送信要求信号ＲＴＳのアサート状態が維持されることにより、レンズマイコン１１１は第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の合計ｎフレームのカメラマイコン２０５への連続送信を行うことができる。
【０１９１】
第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の合計フレーム数ｎを偶数として取り決めることで、第１および第２のデータ通信チャネルのそれぞれでレンズマイコン１１１からカメラマイコン２０５に送信されるフレーム数は同数になる。なお、図１５（Ｂ）では、第１のデータ通信チャネルで送信される第１のレンズデータ信号ＤＬＣを奇数フレームのみで構成し、第２のデータ通信チャネルで送信される第２のレンズデータ信号ＤＬＣ２を偶数フレームのみで構成した。しかし、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２はこれ以外のフレーム構成を有していてもよい。
【０１９２】
図１５（Ｃ）には、図１５（Ｂ）に示した第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の連続送信中にカメラマイコン２０５およびレンズマイコン１１１からそれぞれ通信休止が指示された場合の信号波形を示す。カメラマイコン２０５による送信要求信号ＲＴＳのアサートに応じてレンズマイコン１１１が第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の送信を開始した後、フレームＤＬ１１，ＤＬ１２の送信中にカメラマイコン２０５から通信休止が指示される。Ｔ４ｗ１はカメラマイコン２０５により通信休止が指示された期間である通信休止期間を示す。該指示は、カメラマイコン２０５が送信要求信号ＲＴＳを一時的にネゲートすることでレンズマイコン１１１に通知される。
【０１９３】
レンズマイコン１１１は、送信要求信号ＲＴＳがネゲートされたことを検出すると、その検出時点で送信途中の第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のフレーム（以下、休止フレームという）ＤＬ１１，ＤＬ１２の送信を完了した後、送信を休止する。
【０１９４】
カメラマイコン２０５は、通信休止の要求イベントがなくなると、送信要求信号ＲＴＳを再びアサートすることでレンズマイコン１１１に対して通信再開を指示する。通信再開指示に応じて、レンズマイコン１１１は、休止フレームの次のフレーム（以下、再開フレームという）ＤＬ１３，ＤＬ１４から第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の送信を再開する。
【０１９５】
レンズマイコン１１１は、再開フレームＤＬ１３，ＤＬ１４とそれに続くフレームＤＬ１５，ＤＬ１６およびフレームＤＬ１７，ＤＬ１８の順で連続送信を行う。そして、フレームＤＬ１７，ＤＬ１８の送信を終了した時点で通信休止要求イベントが発生することで、レンズマイコン１１１はカメラマイコン２０５に対して通信休止を通知する。Ｔ４ｗ２はレンズマイコン１１１から通信休止が通知された期間である通信休止期間を表している。レンズマイコン１１１からの通信休止の通知は、レンズマイコン１１１が、送信要求信号ＲＴＳがアサート状態であっても第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２を送信しないことで行う。なお、カメラマイコン２０５は、レンズマイコン１１１からの指示による通信休止期間Ｔ４ｗ２中は送信要求信号ＲＴＳをアサート状態に維持する。
【０１９６】
その後、レンズマイコン１１１内での通信休止要求イベントがなくなると、レンズマイコン１１１は、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の次の再開フレームＤＬ１９，ＤＬ２０からカメラマイコン２０５への送信を再開する。これにより、レンズマイコン１１１は、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のうち送信休止により未送信であったフレームをカメラマイコン２０５に送信することができる。
【０１９７】
このように、第２の通信設定においては、レンズマイコン１１１からカメラマイコン２０５への第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の送信を休止することで、カメラマイコン２０５とレンズマイコン１１１との間の通信を休止することができる。これにより、レンズマイコン１１１からカメラマイコン２０５に対して大量のデータを同期をとりながら高速で通信することができる。
【０１９８】
ユーザが意図したタイミングで撮像を行えるようにするためには、ユーザによる撮像指示操作（レリーズ操作）から撮像が行われるまでのレリーズタイムラグを小さくすることが求められる。レリーズタイムラグを小さくするためには、カメラマイコン２０５とレンズマイコン１１１との間で必要な情報を高速に通信する必要がある。したがって、第１および第２の通信設定のいずれにおいても、通信エラーが発生した際に速やかに正常な通信が再開できるようにする必要がある。
【０１９９】
このため、本実施例では、カメラマイコン２０５により検出された通信エラーの回数（頻度）に応じてカメラ本体２００と交換レンズ１００との間の接続を確認するための接続確認通信を行う周期を変更する。
【０２００】
図１７のフローチャートには、第１の通信設定における非ＢＵＳＹ付加モードにおいて、カメラマイコン２０５が通信エラーの発生時に行うエラー処理を示す。カメラマイコン２０５は、コンピュータプログラムである通信制御プログラムに従って本処理を実行する。ここでは、カメラマイコン２０５は、送信要求信号ＲＴＳのアサートした後にこれを維持してバースト通信を行うものとする。また、通信エラーとしてパリティエラーを検出する場合について説明する。ただし、通信エラーはフレーミングエラー等、他のエラーでもよい。
【０２０１】
ステップ（図ではＳと略記する）１７００において、カメラマイコン２０５は、レンズマイコン１１１から受信したレンズデータ信号ＤＬＣのパリティを計算する。次にステップ１７０１では、カメラマイコン２０５は、パリティの計算結果にエラー（パリティエラー）があるか否かを判定する。パリティエラーがない場合は、カメラマイコン２０５は、ステップ１７１９に進み、所定のフレーム数（全フレーム）のレンズデータ信号ＤＬＣを受信し終わった場合はステップ１７２０にて通信待機（ＩＤＬＥ）状態になる。全フレームのレンズデータ信号ＤＬＣを受信し終わっていない場合は、カメラマイコン２０５はステップ１７００に戻る。
【０２０２】
一方、ステップ１７０１にてパリティエラーを検出した場合は、カメラマイコン２０５は、ステップ１７０２にてパリティエラーの検出回数（以下、パリティエラー数という）を数える。ここでは、カメラマイコン２０５は、パリティエラーを検出するごとにパリティエラー数をカウントアップする。
【０２０３】
続いてステップ１７０３では、カメラマイコン２０５は、パリティエラー数が閾値Ｎ以上か否かを判定し、閾値Ｎより少ない場合は、ステップ１７０４にて送信要求信号ＲＴＳを一時的にネゲートしてバースト通信を一旦停止させる。その後（所定時間の経過後）、カメラマイコン２０５は、ステップ１７０５にて送信要求信号ＲＴＳをアサートしてバースト通信を再開させる。ここにいうバースト通信の再開は、カメラマイコン２０５がレンズマイコン２０５にバースト通信の一旦停止時のフレームである休止フレームの次の再開フレームから再び行わせることである。他のステップにいうバースト通信の再開も同じである。なお、本実施例においてはバースト通信を最初からやり直してもよい。
【０２０４】
また、ステップ１７０３にてパリティエラー数が閾値Ｎ以上である場合は、カメラマイコン２０５はステップ１７０６に進み、パリティエラー数が閾値Ｍ以上か否かを判定する。パリティエラー数が閾値Ｍ（ただし、Ｍ＞Ｎ）より少ない場合は、カメラマイコン２０５はステップ１７０７にて送信要求信号ＲＴＳを一時的にネゲートしてバースト通信を一旦停止させる。そして、カメラマイコン２０５は、ステップ１７０８にてレンズマイコン１１１との間で接続確認通信を行う。接続確認通信は、１フレームのカメラデータ信号ＤＣＬをレンズマイコン１１１に送信し、これに応答したレンズマイコン１１１からの１フレームのレンズデータ信号ＤＬＣを受信することで行う。また、カメラマイコン２０５は、接続確認通信を行ってからの時間の計測を開始する。
【０２０５】
カメラマイコン２０５は、ステップ１７０９にて接続確認通信によってレンズマイコン１１１との接続が確認できたか否かを判定する。レンズマイコン１１１との接続が確認できない場合は、カメラマイコン２０５は、ステップ１７１０にて交換レンズ１００に供給している電源を遮断する。この場合、カメラマイコン２０５は、正常な接続および通信を回復させるために交換レンズ１００の電源の再立ち上げを行う。
【０２０６】
一方、ステップ１７０９にてレンズマイコン１１１との接続が確認できた場合は、カメラマイコン２０５は、ステップ１７１１において、ステップ１７０８から計測された時間が所定周期（第１の周期）Ａに達したか否かを判定する。所定周期Ａに達した場合は、カメラマイコン２０５は、ステップ１７０７を経てステップ１７０８に戻り、レンズマイコン１１１との接続確認通信を再度行う。
【０２０７】
また、ステップ１７１１において、ステップ１７０８から計測した時間が所定周期Ａに達しない場合は、カメラマイコン２０５は、ステップ１７１２に進み、送信要求信号ＲＴＳをアサートしてバースト通信を再開させる。そして、カメラマイコン２０５は、ステップ１７１１に戻り、ステップ１７０８から計測した時間が所定周期Ａに達するとステップ１７０７を経てステップ１７０８に戻り、レンズマイコン１１１との接続確認通信を再度行う。こうしてカメラマイコン２０５は、パリティエラー数がＭより少なくＮ以上である場合は所定周期Ａでレンズマイコン１１１との接続確認通信を行う。
【０２０８】
また、ステップ１７０６にてパリティエラー数が閾値Ｍ以上である場合は、カメラマイコン２０５は、ステップ１７１１にて送信要求信号ＲＴＳを一時的にネゲートしてバースト通信を一旦停止させる。そして、カメラマイコン２０５は、ステップ１７１４において、ステップ１７０８と同様にレンズマイコン１１１との間で接続確認通信を行う。また、カメラマイコン２０５は、接続確認通信を行ってからの時間の計測を開始する。
【０２０９】
カメラマイコン２０５は、ステップ１７１５にて接続確認通信によってレンズマイコン１１１との接続が確認できたか否かを判定する。レンズマイコン１１１との接続が確認できない場合は、カメラマイコン２０５は、ステップ１７１６にて交換レンズ１００に供給している電源を遮断する。この場合も、カメラマイコン２０５は、正常な接続および通信を回復させるために交換レンズ１００の電源の再立ち上げを行う。
【０２１０】
一方、ステップ１７１５にてレンズマイコン１１１との接続が確認できた場合は、カメラマイコン２０５は、ステップ１７１７において、ステップ１７１４から計測された時間が所定周期（第２の周期）Ｂに達したか否かを判定する。所定周期Ｂは、所定周期Ａよりも短い周期である。ステップ１７１４から計測された時間が所定周期Ｂに達した場合は、カメラマイコン２０５は、ステップ１７０７を経てステップ１７０８に戻り、レンズマイコン１１１との接続確認通信を再度行う。
【０２１１】
また、ステップ１７１１において、ステップ１７１４から計測した時間が所定周期Ｂに達しない場合は、カメラマイコン２０５は、ステップ１７１８に進み、送信要求信号ＲＴＳをアサートしてバースト通信を再開させる。そして、カメラマイコン２０５は、ステップ１７１７に戻り、ステップ１７１４から計測した時間が所定周期Ｂに達するとステップ１７１３を経てステップ１７１４に戻り、レンズマイコン１１１との接続確認通信を再度行う。こうしてカメラマイコン２０５は、パリティエラー数がＭ以上である場合は、所定周期Ｂで接続確認通信を行う。
【０２１２】
このように第１の通信設定では、カメラマイコン２０５は、パリティエラー数がＭより少なくＮ以上である場合は所定周期Ａでレンズマイコン１１１との接続確認通信を行う。また、パリティエラー数がＭ以上である場合はより所定周期Ａより短い所定周期Ｂで接続確認通信を行う。すなわち、カメラマイコン２０５は、通信エラーの検出回数が多いほどレンズマイコン１１１との接続確認通信をより短い周期で行うことにより、できるだけ交換レンズ１００の電源の遮断に至らないようにして短時間でバースト通信を完了させることができる。つまりは、交換レンズ１００を電源オフ状態から再起動させなくても、カメラマイコン２０５とレンズマイコン１１１との通信を再開することができる。
【０２１３】
図１８のフローチャートには、第２の通信設定において、カメラマイコン２０５が通信エラーの発生時に行う処理を示す。また、図１８には、通信設定が第２の通信設定から第１の通信設定に切り替えられた場合においてカメラマイコン２０５が通信エラーの発生時に行う処理も併せて示している。カメラマイコン２０５は、コンピュータプログラムである通信制御プログラムに従って本処理を実行する。ここでも、カメラマイコン２０５は、送信要求信号ＲＴＳのアサートした後にこれを維持してバースト通信を行うものとする。また、通信エラーとしてパリティエラーを検出する場合について説明する。ただし、通信エラーはフレーミングエラー等、他のエラーでもよい。
【０２１４】
ステップ１８００において、カメラマイコン２０５は、レンズマイコン１１１から受信したレンズデータ信号ＤＬＣのパリティを計算する。次にステップ１８０１では、カメラマイコン２０５は、パリティの計算結果にエラー（パリティエラー）があるか否かを判定する。パリティエラーがない場合は、カメラマイコン２０５は、ステップ１８１６に進み、所定のフレーム数（全フレーム）のレンズデータ信号ＤＬＣを受信し終わった場合はステップ１８１７にて通信待機（ＩＤＬＥ）状態になる。全フレームのレンズデータ信号ＤＬＣを受信し終わっていない場合は、カメラマイコン２０５はステップ１８００に戻る。
【０２１５】
一方、ステップ１８０１にてパリティエラーを検出した場合は、カメラマイコン２０５は、ステップ１８０２にて現在の通信設定が第１の通信設定か第２の通信設定かを判定する。カメラマイコン２０５は、現在の通信設定が第２の通信設定である場合はステップ１８０３に進む。
【０２１６】
ステップ１８０３では、カメラマイコン２０５は、パリティエラー数を数える。すなわち、カメラマイコン２０５は、パリティエラーを検出するごとにパリティエラー数をカウントアップする。
【０２１７】
続いてステップ１８０４では、カメラマイコン２０５は、パリティエラー数が閾値Ｎ以上か否かを判定し、閾値Ｎより少ない場合は、ステップ１８０５にて送信要求信号ＲＴＳを一時的にネゲートしてバースト通信を一旦停止させる。その後（所定時間の経過後）、カメラマイコン２０５は、ステップ１８０６にて送信要求信号ＲＴＳをアサートしてバースト通信を再開させる。ここにいうバースト通信の再開も、カメラマイコン２０５がレンズマイコン２０５にバースト通信の一旦停止時のフレームである休止フレームの次の再開フレームから再び行わせるこことである。他のステップにいうバースト通信の再開も同じである。なお、本実施例においてはバースト通信を最初からやり直してもよい。
【０２１８】
また、ステップ１８０４にてパリティエラー数が閾値Ｎ以上である場合は、カメラマイコン２０５はステップ１８０７に進み、送信要求信号ＲＴＳをネゲートしてバースト通信を一旦停止させる。そして、カメラマイコン２０５は、ステップ１８０８にて送信要求信号ＲＴＳのネゲートを所定時間（ここでは例として１０ｍｓとする）の間維持し、その後、ステップ１８０９にて通信設定を第２の通信設定から第１の通信設定に切り替える。この際、カメラマイコン２０５は、レンズマイコン１１１に対して、第２の通信設定から第１の通信設定への切替えを指示する（Ｓ１８０８）。
【０２１９】
そして、カメラマイコン２０５は、ステップ１８１０に進み、送信要求信号ＲＴＳをアサートしてバースト通信を再開させる。
【０２２０】
カメラマイコン２０５は、ステップ１８１０での通信を再開した後にステップ１８０１でエラーを検出した場合は、再び現在の通信設定が第１の通信設定か第２の通信設定かを判定する。現在の通信設定が第１の通信設定である場合は、ステップ１８１１に進み、送信要求信号ＲＴＳを一時的にネゲートしてバースト通信を一旦停止させる。そして、カメラマイコン２０５は、ステップ１８１２にてレンズマイコン１１１との間で接続確認通信を行う。接続確認通信は、図１７のステップ１７０８，１７１４で行う接続確認通信と同じである。
【０２２１】
続いてカメラマイコン２０５は、ステップ１８１３にて接続確認通信によってレンズマイコン１１１との接続が確認できたか否かを判定する。レンズマイコン１１１との接続が確認できない場合は、カメラマイコン２０５は、ステップ１８１５にて交換レンズ１００に供給している電源を遮断する。この場合、カメラマイコン２０５は、正常な接続および通信を回復させるために交換レンズ１００の電源の再立ち上げを行う。
【０２２２】
また、ステップ１８１３にてレンズマイコン１１１との接続が確認できた場合は、カメラマイコン２０５は、ステップ１８１４に進み、送信要求信号ＲＴＳをアサートしてバースト通信を再開させる。
【０２２３】
このように本実施例では、パリティエラー数がＮ以上である場合は通信設定を第２の通信設定から第１の通信設定に切り替える。これにより、通信エラーが頻発する第２の通信設定（つまりは第２のデータ通信チャネル）を使用せずにレンズマイコン１１１からのデータ受信を継続することができる。
【０２２４】
なお、本実施例において、交換レンズ１００が調歩同期式シリアル通信に非対応でクロック同期式シリアル通信にのみ対応する場合には、カメラマイコン２０５は該交換レンズのレンズマイコンとクロック同期式で通信を行うようにしてもよい。
【０２２５】
さらに、本実施例において、中間アクセサリとしてのエクステンダをカメラ本体２００と交換レンズ１００との間に装着してもよい。この場合に、交換レンズ１００がエクステンダから取り外されても、カメラ本体２００にエクステンダが装着されているためにカメラマイコン２０５が交換レンズ１００の取り外しを認識できないおそれがある。このとき、カメラマイコン２０５は、交換レンズ１００に対して調歩同期式で通信を行おうとするが、その通信はエラーとなる。このような場合は、カメラマイコン２０５は、クロック同期式に切り替えることが望ましい。
【０２２６】
本実施例によれば、通信エラーの検出回数に応じて通信設定を変更することで通信エラーが発生し易い通信設定の使用を回避することで、できるだけ通信を初期状態から再起動させずに短時間でバースト通信を完了させることができる。
【０２２７】
次に、通信エラーをより早く検出するためのエラー処理について説明する。ここでは、カメラ制御部が通信エラーの検出回数（頻度）に応じてパリティビットを付加するフレームを変更する撮像装置の実施例について説明する。カメラ制御部は、パリティビットを付加する際にデータ通信速度を変更してもよい。
【０２２８】
図１９には、第２の通信設定におけるバースト通信時に通信エラーが発生した場合の信号波形（タイミングチャート）を示す。この図に示すバースト通信では、実効通信時間を短くするために各フレームにパリティビットを付加していない。カメラマイコン２０５は、バースト通信が完了した時点で算出したチェックサムにより、通信エラーの発生の有無を判断する。このため、通信エラーがバースト通信の開始から２つ目のフレーム中（図中に×印で示すデータ箇所）であったとしても、最後までバースト通信が行われ、バースト通信が終了した時点で通信エラーが検出された場合は再度バースト通信を行う。このことは第１の通信設定においても同様である。しかし、これではバースト通信全部を少なくとも２回繰り返す必要があり、通信完了までに時間を要する。
【０２２９】
図２０のフローチャートには、本実施例における第２の通信設定における通信エラーの発生時にカメラマイコン２０５が行う処理（エラー処理）の流れを示している。ここでは、最初に検出する通信エラーはチェックサムエラーとする。ただし、最初に検出する通信エラーはチェックサムエラー以外のエラーであってもよい。カメラマイコン２０５は、コンピュータプログラムである通信制御プログラムに従って本処理を実行する。
【０２３０】
カメラマイコン２０５は、送信要求信号ＲＴＳをアサートしてこれを維持することで、バースト通信を開始する。ステップ（図ではＳと略記する）２０００では、カメラマイコン２０５は、バースト通信が完了したか否かを判定し、完了していない場合はステップ２００１に進む。
【０２３１】
ステップ２００１では、カメラマイコン２０５は、レンズマイコン１１１から受信した第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のチェックサムを計算する。カメラマイコン２０５は、各フレームのデータＤ０〜Ｄ７に対してチェックサムを計算する。
【０２３２】
次にステップ２００２において、カメラマイコン２０５は、計算したチェックサムにおけるエラー（チェックサムエラー）の有無を判定する。チェックサムエラーがあると判定した場合は、カメラマイコン２０５は、ステップ２００３において第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の各フレームにパリティビット（ＰＡ）を付加する。さらに、カメラマイコン２０５は、ステップ２００４において、カメラマイコン２０５とレンズマイコン１１１との間での通信速度である通信ビットレートを変更する。具体的には、通信ビットレートを変更前よりも高くする。そして、カメラマイコン２０５は、ステップ２００５において、変更後の通信ビットレートでバースト通信を開始する。
【０２３３】
この後、カメラマイコン２０５は、ステップ２００６において、バースト通信中に各フレームに付加したパリティビットを用いてパリティエラーの有無を判定する。パリティエラーを検出した場合は、カメラマイコン２０５は、ステップ２００９にてパリティエラーを検出したフレーム数（つまりは通信エラーの検出回数：以下、パリティエラーフレーム数という）を算出する。そして、カメラマイコン２０５は、ステップ２０１０において、パリティエラーフレーム数に応じて次回のバースト通信においてパリティビットを付加するフレームを選択する。例えば、パリティエラーフレーム数が所定値（閾値）以上であれば全フレームへのパリティビットの付加を維持し、パリティエラーフレーム数が閾値より少なければ２フレームごとにパリティビットを付加するようにパリティビットを付加するフレームを選択する。このように、本実施例では、通信エラーの検出回数に応じてパリティビットを付加するフレームを変更する。
【０２３４】
ステップ２０１１では、カメラマイコン２０５は今回のバースト通信が完了したか否かを判定し、今回のバースト通信が完了していなければステップ２００６に戻り、完了していればステップ２００８に進む。
【０２３５】
一方、ステップ２００６においてパリティエラーがないと判定した場合は、カメラマイコン２０５は、ステップ２００７に進み、今回のバースト通信が完了したか否かを判定する。カメラマイコン２０５は、今回のバースト通信が完了していなければステップ２００６に戻り、完了していればステップ２００８に進む。
【０２３６】
ステップ２００８では、カメラマイコン２０５は、次回にバースト通信される第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２に対してパリティビットを付加する。この際、カメラマイコン２０５は、ステップ２０１０を経てステップ２００８に進んだ場合は、ステップ２０１０で選択されたフレームにのみパリティビットを付加する。この後、カメラマイコン２０５は、ステップ２００４に戻る。これにより、次のステップ２００５で、次回のバースト通信（選択されたフレームにのみパリティビットが付加された第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のバースト通信）が行われる。
【０２３７】
一方、ステップ２００７からステップ２００８に進んだカメラマイコン２０５は、次回にバースト通信される第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２に対するパリティビットの付加を解除してステップ２００４に戻る。この際、カメラマイコン２０５は、次の通信のためにステップ２００４で変更した通信ビットレートを元に戻す。さらに、通信エラーの検出は、チェックサムを用いて行う。
【０２３８】
以上の処理を、カメラマイコン２０５は、全てのバースト通信が完了するまで繰り返す。
図２１には、上述したエラー処理におけるステップ２００３でパリティビットＰＡ（Parity）が付加された第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２を示している。ステップ２００３では、カメラマイコン２０５は、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のすべてのフレームにパリティビットＰＡを付加する。また、カメラマイコン２０５は、パリティビットＰＡを付加する前の通信ビットレートをレートＡとし、パリティビットＰＡを付加した後の通信ビットレートをレートＢとすると、
レートＡ＜レートＢ
としてバースト通信を行う。
【０２３９】
これにより、例えば通信エラー（パリティエラー）がバースト通信における２つ目のフレーム中（図２１中の×印で示すデータ箇所）で検出されると、バースト通信を最後まで行わず、そのフレームで中断する。そして各フレームにパリティビットＰＡを付加して速やかにバースト通信を再開する。さらに、この後は付加したパリティビットを用いて通信エラー（パリティエラー）を検出することで、バースト通信を一旦中断させた後、速やかに再開させることができる。このため、全てのバースト通信を短時間で完了することができる。
【０２４０】
また、図２２には、図２０で説明したエラー処理におけるステップ２０１０でパリティビットＰＡ（Parity）が付加された第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２を示している。ステップ２０１０では、カメラマイコン２０５は、第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２の全フレームのうち離散的に選択したフレーム（例えば２フレームごと）にパリティビットＰＡを付加する。このように、パリティビットをすべてのフレームではなく離散的に選択したフレームに付加することで、通信速度を高くしなくても通信に要する時間を短くすることができる。
【０２４１】
本実施例によれば、通信エラーの検出回数に応じてパリティビットを付加するフレームを変更することで、必要に応じた数のフレームにのみパリティビットを付加することができる。これによりバースト通信の途中で通信エラーを検出することができるとともに、通信時間を短縮することができる。
【０２４２】
なお、ここでは第２の通信設定でのバースト通信でのエラー処理について説明したが、第１の通信設定でのバースト通信でも同様のエラー処理を行うことができる。
【実施例５】
【０２４３】
次に、本発明の実施例５について説明する。本実施例は、実施例４の変形例であり、カメラ制御部が通信エラーの検出回数（頻度）に応じてデータ通信（バースト通信）におけるデータ長（バースト長）を変更する撮像装置の実施例である。
【０２４４】
図２３のフローチャートには、本実施例において第２の通信設定における通信エラーの発生時にカメラマイコン２０５が行う処理（エラー処理）の流れを示している。カメラマイコン２０５は、コンピュータプログラムである通信制御プログラムに従って本処理を実行する。ここでは、最初に検出する通信エラーはチェックサムエラーとする。ただし、最初に検出する通信エラーはチェックサムエラー以外のエラーであってもよい。
【０２４５】
図２３のフローチャートにおけるステップ２０００〜２００７、ステップ２００９およびステップ２０１１は、実施例４において説明した図２０のフローチャートにおけるステップ２０００〜２００７、ステップ２００９およびステップ２０１１と同じである。
【０２４６】
ステップ２３０１では、カメラマイコン２０５は、ステップ２００９にて算出したパリティエラーフレーム数に応じて、次回のバースト通信のデータ長（バースト長）を算出する。例えば、パリティエラーフレーム数が所定値（閾値）より少なければバースト長を標準（図１９に示すＮ）とし、パリティエラーフレーム数が閾値以上であればバースト長を標準より短くする。このように、本実施例では、通信エラーの検出回数に応じてバースト長を変更する。
【０２４７】
そして、ステップ２０１１にて今回のバースト通信が完了したと判定したカメラマイコン２０５は、ステップ２３０２に進む。ステップ２３０２では、カメラマイコン２０５は、次回にバースト通信される第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２のバースト長をステップ２３０１で算出したバースト長に設定（変更）する。さらに、カメラマイコン２０５は、ステップ２３０３にて、パリティビットの付加を解除してステップ２００４に戻る。これにより、次のステップ２００５で、次回のバースト通信（バースト長が変更されたバースト通信）が行われる。
【０２４８】
一方、ステップ２００７で今回のバースト通信が完了したと判定してステップ２３０３に進んだカメラマイコン２０５は、次回にバースト通信される第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２に対するパリティビットの付加を解除する。そして、ステップ２００４に戻る。この際、カメラマイコン２０５は、次の通信のためにステップ２００４で変更した通信ビットレートを元に戻す。
【０２４９】
以上の処理を、カメラマイコン２０５は、全てのバースト通信が完了するまで繰り返す。
【０２５０】
図２４には、上述したエラー処理におけるステップ２３１０，２３１２でバースト長が変更された第１および第２のレンズデータ信号ＤＬＣ，ＤＬＣ２を示している。この図では、１回のバースト通信のデータ長を標準より小さく変更した例を示しており、変更後のバースト長は「３」である。
【０２５１】
以上説明したエラー処理によれば、例えば通信エラー（パリティエラー）がバースト通信における２つ目のフレーム中（図１９中の×印で示すデータ箇所）で検出されると、バースト通信を最後まで行わず、そのフレームで中断する。そして、図２１に示したように各フレームにパリティビットＰＡを付加して速やかにバースト通信を再開する。さらに、この後のパリティエラーの検出回数が所定値以上となると、次回のバースト通信のバースト長を短くする。この際、パリティビットの付加を行わない。すなわち、各フレームにパリティビットを付加せずに１回のバースト通信におけるバースト長を短くして短い間隔でバースト通信を繰り返すことで、チェックサムエラーを早期に検出可能とする。これらにより、全てのバースト通信を短時間で完了することができる。
【０２５２】
なお、次回以降のバースト通信で通信エラーが検出されなくなったときに、バースト長を標準に戻す等、変更後のバースト長より大きい値に再度変更してもよい。
【０２５３】
本実施例によれば、通信エラーの検出回数に応じてバースト長を変更することで、通信エラーをより検出し易くすることができ、この結果、通信時間を短縮することができる。
【０２５４】
なお、ここでは第２の通信設定でのバースト通信でのエラー処理について説明したが、第１の通信設定でのバースト通信でも同様のエラー処理を行うことができる。
【実施例６】
【０２５５】
次に、本発明の実施例６について説明する。調歩同期式シリアル通信においては、正しくデータ通信を行うために、送信側のデータ送出タイミングと受信側のデータサンプリングタイミングの位相関係をある許容範囲内に収める必要がある。ただし、この位相関係は、カメラ本体と交換レンズのそれぞれにおいて生成されるクロック信号の安定度に応じてずれていく。このため、通信中に正しく受信データをサンプリングできなくなることがないように、１回に通信できるデータ量を制約している。大量のデータ通信を行う場合は、通信を複数回に分割して行う必要があり、この結果、実効通信レートが低くなる。そこで、ボーレートを設定した後、１フレームごとの時間長を検出して、該時間長に応じてボーレートを更新することで、送信側と受信側の位相関係のずれを補正できるとも考えられる。
【０２５６】
しかし、１回で通信できる最大データ量（フレーム数）が改善されても、１フレームにて送れるデータサイズが制約されていると、通信するデータ量を増やすにはフレーム数を増やす必要がある。この場合、フレームごとに送信側のデータ送出タイミングと受信側のデータサンプリングタイミングの位相を調整するためのビットが挿入されることになり、この結果、実効通信レートが低くなる。
【０２５７】
そこで、本実施例では、通信するデータ量を増やしつつ、実効通信レートをより向上させることができるようにした通信処理（通信制御）を行う。本実施例は、以下のような撮像装置の実施例の１つである。撮像装置は、アクセサリ装置から少なくとも１つのフレームにより構成されるレンズデータを受信し、アクセサリ装置に少なくとも１つのフレームにより構成されるカメラデータを送信する。レンズデータおよびカメラデータのそれぞれの各フレームは、開始フィールド、データフィールドおよび終了フィールドを含む。該撮像装置のカメラ制御部は、該撮像装置の個体情報とアクセサリ装置から取得した該アクセサリ装置の個体情報に応じて、少なくともデータフィールドの構成を変更する。データフィールドとともに、終了フィールドの構成を変更してもよい。
【０２５８】
撮像装置およびアクセサリ装置の個体情報とは、例えば、これらが内部で生成するクロック信号の安定度に関する情報や、撮像装置およびアクセサリ装置の温度に関する情報である。また、撮像装置およびアクセサリ装置が対応可能なボーレートに関する情報も個体情報に含まれる。さらに、データフィールド（および終了フィールド）の構成を変更するとは、例えば、該フィールドのデータ長（ビット数）を変更することである。なお、この場合に、撮像装置によるカメラデータの送出タイミングとアクセサリ装置によるカメラデータのサンプリングタイミングとの位相関係が許容範囲に収まるようにデータフィールドの構成を変更することが望ましい。アクセサリ装置によるアクセサリデータの送出タイミングと撮像装置によるアクセサリデータのサンプリングタイミングとの位相関係が許容範囲に収まるようにデータフィールドの構成を変更することが望ましい。
【０２５９】
図４（Ａ）や図１２（Ａ）で示したように、１フレームにおけるデータフィールドは、送信側のデータ送出タイミングと受信側のデータサンプリングタイミングの位相関係をある許容範囲内に収める必要があるため、通常は８ビットで規定されている。この位相関係は、前述したようにカメラ本体２００と交換レンズ１００がそれぞれ生成するクロック信号の安定度（以下、クロック安定度という）に応じてずれていく。しかし、カメラ本体２００と交換レンズ１００は多種多様なものがあり、クロック安定度が高くデータフィールドのビット数を増やしても位相関係を許容範囲内に収めることが可能な組み合わせが存在する。また、クロック安定度は温度に影響を受けて変化することが知られている。以下、データフィールドの構成を変更することで、実効通信レートを向上させる方法について説明する。
【０２６０】
本実施例のカメラ本体２００および交換レンズ１００は、例えば図２で示した構成を有する。すなわち、カメラ本体２００および交換レンズ１００はそれぞれ、クロック生成部２１２，１４１およびボーレート生成部２１１，１４０を有する。さらに、カメラマイコン２０５およびレンズマイコン１１１はそれぞれ、カメラおよびレンズエラー検出部２０５１，１０９１を含む。
【０２６１】
図２５（Ａ）には、実施例１で説明した第１の通信設定において最小の通信単位である１フレームのデータフィールドを拡張したときのレンズデータ信号ＤＬＣおよびカメラデータ信号ＤＣＬの波形を示している。レンズデータ信号ＤＬＣおよびカメラデータ信号ＤＣＬのそれぞれの１フレームは、開始フィールド、拡張されたデータフィールドおよび終了フィールドを含む。本実施例における拡張されたデータフィールドは、２ビット目から１３ビット目までの１２ビットのデータにより構成されている。本実施例におけるデータのビット配列は、ＭＳＢファーストフォーマットとして、最上位のデータＤ１１から始まり最下位のデータＤ０で終わる。開始フィールドと終了フィールドは、実施例１で説明した通りである。
【０２６２】
なお、本実施例ではデータフィールドを１２ビットで構成する場合について説明するが、これは例である。すなわち、カメラマイコン２０５とレンズマイコン１１１のデータ送出タイミングとデータサンプリングタイミングの位相関係が許容範囲内に収まれば、データフィールドを任意のビット数で構成してもよい。また、レンズデータ信号ＤＬＣとカメラデータ信号ＤＣＬのそれぞれのデータフィールドのビット数を異ならせてもよい。
【０２６３】
図２５（Ｂ）には、カメラデータ信号ＤＣＬおよびレンズデータ信号ＤＬＣを、図２５（Ａ）に示したフレームを用いて、２フレームのデータを実施例１で説明した非ＢＵＳＹ付加モードで連続送受信する場合の信号波形を示している。この通信の開始に先立って、カメラマイコン２０５は、レンズマイコン１１１に対して、図４（Ａ）に示した１フレームのカメラデータ信号ＤＣＬの通信により、送信するデータサイズ情報（フレーム数：ここでは２とする）を通知する。また、カメラマイコン２０５は、レンズマイコン１１１に対して、データフィールドの構成を含む後述するフレーム構成も通知する。
【０２６４】
カメラマイコン２０５は、レンズマイコン１１１との通信を開始するイベントが発生すると、送信要求信号ＲＴＳをアサートする。その後、非ＢＵＳＹ付加モードでは、カメラマイコン２０５は送信要求信号ＲＴＳを１フレームごとにネゲートする必要はなく、連続してデータ送受信が可能な状態である間は送信要求信号ＲＴＳのアサート状態を維持する。
【０２６５】
レンズマイコン１１１は、送信要求信号ＲＴＳのアサートにより送信要求を検出すると、カメラマイコン２０５に送信するレンズデータ信号ＤＬＣの生成処理を行う。そして、該レンズデータ信号ＤＬＣの送信準備が整うと、第１のデータ通信チャネルでのレンズデータ信号ＤＬＣの１フレーム目ＤＬ１の送信を開始する。
【０２６６】
１フレーム目のレンズデータ信号ＤＬＣのデータフレームを送信したレンズマイコン１１１は、再び送信要求信号ＲＴＳを確認する。このとき、送信要求信号ＲＴＳがアサート状態であった場合には、レンズマイコン１１１は送信が完了した１フレーム目に続けて次のレンズデータ信号ＤＬＣの２フレーム目ＤＬ２をカメラマイコン２０５に送信する。こうしてデータサイズ情報に示されたフレーム数（２）の送信が完了すると、カメラマイコン２０５により送信要求信号ＲＴＳがネゲートされ、レンズデータ信号ＤＬＣの送信も停止される。
【０２６７】
図１２（Ａ）に示した信号波形と本実施例で図２５（Ｂ）に示した信号波形とは通信したデータ量は２４ビット（３バイト）で同じであるが、図１２（Ａ）では３フレーム必要であるのに対して、本実施例（図２５（Ｂ））では２フレームで通信可能である。このため、本実施例では、図１２（Ａ）の場合に比べてスタートビットＳＴとストップビットＳＰの挿入数を少なくすることができ、この結果、実効通信レートが向上する。
【０２６８】
図２６には、本実施例においてカメラマイコン２０５が行う通信処理の流れを示している。カメラマイコン２０５は、コンピュータプログラムである通信制御プログラムに従って本処理を実行する。
【０２６９】
まずステップ（図ではＳと略記する）２６０１において、カメラマイコン２０５は、レンズマイコン１１１から、交換レンズ１００の種別に関する情報としてレンズＩＤを取得する。また、カメラマイコン２０５は、レンズマイコン１１１から、クロック生成部１４１により生成されるクロック信号の安定度に関する情報（以下、レンズクロック安定度という）を取得する。また、カメラマイコン２０５は、レンズマイコン１１１から、交換レンズ１００に設けられた温度センサ（図示せず）により検出された温度に関する情報（以下、レンズ温度という）を取得する。さらに、カメラマイコン２０５は、レンズマイコン１１１から、交換レンズ１００が対応可能なボーレート範囲に関する情報（以下、レンズボーレート範囲という）を取得する。これらレンズＩＤ、レンズクロック安定度、レンズ温度およびレンズボーレート範囲は、交換レンズ１００の個体情報（以下、まとめてレンズ情報ともいう）である。
【０２７０】
カメラマイコン２０５がレンズマイコン１１１からレンズ情報を取得する際の通信は、両者で予め設定した初期フォーマットで行われる。また、この通信でのボーレートは、同様に両者間で予め定義した初期ボーレートである。レンズＩＤは、交換レンズ１００内のＲＡＭ（図示せず）に記憶されている。カメラマイコン２０５は、レンズＩＤから、装着されている交換レンズ１００がどのような機能に対応しているかを判断することができる。
【０２７１】
次にステップ２６０２では、カメラマイコン２０５は、カメラ本体２００の性能を示す個体情報としてのカメラ情報を取得する。カメラ情報は、クロック生成部２１２により生成されるクロック信号の安定度に関する情報（以下、カメラクロック安定度という）と、カメラ本体２００に設けられた温度センサ（図示せず）により検出された温度に関する情報（以下、カメラ温度という）を含む。また、カメラ情報は、カメラ本体２００が対応可能なボーレートの範囲に関する情報（以下、カメラボーレート範囲という）も含む。
【０２７２】
次にステップ２６０３では、カメラマイコン２０５は、取得したレンズ情報とカメラ情報に基づいて使用するボーレートを設定する。前述したようにレンズ情報にはレンズボーレート範囲が含まれ、カメラ情報にもカメラボーレート範囲が含まれている。このため、カメラマイコン２０５は、レンズボーレート範囲とカメラボーレート範囲のいずれにも含まれるボーレート範囲において、送受信するデータの種類やカメラ本体２００の動作モード等に応じたボーレートを設定する。カメラマイコン２０５は、設定したボーレートをレンズマイコン１１１に通知する。その後、カメラマイコン２０５は、ボーレート生成部２１１にボーレートジェネレータ設定値を通知してカメラ本体２００のボーレートの設定値を変更する。
【０２７３】
次にステップ２６０４では、カメラマイコン２０５は、レンズ情報とカメラ情報のそれぞれに含まれるレンズクロック安定度およびカメラクロック安定度を確認する。カメラマイコン２０５は、これらクロック安定度が所定レベルより低い場合はステップ２６０６に進み、所定レベルより高い場合はステップ２６０５に進む。
【０２７４】
ステップ２６０５では、カメラマイコン２０５は、レンズ情報とカメラ情報のそれぞれに含まれるレンズ温度およびカメラ温度を確認する。カメラマイコン２０５は、これらレンズ温度およびカメラ温度が許容温度範囲外であると判定した場合はステップ２６０６に進み、レンズ温度およびカメラ温度が許容温度範囲内である（温度条件を満たしている）と判定した場合はステップ２６０７に進む。なお、本ステップでの判定では、必ずしもレンズ温度を用いる必要はなく、カメラ温度のみを用いてもよい。
【０２７５】
ステップ２６０６では、カメラマイコン２０５は、１フレームの構成であるフレーム構成を図４（Ａ）に示したフレーム構成（以下、初期フレーム構成という）に設定する。クロック安定度が許容範囲外であると、データフィールドを拡張することができないためである。そして、カメラマイコン２０５は、ステップ２６０８に進む。
【０２７６】
また、ステップ２６０７では、カメラマイコン２０５は、フレーム構成を図２５（Ａ）に示したフレーム構成（以下、拡張フレーム構成という）に変更する。クロック安定度が許容範囲内であり温度条件も満たしているために、データフィールドを拡張することができるためである。前述したように、データフィールドのビット数は、送信側のデータ送出タイミングと受信側のデータサンプリングタイミングの位相関係を許容範囲内に収めることが可能な任意のビット数に設定可能である。そして、カメラマイコン２０５は、ステップ２６０８に進む。なお、データフィールドの拡張に伴い終了フィールドの構成も変更する場合は、これも変更する。
【０２７７】
ステップ２６０８では、カメラマイコン２０５は、ステップ２６０６またはステップ２６０７で設定したフレーム構成をレンズマイコン１１１に通知する。通知するフレーム構成は、データフィールドのビット数だけでなく、終了フィールドの構成も含む。また、バースト通信を行う場合には、該バースト通信により通信するフレーム数も通知する。
【０２７８】
次にステップ２６０９では、カメラマイコン２０５は、通信要求信号ＲＴＳをアサートする。これにより、カメラマイコン２０５は、レンズマイコン１１１にレンズデータ信号ＤＬＣの送信を開始させ、該レンズデータ信号ＤＬＣの受信に応じてカメラデータ信号ＤＣＬをレンズマイコン１１１に送信する。このときのレンズデータ信号ＤＬＣおよびカメラデータ信号ＤＣＬのフレーム構成は、ステップ２６０６またはステップ２６０７で設定されたフレーム構成である。これ以降の通信は、図１２（Ａ）や図２５（Ｂ）を用いて説明した通りである。
【０２７９】
本実施例によれば、カメラ本体２００と交換レンズ１００の個体情報に応じて最適なデータフィールドの構成（ビット数）を設定することができる。これにより、調歩同期式シリアル通信において、実効通信レートをより向上させることができる。
【実施例７】
【０２８０】
次に、本発明の実施例７について説明する。本実施例は実施例６の変形例であり、調歩同期式シリアル通信における通信エラーに応じて最適なデータフィールドの構成を設定する。本実施例は、アクセサリ装置からのレンズデータにおける通信エラーを検出する機能を有するカメラ制御部が、該通信エラーに応じてデータフィールドの構成を変更する撮像装置の実施例の１つである。
【０２８１】
本実施例では、通信エラーの例として、パリティビットＰＡがデータフィールドのデータのパリティと齟齬がある場合について説明する。ただし、通信エラーはこれに限らず、ストップビットＳＰを正常に検出できないことや交換レンズ１００がカメラ本体２００かから突然に取り外されてマウント３００での接続が遮断された場合等を含む。
【０２８２】
カメラマイコン２０５において、通信エラーの検出は、図２に示したカメラエラー検出部２０５１が通信エラーの発生を検出し、その情報（通信エラー情報）をカメラ通信制御部２０５２に通知することで行われる。通信エラー情報は、上述した通信エラーの内容を含む情報である。
【０２８３】
図２７には、本実施例においてカメラマイコン２０５が行う通信処理の流れを示している。カメラマイコン２０５は、コンピュータプログラムである通信制御プログラムに従って本処理を実行する。
【０２８４】
ステップ２６０１〜ステップ２６０９の処理は、実施例５で説明した図２６のステップ２６０１〜ステップ２６０９の処理と同じである。
【０２８５】
ステップ２６０９からステップ２７０１に進んだカメラマイコン２０５は、ステップ２６０９で開始した予めデータサイズ情報として通知されたフレーム数の通信が完了したかを判定する。カメラマイコン２０５とレンズマイコン１１１はそれぞれ送信したフレーム数をカウントし、該カウント値が上記フレーム数に達したことで通信の完了を判定することができる。通信が完了したと判定すると、カメラマイコン２０５はステップ２７０２に進む。
【０２８６】
ステップ２７０２において、カメラマイコン２０５は、カメラエラー検出部２０５１により通信エラーが検出されたか否かを判定する。通信エラーが検出されていない場合は、カメラマイコン２０５はそのまま本処理を終了する。また、通信エラーが検出された場合は、カメラマイコン２０５は、ステップ２７０３に進む。
【０２８７】
ステップ２７０３では、カメラマイコン２０５は、ステップ２６０８で設定された拡張フレーム構成に応じてデータフィールドのビット数が変更されているか否かを確認する。データフィールドのビット数が変更されていない（つまりはフレーム構成が初期フレーム構成と同じ）である場合は、カメラマイコン２０５はステップ２７０４に進む。データフィールドのビット数の変更がされていた場合は、カメラマイコン２０５はステップ２７０５に進む。
【０２８８】
ステップ２７０４では、カメラマイコン２０５は、ボーレートの設定値を通信エラー発生時よりも遅いボーレートに変更する。その後、ステップ２６０３に戻ってこれまで説明した処理を繰り返す。
【０２８９】
一方、ステップ２７０５では、カメラマイコン２０５は、データフィールドのビット数（および終了フィールドの構成も変更されていればその構成）を初期フレーム構成と同じに戻す。ただし、フレーム構成を初期フレーム構成に戻すのではなく、データフィールドのビット数を通信エラーの発生時より少なくしてもよい。
【０２９０】
そして、カメラマイコン２０５はステップ２６０８に戻り、ステップ２７０５で戻したフレーム構成をレンズマイコン１１１に通知する。この後、カメラマイコン２０５はステップ２６０９に進んで再度通信を行う。ただし、通信エラーが交換レンズ１００が取り外されたことによる場合は、カメラマイコン２０５は再度、交換レンズ１００が装着されるのを待ってステップ２６０１から処理を開始する。
【０２９１】
本実施例によれば、通信エラーの発生時にもフレーム構成とボーレートを最適に設定することで、調歩同期式シリアル通信において、通信エラーの再度の発生を抑制することができる。例えば、カメラ本体２００もしくは交換レンズ１００が経年劣化等によってクロック安定度が想定より低くなった場合に通信エラーの再度の発生を抑制することができる。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０２９２】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【０２９３】
１００  交換レンズ
１１１  レンズマイクロコンピュータ
１１２ａ，１１２ｂ  レンズ通信部
２００  カメラ本体
２０５  カメラマイクロコンピュータ
２０８ａ，２０８ｂ  カメラ通信部
【図１】
0006669396.tif 000002
【図２】
0006669396.tif 000003
【図３】
0006669396.tif 000004
【図４】
0006669396.tif 000005
【図５】
0006669396.tif 000006
【図６】
0006669396.tif 000007
【図７】
0006669396.tif 000008
【図８】
0006669396.tif 000009
【図９】
0006669396.tif 000010
【図１０】
0006669396.tif 000011
【図１１】
0006669396.tif 000012
【図１２】
0006669396.tif 000013
【図１３】
0006669396.tif 000014
【図１４】
0006669396.tif 000015
【図１５】
0006669396.tif 000016
【図１６】
0006669396.tif 000017
【図１７】
0006669396.tif 000018
【図１８】
0006669396.tif 000019
【図１９】
0006669396.tif 000020
【図２０】
0006669396.tif 000021
【図２１】
0006669396.tif 000022
【図２２】
0006669396.tif 000023
【図２３】
0006669396.tif 000024
【図２４】
0006669396.tif 000025
【図２５】
0006669396.tif 000026
【図２６】
0006669396.tif 000027
【図２７】
0006669396.tif 000028