(57)【要約】      （修正有）【課題】不揮発性メモリに格納された制御プログラムを容易、確実に書き換え可能な電子機器、プログラム書き換え方法及びプログラムを提供する。【解決手段】電子機器は、制御プログラムを記憶する、書き換え可能な不揮発性メモリ３４と、不揮発性メモリ３４に記憶されるべき制御プログラムへの、不揮発性メモリ３４の書き換え状態を示す情報を記憶する書き換え状態記憶部３８と、起動時に書き換え状態記憶部３８を参照し、書き換え状態記憶部３８に記憶された情報が、不揮発性メモリ３４における制御プログラムの書き換えが終了していないことを示すとき、制御プログラムの書き換えを行うよう制御するＣＰＵ３０と、を備える。【選択図】  図１
2007316687.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを記憶する、書き換え可能な不揮発性メモリと、
前記不揮発性メモリに記憶されるべき制御プログラムへの、前記不揮発性メモリの書き換え状態を示す情報を記憶する書き換え状態記憶部と、
起動時に前記書き換え状態記憶部を参照し、該書き換え状態記憶部に記憶された情報が、前記不揮発性メモリにおける制御プログラムの書き換えが終了していないことを示すとき、制御プログラムの書き換えを行うよう制御する制御部と、
を備える、ことを特徴とする電子機器。
【請求項２】
前記制御部は、制御プログラム書き換えが正常に終了したとき、前記書き換え状態記憶部の情報を前記不揮発性メモリにおける制御プログラムの書き換えが終了していることを示す情報に書き換えるよう制御する、ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記制御部は、起動時に前記書き換え状態記憶部を参照し、該書き換え状態記憶部に記憶された情報が、前記制御プログラムの書き換えが終了していることを示すとき、該制御プログラムに基づく制御を行う、ことを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記書き換え状態記憶部は電池駆動される、ことを特徴とする請求項１乃至３のいずれか１項に記載の電子機器。
【請求項５】
前記書き換え状態記憶部は前記不揮発性メモリの一部に設けられている、ことを特徴とする請求項１乃至３のいずれか１項に記載の電子機器。
【請求項６】
制御プログラムが記憶された書き換え可能な不揮発性メモリに更新して記憶されるべき制御プログラムへの、前記不揮発性メモリの書き換え状態を示す情報を記憶する書き換え状態記憶ステップと、
起動時に書き換え状態記憶ステップで記憶された情報が、前記不揮発性メモリにおける制御プログラムの書き換えが終了していないことを示すとき、制御プログラムの書き換えを行うよう制御する制御ステップと、
を備える、ことを特徴とするプログラム書き換え方法。
【請求項７】
制御プログラムが記憶された書き換え可能な不揮発性メモリに更新して記憶されるべき制御プログラムへの、前記不揮発性メモリの書き換え状態を示す情報を記憶する書き換え状態記憶手順と、
起動時に書き換え状態記憶手順で記憶された情報が、前記不揮発性メモリにおける制御プログラムの書き換えが終了していないことを示すとき、制御プログラムの書き換えを行うよう制御する制御手順と、
をコンピュータに実行させる、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに記憶された、電子機器の制御プログラムを書き換える技術に関する。
【背景技術】
【０００２】
コンピュータ制御される電子機器では書き換え可能な不揮発性メモリ（フラッシュメモリ等）に制御プログラムが格納され、必要に応じて該制御プログラムの書き換え（更新、アップデート）を行えるものが近年増えている。
【０００３】
しかし、書き換え途中でエラーが発生した場合には、通常、機器は動作不能となる。書き換えを確実なものとするため、このようなプログラム更新は、比較的特殊な分野の装置、例えばＰＣ（Personal Computer）用ディスクドライブ、車載用電子制御装置などについて専門的な技術者が行っている（特許文献１、２参照）。
【０００４】
【特許文献１】特開２００４−１８５６０６号公報
【特許文献２】特開２００１−１３５０８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このような分野で利用される電子機器についてプログラムの更新を行うのは、通常作業手順に精通した技術者であり、十分な注意を払って更新を行うため、トラブルも少ない。しかし、一般的な使用者が民生機器について更新作業を行う場合には、たとえ取扱説明書等に注意事項が記載されていたとしても完全に遵守されない場合もあり、また、更新作業に失敗する場合もある。通常、書き換え処理では、不揮発性メモリの古いプログラムを消去後、新しいプログラムが書き込まれる。このため、書き換え処理の途中で書き込みエラーや伝送エラーが発生した場合、再度電子機器を起動しようとしても正常に動作する制御プログラムが無いため起動自体不可能となり、専門知識を有しない者にはその復旧処理は難しい。
【０００６】
上記事情を鑑み、本発明は、不揮発性メモリに格納された制御プログラムを容易、確実に書き換え可能な電子機器、プログラム書き換え方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の態様における電子機器は、制御プログラムを記憶する、書き換え可能な不揮発性メモリと、前記不揮発性メモリに記憶されるべき制御プログラムへの、前記不揮発性メモリの書き換え状態を示す情報を記憶する書き換え状態記憶部と、起動時に前記書き換え状態記憶部を参照し、該書き換え状態記憶部に記憶された情報が、前記不揮発性メモリにおける制御プログラムの書き換えが終了していないことを示すとき、制御プログラムの書き換えを行うよう制御する制御部と、を備える。
【０００８】
上記構成において、前記制御部は、制御プログラム書き換えが正常に終了したとき、前記書き換え状態記憶部の情報を前記不揮発性メモリにおける制御プログラムの書き換えが終了していることを示す情報に書き換えるよう制御する。
【０００９】
上記構成において、前記制御部は、起動時に前記書き換え状態記憶部を参照し、該書き換え状態記憶部に記憶された情報が、前記制御プログラムの書き換えが終了していることを示すとき、該制御プログラムに基づく制御を行う。
【００１０】
上記構成において、例えば、前記書き換え状態記憶部は電池駆動されてもよい。
また、前記書き換え状態記憶部は前記不揮発性メモリの一部に設けられていてもよい。
【００１１】
上記目的を達成するため、本発明の第２の態様におけるプログラム書き換え方法は、制御プログラムが記憶された書き換え可能な不揮発性メモリに更新して記憶されるべき制御プログラムへの、前記不揮発性メモリの書き換え状態を示す情報を記憶する書き換え状態記憶ステップと、起動時に書き換え状態記憶ステップで記憶された情報が、前記不揮発性メモリにおける制御プログラムの書き換えが終了していないことを示すとき、制御プログラムの書き換えを行うよう制御する制御ステップと、を備える。
【００１２】
上記目的を達成するため、本発明の第３の態様におけるプログラムは、制御プログラムが記憶された書き換え可能な不揮発性メモリに更新して記憶されるべき制御プログラムへの、前記不揮発性メモリの書き換え状態を示す情報を記憶する書き換え状態記憶手順と、起動時に書き換え状態記憶手順で記憶された情報が、前記不揮発性メモリにおける制御プログラムの書き換えが終了していないことを示すとき、制御プログラムの書き換えを行うよう制御する制御手順と、をコンピュータに実行させる。
【００１３】
すなわち、上記プログラムを再生装置、コンピュータ装置等の電子機器に読み込ませるとともに、一連の処理を実行させることで、本発明を容易に実現することができる。
さらには、上記プログラムを符号化し、搬送波に重畳されたプログラムコード信号として送信するとともに、この搬送波に重畳されたプログラムコード信号を受信し、元のプログラムに復号化してコンピュータ装置等に実行させることにより、本発明における技術を容易に実施することができる。また、このようなコンピュータ装置等にダウンロードされ、復号されたプログラムを、ＣＤ−Ｒ（Compact Disc Rewritable）等に記録させて再生装置等の電子機器にインストールすることも可能である。
【発明の効果】
【００１４】
本発明によれば、不揮発性メモリに格納された制御プログラムを容易、確実に書き換え可能な電子機器、プログラム書き換え方法及びプログラムが提供される。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照して詳細に説明する。以下に示す実施の形態では、本発明を、民生用再生装置、特に、コンパクトディスクプレーヤに適用した例について説明する。
【００１６】
図１に、本発明の実施の形態にかかる再生装置１０の構成を示す。図１に示すように、再生装置１０は、メカユニット１２と、操作部１４と、システム制御部１６と、を備える。
【００１７】
メカユニット１２は、ディスク駆動部１８と、駆動制御部２０と、Ｄ／Ａ（Digital to Analog）変換部２２と、を備える。
ディスク駆動部１８は、一般的なディスクローディング機構から構成され、コンパクトディスクが装填される。ディスク駆動部１８は、複数のコンパクトディスクを装填可能なものであってもよい。
【００１８】
駆動制御部２０は、一般的なディスク駆動制御用の回路を有し、コンパクトディスクの指定されたトラックのシーク及び読み出されたデジタル信号のデコード等を行う。
【００１９】
Ｄ／Ａ変換部２２は、コンパクトディスクから読み出され、駆動制御部２０でデコードされたデジタル信号をアナログ信号に変換し、スピーカ等の外部機器に接続される出力端子２４に出力する。勿論、スピーカ等を内蔵している場合には、これらを介して放音してもよい。
なお、デジタル出力対応の出力インタフェースを用いる場合には、Ｄ／Ａ変換部２２によりアナログ信号に変換せず、所定のデジタルインタフェースフォーマットに変換して出力するようにすればよい。
【００２０】
操作部１４は、表示部２６と、操作入力部２８と、を備える。
【００２１】
表示部２６は、液晶表示装置等から構成され、再生装置１０の動作状態、機能等に関する情報を表示する。
【００２２】
操作入力部２８は、電源入力ボタン、再生ボタン、停止ボタン等を備え、操作者からの動作指示入力を受け付ける。操作入力部２８は、リモートコントローラやタッチパネル等の入力手段を備えても良い。
【００２３】
システム制御部１６は、ＣＰＵ（Central Processing Unit）３０と、通信部３２と、不揮発性メモリ３４と、書き換え制御部３６と、書き換え状態記憶部３８と、を備える。
【００２４】
ＣＰＵ３０は、後述する不揮発性メモリ３４に記憶された再生制御プログラムに基づいて、操作入力部２８からの入力に応じて再生動作を制御する。また、ＣＰＵ３０は、表示部２６に動作状態を表示させる。
【００２５】
通信部３２は、ＲＳ（Recommended Standard）２３２、ＲＳ４２２、ＲＳ４８５等のシリアル通信インタフェースから構成され、外部ＰＣ等に接続可能に構成されている。通信部３２を介して、ＰＣ等からの再生装置１０の遠隔制御、及び、更新プログラムの受信が行われる。
【００２６】
例えば、通信部３２に接続されるＰＣには、例えば再生装置１０のメーカ等のウェブサイトからダウンロードした更新されるべき再生装置１０の制御プログラムが保存される。なお、制御プログラムだけでなく、書き換え制御部３６と同等に機能するアップデータプログラムがダウンロード・保存されていてもよい。
【００２７】
不揮発性メモリ３４は、書き換え可能な不揮発性メモリ３４、例えば、フラッシュメモリ等の半導体メモリ、ＥＰＲＯＭ（Erasable Programable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable ROM）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）等から構成される。
不揮発性メモリ３４は複数の使用エリアを有し、該エリアのいずれかに再生制御プログラム及び書き換え制御プログラムがそれぞれ記憶される。
【００２８】
書き換え制御部３６は、ＣＰＵ３０の制御の下、不揮発性メモリ３４に記憶された書き換え制御プログラムに基づいて、不揮発性メモリ３４に記憶された再生制御プログラムを書き換える処理を行う。プログラムの書き換え処理には、不揮発性メモリ３４に書き込まれた再生制御プログラムのエラーチェック等の検証処理が含まれる。
【００２９】
書き換え状態記憶部３８は、不揮発性メモリ３４の再生制御プログラムが書き換え状態にあるか否かを示す情報を記憶する。ＣＰＵ３０は、書き換え制御部３６による再生制御プログラムの書き換えを開始するときに書き換え状態にあること、換言すれば、書き換えが継続中であり終了していないことを示す情報を書き換え状態記憶部３８に記憶する。
【００３０】
また、ＣＰＵ３０は、プログラムの書き換えが正常に終了したことを確認したとき、書き換え状態記憶部３８に書き換え状態にないこと、換言すれば、書き換えが正常に終了したことを示す情報に書き換え状態記憶部３８を書き換える。
【００３１】
書き換え状態記憶部３８は、電池等により独立に駆動され、再生装置１０の電源がオフの場合にも記憶情報は保持される。従って、再生制御プログラムの書き換えが正常に完了せずに、強制終了等した場合であっても、書き換え状態記憶部３８に記憶された書き換え状態を示す情報は保持される。
【００３２】
ＣＰＵ３０は、再生装置１０の起動時に書き換え状態記憶部３８を参照し、前回終了時に書き換え処理が正常に終了したか否かを判別する。書き換え中であることを示す情報が書き換え状態記憶部３８に記憶されていた場合を除き、ＣＰＵ３０は、不揮発性メモリ３４の再生制御プログラムに従って通常通りに再生動作を制御する。
【００３３】
一方、書き換え中であることを示す情報が書き換え状態記憶部３８に記憶されていた場合、ＣＰＵ３０は、前回終了時に書き換えが終了していないと判別する。このとき、ＣＰＵ３０は、不揮発性メモリ３４の書き換え制御プログラムに従って書き換え処理を最初からやり直すよう書き換え制御部３６を制御する。書き換え制御部３６は、不揮発性メモリ３４の所定エリアに記憶されている再生制御プログラムを消去し、その後、新たな再生制御プログラムを当該エリアに書き込む。
【００３４】
以下、本実施の形態に係る再生装置１０の動作について説明する。図２に、本実施の形態に係る再生装置１０の動作を説明するフローチャートを示す。なお、図に示すフローチャートは一例であり、同様の結果が実現される構成であればいかなるものであってもよい。
【００３５】
操作入力部２８が電源をＯＮとする入力を受け付けたとき、ＣＰＵ３０は、必要な部分の初期化を行う（ステップＳ１０１）。初期化終了後、ＣＰＵ３０は、書き換え状態記憶部３８を参照し、再生装置１０が前回終了時に書き換え状態にあったか否かを判別する（ステップＳ１０２）。
【００３６】
書き換え状態記憶部３８に記憶された情報が書き換え状態になかったこと、すなわち、書き換え処理が正常に終了していること（或いは書き換え処理が行われていないこと）を示す場合（ステップＳ１０２：ＮＯ）、ＣＰＵ３０は、動作制御プログラムが正常に不揮発性メモリ３４に記憶されていると判別し、再生動作を行うために必要な初期化処理を行い、通常の動作を行う（ステップＳ１０３、Ｓ１０４）。その後、ＣＰＵ３０は、ＰＣ等からプログラムの書き換え要求を受け付けない限り、通常の動作を行う。
【００３７】
書き換え状態記憶部３８に記憶された情報が書き換え状態にあることを示す場合（ステップＳ１０２：ＹＥＳ）、ＣＰＵ３０は、後述するＳ１０８以降のプログラム書き換え処理を行う。例えば、前回起動（電源ＯＮ）時に、後述する書き換え処理が正常に終了せずに、強制的に或いは操作者の操作により終了（電源ＯＦＦ）した場合には、書き換え状態記憶部３８には書き換え状態にあることを示す情報が記憶されるため、後述するプログラム書き換え処理が再度行われる。
【００３８】
ＰＣ等から通信部３２を介してプログラム書き換え要求を受け付けたとき（ステップＳ１０５：ＹＥＳ）、ＣＰＵ３０は、再生中である場合には再生を中止し、また、ディスク駆動部１８に装填されているコンパクトディスクがある場合には、これを排出する（ステップＳ１０６）。プログラム書き換え処理への移行により、再生の突然の中断、ディスクの取り出し不可といった不都合を回避するためである。
【００３９】
次いで、ＣＰＵ３０は、書き換え状態記憶部３８に、書き換え状態にあること、すなわち書き換え処理が正常に終了していないことを示す情報を記憶する（ステップＳ１０７）。これにより、書き換え状態記憶部３８では、書き換え状態にない旨の情報が、書き換え状態にある旨の情報に書き換えられる。また、ＣＰＵ３０は、表示部２６を書き換え状態にある旨を表示するよう制御する（ステップＳ１０８）。
【００４０】
次いで、ＣＰＵ３０は、書き換え制御部３６を制御し、不揮発性メモリ３４に格納されている再生制御プログラムを消去する（ステップＳ１０９）。その後、ＣＰＵ３０は、ＰＣ等より通信部３２を介して再生制御プログラムのデータを受信し、不揮発性メモリ３４の所定のエリアに順次書き込む（ステップＳ１１０、Ｓ１１１、Ｓ１１２）。
【００４１】
書き込み終了後、書き換え制御部３６は、格納したプログラムデータのチェックサム等を利用して、再生制御プログラムが正常に書き込まれたか否かをチェックする（ステップＳ１１３）。ＣＰＵ３０は、全てのプログラムデータが正常に書き込まれている場合（ステップＳ１１４：ＹＥＳ）、書き換え状態記憶部３８に記憶されている情報について、書き換え状態にないことを示す情報に書き換える（ステップＳ１１５）。その後、ＣＰＵ３０は、更新された再生制御部ログラムに基づいた通常の再生動作を行う（ステップＳ１０４）。
【００４２】
プログラムデータが正常に書き込まれていない場合（ステップＳ１１４：ＮＯ）、ＣＰＵ３０は、書き換え状態記憶部３８の情報を更新することなく、エラーが発生し、再度の書き換え操作が必要なことを示す表示を行うよう表示部２６を制御する（ステップＳ１１６）。その後、ステップＳ１０８の処理に戻って再度プログラムの更新処理を行う。
【００４３】
上記処理によれば、例えば、前回起動時に書き換え処理を行ったがエラーが発生して強制終了した場合、次回の起動時には書き換え処理があらためて開始される。書き換え処理が正常に終了したことが検証されて初めて、書き換え状態記憶部３８には、書き換えが正常に終了していることが記憶される。
【００４４】
これにより、再起動時に、既に消去された或いは正常に書き込まれていない再生制御プログラムに従った処理が試行され、再生装置１０が動作不能となることは確実に回避される。従って、操作者は、専用のＲＯＭライタ等、ひいては、専門知識を有することなく、容易かつ確実に制御プログラムの更新作業を行うことができる。
【００４５】
上記実施の形態では、書き換え状態を示す情報を記憶する、バッテリーバックアップされる書き換え状態記憶部３８を設ける構成とした。しかし、書き換え状態を記憶する方法はこれに限られない。例えば、不揮発性メモリ３４の再生制御プログラムを記憶するエリアの最終アドレスに、当該プログラムの消去後にセットされる値以外の値を書き込むようにしてもよい。この場合、ＣＰＵ３０は、起動時に当該値を書き換え状態を示す情報として参照し、書き換え動作又は通常の再生動作を行う。
【００４６】
上記実施の形態では、本発明を再生装置１０、特にコンパクトディスクプレーヤに適用した例について説明した。しかし、これに限らず、本発明は、書き換え可能な不揮発性メモリ３４に制御プログラムが記憶されたいかなる電子機器にも適用可能である。
さらに、本発明に係る処理を所定の言語で記載したプログラムコード信号を搬送波あるいは記録媒体を介して頒布し、これを複合化して電子機器にインストールするようにしてもよい。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態にかかる再生装置１０の構成を示すブロック図である。
【図２】本発明の実施の形態にかかる再生装置１０の動作を示すフローチャートである。
【符号の説明】
【００４８】
１０：再生装置、１２：メカユニット、１４：操作部、１６：システム制御部、３０：ＣＰＵ、３２：通信部、３４：不揮発性メモリ、３６：書き換え制御部、３８：書き換え状態記憶部
【図１】
2007316687.tif 000003
【図２】
2007316687.tif 000004