(57)【要約】【課題】外部機器から電源供給を受けて動作する電子機器において、比較的消費電流が大きい動作を行っても外部機器との通信処理を安定的に実行できるようにする。【解決手段】通信制御回路１８は、電源供給のための電源端子と共通の接地端子を基準とした信号により通信し、ここでの通信処理は、ホストマイコン１４により、あらかじめ決められた一連の通信処理からなる通信タスク単位で制御される。さらに、撮像装置１で実行される内部動作のうち比較的電力消費が高いものがあらかじめ規定され、このような内部動作が実行されたか否かがホストマイコン１４によって管理される。ホストマイコン１４は、通信タスクの実行中に通信制御回路１８で通信エラーが発生し、このときに上記の内部動作が実行されていた場合には、通信制御回路１８をリセットした後、通信エラーの発生時に実行していた通信タスクを再度実行させて、通信処理を復旧させる。【選択図】図１
2008305164.tif 000002
【特許請求の範囲】
【請求項１】
通信機能を備えた外部機器と接続し、前記外部機器から電源の供給を受けて動作する電子機器において、
前記外部機器から電源の供給を受けるための電源端子および接地端子と、
前記接地端子の電位を基準とした信号を通信端子を介して送受信する通信処理部と、
前記通信処理部による前記外部機器との通信処理を、あらかじめ決められた一連の通信処理からなる通信タスク単位で制御する通信制御部と、
実行時の電力消費が比較的高い内部動作があらかじめ規定され、前記内部動作が前記電子機器内で実行されたか否かを管理する内部動作管理部と、
を有し、
前記通信制御部は、前記通信タスクの実行中に、前記通信処理部において通信エラーが発生し、かつ、前記内部動作管理部により前記内部動作が実行されたと認識されていた場合には、前記通信処理部をリセットした後、前記通信エラーの発生時に実行していた前記通信タスクを再度実行させることを特徴とする電子機器。
【請求項２】
前記通信処理部は、前記通信タスクの実行により前記外部機器から受信したデータを順次記憶するデータ記憶部を備え、
前記通信制御部は、前記通信エラーが発生し、かつ、前記内部動作が実行されていたと判断すると、前記通信エラーの発生以前に前記データ記憶部に正常に記憶されたデータを保持し続けた状態で前記通信処理部をリセットする通信エラー用リセット処理を実行させることを特徴とする請求項１記載の電子機器。
【請求項３】
前記通信タスクの実行により前記外部機器から取得されたデータを用いて所定の処理を実行するデータ処理部をさらに有し、
前記通信制御部は、前記通信処理部に前記通信エラー用リセット処理を実行させた後、前記データ記憶部に記憶されたデータを読み込んで、前記データ処理部に処理させ、その後に、前記通信エラーの発生時に実行していた前記通信タスクを前記通信処理部に再度実行させることを特徴とする請求項２記載の電子機器。
【請求項４】
前記外部機器は、２次電池によって前記電子機器に電源を供給するバッテリパックであり、
前記データ処理部は、前記２次電池の残容量を計算して表示情報を生成する機能を備え、
前記通信制御部は、前記通信タスクの１つとして、前記残容量の計算のための複数の検出データを前記バッテリパックから受信するためのバッテリ残量タスクを前記通信処理部に実行させていた場合に、前記通信エラーが発生し、かつ、前記内部動作が実行されていたと判断すると、前記通信処理部に前記通信エラー用リセット処理を実行させた後、前記データ記憶部に記憶された前記検出データを読み込み、前記データ処理部に転送して前記残容量の計算および前記表示情報の生成の処理を実行させ、その後に、前記バッテリ残量タスクを前記通信処理部に再度実行させることを特徴とする請求項３記載の電子機器。
【請求項５】
前記データ処理部は、前記バッテリパックが正規のものであるか否かを判定するための認証処理を実行する機能をさらに備え、
前記通信制御部は、前記電子機器が起動した後、まず、前記通信タスクの１つとして、前記認証処理に必要な認証情報を前記バッテリパックとの間で送受信するための認証タスクを前記通信処理部に実行させた後、前記バッテリ残量タスクを一定時間ごとに実行させ、前記バッテリ残量タスクを実行させているときに、前記通信エラーが発生し、かつ、前記内部動作が実行されていたと判断すると、前記通信処理部に前記通信エラー用リセット処理を実行させた後、前記データ記憶部に記憶された前記検出データを読み込み、前記データ処理部に転送して前記残容量の計算および前記表示情報の生成の処理を実行させ、その後に、前記認証タスクを再度実行させることなく、前記バッテリ残量タスクを前記通信処理部に再度実行させることを特徴とする請求項４記載の電子機器。
【請求項６】
前記通信処理部は、前記通信制御部から制御コマンドによりいずれかの前記通信タスクの実行を指示されると、当該通信タスクを構成する一連の通信処理を自動的に実行し、また、前記通信タスクを構成する個々の通信処理の進捗状況を管理するための処理進捗情報と、当該通信タスクの実行中における前記通信エラーの発生を示すエラー情報とを記憶し、
前記通信エラー用リセット処理を実行する際には、前記データ記憶部に記憶されたデータを保持し続けるとともに、少なくとも前記処理進捗情報および前記エラー情報を初期化する
ことを特徴とする請求項２記載の電子機器。
【請求項７】
接続された前記外部機器が正規の通信相手であるか否かを判定するための認証処理を実行するデータ処理部を備え、
前記通信制御部は、前記通信タスクの１つとして、前記認証処理に必要な認証情報を前記外部機器との間で送受信するための認証タスクを前記通信処理部に実行させていた場合に、前記通信エラーが発生し、かつ、前記内部動作が実行されていたと判断すると、前記通信処理部をリセットした後、前記認証タスクを再度実行させることを特徴とする請求項１記載の電子機器。
【請求項８】
前記通信制御部は、前記通信タスクの１つとして、前記認証処理に必要な認証情報を前記外部機器との間で送受信するための認証タスクを前記通信処理部に実行させていたときに、前記通信エラーが発生したとき、前記内部動作管理部により前記内部動作が実行されたと認識されていない場合には、前記電子機器の動作を終了させるように制御することを特徴とする請求項７記載の電子機器。
【請求項９】
前記外部機器は、２次電池によって前記電子機器に電源を供給するバッテリパックであることを特徴とする請求項７記載の電子機器。
【請求項１０】
外部機器から電源の供給を受けて動作する電子機器に搭載されて、前記外部機器と通信するための通信制御装置において、
前記外部機器から電源の供給を受けるための前記電子機器の接地端子の電位を基準とした信号を、通信端子を介して送受信する通信処理部と、
前記通信処理部による前記外部機器との通信処理を、あらかじめ決められた一連の通信処理からなる通信タスク単位で制御する通信制御部と、
実行時の電力消費が比較的高い前記電子機器の内部動作があらかじめ規定され、前記内部動作が前記電子機器内で実行されたか否かを管理する内部動作管理部と、
を有し、
前記通信制御部は、前記通信タスクの実行中に、前記通信処理部において通信エラーが発生し、かつ、前記内部動作管理部により前記内部動作が実行されたと認識されていた場合には、前記通信処理部をリセットした後、前記通信エラーの発生時に実行していた前記通信タスクを再度実行させることを特徴とする通信制御装置。
【請求項１１】
外部機器から電源の供給を受けて動作する電子機器において、前記外部機器と通信するための通信制御方法であって、
前記外部機器から電源の供給を受けるための前記電子機器の接地端子の電位を基準とした信号を、通信端子を介して送受信する通信処理部における通信処理を、通信制御部が、あらかじめ決められた一連の通信処理からなる通信タスク単位で実行させ、
内部動作管理部が、実行時の電力消費が比較的高い前記電子機器の内部動作をあらかじめ規定しておき、前記内部動作が前記電子機器内で実行されたか否かを管理し、
前記通信制御部が、前記通信タスクの実行中に、前記通信処理部において通信エラーが発生し、かつ、前記内部動作管理部により前記内部動作が実行されたと認識されていた場合には、前記通信処理部をリセットした後、前記通信エラーの発生時に実行していた前記通信タスクを再度実行させる、
ことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を備えた外部機器と接続して、その外部機器から電源の供給を受けて動作する電子機器、この電子機器に搭載される通信制御装置、および通信制御方法に関し、特に、外部機器からの電源供給のための電源端子と通信処理のための通信端子とで接地電位が共用されるような電子機器、通信制御装置、および通信制御方法に関する。
【背景技術】
【０００２】
従来、ビデオカメラやデジタルスチルカメラのような撮像装置、携帯型電話機、あるいはパーソナルコンピュータなどの電子機器には、電源としてリチウムイオン電池、ニッケルカドミウム（ＮｉＣｄ）電池、ニッケル水素電池などの２次電池を内蔵したバッテリパックが広く使用されている。今日では、マイクロコンピュータ（以下、マイコンと略称する）の低価格化や集積回路化が進み、こうしたバッテリパックにマイコンを内蔵して、電子機器との間で通信を行うようにしたものが普及している。
【０００３】
この種のバッテリパックには、マイコンにおいてバッテリセルの充放電電流を記憶し、撮像装置側に送信することで、残り使用時間を表示可能とするとともに、マイコンにより撮像装置側との間で認証処理を実行させることで、偽物バッテリを使用できないようにしたものがあった（例えば、特許文献１参照）。
【０００４】
また、電子機器間の通信方式としては、例えば、信号線を１本のみ使用する「１線式」と、２本の信号線により差動通信を行う「２線式」とが存在する。例えば、ＵＳＢ（Universal Serial Bus）ケーブルは、接地線および電源供給線に加えて、Ｄ＋，Ｄ−の２本の信号線から構成されている（例えば、特許文献２参照）。
【０００５】
ところで、電子機器と、それに接続されたバッテリパックとの間で通信する場合、これらの装置間は、電源端子、ＧＮＤ（グランド）端子、および信号端子によって接続される。また、各端子を含む配線は、端子間の接触抵抗や配線抵抗による抵抗成分を持ち、この抵抗成分は数十〜数百ｍΩとなることもある。
【０００６】
一方、ＧＮＤ端子の電圧レベルは、信号端子に対するＧＮＤレベルであるとともに、電源端子に対するＧＮＤレベルでもある。このため、例えば、モータの駆動など、電子機器側で比較的消費電力が大きい動作が実行された場合には、ＧＮＤ端子に接続されるＧＮＤ配線に数Ａの電流が流れることがあり得る。このとき、ＧＮＤ端子を挟んだ電子機器側のＧＮＤレベルと、バッテリパック側のＧＮＤレベルとの間には、数百ｍＶ程度の電位差が生じることになる。
【０００７】
このように、電子機器側のＧＮＤレベルとバッテリパック側のＧＮＤレベルとの間に大きな電位差が生じた状態では、信号を送受信するための基準電圧が各装置間で大きく違ってしまうために、信号を正しく送受信できなくなることがあった。以下、このような事態について、撮像装置とバッテリパックとの通信を例に挙げて具体的に説明する。
【０００８】
図８は、撮像装置からバッテリパックに信号を送信する場合の動作を模式的に示す図である。また、図９は、バッテリパックから撮像装置に信号を送信する場合の動作を模式的に示す図である。
【０００９】
図８に示すように、送信側である撮像装置側では、送信信号のＨ（ハイ）レベルの最低電位Ｖｏｕｔ＿ｈとＬ（ロー）レベルの最高電位Ｖｏｕｔ＿ｌとが、送信側でのＧＮＤ配線の電位Ｖｏｕｔ＿ｇｎｄを基準とした相対的な電位差により規定される。一方、受信側であるバッテリパック側では、受信信号のＨレベルの判定のための最低電位Ｖｉｎ＿ｈと、Ｌレベルの判定のための最高電位Ｖｉｎ＿ｌとが、受信側でのＧＮＤ配線の電位Ｖｉｎ＿ｇｎｄを基準とした相対的な電位差により規定される。
【００１０】
ここで、図８では、上記の各電位を絶対的な電位として、図中上下方向の位置によって表現している。図８（Ａ）に示すように、絶対的な電位として、Ｖｏｕｔ＿ｈ＞Ｖｉｎ＿ｈ，Ｖｏｕｔ＿ｌ＜Ｖｉｎ＿ｌの条件が満たされれば、受信側では送信されたデータを正常に受信できる。このように、受信側では、送信側で規定しているＨレベルとＬレベルとの電位差より、各レベルの判定しきい値の差を小さく規定しておくことで、電圧レベル変動などに対してマージンを持たせている。
【００１１】
なお、送受信される信号の電流は、撮像装置側での電力消費や充電動作によってＧＮＤ配線に流れる電流よりも十分小さいので（例えば５０μＡ程度）、送信側と受信側との間の信号の電圧変動は無視できる程度であり、このため、図８では送信側、受信側の各信号レベルを同じにしている。一方、撮像装置側での電力消費や充電動作によって、ＧＮＤ配線には通常時でも１Ａ程度の電流が流れることがある。このため、バッテリパック側の絶対的なＧＮＤ配線の電位Ｖｉｎ＿ｇｎｄは、撮像装置側の絶対的なＧＮＤ配線の電位Ｖｏｕｔ＿ｇｎｄより低下する。
【００１２】
受信側と送信側とで絶対的なＧＮＤ電位が違っていたとしても、ＧＮＤ配線を流れる電流が比較的小さく、上記条件が満たされていれば、データの送受信を正常に実行できる。しかし、ＧＮＤ配線を流れる電流が過大になり、絶対的なＧＮＤ電位の差が大きくなり過ぎると、上記の条件が成立しなくなる。図８（Ｂ）の例では、Ｖｏｕｔ＿ｌ＞Ｖｉｎ＿ｌとなっており、受信側ではＬレベルを正しく受信できなくなる。
【００１３】
また、バッテリパックから撮像装置に信号を送信する場合でも、同様の事態が起こり得る。この場合でも、図９（Ａ）に示すように、絶対的な電位として、Ｖｏｕｔ＿ｈ＞Ｖｉｎ＿ｈ，Ｖｏｕｔ＿ｌ＜Ｖｉｎ＿ｌの条件が満たされれば、受信側では送信されたデータを正常に受信できる。しかし、ＧＮＤ配線を流れる電流が過大になると、撮像装置側の絶対的なＧＮＤ電位が上がり過ぎると、上記の条件が成立しなくなる。図９（Ｂ）の例では、Ｖｏｕｔ＿ｈ＜Ｖｉｎ＿ｈとなっており、受信側ではＨレベルを正しく受信できなくなる。
【特許文献１】特許第３８３８２５８号公報（段落番号［００３５］〜［００４２］、図１）
【特許文献２】特開２００１−１２５６８９号公報（段落番号［００１３］、図１０）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ところで、近年のバッテリ駆動の電子機器では、高機能化や動作の高速化の要請から、内部の電力消費量のピークが大きくなる傾向にあり、そのためにＧＮＤ配線により大きな電流が流れる事態が発生しやすくなっている。例えば、デジタル方式の撮像装置では、撮像間隔を短縮するために、撮像画像データの信号処理・記録処理やモータ駆動によるレンズ移動動作などが並列に実行されることもある。また、信号処理や記録の対象となるデータ量も大きくなっている。従って、上記のようなＧＮＤレベルのずれによる通信エラーが発生しやすくなる傾向にある。
【００１５】
このように通信エラーが頻発する事態については、例えば、電源用のＧＮＤ配線と通信用のＧＮＤ配線とを分離することで回避することができる。また、差動信号を送受信する２線式通信を行うことでも回避することは可能である。しかし、バッテリパックと電子機器との通信では、構成を単純化して製造コストを抑制する、あるいは、端子数を少なくして、脱着時の故障発生を防止し、設計の自由度を高めるなどの観点から、１線式通信が用いられることが多い。従って、１線式通信を行う場合でも、上記のような事態が発生したときに、できるだけ安定して正常な通信を続行できるようにすることが望まれていた。
【００１６】
本発明はこのような課題に鑑みてなされたものであり、外部機器から電源供給を受けて動作する電子機器において、比較的消費電流が大きい動作を行っても外部機器との通信処理を安定的に実行できるようにした電子機器、このような電子機器に搭載される通信制御装置、および通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明では上記課題を解決するために、通信機能を備えた外部機器と接続し、前記外部機器から電源の供給を受けて動作する電子機器において、前記外部機器から電源の供給を受けるための電源端子および接地端子と、前記接地端子の電位を基準とした信号を通信端子を介して送受信する通信処理部と、前記通信処理部による前記外部機器との通信処理を、あらかじめ決められた一連の通信処理からなる通信タスク単位で制御する通信制御部と、実行時の電力消費が比較的高い内部動作があらかじめ規定され、前記内部動作が前記電子機器内で実行されたか否かを管理する内部動作管理部と、を有し、前記通信制御部は、前記通信タスクの実行中に、前記通信処理部において通信エラーが発生し、かつ、前記内部動作管理部により前記内部動作が実行されたと認識されていた場合には、前記通信処理部をリセットした後、前記通信エラーの発生時に実行していた前記通信タスクを再度実行させることを特徴とする電子機器が提供される。
【００１８】
このような電子機器では、外部機器からの電源供給のための電源端子と、通信処理のための通信端子とで、接地端子が共用される。また、通信処理部における通信処理は、通信制御部により、あらかじめ決められた一連の通信処理からなる通信タスク単位で制御され、実行される。さらに、電子機器で実行される内部動作のうち、比較的電力消費が高い内部動作があらかじめ規定され、このような内部動作が実行されたか否かが内部動作管理部によって管理される。ここで、通信タスクの実行中に、通信処理部において通信エラーが発生したとき、内部動作管理部によりあらかじめ規定された内部動作が実行されたと認識されていれば、その内部動作により接地端子に大きな電流が流れたために通信エラーが発生したと判断できる。このため、通信制御部はこのような場合に、通信処理部をリセットした後、通信エラーの発生時に実行していた通信タスクを再度実行させて、通信処理を復旧させる。
【発明の効果】
【００１９】
本発明によれば、通信タスクの実行中に通信処理部において通信エラーが発生したとき、内部動作管理部により管理されている、あらかじめ規定された内部動作の実行管理状態に応じて、その内部動作の実行により接地端子に大きな電流が流れたために通信エラーが発生したのか否かを正確に判断でき、その内部動作のための通信エラーであれば、通信処理を短時間で復旧させることができる。従って、電子機器において比較的消費電流が大きい動作を行うようにしても、外部機器との通信処理をより安定的に実行できるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、この発明の電子機器として、デジタルスチルカメラあるいはデジタルビデオカメラなどとして実現される撮像装置に適用した場合を例にして、本発明の実施の形態を図面を参照しながら説明する。
【００２１】
図１は、実施の形態に係る撮像装置およびバッテリパックの構成を示すブロック図である。
図１において、撮像装置１は、バッテリパック２から供給される電源によって駆動される装置であり、電源供給を受けるための正極端子１１および負極端子１２、通信端子１３、ホストコントローラとしてのマイクロコンピュータ（以下、ホストマイコンと呼ぶ）１４、レギュレータ１５、撮像・記録処理部１６、表示部１７、通信制御回路１８などを備えている。また、この撮像装置１に対して着脱可能に接続されるバッテリパック２は、撮像装置１との通信機能を備えている。このバッテリパック２は、電源供給用の正極端子２１および負極端子２２、通信端子２３、バッテリセル２４、マイクロコンピュータ（以下、バッテリマイコンと呼ぶ）２５、通信インタフェース回路２６などを備えている。
【００２２】
撮像装置１にバッテリパック２が装着されると、バッテリパック２の正極端子２１、負極端子２２および通信端子２３が、それぞれ撮像装置１の正極端子１１、負極端子１２および通信端子１３に接続される。そして、正極端子１１および負極端子１２を通じて、バッテリパック２から撮像装置１に電源が供給される。
【００２３】
撮像装置１のホストマイコン１４は、撮像装置１の動作を統括的に制御する制御部である。このホストマイコン１４は、通信制御回路１８に対してコマンドを送信することで、バッテリパック２側と通信して、バッテリパック２から所望のデータを受信することが可能になっている。そして、例えば、受信したデータを利用して、バッテリ残量を表示するための表示情報を生成して、表示部１７に出力する。
【００２４】
通信制御回路１８は、バッテリパック２側と通信するための電気的なインタフェース回路と、その通信手順を制御するための制御回路（ＣＰＵ：Central Processing Unit）とが一体化された回路であり、ＩＣ（Integrated Circuit）などとして実現される。この通信制御回路１８は、ホストマイコン１４からのコマンドに応じて、バッテリパック２側と通信端子１３を介して通信する。
【００２５】
なお、通信制御回路１８とホストマイコン１４との間は、パラレル通信インタフェースにより接続される。また、通信制御回路１８と、バッテリパック２の通信インタフェース回路２６とは、通信端子１３および２３を介して１本の通信線で接続されて、いわゆる１線式通信が行われる。
【００２６】
レギュレータ１５は、正極端子１１および負極端子１２に印加された電源電圧を所定の電圧に安定化して、装置内部に供給する。撮像・記録処理部１６は、画像の撮像や、撮像により得られた画像データの記録媒体への記録、撮像中の画像や記録された画像の表示データ生成などの処理を行うブロックである。表示部１７は、例えばＬＣＤ（Liquid Crystal Display）などを備え、撮像・記録処理部１６およびホストマイコン１４において生成された表示データを受けて画像を表示する。
【００２７】
一方、バッテリパック２は、バッテリセル２４が発生する電圧を正極端子２１および負極端子２２を通じて撮像装置１に供給する。バッテリセル２４としては、例えばリチウムイオン型などの二次電池を用いることができる。なお、リチウムイオン二次電池のように、放電電圧が比較的緩やかでかつ直線的に低下する放電特性を有する二次電池を用いることにより、撮像装置１側でバッテリ残量を高精度に検出して、例えば使用可能な残り時間としてバッテリ残量を表示することが可能となる。
【００２８】
バッテリマイコン２５は、バッテリセル２４の電圧やこれに流れる電流を検出する。また、通信インタフェース回路２６および通信端子２３を介して、撮像装置１の通信制御回路１８と通信し、撮像装置１側から送信される認証情報を処理して応答したり、撮像装置１側から要求されたデータを送信する。
【００２９】
通信インタフェース回路２６は、撮像装置１側と通信するための電気的なインタフェース回路であり、通信端子２３を介して撮像装置１側と信号を送受信する。なお、通信インタフェース回路２６とバッテリマイコン２５とは、パラレル通信インタフェースにより接続される。
【００３０】
ここで、撮像装置１とバッテリパック２との間で通信する目的は、主に、バッテリ残量を撮像装置１側で表示すること、接続されたバッテリパック２が正しい通信相手であることを確認（認証処理）すること、および、バッテリパック２に使用履歴を書き込むことなどである。
【００３１】
バッテリ残量の表示は、以下のように行われる。バッテリマイコン２５では、バッテリマイコン２５が、バッテリセル２４の電圧および放電電流（または充電電流、または充放電電流でもよい）を、内蔵するＡＤコンバータを介して測定する。なお、放電電流は、電流検出抵抗２７の両端電圧を基に測定できる。バッテリマイコン２５は、これらの電圧および放電電流の測定情報から、撮像装置１に送信すべき情報を計算する。例えば、放電電流を一定周期で積算した積算値を計算する。
【００３２】
バッテリマイコン２５は、これらの情報を、撮像装置１からの要求に応じて送信する。撮像装置１では、ホストマイコン１４が、撮像装置１での消費電力などの情報をあらかじめ保持しており、この保持している情報と、バッテリパック２から供給された情報とから、例えばバッテリセル２４を使用可能な残り時間などの残量情報を計算する。そして、計算結果に応じた残量表示画像が表示部１７に表示される。
【００３３】
また、バッテリパック２に対する認証処理では、例えば、ホストマイコン１４とバッテリマイコン２５の双方が複数個の固有のデータを保持していて、バッテリマイコン２５が通信インタフェース回路２６、通信端子２３、通信端子１３を介して通信制御回路１８と複数回の通信を実行する。ホストマイコン１４は、通信制御回路１８を通じて供給された、バッテリマイコン２５側の固有のデータを鍵情報で解読した後、自身が保持する固有のデータと比較して、バッテリパック２が正しい通信相手であることを確認する。ホストマイコン１４では、通信相手のバッテリパック２が正規のものではないと判定した場合、例えば、撮像装置１を電源オフの状態に移行させて、不正なバッテリパック２を使用できないように制御する。
【００３４】
また、バッテリパック２に使用履歴を書き込む処理では、バッテリパック２を使用した記録データを、ホストマイコン１４から通信制御回路１８、通信端子１３、通信端子２３、通信インタフェース回路２６を介して、バッテリマイコン２５へ送信し、バッテリマイコン２５がそのデータを保存する。バッテリマイコン２５に保存されたデータは、例えば、バッテリパック２が充電器などに装着されたとき、「撮像装置１に挿入された場合に使用可能な時間」として充電器で表示するために読み出される。
【００３５】
本実施の形態において、ホストマイコン１４は、以上のバッテリ残量表示のための通信処理、認証処理のための通信処理、使用履歴書き込みのための通信処理を、それぞれバッテリ残量表示タスク、認証処理タスク、使用履歴タスクとして管理する。そして、各タスクを通信制御回路１８に対して制御コマンドによって指定することで、指定したタスクに対応する一連の通信処理を通信制御回路１８に自動的に実行させる。さらに、通信処理が実行された後、ホストマイコン１４から通信制御回路１８に対して、タスクの実行結果を要求するための制御コマンドを送信することで、実行された通信処理に対応する所定の情報が、通信制御回路１８からホストマイコン１４に対して送信され、また、指定した処理が正しく実行されたか否かをホストマイコン１４が判断できるようになる。
【００３６】
ここで、バッテリ残量表示タスクが要求された場合を例に挙げて、撮像装置１とバッテリパック２との間の通信時における基本的な処理について説明する。図２は、バッテリ残量表示タスクの実行時における処理を模式的に示すタイミングチャートである。
【００３７】
通信制御回路１８は、各タスクに対応する処理内容を１つ以上のサブタスクとして管理する。例えば、バッテリ残量表示タスクは、図２に示すように、通信リセット、バッテリ電圧取得、バッテリ電流取得、バッテリ温度取得、バッテリ劣化率取得の５つのサブタスクから構成される。
【００３８】
タイミングＴ１１において、ホストマイコン１４から通信制御回路１８に対して、バッテリ残量表示タスクの実行を指示するタスク実行コマンドが送信されると、通信制御回路１８内のＣＰＵは、この制御コマンドを解析して、バッテリ残量表示タスクに対応する上記の各サブタスクを、あらかじめ決められた順番で実行する。基本的に、これらの各サブタスクの処理では、通信制御回路１８から、バッテリパック２の通信インタフェース回路２６に対して、所定の処理を実行するための制御情報や、処理に必要なデータが送信される。そして、その送信動作に応答して通信インタフェース回路２６から応答データが返送されると、通信制御回路１８では、例えば、その応答データに付与されたチェックサム（Check Sum）などを基に、要求した処理が正しく実行されたか否かが判定され、正しく実行されていた場合に、次のサブタスクが実行される。
【００３９】
タイミングＴ１２において、通信制御回路１８は、通信リセットを指示する制御情報、およびその処理に必要なデータを、バッテリパック２の通信インタフェース回路２６に対して送信する。通信インタフェース回路２６からの応答を受けた後、通信制御回路１８は、次のタイミングＴ１３において、バッテリセル２４の残量表示のための電圧データを要求する制御情報を、通信インタフェース回路２６に送信する。そして、通信インタフェース回路２６から電圧データを受信すると、内部のＲＡＭ（Random Access Memory）に一時的に記憶する。
【００４０】
次のタイミングＴ１４において、通信制御回路１８は、バッテリセル２４の電流データを要求し、通信インタフェース回路２６からこのデータを受信して、ＲＡＭに記憶する。次のタイミングＴ１５において、バッテリセル２４の温度データを要求し、通信インタフェース回路２６からこのデータを受信して、ＲＡＭに記憶する。次のタイミングＴ１６において、バッテリセル２４の劣化率データを要求し、通信インタフェース回路２６からこのデータを受信して、ＲＡＭに記憶する。この後、通信制御回路１８は、以上のサブタスクにより受信したデータをＲＡＭに保持したまま、ホストマイコン１４からのコマンドを待機する。
【００４１】
ホストマイコン１４は、タスク実行コマンドの送信から所定時間が経過したタイミングＴ１７において、このタスク実行コマンドに対応する結果要求コマンドを、通信制御回路１８に対して送信する。通信制御回路１８は、結果要求コマンドを受信すると、対応するタスクが正しく実行されたか否かを示す情報を通信制御回路１８に返送する。また、この例ではさらに、ＲＡＭに記憶していた受信データを通信制御回路１８に転送する。ホストマイコン１４では、タスクの正常終了を判断できるとともに、それらの受信データと、撮像装置１の消費電力データとを基に、バッテリ残量を計算して、表示部１７に表示できるようになる。
【００４２】
なお、このようなバッテリ残量表示タスクの実行は、ホストマイコン１４により一定時間ごとに指示され、これにより表示部１７における残量表示が更新される。
また、認証処理タスクは、例えば、通信リセット処理、認証のための固有データをバッテリマイコン２５側に送信する処理、固有データをバッテリマイコン２５側から受信する処理にそれぞれ対応する３つのサブタスクによって構成される。また、使用履歴タスクは、例えば、通信リセット処理、バッテリパック２の使用履歴データをバッテリマイコン２５側に送信して記録させる処理にそれぞれ対応する２つのサブタスクによって構成される。
【００４３】
ここで、図３は、撮像装置の通信制御回路が備えるメモリ領域の構成例を示す図である。なお、ここでは例として、バッテリ残量表示タスクが実行される際に必要となるメモリ領域についてのみ示す。
【００４４】
通信制御回路１８に搭載されたＲＡＭ１８ａの内部には、例として、バッテリ残量表示タスクの実行のための残量表示タスク領域３０と、通信処理の実行を管理するための通信管理領域４０の２つのメモリ領域が確保されている。残量表示タスク領域３０には、受信データ有効フラグ３１と、サブタスク実行ポインタ３２と、バッテリパック２側からの受信データ３３〜３６とが格納される。また、通信管理領域４０には、エラー回数データ４１と、通信エラーフラグ４２とが格納される。
【００４５】
受信データ有効フラグ３１は、撮像装置１の動作が開始されてから、ホストマイコン１４から指示されたタスク（ここではバッテリ残量表示タスクを示す）の実行により、バッテリパック２側から受信すべきデータが１つでも正常に受信されたか否かを示すフラグである。
【００４６】
サブタスク実行ポインタ３２は、バッテリ残量表示タスクのうち、次に実行すべきサブタスクを示す情報である。この値としては、例えば、通信制御回路１８内のメモリに格納されたプログラムにおいて、次に実行すべき行を示すものであってもよく、あるいは、単にサブタスクを識別する番号であってもよい。
【００４７】
受信データ３３〜３６は、ここでは例として、バッテリ残量表示タスクに含まれる４つのサブタスク（バッテリ電圧取得処理、バッテリ電流取得処理、バッテリ温度取得処理、バッテリ劣化率取得処理）に対応するデータ領域となっている。
【００４８】
例えば、バッテリパック２からの電源供給により撮像装置１の動作が開始され、さらに認証処理タスクが正常に実行されて、バッテリパック２が認証された後、ホストマイコン１４がバッテリ残量表示タスクの実行を指示すると、通信制御回路１８は、上述した手順により対応するサブタスクを順次実行する。このとき、サブタスクの実行に従って、サブタスク実行ポインタ３２を順次更新していく。
【００４９】
各サブタスクの実行により、バッテリパック２側から、バッテリ電圧、バッテリ電流、バッテリ温度、バッテリ劣化率が順次送信されると、通信制御回路１８は、これらのデータを受信データ３３〜３６の領域に格納していく。通信制御回路１８は、これらのサブタスクによる受信データ３３〜３６の中から１つでも受信されると、受信データ有効フラグ３１を“０”から“１”に変化させる。このように、対応するタスクの実行が１度でも開始され、かつ、受信データが１つでも正常に受信されれば、受信データ有効フラグ３１は“１”とされる。なお、この他の例として、対応するタスクが１回でも正常に終了した場合（すなわち、受信データ３３〜３６のすべてが１回でも正常に受信された場合）に、受信データ有効フラグ３１を“１”としてもよい。
【００５０】
なお、受信データ３３〜３６は、ホストマイコン１４からの結果要求コマンドに応じて、ホストマイコン１４に対して送信される。そして、次に同じタスクの実行が指示されると、対応するサブタスクの実行に従って、受信データ３３〜３６が順次書き換えられる。このとき、以前に格納されていた受信データを、次の受信データがバッテリパック２側から受信されるまでの間、消去せずに保持しておいてもよい。
【００５１】
エラー回数データ４１は、サブタスクに対応する１つの通信処理を実行したときの通信エラー発生回数を示す。通信制御回路１８は、サブタスクに対応する通信処理により通信エラーが発生すると、所定の回数だけその通信処理をリトライする。このとき、エラー回数データ４１によりエラーの発生回数を積算する。そして、所定の回数だけリトライしても正常な通信ができなかった場合に、通信エラーフラグ４２を“０”から“１”に変化させて、処理停止状態に遷移する。
【００５２】
通信制御回路１８は、ホストマイコン１４からの結果要求コマンドを受信すると、自身の状態を示す情報として、「正常終了」「通信中」「通信エラー」のいずれかの情報も返送する。例えば、通信エラーフラグ４２が“１”であれば「通信エラー」を送信し、このフラグが“０”である場合には、サブタスク実行ポインタ３２およびエラー回数データ４１などを基に、「正常終了」あるいは「通信中」のいずれかを送信する。例えば、サブタスク実行ポインタ３２が初期状態に戻っていなければ、「通信中」と判断できる。
【００５３】
また、通信制御回路１８は、「正常終了」を送信するときには、これとともに受信データ３３〜３６を読み出して送信する。従って、ホストマイコン１４は、通信制御回路１８において通信が正常に終了したと判断できた場合のみ、そこに保持された受信データを正しく受信されたものと判断して取り込むことができるようになる。
【００５４】
なお、ここでは例として、バッテリ残量表示タスクに対応する残量表示タスク領域３０について説明したが、他にバッテリパック２側から取得した情報をホストマイコン１４に引き渡す処理を含むタスクが存在する場合には、そのタスクに対応するメモリ領域が設けられてもよい。この場合、残量表示タスク領域３０と同様に、そのメモリ領域に格納された受信データは、ホストマイコン１４からの結果要求コマンドを受信したとき、「正常終了」を示す情報とともに返送される。
【００５５】
ところで、撮像装置１とバッテリパック２との間で接続端子を介して接続される配線は、端子間の接触抵抗や配線抵抗による数十〜数百ｍΩといった抵抗成分を有する。また、負極端子１２および２２を介して接続される配線（ＧＮＤ配線）の電圧レベルは、正極端子１１および２１を介して接続される配線に対するＧＮＤレベルであるとともに、通信端子１３および２３を通じて送受信される信号に対するＧＮＤ電位でもある。
【００５６】
通信制御回路１８においてバッテリパック２との間で送受信される信号の電流は、例えば５０μＡ程度であり、撮像装置１側とバッテリパック２側との間での信号電圧の絶対的な変動量は無視できる程度となる。これに対し、撮像・記録処理部１６により比較的消費電力が大きい動作が実行されたときには、正極端子１１および２１を介して数Ａといった電流が流れ、この電流はＧＮＤ配線にも流れる。このような大きな電流が流れると、ＧＮＤ配線の抵抗成分により、撮像装置１側とバッテリパック２側とのそれぞれの絶対的なＧＮＤレベルに数百ｍＶといった大きな電位差が生じてしまい、このために、撮像装置１とバッテリパック２との間で正しい通信ができなくなってしまうことがある。
【００５７】
特に、レンズ交換が可能な撮像装置など、比較的高機能の撮像装置では、撮像動作やそれに伴う信号処理をより高速化することが求められている。例えば、撮像間隔を短縮するために、取り込んだ大容量の画像データの信号処理や記録処理、ストロボ発光・充電動作、次の撮像のためのフォーカス調整や露出調整のためのモータ駆動によるレンズ移動動作などが、それぞれ並列に実行されることがある。また、撮像時にはモータ駆動によりミラーを跳ね上げる動作も必要な機種もある。このような動作のために消費電力が一時的に高まった場合、ＧＮＤ配線には例えば５Ａを超えるような大電流が流れる可能性があり、これにより、撮像装置１とバッテリパック２との間での通信エラーが発生する頻度が高くなってしまう。
【００５８】
本実施の形態の撮像装置１では、このような事態が発生した場合でも、通信エラーを迅速に復旧させるとともに、通信により得られる情報を用いた撮像装置１側の処理（例えばバッテリ残量表示）にも、できるだけ通信エラーの影響を与えないようにする。上記のような比較的消費電力が大きくなる動作についてはあらかじめ特定しておくことが可能であり、これらの動作を制御しているホストマイコン１４では、当然、これらの動作が実行されているか否かを容易に認識できる。そこで、この撮像装置では、通信エラーが発生したときに、上記のような動作が実行されたと判断された場合には、装置全体を完全にリセットせずに必要な部分だけをリセットして、エラーで中断された動作を再開することで、上記の目的を達成するようにする。
【００５９】
図４は、撮像装置のホストマイコンが保持する動作管理用データの例を示す図である。
ホストマイコン１４に搭載されたＲＡＭ１４ａには、上記のような消費電力の大きい動作を管理するための情報として、シャッタレリーズＯＮフラグ５１と、ストロボ充電フラグ５２とが記憶される。
【００６０】
ホストマイコン１４は、撮像・記録処理部１６に対して、シャッタレリーズボタンの押下などに応じて撮像画像データの記録を指示したときに、シャッタレリーズＯＮフラグ５１を“０”から“１”に変化させる。撮像画像データの記録が指示されると、撮像・記録処理部１６では、撮像素子から取り込んだ画像データに記録用の各種信号処理を施し、処理後のデータを記録媒体に記録する処理が、高速に実行される。また、このような処理と並行して、現在撮像中の画像に対するフォーカス調整や露出調整も継続され、そのためにモータ駆動によるレンズ移動動作が実行される場合もある。
【００６１】
また、ホストマイコン１４は、撮像・記録処理部１６に対して、上記のように撮像画像データに記録を指示した際にストロボ発光を指示していた場合には、その後にストロボ充電回路の充電動作を開始する際に、ストロボ充電フラグ５２を“０”から“１”に変化させる。なお、例えば上記のような記録用データの信号処理や記録処理と、ストロボ充電動作とが並列に実行される場合には、このストロボ充電フラグ５２は特に必要ではない。
【００６２】
ホストマイコン１４は、これらのシャッタレリーズＯＮフラグ５１およびストロボ充電フラグ５２を“１”に変化させた後、各フラグに対応する動作が完了すると、その値を“０”に戻す。ただし、各フラグを“０”にしたときに、上記のバッテリ残量表示タスクなど、バッテリパック２側からの受信データをホストマイコン１４に引き渡すようなタスクが実行されていた場合（すなわち、そのタスクに対応するタスク実行コマンドを発行した後である場合）には、そのタスクに対応する結果要求コマンドを送信して、その応答を受けるまでの間、これらのフラグの値を“１”に保持し続けるようにする。これにより、通信制御回路１８において通信エラーが発生したときに、その発生原因が上記各フラグに対応する動作に起因するものか否かを確実に判定できるようになる。
【００６３】
なお、この他の例としては、上記の各フラグに対応する動作が完了したとき、バッテリ残量表示タスクなどの所定のタスクが実行中である場合は、その後の一定時間だけ各フラグを“１”に保持するようにしてもよい。
【００６４】
次に、通信制御回路１８において大電流による通信エラーが発生した場合に、上記の各種データを用いて実行される処理について、具体的に説明する。図５は、通信エラー発生時における撮像装置の動作を示すタイミングチャートである。
【００６５】
タイミングＴ２１において、ホストマイコン１４は、通信制御回路１８に対して、バッテリ残量表示タスクの実行を指示するタスク実行コマンドを送信する。このコマンドを受信した通信制御回路１８は、タイミングＴ２２から、対応するサブタスクを順次実行して、バッテリパック２の通信インタフェース回路２６との間で通信を行う。
【００６６】
ここで、タイミングＴ２３〜Ｔ２６の期間において、撮像・記録処理部１６における動作により、ＧＮＤ配線にしきい値Ｖｔｈを超える電流が流れたとする。指示されたタスクを実行中の通信制御回路１８では、タイミングＴ２３の後のサブタスクの実行時に、ＧＮＤレベルの変動による通信エラー（図中“Ｅ”と表示）が発生する。通信制御回路１８は、通信エラーが発生すると、同じ通信処理を所定の回数（ここでは２回）だけリトライし、正常に通信できない場合には、通信エラーフラグ４２を“１”とするとともに、処理停止状態に遷移する（タイミングＴ２４）。
【００６７】
ホストマイコン１４は、タスク実行コマンドを送信した後、所定の時間が経過したタイミングＴ２５において、通信制御回路１８に対して結果要求コマンドを送信する。このとき、通信制御回路１８は、「通信エラー」を示す情報を返送し、これによりホストマイコン１４は、通信エラーが発生したことを検出する。
【００６８】
ホストマイコン１４は、通信エラーの発生を検出すると、シャッタレリーズＯＮフラグ５１およびストロボ充電フラグ５２を参照する。これらのフラグのうち１つでも“１”となっていれば、ホストマイコン１４は、消費電力が大きい動作による通信エラーと判断し、次のタイミングＴ２７において、通信制御回路１８に対してリセットコマンドを送信し、リセットを要求する。ただし、このときのリセットコマンドは、通信エラー発生時の専用のリセットを指示する制御コマンド（以下、通信リセットコマンドと呼ぶ）であり、通信制御回路１８では、少なくとも通信インタフェース回路２６からの受信データ３３〜３６を保持したままの状態で、リセット処理が行われる。この後、タイミングＴ２８において、通信制御回路１８ではリセット処理が終了し、通常処理状態に遷移する。
【００６９】
なお、通信エラーの発生検出後、上記のいずれのフラグも“１”でない場合には、他の原因による通信エラーと判断できる。このときホストマイコン１４は、正規のバッテリパック２が接続されていないものと判断して、従来通り、撮像装置１の動作を停止させるように制御する。あるいは、通信制御回路１８に対して完全にリセットして起動時の状態に戻すための制御コマンドを送信し、通信制御回路１８が再起動した後、バッテリパック２との間の認証処理を再度実行させて、正しく認証された場合には、バッテリ残量表示タスクなどの他のタスクを実行させるようにしてもよい。
【００７０】
ホストマイコン１４は、通信リセットコマンドの送信（タイミングＴ２７）から所定時間が経過したタイミングＴ２９において、タイミングＴ２５で送信したものと同じ結果要求タスクを再度送信する。通信制御回路１８は、ホストマイコン１４に対して「正常終了」を示す情報を返送するとともに、保持したままにしていた通信インタフェース回路２６からの受信データを、ホストマイコン１４に返送する。
【００７１】
この受信データには、少なくとも、前回のバッテリ残量表示タスクの実行時（タイミングＴ２２）において、バッテリパック２からの受信に成功したデータが含まれる。ホストマイコン１４は、返送されたデータを基にバッテリ残量を演算し直し、表示部１７における残量表示を更新する。例えば、バッテリ残量の演算において必要性が高い測定値は、バッテリセルの電圧および電流であり、バッテリ温度やバッテリ劣化率は、電圧や電流から算出されるバッテリ残量を補正するために使用される。従って、通信エラーが発生したときでも、バッテリセルの電圧および電流だけでも受信できれば、これらの値を基にバッテリ残量を暫定的に算出して、表示部１７に表示させることができる。
【００７２】
この後、タイミングＴ３０において、ホストマイコン１４は、バッテリ残量表示タスクの実行を指示するタスク実行コマンドを再度送信する。このコマンドを受信した通信制御回路１８は、タイミングＴ３１から対応するサブタスクを順次実行し、タイミングＴ３２において、ホストマイコン１４からの結果要求コマンドを受信すると、新たに取得された受信データをホストマイコン１４に対して返送し、バッテリ残量表示タスクが正常に終了される。
【００７３】
以上の処理では、通信制御回路１８において通信エラーが発生して、通信処理が停止されたときに、ホストマイコン１４において、シャッタレリーズＯＮフラグ５１およびストロボ充電フラグ５２を基に、消費電力が大きい動作による通信エラーが発生したことが認識され、通信制御回路１８をリセットさせた後、中断された通信処理が再実行される。これにより、例えば装置全体をリセットした場合、あるいはバッテリパック２を再装着した場合などと比較して、通信処理を短時間で復帰させることができる。
【００７４】
特に、相互認証機能を備えたバッテリパック２を使用している場合、装置全体のリセットやバッテリパック２の再装着を行うと、最初に認証処理タスクをあらためて実行する必要がある。しかし、上記処理手順により、例えばバッテリ残量表示タスクを時間を空けずに再実行できるようになる。従って、上記処理により、撮像装置１の安全性を低下させることなく、通信処理を短時間で復帰させることが可能になる。
【００７５】
また、消費電力が大きい動作が行われ、ＧＮＤ配線に大電流が流れたことによる通信エラーが発生したときには、通信リセットコマンドにより、その事態に対処するための専用のリセット処理を通信制御回路１８に実行させて、完全なリセット処理を行わないようにすることで、通信処理の中断時間を短縮できる。
【００７６】
さらに、この通信リセットコマンドによるリセット処理では、通信制御回路１８がこの時点で通信インタフェース回路２６からの受信に成功していたデータをそのまま残し、リセット処理後にこれらのデータをホストマイコン１４が即座に読み出すようにしたことで、通信エラーがホストマイコン１４側の処理に与える影響を小さくすることができる。例えば、表示部１７に表示していた残量表示が途切れる、あるいは、残量演算の精度が低下するなどの事態を回避できる。
【００７７】
そして、撮像装置１とバッテリパック２との間で、電源供給とＧＮＤ配線を共通化して１線式通信を行うようにしながらも、上記の効果を得ることができるので、撮像動作や各種の処理が高速かつ安定的に実行可能な撮像装置を、低コストで実現できる。さらに、バッテリパック２との接続端子や通信線、回路などの配置の自由度も高めることができ、撮像装置１を小型化できる。
【００７８】
図６は、通信リセットコマンドによるリセット処理の流れを示すフローチャートである。
通信制御回路１８は、例えばバッテリ残量表示タスクの実行中に通信エラーが発生し、これを検出したホストマイコン１４から通信リセットコマンドを受信すると、次のような処理を実行する。まず、サブタスク実行ポインタ３２をクリアする（ステップＳ１１）。次に、受信データ有効フラグ３１を参照し（ステップＳ１２）、フラグの値が“１”であれば、ホストマイコン１４に対してＡＣＫ（Acknowledge）を返信し（ステップＳ１３）、その後に、通信管理領域４０の情報をクリアする（ステップＳ１４）。一方、受信データ有効フラグ３１の値が“０”である場合には、ホストマイコン１４に対して何の応答もせずに、通信管理領域４０の情報をクリアする（ステップＳ１４）。
【００７９】
図７は、通信エラーが発生したときの撮像装置のホストマイコンの処理手順を示すフローチャートである。
バッテリパック２からホストマイコン１４にデータを引き渡すようなタスク（ここではバッテリ残量表示タスク）の実行を指示した後に、通信制御回路１８における通信エラーを検出すると（ステップＳ２１）、ホストマイコン１４は、次のステップＳ２２以降の処理を実行する。なお、ホストマイコン１４は、上述したように、結果要求コマンドに応答して、通信制御回路１８から「通信エラー」を示す情報が返送されることで、通信エラーを検出する。また、この他の例として、通信エラーが発生すると、通信制御回路１８側からホストマイコン１４に対して、通信エラーの発生を通知するようにしてもよい。
【００８０】
通信エラーを検出すると、ホストマイコン１４は、シャッタレリーズＯＮフラグ５１およびストロボ充電フラグ５２の値を参照する（ステップＳ２２）。これらのフラグがともに“０”である場合、ホストマイコン１４は、撮像装置１全体の動作を終了するための処理を実行する（ステップＳ２３）。あるいは、上述したように、撮像装置１全体をリセットして、バッテリパック２との認証処理をあらためて実行してもよい。
【００８１】
また、シャッタレリーズＯＮフラグ５１およびストロボ充電フラグ５２のいずれか一方でも“１”である場合、ホストマイコン１４は、通信リセットコマンドを通信制御回路１８に送信し（ステップＳ２４）、一定時間以内に応答があるか否かを判定する（ステップＳ２５）。ＡＣＫの応答があった場合、通信制御回路１８のＲＡＭ１８ａに有効な受信データが格納されていると判断できるので、ホストマイコン１４は、所定時間後に、その受信データを読み込むための結果要求コマンドを、通信制御回路１８に送信する（ステップＳ２６）。
【００８２】
通信制御回路１８から受信データが返送されると、ホストマイコン１４はこれを受信し、受信データを用いて所定の処理（ここではバッテリ残量の演算処理）を実行する（ステップＳ２７）。そして、ホストマイコン１４は、その後の所定時間後に、再びタスク実行コマンド（ここではバッテリ残量表示タスクに対応する）を送信し、通信制御回路１８に、中断されたタスクを再度実行するように要求する（ステップＳ２８）。
【００８３】
なお、ステップＳ２７でホストマイコン１４に返送される受信データは、基本的には、その直前に実行されて中断されたタスクにより、バッテリパック２側からの受信に成功していたデータである。しかし、通信制御回路１８のＲＡＭ１８ａにおいて、１度格納された受信データを、次に新たな受信データにより上書きするまでの間、消去せずに保持しておくようにして、結果要求コマンドに応じてＲＡＭ１８ａ内のすべての受信データを返送する仕様としてもよい。
【００８４】
一方、通信リセットコマンドの送信（ステップＳ２４）に対して、通信制御回路１８からの応答がなかった場合には、通信制御回路１８のＲＡＭ１８ａに有効な受信データが格納されていないと判断できるので、ホストマイコン１４は、結果要求コマンドの送信を行わず、再度タスク実行コマンドを送信して、通信制御回路１８に、中断されたタスクを再度実行させる（ステップＳ２８）。
【００８５】
以上の図６および図７の処理によれば、ホストマイコン１４は、エラーを検出した後、通信リセットコマンドに対する応答が通信制御回路１８からあるか否かに応じて、通信制御回路１８内に取得し得る受信データが存在するか否かを判断でき、存在する場合には即座にこの受信データを取得して、必要な処理を暫定的に実行することができる。逆に、通信制御回路１８内に取得し得る受信データが存在しない場合には、即座にタスク実行コマンドを送信して、中断されたタスクを再実行させることができる。
【００８６】
なお、上記の説明では、主にバッテリ残量表示タスクの実行中に通信エラーが発生した場合について述べたが、バッテリパック２側からホストマイコン１４に対して何らかのデータを引き渡すような他のタスクの実行中であっても、基本的には図６と同様の手順によりリセット処理が実行される。すなわち、少なくともバッテリパック２側から受信済みのデータについては消去せずにそのまま保持し、その他の情報をリセットする。これにより、タスクの再実行の前に受信済みのデータを用いて可能な限りの処理を実行できる。また、装置全体のリセットや通信制御回路１８の完全リセットなどを行うことなく、中断されたタスクを即座に再実行できる。従って、撮像装置１における撮像動作を高速化することができる。
【００８７】
例えば、認証処理タスクの場合には、その実行中に大電流による通信エラーが発生すると、通信制御回路１８の通信処理が停止状態となった後、通信リセットコマンドによるリセット処理が実行されて、その後に認証処理タスクがあらためて実行される。
【００８８】
従来、認証処理タスクの実行中に通信エラーが発生した場合には、接続されたバッテリパック２を正規のものでないと判断して、撮像装置１全体の動作を終了させ、そのバッテリパック２をあらためて装着するまで、撮像装置１を起動しないように制御していた。しかし、図７の処理と同様に、シャッタレリーズＯＮフラグ５１およびストロボ充電フラグ５２のいずれか一方でも“１”であれば、通信リセットコマンドによるリセット処理を実行して、撮像装置１全体を停止させることなく、認証処理タスクを再実行できるようにすることで、バッテリパック２を再装着する必要がなくなる。また、通信エラーの発生からタスク再実行の完了までの間、撮像装置１の内部の処理（例えば、撮像画像を記録可能となるまでの初期処理や露出・フォーカスの調整処理など）を通常通り続行させることができ、撮像装置１における撮像動作を起動から短時間で開始することもできる。
【００８９】
なお、この例の場合でも、認証処理タスクの実行中に通信エラーが発生した場合、シャッタレリーズＯＮフラグ５１およびストロボ充電フラグ５２の値がともに“０”であれば、図７のステップＳ２３と同様に（すなわち、従来の認証エラー発生時と同様に）撮像装置１全体の動作が終了される。
【００９０】
また、この認証処理タスクにおいても、通信リセットコマンドによるリセット処理が実行された後に、すでにバッテリパック２側から受信済みのデータを利用できるようにしてもよい。
【００９１】
また、上記の実施の形態では、ホストマイコン１４は、通信制御回路１８での通信エラーの発生を検出した後、シャッタレリーズＯＮフラグ５１やストロボ充電フラグ５２から、ＧＮＤ配線への過大な電流による通信エラーと判断していたが、この他に例えば、これらのフラグが“１”となるような動作が実行されると、ホストマイコン１４が通信制御回路１８に対して必ず通信リセットコマンドを送信するようにしてもよい。この場合、通信制御回路１８では、通信エラーが発生して処理停止状態となっているときにのみ、通信リセットコマンドを受け付け、その他の状態ではこのコマンドを無視するようにしておく。通信制御回路１８が通信リセットコマンドを受け付けた後の処理は、上述した通りである。
【００９２】
また、上記の実施の形態では、通信制御回路１８が、ホストマイコン１４からの制御コマンドに従って動作する構成としていたが、このような構成に限らず、例えば、すべての通信処理をホストマイコン１４が制御する構成としてもよい。また、上記の通信制御回路１８とホストマイコン１４の各機能が一体の半導体基板上に設けられていてもよい。
【００９３】
また、上記の実施の形態では、撮像装置１とバッテリパック２との間で１本の通信線により通信が行われていたが、複数の通信線により通信が行われていてもよい。すなわち、差動信号を用いず、電源供給用配線のＧＮＤレベルと共通の電位を基準として信号を送受信するような電子機器に、本発明を適用可能である。
【００９４】
また、以上説明した実施の形態では、電子機器の例として撮像装置を挙げたが、これに限らず、外部機器から電源の供給を受けて動作し、かつ、その外部機器との通信機能を備えたいかなる電子機器にも、本発明を適用可能である。例えば、外部機器としてＰＣ（パーソナルコンピュータ）からの電源の供給を受けて何らかの動作を行う機能を備えた、音楽プレーヤなどの携帯型の機器に適用することもできる。
【図面の簡単な説明】
【００９５】
【図１】実施の形態に係る撮像装置およびバッテリパックの構成を示すブロック図である。
【図２】バッテリ残量表示タスクの実行時における処理を模式的に示すタイミングチャートである。
【図３】撮像装置の通信制御回路が備えるメモリ領域の構成例を示す図である。
【図４】撮像装置のホストマイコンが保持する動作管理用データの例を示す図である。
【図５】通信エラー発生時における撮像装置の動作を示すタイミングチャートである。
【図６】通信リセットコマンドによるリセット処理の流れを示すフローチャートである。
【図７】通信エラーが発生したときの撮像装置のホストマイコンの処理手順を示すフローチャートである。
【図８】撮像装置からバッテリパックに信号を送信する場合の動作を模式的に示す図である。
【図９】バッテリパックから撮像装置に信号を送信する場合の動作を模式的に示す図である。
【符号の説明】
【００９６】
１……撮像装置、２……バッテリパック、１１，２１……正極端子、１２，２２……負極端子、１３，２３……通信端子、１４……ホストマイコン、１５……レギュレータ、１６……撮像・記録処理部、１７……表示部、１８……通信制御回路、２４……バッテリセル、２５……バッテリマイコン、２６……通信インタフェース回路、２７……電流検出抵抗
【図１】
2008305164.tif 000003
【図２】
2008305164.tif 000004
【図３】
2008305164.tif 000005
【図４】
2008305164.tif 000006
【図５】
2008305164.tif 000007
【図６】
2008305164.tif 000008
【図７】
2008305164.tif 000009
【図８】
2008305164.tif 000010
【図９】
2008305164.tif 000011