(57)【要約】【課題】ＲＯＭに格納されているプログラムを修正するために、プログラム修正用のデータの入力及び送信を効率良く行うことのできる送信装置を提供すること。【解決手段】プログラムを記憶するＲＯＭと、ＣＰＵと、ＣＰＵがデータを読み書き可能な不揮発性メモリと、外部からの信号を受信する受信部と、を備える電子機器を操作するための信号を送信する送信装置である。送信装置は、電子機器に送信されるデータを一時記憶するメモリを備え、ＲＯＭに格納されたプログラムを修正するためのデータをメモリに格納して、所定の操作がされたとき、メモリに格納されたデータを送信する。【選択図】図１
2008090503.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを記憶するＲＯＭと、ＣＰＵと、前記ＣＰＵがデータを読み書き可能な不揮発性メモリと、外部からの信号を受信する受信部と、を備える電子機器を操作するための信号を送信する送信装置であって、
前記電子機器に送信されるデータを一時記憶するメモリを備え、
前記ＲＯＭに格納されたプログラムを修正するためのデータを前記メモリに格納して、所定の操作がされたとき、前記メモリに格納されたデータを送信することを特徴とする送信装置。
【請求項２】
請求項１に記載の送信装置であって、
前記プログラムを修正するためのデータは、前記ＲＯＭに記録されたプログラムの変更部分の先頭アドレスと、前記プログラムの変更部分の代わりの修正プログラムと、を含むことを特徴とする送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器のＲＯＭに格納されているプログラムを修正するためのデータを送信する送信装置に関する。
【背景技術】
【０００２】
プログラムがマスク化されたＲＯＭを有するマイクロコンピュータ（以下「マイコン」という。）を搭載した電子機器において、バグや仕様変更等によりプログラムを変更する方法の１つは、修正されたプログラムがマスク化されたＲＯＭを有する新たなマイコンに置き換えることである。しかし、この方法は、新たなマイコンを製造して電子機器に実装し、古いマイコンを破棄しなければならないため、多大な費用、時間及び手間を要する。
【０００３】
このため、最近のマイコン搭載機器の一部には、マイコンを交換することなくプログラムの変更に対応可能な機器がある。このような機器は、マイコンに外付けされる不揮発性メモリを有し、この不揮発性メモリに、ＲＯＭに記録されたプログラムの変更部分の先頭アドレス（以下「変更部分アドレス」という。）と、プログラムの変更部分の代わりの修正プログラムとが格納される。この機器では、プログラムの変更部分の代わりに修正プログラムが実行されるため、マイコンを交換する必要がない。このような機能は、一般的に、「ＲＯＭ修正機能」と呼ばれる。
【０００４】
不揮発性メモリに変更部分アドレス及び修正プログラムが格納された電子機器の電源が投入された際又は電子機器がリセットされた際、マイコンはイニシャル処理を行う。このイニシャル処理では、まず、不揮発性メモリに修正プログラムが格納されているかを判別する。修正プログラムが格納されていると判別された場合、不揮発性メモリに格納されている変更部分アドレスが、マイコンのＲＡＭに設定されたレジスタにコピーされる。さらに、不揮発性メモリに格納されている修正プログラムが、マイコンのＲＡＭにコピーされる。次に、修正プログラムがコピーされたＲＡＭの領域の先頭アドレスが、ＲＡＭ内の割込ベクタテーブルに設定される。最後に、ＲＯＭ修正機能実行フラグを立てて、イニシャル処理を終了する。
【０００５】
マイコンは、基本的にはＲＯＭに格納されているプログラムに従って処理を行う。但し、ＲＯＭ修正機能実行フラグが立てられている場合、マイコンは、現在のプログラムアドレスと、ＲＡＭのレジスタに設定されている変更部分アドレスとを絶えず比較する。これら２つのアドレスが一致した際には、マイコンは、割込ベクタテーブルに設定されている先頭アドレスを参照して、ＲＡＭに格納されている修正プログラムを実行する。
【０００６】
このように、「ＲＯＭ修正機能」を実行するためには、不揮発性メモリに変更部分アドレスと修正プログラムが格納されていなければならない。不揮発性メモリへのデータの書き込みの一例が、特開２０００−１０５６９５号公報に開示されている。この例では、不揮発性メモリ及びマイコンを有する電子機器を操作するためのリモートコントローラ（以下「リモコン」という。）が用いられる。
【０００７】
図５は、リモコン及び電子機器を示すブロック図である。図５に示す電子機器１０は、リモコン５０からの信号を受信する受光部１７と、マイコン１１と、不揮発性メモリ１５とを備える。マイコン１１は、電子機器の各構成要素を制御するＣＰＵ１２と、必要なデータを記憶するＲＡＭ１４と、プログラム等を記憶するＲＯＭ１３とを有する。ＣＰＵ１２には不揮発性メモリ１５及び受光部１７が接続されている。
【０００８】
図５に示す電子機器１０のＲＯＭ１３に記憶されているプログラムの一部を変更する場合、ユーザは、リモコン５０を操作して修正プログラム書き込みプログラムを起動する。続いて、ユーザは、リモコン５０を操作して変更部分アドレス及び修正プログラムを電子機器１０に送信する。変更部分アドレス及び修正プログラムがＲＡＭ１４に一時的に格納された状態でユーザがリモコン５０の確定キーを押すと、ＣＰＵ１２は、ＲＡＭ１４に格納された変更部分アドレス及び修正プログラムを読み出して、不揮発性メモリ１５に転送する。この後、マイコン１１がリセットされると、上記説明したイニシャル処理が行われ、ＲＯＭ修正機能が実行される。
【０００９】
【特許文献１】特開２０００−１０５６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、図５に示した電子機器１０及びリモコン５０を用いたプログラムの修正方法では、ユーザが変更部分アドレスや修正プログラムを選択又は入力するたびにリモコン５０を操作してデータを電子機器１０に送信する必要がある。また、データの選択や入力をミスした際には、再度データを入力する必要があった。
【００１１】
本発明の目的は、電子機器のＲＯＭに格納されているプログラムを修正するためのデータの入力及び送信を効率良く行うことのできる送信装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明は、プログラムを記憶するＲＯＭと、ＣＰＵと、前記ＣＰＵがデータを読み書き可能な不揮発性メモリと、外部からの信号を受信する受信部と、を備える電子機器を操作するための信号を送信する送信装置であって、前記電子機器に送信されるデータを一時記憶するメモリを備え、前記ＲＯＭに格納されたプログラムを修正するためのデータを前記メモリに格納して、所定の操作がされたとき、前記メモリに格納されたデータを送信する送信装置を提供する。
【００１３】
上記送信装置では、前記プログラムを修正するためのデータは、前記ＲＯＭに記録されたプログラムの変更部分の先頭アドレスと、前記プログラムの変更部分の代わりの修正プログラムと、を含む。
【発明の効果】
【００１４】
本発明に係る送信装置によれば、電子機器機のＲＯＭに格納されているプログラムを修正するためのデータの入力及び送信を効率良く行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、図面を参照して説明する。図１は、一実施形態のリモコン及び電子機器を示すブロック図である。図１に示すリモコン１５０は、赤外線リモコンの通信フォーマットに関して財団法人家電製品協会が作成したフォーマット（以下「家製協フォーマット」という。）の学習機能付きリモコンである。本実施形態のリモコン１５０は、内部にデータを格納しておくためのメモリ１５１を有する。
【００１６】
また、図１に示す電子機器１００は、リモコン１５０からの信号を受信する受光部１０７と、マイコン１０１と、不揮発性メモリ１０５とを備える。マイコン１０１は、電子機器の各構成要素を制御するＣＰＵ１０２と、必要なデータを記憶するＲＡＭ１０４と、プログラム等を記憶するＲＯＭ１０３とを有する。ＣＰＵ１０２には不揮発性メモリ１０５及び受光部１０７が接続されている。
【００１７】
図２は、リモコン１５０が電子機器１００に送信するパルス信号のフォーマット（家製協フォーマット）を示す図である。図２に示すように、リモコン１５０から送信されるデータのパルス信号は、リーダ部２０１と、カスタム・コード部２０２と、カスタム・コードパリティ部２０３と、データ・コード部２０４と、トレーラ部２０５とを含む。リーダ部２０１は、リモコンデータの送信が開始されることを示すパルス信号である。カスタム・コード部２０２は、そのリモコンのメーカー名や商品名等を表す家電製品協会にて管理されるコードを示すパルス信号である。カスタム・コードパリティ部２０３は、カスタム・コード部２０２の値が正しいかを確認するためのパリティを示すパルス信号である。データ・コード部２０４は、通常のリモコンとして使用する際は、機器毎及びリモコンのボタン毎に設定された機能コードを示すためのパルス信号である。トレーラ部２０５は、リモコンデータ送信の終了を示すパルス信号である。
【００１８】
図３は、図２に示したデータ・コード部２０４のフォーマットを示す図である。図３に示すように、データ・コード部２０４は、ＲＯＭ修正機能用データ／通常データ判定部３０１と、データサイズ情報３０２と、データ本体３０３と、エラー検出用情報３０４とを含む。ＲＯＭ修正機能用データ／通常データ判定部３０１は、通常のリモコンデータと、不揮発性メモリ１０５に書き込むプログラム修正用のデータ（変更部分アドレス及び修正プログラム）のどちらであるかを判別するためのデータである。データサイズ情報３０２は、変更部分アドレス及び修正プログラムのデータ総サイズを示すデータである。データ本体３０３には、変更部分アドレス及び修正プログラムのデータが格納されている。データ本体３０３の末尾には、エラー検出用情報３０４が付加される。エラー検出用情報３０４は、受信したデータに基づいてＣＰＵ１０２が算出した情報と比較することによって、受信したデータに誤りがないかを判別するために用いられる。
【００１９】
本実施形態のリモコン１５０は、送信キーが押されるまで図２及び図３に示したフォーマットのデータを内部のメモリ１５１に格納しておく。リモコン１５０は、送信キーが押された際に、メモリ１５１に格納されたデータを電子機器１００に送信する。電子機器１００の受光部１０７は、リモコン１５０から送信されたデータを受信する。ＣＰＵ１０２は、受光部１０７が受信したデータをＲＡＭ１０４に格納する。ＣＰＵ１０２は、ＲＡＭ１０４に格納されたデータに基づいてＲＯＭ１０３に格納されたプログラムを修正するか否かを判断する。プログラムを修正する場合、ＣＰＵ１０２はＲＡＭ１０４に格納されたデータを不揮発性メモリ１０５に書き込む。以下、リモコン１５０から送信されたパルス信号を電子機器１００が受信した際のＣＰＵ１０２の動作について、図４を参照して詳細に説明する。
【００２０】
図４は、リモコン１５０から送信されたパルス信号を電子機器１００が受信した際のＣＰＵ１０２の動作を示すフローチャートである。ステップＳ４０１では、ＣＰＵ１０２は受信したデータを解析する。詳細には、ＣＰＵ１０２は、パルス信号をＨレベル、Ｌレベルの区間の長さによって１６進数で００〜ＦＦの数字に変換する。ステップＳ４０２では、受信したデータが通常のリモコンデータ及びプログラム修正用のデータのどちらであるかを判別する。通常のリモコンデータと判別された場合、ＣＰＵ１０２は当該データに応じた通常の処理を行う。プログラム修正用のデータと判別された場合、ステップＳ４０３に進み、ＣＰＵ１０２は次の３つの処理を行う。
【００２１】
ステップＳ４０３では、ＣＰＵ１０２は、受信したデータのサイズが規定の範囲内であるかを確認する。また、ＣＰＵ１０２は、データ本体３０３中の変更部分アドレスが規定の範囲内であるかを確認する。さらに、ＣＰＵ１０２は、受信したデータから算出した値とエラー検出用情報３０４とが一致するかを確認して、受信したデータに誤りがないことを確認する。データに誤りがある場合は処理を終了する。データに誤りがない場合はステップＳ４０４に進み、ＣＰＵ１０２は不揮発性メモリ１０５にデータ本体３０３（変更部分アドレス及び修正プログラム）を書き込む。この後、ＣＰＵ１０２は、ステップＳ４０５でマイコン１０１をリセットする処理を実行する。リセットされたマイコン１０１は上記説明したイニシャル処理を行う。
【００２２】
以上説明したように、本実施形態のリモコン１５０は、電子機器１００に送信するデータを内部のメモリ１５１に格納しておき、送信キーが押されると、メモリ１５１に格納されたデータを電子機器１００に送信する。このため、ユーザが変更部分アドレスや修正プログラムを選択又は入力するたびにリモコン１５０を操作してデータを電子機器１００に送信する必要がない。また、データの選択や入力をミスしても、リモコン１５０の内部のメモリ１５１に格納されたデータを修正すれば良い。このため、電子機器１００のＲＯＭ１０３に格納されているプログラムを修正するためのデータの入力及び送信を効率良く行うことができる。
【産業上の利用可能性】
【００２３】
本発明に係る送信装置は、ＲＯＭに格納されているプログラムを修正するための電子機器等として有用である。
【図面の簡単な説明】
【００２４】
【図１】一実施形態のリモコン及び電子機器を示すブロック図
【図２】リモコンが電子機器に送信するパルス信号のフォーマット（家製協フォーマット）を示す図
【図３】図２に示したデータ・コード部のフォーマットを示す図
【図４】リモコンから送信されたパルス信号を電子機器が受信した際のＣＰＵの動作を示すフローチャート
【図５】リモコン及び電子機器を示すブロック図
【符号の説明】
【００２５】
１５０  リモコン
１５１  メモリ
１００  電子機器
１０７  受光部
１０１  マイコン
１０５  不揮発性メモリ
１０２  ＣＰＵ
１０４  ＲＡＭ
１０３  ＲＯＭ
【図１】
2008090503.tif 000003
【図２】
2008090503.tif 000004
【図３】
2008090503.tif 000005
【図４】
2008090503.tif 000006
【図５】
2008090503.tif 000007