(57)【要約】【課題】簡単に且つ確実に不揮発性メモリの書き換えを行うことを可能とする。【解決手段】このデータ書き換え装置は、電池１０５からの電源供給又は外部電源からの電源供給によりフラッシュメモリ１０３の書き換え動作を実行するもので、フラッシュメモリの上記第１メモリ領域のファームウェアの書き換えの場合は上記電池１０５に基づく書き換え動作を許容し、上記第２メモリ領域のブートプログラムの書き換えのときは上記外部電源に基づく書き換えを許容するとともに上記電池１０５に基づく書き換え動作を禁止するマイコン１０２を備えたことを特徴とする。【選択図】      図２
2005174233.tif 000002
【特許請求の範囲】
【請求項１】
内蔵電源からの電源供給又は外部電源からの電源供給により不揮発性メモリの書き換え動作を実行するデータ書き換え装置であって、
所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのプログラムを格納する第２メモリ領域とを有する上記不揮発性メモリと、
上記第１メモリ領域のデータの書き換えの場合は上記内蔵電源に基づく書き換え動作を許容し、上記第２メモリ領域のデータの書き換えのときは上記外部電源に基づく書き換えを許容するとともに上記内蔵電源に基づく書き換え動作を禁止する書き換え制御手段と、
を備えたことを特徴とするデータ書き換え装置。
【請求項２】
内蔵電源からの電源供給、または外部電源からの電源供給により不揮発性半導体メモリの書き換え動作を実行するデータ書き換え装置であって、
外部電源電圧を検出する電源電圧検出手段と、
所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのプログラムを格納する第２メモリ領域とを有する上記不揮発性半導体メモリと、
上記第１のメモリ領域のデータの書き換えの場合は上記外部電源電圧が第１の所定電圧では書き換えを許可し、上記第２のメモリ領域のデータの書き換えの場合は上記外部電源電圧が上記第１の所定電圧では書き換えを禁止し、上記外部電源電圧が第２の所定電圧では書き換えを許可する書き換え制御手段と、
を備えたことを特徴とするデータ書き換え装置。
【請求項３】
上記第１の所定電圧は、外部電源が接続されていないことを示す電圧であることを特徴とする請求項２に記載のデータ書き換え装置。
【請求項４】
上記第２の所定電圧は、外部電源が接続されたことを示す電圧であることを特徴とする請求項２に記載のデータ書き換え装置。
【請求項５】
第１電圧レベル又は上記第１電圧レベルより高い第２電圧レベルを基準に電源電圧のレベルを判定する電源電圧判定手段と、
所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのプログラムを格納する第２メモリ領域とを有する上記不揮発性メモリと、
上記第１メモリ領域のデータの書き換えのときは電源電圧が上記第１電圧レベルより低いときはデータの書き換えを禁止し、上記第２メモリ領域のデータの書き換えのときは電源電圧が上記第２電圧レベルより低いときは書き換えを禁止する書き換え制御手段と、
を備えたことを特徴とするデータ書き換え装置。
【請求項６】
上記不揮発性メモリの上記第１メモリ領域にはカメラ又はそのアクセサリを制御するファームウェア又はデータが格納されることを特徴とする請求項１、２、５のいずれかに記載のデータ書き換え装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ等のデータを書き換えるデータ書き換え装置に関する。
【背景技術】
【０００２】
従来、フラッシュメモリ等の不揮発性メモリを用いた電子機器において、その不揮発性メモリの消去や書き込みに長時間を要する場合には、停電や電池の容量不足により書き込みの途中で電源供給が遮断されてしまう可能性があった。
【０００３】
このような点に鑑みて、特許文献１では、内蔵電池の電圧が正常動作範囲の電圧にあるかどうかを判定し、該判定結果に基づいて外部電源供給により不揮発性メモリに対するデータ書き換えを行うことで、外部電源供給が遮断されても、内蔵電池からの電源供給を確保して、不揮発性メモリの内容を破壊することなく正常にデータ書き換えを完了して、不揮発性メモリの内容が破壊されてしまう不測の事態を回避するデータ書換え制御方法等に関する技術が開示されている。一方、特許文献２では、バッテリによる駆動が可能であるときでも、記録メディアからプログラムをダウンロードしてフラッシュＲＯＭのプログラムを書き換える場合には、電源の安定供給の観点からバッテリの使用を禁止して、外部電源供給を受けるようにした電子機器に関する技術が開示されている。
【特許文献１】特開２０００−１６３１６７号公報
【特許文献２】特開２００２−１７６５８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように、特許文献１に係る技術では、主に外部電源で不揮発性メモリの書き換えを行い内蔵電池は補助的に用いることを前提としている。そして、特許文献２に係る技術は、バッテリの使用を禁止して外部電源による電源供給に基づいて、不揮発性メモリの書き換えを行うようにしている。しかしながら、一般のユーザは内蔵電池を主に使用しており、外部電源は例外的に使用するものであるので、特許文献１及び２に係る技術のように外部電源を使用しないと書き換えが全くできないのでは不便である。
【０００５】
さらに、再書き換えが困難なファームウェアの書き換え制御用のプログラム（以下、ブートプログラムという）、再書き込みが比較的容易なファームウェアのそれぞれの書き換えを内蔵電池を好適に使用しつつ、確実に行うことが嘱望されている。
【０００６】
本発明の目的とするところは、再書き換えが困難なブートプログラムの書き換えの場合には確実に安定した電源を供給できるようにし、再書き込みが比較的容易なファームウェアの書き換えの場合には上記ブートプログラムの書き換えに必要な電源よりも低い容量での書き換えを許容することにより、ユーザが簡単に不揮発性メモリの書き換えを確実に行うことができるようにすることにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の第１の態様では、内蔵電源からの電源供給又は外部電源からの電源供給により不揮発性メモリの書き換え動作を実行するデータ書き換え装置であって、所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのプログラムを格納する第２メモリ領域とを有する上記不揮発性メモリと、上記第１メモリ領域のデータの書き換えの場合は上記内蔵電源に基づく書き換え動作を許容し、上記第２メモリ領域のデータの書き換えのときは上記外部電源に基づく書き換えを許容するとともに上記内蔵電源に基づく書き換え動作を禁止する書き換え制御手段とを備えたことを特徴とするデータ書き換え装置が提供される。
【０００８】
本発明の第２の態様では、内蔵電源からの電源供給、または外部電源からの電源供給により不揮発性半導体メモリの書き換え動作を実行するデータ書き換え装置であって、外部電源電圧を検出する電源電圧検出手段と、所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのプログラムを格納する第２メモリ領域とを有する上記不揮発性半導体メモリと、上記第１のメモリ領域のデータの書き換えの場合は上記外部電源電圧が第１の所定電圧では書き換えを許可し、上記第２のメモリ領域のデータの書き換えの場合は上記外部電源電圧が上記第１の所定電圧では書き換えを禁止し、上記外部電源電圧が第２の所定電圧では書き換えを許可する書き換え制御手段とを備えたことを特徴とするデータ書き換え装置が提供される。
【０００９】
本発明の第３の態様では、上記第２の態様において、上記第１の所定電圧は、外部電源が接続されていないことを示す電圧であることを特徴とするデータ書き換え装置が提供される。
【００１０】
本発明の第４の態様では、上記第２の態様において、上記第２の所定電圧は、外部電源が接続されたことを示す電圧であることを特徴とするデータ書き換え装置が提供される。
【００１１】
本発明の第５の態様では、第１電圧レベル又は上記第１電圧レベルより高い第２電圧レベルを基準に電源電圧のレベルを判定する電源電圧判定手段と、所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのプログラムを格納する第２メモリ領域とを有する上記不揮発性メモリと、上記第１メモリ領域のデータの書き換えのときは電源電圧が上記第１電圧レベルより低いときはデータの書き換えを禁止し、上記第２メモリ領域のデータの書き換えのときは電源電圧が上記第２電圧レベルより低いときは書き換えを禁止する書き換え制御手段とを備えたことを特徴とするデータ書き換え装置が提供される。
【００１２】
本発明の第６の態様では、上記第１、２、５の態様において、上記不揮発性メモリの上記第１メモリ領域にはカメラ又はそのアクセサリを制御するファームウェア又はデータが格納されることを特徴とするデータ書き換え装置が提供される。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して、本発明の実施の形態について説明する。
【００１４】
先ず、図１には本発明の第１及び第２の実施の形態に共通するデータ書き換え装置の基本構成、及びそれを採用したカメラシステムの構成例を示し説明する。
【００１５】
この図１に示されるように、このデータ書き換え装置を採用したカメラシステムは、レンズユニット１２、ストロボユニット８０、ボディユニット１００等からなる。
【００１６】
先ず、レンズユニット１２の構成について説明する。
【００１７】
レンズユニット１２には、当該レンズユニット１２全体の制御を司るレンズ制御用マイクロコンピュータ（以下、Ｌｕｃｏｍと称する）５が配設されている。そして、このＬｕｃｏｍ５は、ＤＣモータ等からなるレンズ駆動機構２やステッピングモータ等からなる絞り駆動機構４と電気的に接続されている。このレンズ駆動機構２は、撮影レンズ１２ａを駆動するための機構であり、絞り駆動機構４は、絞り３を駆動するための機構である。Ｌｕｃｏｍ５は、通信コネクタ６を介してボディユニット１００のボディ制御用マイクロコンピュータ（以下、Ｂｕｃｏｍと称する）５０と通信自在に接続され、Ｂｕｃｏｍ５０の指令に従って各機構を駆動制御する。レンズユニット１２は、ボディユニット１００の前面に設けられた不図示のレンズマウントを介して着脱自在に構成されている。
【００１８】
次に、ボディユニット１００の光学系の構成について説明する。
【００１９】
ボディユニット１００には、レンズユニット１２の撮影レンズ１２ａ、絞り３を介して入射された光の光路上にクイックリターンミラー１３ｂが配設されており、当該クイックリターンミラー１３ｂの後方には、当該クイックリターンミラー１３ｂを透過した光を反射するためのサブミラー１３ｄが配設されている。そして、このサブミラー１３ｄの反射光の光路上には、その反射光を受けて自動測距する為のＡＦセンサユニット３０ａが配設されている。一方、上記クイックリターンミラー１３ｂで反射された光の光路上には、ペンタプリズム１３ａ、接眼レンズ１３ｃ、測光回路３２が配設されている。クリックリターンミラー１３ｂの後方には、その平面が光軸と垂直となるように、シャッタ１４、防塵フィルタ２１、ＣＣＤユニット２７等が撮像ユニットとして配設されている。
【００２０】
次に、ボディユニット１００の制御系の構成について説明する。
【００２１】
ボディユニット１００には、全体の制御を司るＢｕｃｏｍ５０が配設されている。このＢｕｃｏｍ５０は、ＡＦセンサユニット３０ａを駆動制御する為のＡＦセンサ駆動回路３０ｂ、クリックリターンミラー１３ｂを駆動制御する為のミラー駆動機構１８、シャッタ１４をチャージする為のシャッタチャージ機構１９、シャッタ１４を駆動制御する為のシャッタ制御回路３１、防塵フィルタ２１を駆動制御する為の防塵フィルタ駆動回路４８と接続されている。さらに、このＢｕｃｏｍ５０は、後述するような各種情報を記憶する為のフラッシュメモリ等の不揮発性メモリ２９、ＣＣＤユニット２７の周辺の温度を測定する為の温度測定回路３３、画像処理コントローラ４０、ペンタプリズム１３ａからの光束に基づいて測光処理をする為の測光回路３２、各部に好適となるように電池５４等の電圧を変換する為の電源回路５３ａ、内部電源としての電池５４の電圧を検出する為の電圧検出回路５３ｂ、カメラの動作状態等をユーザに告知する為の動作表示用ＬＣＤ５７、カメラ操作ＳＷ５２、ＵＳＢ通信コネクタ６０、ストロボ通信コネクタ８５、リセットＩＣ６１等と、制御バスを介して通信自在に接続されている。
【００２２】
カメラ操作ＳＷ５２は、例えばレリーズＳＷ（１ｓｔレリーズＳＷ、２ｎｄレリーズＳＷ）やモード変更ＳＷ、パワーＳＷ等といった各種操作釦を含むスイッチ群である。画像処理コントローラ４０は、液晶モニタ３６、ＳＤＲＡＭ３８ａと通信自在に接続され、更には通信コネクタ３５を介して各種のメモリカードや外付けのＨＤＤ等の外部記録媒体である記録メディア３９とも接続されている。電源回路５３ａは、電池５４や外部電源７０と接続される。外部電源７０は、ＡＣ／ＤＣコンバータ機能を内蔵しており、付属するコネクタ７１を介して家庭用電源等からの電力供給を可能とするものである。
【００２３】
次に、ストロボユニット８０の構成について説明する。
【００２４】
ストロボユニット８０は、閃光電球８１、ＤＣ／ＤＣコンバータ８２、ストロボ制御マイクロコンピュータ８３、及びストロボ用電池８４からなり、ストロボ通信コネクタ８５を介してボディユニット１００と通信可能となっている。
【００２５】
以下、上記構成による作用のうち特徴的なものを詳細に説明する。
【００２６】
データ書き換え装置は、内蔵電源としての電池５４からの電源供給又は外部電源７０からの電源供給により不揮発性メモリ２９のデータ等の書き換え動作を実行する。
【００２７】
この不揮発性メモリ２９は、詳細は後述するが、所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのブートプログラムを格納するための第２メモリ領域とを有している。このＢｕｃｏｍ５０は、この不揮発性メモリ２９の第１メモリ領域又は第２メモリ領域のデータを書き換える。このとき、Ｂｕｃｏｍ５０は、第１メモリ領域のファームウェアの書き換えのときは内蔵電源としての電池５４に基づく書き換え動作を許容し、第２メモリ領域のブートプログラムの書き換えのときは外部電源７０に基づく書き換えを許容すると共に内蔵電源としての電池５４に基づく書き換え動作を禁止する。従って、ファームウェアの書き換えの場合は内蔵電源としての電池５４等により簡単に書き換えを行う事が可能となり、ブートプログラムの書き換え中に電源が消耗して書き換えを失敗して書き換えが不可能になるということがないので、ファームウェアの書き換えやブートプログラムの書き換えを確実に行うことができる。
【００２８】
また、内蔵電源としての電池５４からの電源供給、または外部電源７０からの電源供給により不揮発性メモリ２９の書き換え動作を実行する場合に、電圧検出回路５３ｂは、外部電源７０の電圧を検出する。不揮発性メモリ２９は、所定のファームウェアを格納する第１メモリ領域と、上記ファームウェアの書き換えを制御するためのプログラムを格納する第２メモリ領域とを有しており、Ｂｕｃｏｍ５０は、第１のメモリ領域のデータの書き換えの場合は外部電源電圧が第１の所定電圧では書き換えを許可し、第２のメモリ領域のデータの書き換えの場合は外部電源電圧が上記第１の所定電圧では書き換えを禁止し、外部電源電圧が第２の所定電圧では書き換えを許可するよう制御する。尚、上記第１の所定電圧は、外部電源が接続されていないことを示す電圧であってもよい。また、上記第２の所定電圧は、外部電源が接続されたことを示す電圧であってもよい。これによれば、ファームウェアの書き換えの場合は内蔵電源により簡単に書き換えができると共に、ブートプログラムの書き換え中に電源が消耗して書き換えを失敗して書き換えが不可能になるということがないので、ファームウェアの書き換えを制御するためのプログラムの書き換えを確実に行うことができる。
【００２９】
或いは、電圧検出回路５３ｂは、第１電圧レベル又は第１電圧レベルより高い第２電圧レベルを基準に電源電圧のレベルを判定する。この判定結果に基づき制御する場合、Ｂｕｃｏｍ５０は、上記制御に換えて、第１メモリ領域のファームウェア等の書き換えのときは電源電圧が第１電圧レベルより低いときはデータの書き換えを禁止し、第２メモリ領域のブートプログラム等の書き換えのときは電源電圧が第２電圧レベルより低いときは書き換えを禁止する。従って、ファームウェアの書き換えもブートプログラムの書き換えもその性質に応じて電源容量を最大限活用しながら確実に行うことができる。尚、不揮発性メモリ２９の上記第１メモリ領域には、より詳細には、例えばカメラ又はそのアクセサリを制御するファームウェア又はデータ等が格納されてもよい。
【００３０】
以下、上記説明をふまえて、第１及び第２の実施の形態について詳述する。
【００３１】
（第１の実施の形態）
図２には、第１の実施の形態に係るデータ書き換え装置の構成例を示し説明する。
【００３２】
この図２に示されるように、電池１０５のプラス（＋）端子は、逆流防止の為のダイオードＤ１０１を介して電源回路１０１の第１入力ポートに接続されており、マイナス（−）端子は、電源回路１０１の第２入力ポートに接続されている。そして、図２では不図示の外部電源（図１の符号７０に相当）からの電源供給を受けるＡＣアダプタコネクタ１０６のプラス（＋）端子は、逆流防止の為のダイオードＤ１０２を介して電源回路１０１の第１入力ポートに接続されており、マイナス（−）端子は、電源回路１０１の第２入力ポートに接続されている。ＡＣアダプタコネクタ１０６のプラス（＋）端子は、更に抵抗Ｒ１０１，Ｒ１０２を介して接地され、当該抵抗Ｒ１０１，Ｒ１０２の接続点は、マイクロコンピュータ（以下、マイコンと称する）１０２のＡ／Ｄポートに接続されている。
【００３３】
さらに、電源回路１０１の出力ポートは、マイコン１０２のＶｃｃポートに接続されている。電源回路１０１の出力ポートは、リセットＩＣ１０４にも接続されており、当該リセットＩＣ１０４の出力ポートはマイコン１０２のＲＥＳＥＴポートに接続されている。このマイコン１０２は、ＵＳＢ通信ポートを有しており、当該ＵＳＢ通信ポートは不図示のＵＳＢ通信コネクタ（図１の符号６０に相当）に接続されている。以上のほか、マイコン１０２はＲＡＭ１０２ａを内容しており、更には不揮発性メモリとしてのフラッシュメモリ１０３、動作表示用ＬＣＤ１０７と接続されている。
【００３４】
このような構成において、外部電源の電圧を抵抗Ｒ１０１，Ｒ１０２により分圧してマイコン１０２に好適な電圧としてＡ／Ｄポートに与える。即ち、図２の構成では、マイコン１０２は、外部電源の電圧を検出できることとなる。
【００３５】
このデータ書き換え装置がカメラシステムに適用される場合、図２の構成と図１の構成との関係は以下のようになる。抵抗Ｒ１０１，Ｒ１０２は図１の電圧検出回路５３ｂに相当し、電源回路１０１は図１の電源回路５３ａに相当し、マイコン１０２は図１のＢｕｃｏｍ５０に相当し、フラッシュメモリ１０３は図１の不揮発性メモリ２９に相当し、電池１０５は図１の電池５４に相当し、ＡＣアダプタコネクタ１０６は図１のジャック３７等に相当し、リセットＩＣ１０４は図１のリセットＩＣ６１に相当する。
【００３６】
ここで、上記構成による作用を説明する前に、図３を参照して、フラッシュメモリ１０３のメモリアドレス空間について更に具体的に説明する。
【００３７】
この図３に示されるように、フラッシュメモリ１０３は、複数のメモリ領域に分けられている。即ち、本例では、３つのブロックＡ，Ｂ，Ｃに分けられている。
【００３８】
先ず、ブロックＡは、ファーム書き換え検出や電池装填時にマイコン１０２内部の不図示のＲＡＭに読み込んで実行するためのブートプログラム等が格納されている。このブロックＡには、ファームアップ正常フラグの領域が割り当てられている。ブロックＢは、例えばデータ書き込み装置がカメラに適用される場合には、当該カメラの基本動作を行うために必要なプログラム（ファームウェア）等が格納されている。このブロックＢにも、ファームアップ正常フラグの領域が割り当てられている。ブロックＣは、例えばデータ書き込み装置がカメラに適用される場合には、当該カメラの基本動作を行うために必要なデータや、カメラ固有のデータ、工場出荷時のデータが格納される。このブロックＣにも、ファームアップ正常フラグの領域が割り当てられている。
【００３９】
尚、上記ファームアップ正常フラグの領域には、ファームアップ開始前に“０”が書き込まれ、ファームアップの正常終了時に“１”が書き込まれる。この書き込みのタイミング等の詳細については、後に詳述する。
【００４０】
以下、図４乃至図８のフローチャートを参照して、上記構成による作用、即ち各種プログラムに基づくシーケンシャルな制御動作について詳細に説明する。
【００４１】
先ず、図４に示されるように、データ書き込み装置に電池１０５が装填されると、リセットＩＣ１０４が作動し、マイコン１０２をパワーオンリセットし、フラッシュメモリ１０３のブロックＡに格納されているプログラムをマイコン１０２のＲＡＭ１０２ａの領域ａに読み込み（ステップＳ１）、プログラムＡを実行する（ステップＳ２）。
【００４２】
以下、図５のフローチャートを参照して、プログラムＡに基づく処理を説明する。
【００４３】
マイコン１０２は、先ずフラッシュメモリ１０３のブロックＡのファームアップ正常フラグの状態を判断する（ステップＳ３）。このステップＳ３にて、ファームアップ正常フラグが“０”であれば、マイコン１０２は、サービス対応メッセージ警告表示を動作表示用ＬＣＤ１０７にて行う（ステップＳ４）。このように警告表示を行うのは、ファームアップ正常フラグには、ファームアップ開始前には“０”が書き込まれ、ファームアップの正常終了時には“１”が書き込まれるようになっているので、このタイミングで当該フラグが“０”であるという事は、前回のプログラムの書き換え等が正常に終了していないことを意味し、その旨をユーザに示唆する必要があるからである。このような警告表示の後にデータ書き換え装置の動作をロックする（ステップＳ５）。例えば、データ書き換え装置がカメラシステムに適用される場合、通常のカメラ動作への移行が禁止される。
【００４４】
一方、上記ステップＳ３にて、ファームアップ正常フラグが“１”であれば、ブロックＡのプログラムに異常はないので、マイコン１０２は、フラッシュメモリ１０３のブロックＢのプログラム（ファームウェア）をＲＡＭ１０２ａ上の領域ｂに読み込み（ステップＳ６）、これに続いてフラッシュメモリ１０３のブロックＣのデータをＲＡＭ１０２ａ上の領域ｃに読み込む（ステップＳ７）。そして、マイコン１０２は、ＵＳＢ通信ポートを介してＵＳＢ接続がなされているか否かを検出し判断する（ステップＳ８）。この検出の手法としては公知の種々の手法を採用し得るので、詳細な説明は省略する。
【００４５】
この例では、ブロックＢのプログラム（ファームウェア）の書き換えを所望とする場合には、図２では不図示のボタンＡ（例えば、図１のカメラ操作ＳＷ５２に含まれる）を所定時間（この例では５秒）以内に所定回数（この例では５回）押下するような仕様になっている。そこで、マイコン１０２は、ＵＳＢ接続されていると判断した場合は、ボタンＡが５秒以内に５回押下されたか否かを判断する（ステップＳ９，Ｓ１０）。押下された場合には、ファームアップに係るステップＳ１１以降の処理に進む。一方、５秒以内に５回押下されていない場合であって、５秒経過した場合（ステップＳ１０）、及びステップＳ８にてＵＳＢ接続されていないと判断した場合は、ステップＳ３に戻る。
【００４６】
ステップＳ１１では、マイコン１０２は、ＵＳＢ通信により外部機器、例えばパーソナルコンピュータ等からのデータを受信し（ステップＳ１１）、当該データに基づいてファームアップ要求がなされているか否かを判断する（ステップＳ１２）。
【００４７】
このステップＳ１２において、ファームアップの要求でないと判断した場合には、図６の処理に進む。そして、フラッシュメモリ１０３のブロックＢのファームアップ正常フラグの状態を判断する（ステップＳ３０）。ここで、当該フラグが“０”である場合には、前回のファームアップが正常に終了していないものと判断し、ブロックＢのプログラム（ファームウェア）の再度のファームアップを要求すべく動作表示用ＬＣＤ１０７にて警告表示を行い（ステップＳ３１）、動作をロックする（ステップＳ３２）。
【００４８】
ステップＳ３０において、ブロックＢのファームアップ正常フラグが“１”である場合には、フラッシュメモリ１０３のブロックＣのファームアップ正常フラグの状態を判断する（ステップＳ３３）。ここで、当該フラグが“０”である場合には、前回のファームアップが正常に終了していないものと判断し、ブロックＣの再度のファームアップを要求すべく動作表示用ＬＣＤ１０７にて警告表示を行い（ステップＳ３４）、動作をロックする（ステップＳ３５）。ステップＳ３３において、ブロックＣのファームアップ正常フラグが“１”である場合には、プログラムＢを実行する（ステップＳ３６）。
【００４９】
このプログラムＢに基づく処理については、図９を参照しつつ後述する。
【００５０】
図５の説明に戻り、ステップＳ１２において、ファームアップの要求であると判断した場合には、マイコン１０２は、ブロックＡのプログラム（ブートプログラム）の書き換えか否かを判断する（ステップＳ１３）。ここで、ブロックＡのプログラム（ブートプログラム）の書き換えでないと判断した場合には、図７の処理に移行する。
【００５１】
この図７では、先ず、フラッシュメモリ１０３のブロックＢのプログラム（ファームウェア）の書き換えか否かを判断し（ステップＳ４０）、当該ブロックＢのプログラム（ファームウェア）の書き換えである場合には、ＵＳＢ通信を行い、ブロックＢのプログラム（ファームウェア）等の書き換え用のデータを受信し（ステップＳ４３）、ブロックＢのファームアップ正常フラグを“０”とし（ステップＳ４４）、ブロックＢの内容を上記ＵＳＢ通信で得たデータに書き換えた後（ステップＳ４５）、ブロックＢのファームアップ正常フラグを“１”とし（ステップＳ４６）、動作表示用ＬＣＤ１０７に書き換え完了表示を行い（ステップＳ４７）、図６の処理に移行する。
【００５２】
この図６の処理の詳細については、前述した通りであるが、フラッシュメモリ１０３のブロックＢのファームアップ正常フラグが“０”である場合、上記したファームアップ（ステップＳ４５）が正常に終了していないので、ブロックＢのプログラム（ファームウェア）の再度のファームアップを要求すべく動作表示用ＬＣＤ１０７にて警告表示を行い、動作をロックする（ステップＳ３０乃至Ｓ３２）。
【００５３】
一方、上記ステップＳ４０で、ブロックＢのプログラム（ファームウェア）の書き換えでないと判断した場合には（ステップＳ４０）、フラッシュメモリ１０３のブロックＣのプログラムの書き換えか否かを判断する（ステップＳ４１）。当該ブロックＣの書き換えである場合には、ＵＳＢ通信を行い、ブロックＣの書き換え用のデータをを受信し（ステップＳ４８）、ブロックＣのファームアップ正常フラグを“０”とし（ステップＳ４９）、ブロックＣの内容を上記ＵＳＢ通信で得たデータに書き換えた後（ステップＳ５０）、ブロックＣのファームアップ正常フラグを“１”とし（ステップＳ５１）、動作表示用ＬＣＤ１０７に書き換え完了表示を行い（ステップＳ５２）、図６の処理に移行する。
【００５４】
この図６の処理の詳細については、前述したとおりであるが、フラッシュメモリ１０３のブロックＣのファームアップ正常フラグが“０”である場合には、上記したファームアップ（ステップＳ５０）が正常に終了していないので、ブロックＣのデータの再度のファームアップを要求すべく動作表示用ＬＣＤ１０７に警告表示を行い、動作をロックする（ステップＳ３３乃至Ｓ３５）。
【００５５】
再び図５の説明に戻る。ステップＳ１３にて、マイコン１０２がブロックＡのプログラムの書き換えであると判断した場合には、電源電圧を検出する（ステップＳ１４）。図２で前述したように、外部電源（図１の符号７０）の電圧は抵抗Ｒ１０１,Ｒ１０２により分圧され、マイコン１０２に好適な電圧とされた後にＡ／Ｄポートに与えられるので、マイコン１０２は当該電圧を検出することになる。続いて、マイコン１０２は、検出した電源電圧が所定電圧以上であるか否かを判断し（ステップＳ１５）、所定電圧以上でない場合にはフラッシュメモリ１０３のブロックＡのプログラム（ブートプログラム）の書き換えを正常に終了できない可能性があるので、動作表示用ＬＣＤ１０７に所定の警告表示を行い（ステップＳ１６）、動作をロックする（ステップＳ１７）。
【００５６】
尚、図５のステップＳ１５においては電源電圧が所定電圧以上あるかどうかを検出しているが、通常は外部電源が接続されており電源が供給されていることを確認できれば電圧は保証されるので、上記ステップＳ１５においては外部電源からの電源供給があるかどうかを判定してもよい。また、外部電源の電圧は必ずしも内蔵電源の電圧よりも高い必要はなく、ファームウェアの書き換えを保証する所定の電圧（例えば７．５Ｖ）以上であればよい。
【００５７】
一方、マイコン１０２は、上記ステップＳ１５で電源電圧が上記所定電圧以上であると判断した場合には、ＵＳＢ通信を行い、ブロックＡの書き換え用のデータを受信し（ステップＳ１８）、ブロックＡのファームアップ正常フラグを“０”とし（ステップＳ１９）、ブロックＡの内容を上記ＵＳＢ通信で得たデータに書き換え（ステップＳ２０）、ブロックＡのファームアップ正常フラグを“１”とし（ステップＳ２１）、動作表示用ＬＣＤ１０７に書き換え完了表示を行い（ステップＳ２２）、図８の処理に移行する。
【００５８】
この図８の処理に移行すると、フラッシュメモリ１０３のブロックＡのファームアップ正常フラグが“０”であるか否かを判断し（ステップＳ５３）、当該フラグが“０”である場合には、上記したファームアップ（ステップＳ２０）が正常に終了していないので、業者によるメンテナンスの必要性を示唆する警告表示を行い（ステップＳ５４）、動作をロックする（ステップＳ５５）。一方、当該フラグが“１”である場合には、プログラムＢを実行することになる（ステップＳ５６）。
【００５９】
次に図９のフローチャートを参照して、プログラムＢに基づく処理について説明する。
【００６０】
ここでは、データ書き換え装置をカメラシステムに適用した例を説明する。
【００６１】
マイコン１０２は、プログラムＢを実行すると、先ず各種変数を初期化し（ステップＳ６０）、図２では不図示のパワースイッチ（図１のカメラ操作ＳＷ５２に含まれる）の状態を検出し（ステップＳ６１）、当該パワースイッチがオンされると、ボディユニット（図１の符号１００）のダイヤル（図１のカメラ操作ＳＷ５２に含まれる）が操作されたか否かを判断する（ステップＳ６２）。ここで、ダイヤルが操作された場合には、マイコン１０２は、当該ダイヤル操作に基づく各処理を行った後（ステップＳ６３）、ステップＳ６４に進む。一方、ダイヤル操作がされていない場合には、ステップＳ６４に進む。続いて、マイコン１０２は、ボディユニット（図１の符号１００）のレリーズボタン（図１のカメラ操作ＳＷ５２に含まれる）が操作されたか否かを判断する（ステップＳ６４）。
【００６２】
このステップＳ６４で、当該レリーズボタンが操作されていなければ、上記ステップＳ６１に戻り、上記動作を繰り返す。一方、レリーズボタンが半押し（１ｓｔレリーズのオン）されたか否かを判断し（ステップＳ６５）、当該レリーズボタンが半押しされていなければ、上記ステップＳ６１に戻り、上記動作を繰り返すことになる。
【００６３】
レリーズボタンが半押し（１ｓｔレリーズのオン）されている場合には、露出演算を行い（ステップＳ６６）合焦動作を行い（ステップＳ６７）、合焦した場合には（ステップＳ６８）、レリーズボタンが全押し（２ｎｄレリーズのオン）されたか否かを判断し（ステップＳ６９）、当該レリーズボタンが全押しされていなければ、上記ステップＳ６５に戻り上記動作を繰り返す。一方、レリーズボタンが全押し（２ｎｄレリーズのオン）された場合には（ステップＳ６９）、露出動作を行い（ステップＳ７０）、記録メディア（図１の符号３９）に画像を記録し（ステップＳ７１）、上記ステップＳ６１に戻ることになる。
【００６４】
以上説明したように、本発明の第１の実施の形態によれば、ファームウェアを格納するブロックＢと上記ファームウェアの書き換えを制御するためのプログラム（ブートプログラム）を格納するブロックＡ等の記憶領域を有する不揮発性メモリのデータ書き換えに際して、書き換えに失敗するとユーザが再書き換えを行うことが難しいファームウェアの書き換えを制御する為のブートプログラムというの書き換えの場合には外部電源により確実に安定した電源を供給できるようにし、例え書き換えに失敗してもユーザが簡単に再書き込みを行うことができるファームウェアの書き換えの場合は、上記ブートプログラムの書き換えに必要な電源よりも低い電池電源での書き換えを許容することにより、カメラユーザが簡単に不揮発性メモリの書き換えを行うことができる。
【００６５】
（第２の実施の形態）
図１０には、第２の実施の形態に係るデータ書き換え装置の構成例を示し説明する。
【００６６】
この図１０に示されるように、電池１０５のプラス（＋）端子は、逆流防止の為のダイオードＤ１０１を介して電源回路１０１の第１入力ポートに接続され、マイナス（−）端子は、電源回路１０１の第２入力ポートに接続されている。図２では不図示の外部電源（図１の符号７０に相当）からの電源供給を受けるＡＣアダプタコネクタ１０６のプラス（＋）端子は、逆流防止の為のダイオードＤ１０２を介して電源回路１０１の第１入力ポートに接続されており、マイナス（−）端子は、電源回路１０１の第２入力ポートに接続されている。電池１０５のプラス（＋）端子は、抵抗Ｒ１０１，Ｒ１０２を介して接地され、当該抵抗Ｒ１０１，Ｒ１０２の接続点は、マイクロコンピュータ（以下、マイコンと称する）１０２のＡ／Ｄポートに接続されている。電源回路１０１の出力ポートは、マイコン１０２のＶｃｃポートに接続されている。そして、電源回路１０１の出力ポートは、リセットＩＣ１０４にも接続されており、当該リセットＩＣ１０４の出力ポートはマイコン１０２のＲＥＳＥＴポートに接続されている。このマイコン１０２は、ＵＳＢ通信ポートを有しており、当該ＵＳＢ通信ポートは不図示のＵＳＢ通信コネクタ（図１の符号６０に相当）に接続される。以上のほか、マイコン１０２は、不揮発性メモリとしてのフラッシュメモリ１０３、動作表示用ＬＣＤ１０７に接続されている。
【００６７】
尚、このデータ書き換え装置をカメラシステムに適用する場合、図１０の上記構成と図１の構成との関係は以下のようになる。即ち、抵抗Ｒ１０１，Ｒ１０２は図１の電圧検出回路５３ｂに相当し、電源回路１０１は図１の電源回路５３ａに相当し、マイコン１０２は図１のＢｕｃｏｍ５０に相当し、フラッシュメモリ１０３は図１の不揮発性メモリ２９に相当し、電池１０５は図１の電池５４に相当し、ＡＣアダプタコネクタ１０６は図１のジャック３７に相当し、リセットＩＣ１０４は図１のリセットＩＣ６１に相当し、動作表示用ＬＣＤ１０７は図１の動作表示用ＬＣＤ５７する。
【００６８】
この図１０の構成は、電池１０５の電圧或いは外部電源の電圧を抵抗Ｒ１０１，Ｒ１０２により分圧してマイコン１０２に好適な電圧としてＡ／Ｄポートに与える点で図２と構成上相違する。即ち、図１０の構成では、マイコン１０２は、電池１０５の電圧或いは外部電源の電圧を検出できる。また、外部電源の電圧は７．５Ｖであり、電池１０５として採用し得るリチウム電池は図１１の降電特性を示しているものとする。フラッシュメモリ１０３のメモリアドレス空間については第１の実施の形態に関する図３と同様であるので、ここでは重複した説明を省略する。
【００６９】
以下、図１２のフローチャートを参照して、上記構成による作用、即ち各種プログラムに基づくシーケンシャルな制御動作について詳細に説明する。
【００７０】
尚、制御動作は、基本的部分は第１の実施の形態（図４乃至図９）と同様であるが、図５の上記ステップＳ１５では電源電圧が所定電圧以上であるか否かを確認していたところが、この第２の実施の形態では電源電圧が９Ｖ以上であるか否かを確認している。
【００７１】
以下では、図１２を参照して、更に異なる部分を中心に説明する。
【００７２】
この第２の実施の形態に係るデータ書き換え装置では、マイコン１０２は、ブロックＢ又はＣのファームアップの前に電池１０５の電源電圧を検出する（ステップＳ１２０）。そして、電池１０５の電源電圧が７．５Ｖ以上でない場合には、マイコン１０２は、ファームアップを正常に終了できない可能性があるものと判断し、警告表示を動作表示用ＬＣＤ１０７にて行い、動作をロックする（ステップＳ１２３）。これにより、例えばデータ書き換え装置がカメラシステムに適用される場合においては、通常のカメラ動作への移行が禁止される。
【００７３】
以上説明したように、本発明の第２の実施の形態に係るデータ書き換え装置によれば、再書き換えが比較的容易なファームウェアやデータのファームアップに際しても、電池電圧を検出し、所定の電圧以下である場合にはファームアップをすることなく警告表示を行うことで、ブロックＢ，Ｃのファームアップが正常に終了しないという不測の事態が生じるのを防止することができる。
【００７４】
以上説明したように、本発明の実施の形態によれば、ファームウェアの書き換えの場合は内蔵電源である電池により簡単に書き換えができるとともに、ブートプログラムの書き換え中に電源が消耗して書き換えを失敗して書き換えが不可能になるということがないので、ファームウェアの書き換えを制御するためのプログラムの書き換えを確実に行うことができる。更に、ファームウェアの書き換えもブートプログラムの書き換えもその性質に応じて電源容量を最大限活用しながら確実に行うことができる。
【００７５】
すなわち、ファームウェアを格納する領域と上記ファームウェアの書き換えを制御するためのプログラムを格納する領域を有する不揮発性メモリのデータ書き換えに際して、書き換えに失敗するとユーザが再書き換えを行うことが難しいファームウェアの書き換えを制御するためのブートプログラムの書き換えの場合には確実に安定した電源を供給できるようにし、例え書き換えに失敗してもユーザが簡単に再書き込みを行うことができるファームウェアの書き換えの場合は、上記ブートプログラムの書き換えに必要な電源よりも低い容量での書き換えを許容することにより、カメラユーザが簡単に不揮発性メモリの書き換えを行うことができる。
【００７６】
以上、本発明の第1及び第２の実施の形態について説明したが、本発明は、これに限定されることなく、その趣旨を逸脱しない範囲で種々の改良、変更が可能であることは勿論である。例えば、上記実施の形態では、データ書き換え装置をカメラシステムに適用する場合を適宜説明したが、これに限定されず、種々の技術に適用可能である。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１及び第２の実施の形態に共通するデータ書き換え装置の基本構成、及びそれを採用したカメラシステムの構成例を示す図。
【図２】第１の実施の形態に係るデータ書き換え装置の構成例を示す図。
【図３】フラッシュメモリ１０３のメモリアドレス空間を説明する図。
【図４】電池装填時の動作を説明するフローチャート。
【図５】第１の実施の形態に係るデータ書き換え装置によるプログラムＡに基づく処理を説明するためのフローチャート。
【図６】第１の実施の形態に係るデータ書き換え装置によるプログラムＡに基づく処理を説明するためのフローチャート。
【図７】第１の実施の形態に係るデータ書き換え装置によるプログラムＡに基づく処理を説明するためのフローチャート。
【図８】第１の実施の形態に係るデータ書き換え装置によるプログラムＡに基づく処理を説明するためのフローチャート。
【図９】第１の実施の形態に係るデータ書き換え装置によるプログラムＢに基づく処理を説明するためのフローチャート。
【図１０】第１の実施の形態に係るデータ書き換え装置の構成例を示す図。
【図１１】リチウム電池の降圧特性を示す図。
【図１２】第１の実施の形態に係るデータ書き換え装置によるプログラムＡに基づく処理を説明するためのフローチャート。
【符号の説明】
【００７８】
２９・・・不揮発性メモリ、５０・・・Ｂｕｃｏｍ、５３ａ・・・電源回路、５３ｂ・・・電圧検出回路、５４・・・電池、５７・・・動作表示用ＬＣＤ、５２・・・カメラ操作ＳＷ、６０・・・ＵＳＢ通信コネクタ、６１・・・リセットＩＣ、７０・・・外部電源、１０１・・・電源回路、１０２・・・マイコン、１０３・・・フラッシュメモリ、１０４・・・リセットＩＣ、１０５・・・電池、１０６・・・ＡＣアダプタコネクタ、１０７・・・動作表示用ＬＣＤ。
【図１】
2005174233.tif 000003
【図２】
2005174233.tif 000004
【図３】
2005174233.tif 000005
【図４】
2005174233.tif 000006
【図５】
2005174233.tif 000007
【図６】
2005174233.tif 000008
【図７】
2005174233.tif 000009
【図８】
2005174233.tif 000010
【図９】
2005174233.tif 000011
【図１０】
2005174233.tif 000012
【図１１】
2005174233.tif 000013
【図１２】
2005174233.tif 000014