(57)【特許請求の範囲】
【請求項１】
家電機器をネットワークに接続するための通信アダプタであって、
家電機器に接続されて当該家電機器との間での通信を可能とする家電機器インタフェース部と、
ネットワーク側の通信制御装置に接続されて当該通信制御装置との間での通信を可能とする物理メディア用送受信部と、
ランダムアクセス可能な揮発メモリからなる第１メモリと、
通信アダプタの動作プログラムを記憶する動作ファイル領域、前記動作プログラムを更新するための更新ファイルを記憶する更新ファイル格納領域、ブートローダを格納するブートローダ領域と、前記更新ファイル格納領域への更新ファイルの展開の成否及び展開した前記更新ファイルの前記動作ファイル領域への書き込みの成否に関する情報を保存するフラグ格納領域とを有し、記憶情報の書き換えが可能な不揮発メモリからなる第２メモリと、
を備えてなり、
前記家電機器インタフェース部又は前記物理メディア用送受信部を介してファイルを受信したときに、当該ファイルが前記動作プログラムを更新するための更新ファイルか否かを判定し、前記ファイルが更新ファイルでなければ、当該ファイルを前記第１メモリに送って該第１メモリに展開し、前記ファイルが更新ファイルであれば、当該ファイルを前記第２メモリに送って前記更新ファイル格納領域に展開し、前記更新ファイル格納領域に展開した前記更新ファイルを前記動作ファイル領域に書き込んで保存することにより、前記動作プログラムを更新するよう構成され、
前記第２メモリの前記更新ファイル格納領域への前記更新ファイルの展開が完了したときに、前記フラグ格納領域に、前記更新ファイルの誤り検出符号と前記更新ファイルの展開が完了したことを示す情報を保存し、再起動により前記ブートローダ領域に格納された前記ブートローダが起動したときに、前記フラグ格納領域に保存した前記誤り検出符号と前記情報を確認して前記更新ファイル格納領域に前記更新ファイルが格納されていれば、前記動作ファイル領域への前記更新ファイルの書き込みを実行するよう構成された、
通信アダプタ。
【請求項２】
前記動作ファイル領域への前記更新ファイルの書き込みが完了したときに、前記フラグ格納領域に、前記更新ファイルの誤り検出符号と前記更新ファイルの書き込みが完了したことを示す情報を保存し、再起動により前記ブートローダが起動したときに、前記フラグ格納領域に保存された前記誤り検出符号と前記情報を確認して前記動作ファイル領域に前記更新ファイルが書き込まれていれば、更新された前記動作プログラムによる通常動作状態に移行するよう構成された、
請求項１記載の通信アダプタ。
【請求項３】
前記家電機器インタフェース部を介した更新ファイルの受信と、前記物理メディア用送受信部を介した更新ファイルの受信の双方が可能である、
請求項１記載の通信アダプタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、家電機器をネットワークに接続するために用いられる通信アダプタに関するものである。
【背景技術】
【０００２】
最近、エアコンや照明、冷蔵庫などの家電機器を家庭内ネットワークを介して通信制御装置と接続し、パソコンや、外部のインターネットを介した携帯電話などから、家電機器の動作を制御したり、家電機器の状態を外部に知らせたりする技術の開発が盛んになっている。
【０００３】
家電機器をこのようなネットワークに接続するために、家電機器には通信アダプタが接続され、該通信アダプタを介してネットワーク側の通信制御装置と通信可能に接続されている。そして、ネットワーク側の通信制御装置からの信号を通信アダプタで受信して、該信号に基づき家電機器を制御するのである。
【０００４】
かかる通信アダプタにおいては、新たに機能を追加したり、プログラムミスを修正したりするために、その動作プログラムを更新する必要が生じる。従来、動作プログラムの更新のため、次のような構成が提案されている。すなわち、通信アダプタにフラッシュメモリ（フラッシュＲＯＭ）を２個実装して、一方のフラッシュメモリに記憶させた動作プログラムで通信アダプタを動作させるようにしておき、更新に際しては、もう一方のフラッシュメモリに更新ファイルを書き込んだ後、動作させるフラッシュメモリを切り替えるというものである。
【０００５】
しかしながら、この構成では、不揮発メモリとしてのフラッシュメモリを２個実装するものであるため、通信アダプタ自体がリッチな構成になってしまう。家電機器のための通信アダプタとしては、よりシンプルな構造が求められる。
【０００６】
一方で、下記特許文献１には、ルータ等の通信制御装置におけるシステムファイルの更新方法として、メモリカード等の外部記憶媒体装着スロットを設けておき、更新に際し、該スロットに外部記憶媒体を装着して更新前のファイルをバックアップした後、フラッシュメモリに更新ファイルを書き込んで更新し、更新が失敗した場合には外部記憶媒体にバックアップした更新前のファイルで立ち上げるようにして再度更新を実施することが提案されている。しかしながら、この更新方法では、通信アダプタに外部記憶媒体装着スロットを設ける必要があり、また、更新に際し、該スロットに外部記憶媒体を装着する必要があるので、家電機器のための通信アダプタとしては、リッチな構成となり、また更新手順も煩雑であるため、実用的とは言えない。
【０００７】
また、下記特許文献２には、高インテリジェントな通信端末装置における主プログラムの更新方法として、通信回線から更新ファイルを受信したときに、まず、そのファイルをＲＡＭ（ランダムアクセスメモリ）に取り込み、次いで、ＲＡＭに取り込んだ更新ファイルをフラッシュメモリのバックアップ領域に書き込み、その後、バックアップ領域の更新ファイルをフラッシュメモリの主プログラム用領域に書き込むことが提案されている。しかしながら、このように更新ファイルを一旦ＲＡＭに取り込んで展開する構成では、ＲＡＭの容量が大きくなければならず、揮発メモリとしてのＲＡＭの容量が小さい家電機器のための通信アダプタでは、採用し難い構成である。
【特許文献１】特開平１０−９７４２６号公報
【特許文献２】特開平８−５５０６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、以上の点に鑑みてなされたものであり、ＲＡＭ等の揮発メモリの容量を大きくすることなく、１つの不揮発メモリを用いて動作プログラムの更新を行うことができる通信アダプタを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る通信アダプタは、家電機器をネットワークに接続するための通信アダプタであって、家電機器に接続されて当該家電機器との間での通信を可能とする家電機器インタフェース部と、ネットワーク側の通信制御装置に接続されて当該通信制御装置との間での通信を可能とする物理メディア用送受信部と、ランダムアクセス可能な揮発メモリからなる第１メモリと、通信アダプタの動作プログラムを記憶する動作ファイル領域、前記動作プログラムを更新するための更新ファイルを記憶する更新ファイル格納領域、前記第２メモリが、ブートローダを格納するブートローダ領域と、前記更新ファイル格納領域への更新ファイルの展開の成否及び展開した前記更新ファイルの前記動作ファイル領域への書き込みの成否に関する情報を保存するフラグ格納領域とを有し、記憶情報の書き換えが可能な不揮発メモリからなる第２メモリと、を備えてなり、前記家電機器インタフェース部又は前記物理メディア用送受信部を介してファイルを受信したときに、当該ファイルが前記動作プログラムを更新するための更新ファイルか否かを判定し、前記ファイルが更新ファイルでなければ、当該ファイルを前記第１メモリに送って該第１メモリに展開し、前記ファイルが更新ファイルであれば、当該ファイルを前記第２メモリに送って前記更新ファイル格納領域に展開し、前記更新ファイル格納領域に展開した前記更新ファイルを前記動作ファイル領域に書き込んで保存することにより、前記動作プログラムを更新するよう構成され、前記第２メモリの前記更新ファイル格納領域への前記更新ファイルの展開が完了したときに、前記フラグ格納領域に、前記更新ファイルの誤り検出符号と前記更新ファイルの展開が完了したことを示す情報を保存し、再起動により前記ブートローダ領域に格納された前記ブートローダが起動したときに、前記フラグ格納領域に保存した前記誤り検出符号と前記情報を確認して前記更新ファイル格納領域に前記更新ファイルが格納されていれば、前記動作ファイル領域への前記更新ファイルの書き込みを実行するよう構成されている。
【発明の効果】
【００１０】
上記通信アダプタでは、受信したファイルが更新ファイルか否かを予め判定してから、更新ファイルである場合に、第１メモリには展開することなく、第２メモリの更新ファイル格納領域に展開し、その後、展開した更新ファイルを第２メモリの動作ファイル領域に書き込む。このように、更新ファイルを揮発メモリである第１メモリには展開しないので、揮発メモリの容量を小さく抑えることができる。また、不揮発メモリである第２メモリに更新ファイル格納領域と動作ファイル領域を設け、受信した更新ファイルを更新ファイル格納領域に展開してから、動作ファイル領域に書き込むようにしたので、１つの不揮発メモリで動作プログラムの更新を実施することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
図１は、実施形態に係る通信アダプタ１０を組み込んだホームネットワークの構成例を示したものである。図示するように、通信アダプタ１０は、家電機器１２に対して通信インタフェース１４を介して接続され、また、ネットワーク２０側の通信制御装置であるホームゲートウェイ１６に物理メディア１８を介して接続されている。これにより、家電機器１２は通信アダプタ１０を介してホームネットワークに参加している。
【００１３】
制御対象となる家電機器１２としては、特に限定されず、例えば、エアコン、給湯器、照明器具、冷蔵庫、洗濯乾燥機、電子レンジの他、ビデオ、オーディオなどのＡＶ機器など、各種の家電機器が挙げられる。
【００１４】
ネットワーク２０側のホームゲートウェイ１６は、ネットワーク２０に接続されて、物理メディア１８を介して通信アダプタ１０に所定のコマンドを与え、それによって家電機器１２を制御する通信制御装置である。ネットワーク２０は、インターネットなどの外部ネットワークに接続されてもよく、その場合、携帯電話などを用いて外部ネットワークを介した制御が可能となる。なお、ホームゲートウェイ１６とネットワーク２０との接続は、有線又は無線のいずれでもよいが、図では有線の例を示している。
【００１５】
通信アダプタ１０は、図２に示すように、家電機器１２と接続して通信するための家電機器インタフェース部３０と、ホームゲートウェイ１６と接続して通信するための物理メディア用送受信部３２と、ファイル更新データを受け取ったときに格納するための記憶装置３４と、これら家電機器インタフェース部３０、物理メディア用送受信部３２及び記憶装置３４を使用して通信を実施したり、更新ファイルのデータを受け取ったりする等、各装置の制御を行うための演算装置３６とを備えてなる。
【００１６】
家電機器インタフェース部３０は、この例では、シリアル通信（ＵＡＲＴ）をベースとしたオープンコレクタであり、従って、通信アダプタ１０と家電機器１２とは、シリアル転送可能な通信インタフェース１４によって通信可能に接続される。
【００１７】
物理メディア用送受信部３２は、通信用の伝送媒体である物理メディア１８を介して、ホームゲートウェイ１６と通信を行う装置である。物理メディア１８としては、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、赤外線、小電力無線など、有線・無線を問わない。図１では、無線の例が示されており、一例としてＢｌｕｅｔｏｏｔｈを用いる。
【００１８】
記憶装置３４は、ランダムアクセス可能な揮発メモリからなる第１メモリとしてのＲＡＭ（ランダムアクセスメモリ）３８と、記憶情報の書き換えが可能な不揮発メモリからなる第２メモリとしてのフラッシュメモリ（フラッシュＲＯＭ）４０とで構成されている。
【００１９】
ＲＡＭ３８は、一時的にデータを格納しておく記憶部であり、図３に示すように、ＲＡＭ３８の内部には、受信したデータを展開するためのデータ展開領域４２が設けられている。
【００２０】
フラッシュメモリ４０は、通信アダプタ１０の動作プログラムを格納する記憶部であり、図３に示すように、フラッシュメモリ４０の内部には、動作ファイル領域４４と、更新ファイル格納領域４６と、ブートローダ領域４８と、フラグ格納領域５０が設けられている。
【００２１】
動作ファイル領域４４は、通信アダプタ１０を動作させるための主プログラムである動作プログラムを記憶する領域である。
【００２２】
更新ファイル格納領域４６は、該動作プログラムを更新するための更新ファイルを展開して記憶する領域である。
【００２３】
ブートローダ領域４８は、通信アダプタ１０の電源が入ったときに最初に実行されるプログラムであるブートローダを格納する領域である。
【００２４】
フラグ格納領域５０は、更新ファイル格納領域４６への更新ファイルの展開の成否に関する情報や、展開した更新ファイルの動作ファイル領域４４への書き込みの成否に関する情報としてのフラグを保存する領域である。フラグ格納領域５０には、また、更新ファイルの誤り検出符号としてのチェックサムも格納される。このように、フラグ格納領域５０に、更新ファイルのチェックサムと更新ファイルの格納状況に関するフラグを記憶させることにより、ファイル更新が途中で失敗したときのリカバリー処理が容易となる。
【００２５】
次に、上記通信アダプタ１０の動作プログラムを更新する際の動作について説明する。この通信アダプタ１０は、家電機器インタフェース部３０を介した更新ファイルの受信と、物理メディア用送受信部３２を介した更新ファイルの受信との双方が可能に構成されている。すなわち、通信アダプタ１０は、通常時に家電機器１２と接続するための通信インタフェース１４を利用したファイル更新と、ホームネットワーク側の物理メディア１８を利用したファイル更新との、２通りの更新が可能である。
【００２６】
図４は、通信インタフェース１４を利用してファイル更新を実行するための構成例を示したものであり、通信アダプタ１０は、更新ファイルを送信するパソコン２２に対し、家電機器１２を接続するための通信インタフェース１４を用いて直接接続されている。この構成は、動作プログラムにより動作する物理メディア用送受信部３２を用いないので、動作プログラムが格納されていない初期設定時において、通信アダプタ１０に動作プログラムのためのファイルを格納させるときに有利に利用される。
【００２７】
図５は、物理メディア１８を利用してファイル更新を実行するための構成例を示したものであり、更新ファイルを送信するパソコン２２がネットワーク２０を介してホームゲートウェイ１６に接続されており、これにより、通信アダプタ１０は、パソコン２２に対し、物理メディア１８及びホームゲートウェイ１６を介して接続されている。なお、ネットワーク２０からインターネットを介して外部のコンピュータに接続し、該コンピュータから更新ファイルを送信するようにしてもよい。図５の構成例では、物理メディア１８をそのまま利用するので、ネットワークの構成を変えることなく、ファイル更新を実施することができる。
【００２８】
図６は、動作プログラムの更新時における通信アダプタ１０での処理の流れを示した図である。
【００２９】
パソコン２２から更新ファイルが送信されると、通信アダプタ１０は、家電機器インタフェース部３０又は物理メディア用送受信部３２でファイルを受信する（ステップ１００）。
【００３０】
ファイルの受信は、上記図４に示す構成例では、まず、通信速度（ボーレート）を調整した後、更新ファイルを一括又は分割して送信する。通信速度の調整は、パソコン２２から特定のデータを特定の速度で送信し、通信アダプタ１０がその速度をセンシングして求め、前記特定のデータをパソコン２２に応答することによりなされる。一方、上記図５に示す構成例では、パソコン２２から例えばＨＴＴＰにて通信アダプタ１０にアクセスし、テキストファイルとしてデータを転送する。
【００３１】
ファイルを受信すると、演算装置３６は、そのファイルが動作プログラムを更新するための更新ファイルか否かの判定を実施する（ステップ１０１）。受信したファイルをＲＡＭ３８で展開することなく上記判定が実施できるように、パソコン２２から送信するデータには、更新ファイルかどうかの判別を可能とする判別手段が組み込まれている。例えば、上記図４に示す構成例の場合、通信インタフェース１４を介して送信するパケットの先頭に特定のパラメータを付して、該パラメータによりその後に続くファイルの内容を判別できるようにしたり、あるいはパソコン２２側で付与するファイル名で判別できるようにすることができる。また、上記図５に示す構成例の場合、パソコン２２側で付与するテキストデータのファイル名でファイルの内容を判別できるようにすることができる。
【００３２】
上記判定の結果、受信したファイルが更新ファイルでなければ、当該ファイルをＲＡＭ３８に送って、ＲＡＭ３８のデータ展開領域４２で該ファイルを展開する（ステップ１０２）。このようなファイルとしては、通信アダプタ１０の試験運転用のプログラムなどが挙げられる。演算装置３６は、展開したファイルに従って、試運転などの通信アダプタ１０の動作を実行させる。
【００３３】
一方、判定の結果、受信したファイルが更新ファイルであれば、当該ファイルをフラッシュメモリ４０に送って、その中の更新ファイル格納領域４６に該ファイルを展開する（ステップ１０３）。
【００３４】
そして、更新ファイル格納領域４６への更新ファイルの展開が正常に完了したときには、更新ファイル格納領域４６に更新ファイルが展開されていることを示す展開フラグと、更新ファイルのチェックサムを、フラグ格納領域５０に保存する（ステップ１０４）。
【００３５】
なお、上記ステップ１０１〜１０４の各動作は、図４に示す構成例の場合、事前に動作プログラムが存在しないことがあるので、例えば、ブートローダ領域４８に予め格納されたプログラムに従って実施することができる。一方、図５に示す構成例の場合、更新前の動作プログラムを利用できるので、動作ファイル領域４４内に格納されたプログラムに従って実施することができる。
【００３６】
上記のようにして更新ファイル格納領域４６に更新ファイルを格納した後、通信アダプタ１０は自身をリセットして再起動する（ステップ１０５）。そうすると、まず、ブートローダ領域４８に格納されたブートローダが起動する。
【００３７】
演算装置３６は、該ブートローダに従い、フラグ格納領域５０を参照して動作を決定する（ステップ１０６）。すなわち、フラグ格納領域５０に保存した上記展開フラグとチェックサムを確認して、更新ファイル格納領域４６に更新ファイルが格納されていれば、更新ファイル格納領域４６に展開した更新ファイルを動作ファイル領域４４に書き込んで（コピーして）保存する（ステップ１０８）。一方、フラグ格納領域５０を参照して、更新ファイルが正常に展開されていないときには、更新をやり直す（ステップ１０７）。すなわち、ステップ１００のファイルの受信からやり直す。
【００３８】
ここで、フラグ格納領域５０の参照による動作決定は、詳細には図７に示すように行うことができる。まず、ステップ２００において、フラグ格納領域５０に後述する書込フラグが立っているかどうかを確認する。書込フラグが立っていなければ、ステップ２０１において、フラグ格納領域５０に展開フラグが立っているかどうかを確認する。展開フラグが立っていなければ、更新ファイル格納領域４６への展開が完了せずに異常終了したことと判断し、ステップ１０７に進んで更新をやり直す。一方、展開フラグが立っていれば、ステップ２０２において、フラグ格納領域５０に保存されたチェックサムが更新ファイルとともに送信されたチェックサムと一致するかどうかを確認し、一致しなければステップ１０７に進んで更新をやり直し、一致していればステップ１０８へ進んで更新処理を継続する。
【００３９】
ステップ１０８において動作ファイル領域４４への更新ファイルの書き込みが完了すると、フラグ格納領域５０に、更新ファイルのチェックサムと、更新ファイルの書き込みが完了したことを示す書込フラグを保存する（ステップ１０９）。
【００４０】
その後、通信アダプタ１０は自身をリセットして再起動する（ステップ１１０）。そうすると、ブートローダ領域４８に格納されたブートローダが起動し、演算装置３６は、該ブートローダに従い、フラグ格納領域５０を参照して動作を決定する（ステップ１１１）。詳細には、フラグ格納領域５０に保存した上記書込フラグとチェックサムを確認して、動作ファイル領域４４に更新ファイルが正常に書き込まれていれば、更新された動作プログラムによる通常動作状態に移行し、すなわち、動作ファイル領域４４に格納された動作プログラムを実行することで通常のプログラム動作を開始する（ステップ１１２）。
【００４１】
一方、フラグ格納領域５０を参照して、更新ファイルが正常に書き込まれていないときには、ステップ１０８に戻り、動作ファイル領域４４への書き込みを再度実施する。
【００４２】
ここでのフラグ格納領域５０の参照による動作決定も図７に示す通りであり、ステップ２００において、フラグ格納領域５０に書込フラグが立っているかどうかを確認する。書込フラグが立っていれば、ステップ２０３において、フラグ格納領域５０に保存されたチェックサムが更新ファイルとともに送信されたチェックサムと一致するかどうか確認し、一致していればステップ１１２に進んで通常動作状態に移行する。一致していなければステップ１０８に戻って再度書き込みを実施する。一方、ステップ２００において、書込フラグが立っていなければ、この場合、前段階のステップ１０６で確認したように展開フラグが立っており、かつチェックサムも一致するので、ステップ１０８に戻って再度書き込みを実施する。
【００４３】
以上のようにして、動作プログラムが更新された後、通常動作状態となるが、通常動作状態では、演算装置３６が、ＲＡＭ３８を使って、動作ファイル領域４４に格納された動作プログラムに従い動作し、ホームゲートウェイ１６からの信号に基づいて家電機器１２に対する制御を実施する。
【００４４】
例えば、ホームゲートウェイ１６と通信アダプタ１０との間でエコーネット（登録商標）プロトコルによる通信を行うものである場合、ホームゲートウェイ１６から、ＵＤＰで、宛先のＩＰアドレス、エコーネットプロトコルによるアドレス、家電機器オブジェクト及び制御プロパティを指定したパケットが送信される。通信アダプタ１０は、これを物理メディア用送受信部３２で受信し、該パケットをＲＡＭで展開して、対象となる家電機器１２を制御する。
【００４５】
以上よりなる本実施形態であると、動作プログラムを更新する際に、パソコン２２から送られてきたファイルが更新ファイルか否かを判定し、更新ファイルである場合に、ＲＡＭ３８に展開することなく、フラッシュメモリ４０の更新ファイル格納領域４６に展開するので、ＲＡＭ３８の容量が小さくても更新を実施することができる。また、該更新ファイルを一旦更新ファイル格納領域４６に展開してから、動作ファイル領域４４に書き込むようにしたので、１つのフラッシュメモリ４０で動作プログラムの更新を安全に実施することができる。
【００４６】
また、フラッシュメモリ４０にフラグ格納領域５０を設けて、チェックサムとファイルの有り無しに関するフラグを格納することにより、ファイル更新が失敗したときのリカバリー処理が可能となり、無駄な更新処理の重複を回避することができる。特に、正常展開時のみに展開フラグを立てるようにしたので、更新ファイルが正常に展開しているかどうかを確認することができる。また、チェックサムを書き込むようにしたので、展開したファイルを正常に書き込むことができたかどうかの判定も可能である。
【００４７】
また、本実施形態では、動作プログラムのファイル更新のためのデータの受け渡しを、家電機器１２との接続用の通信インタフェース１４からの受信と、物理メディア１８からの受信との２通りが可能なので、通信アダプタ１０の製造時や設置作業時、更には家庭内での通常動作時などの状況に応じ、適切な受け渡し方法を選択して動作プログラムの更新を行うことができ、利便性に優れる。
【図面の簡単な説明】
【００４８】
【図１】実施形態におけるホームネットワークの構成例を示すブロック図である。
【図２】通信アダプタの内部構成を示すブロック図である。
【図３】記憶装置の内部構成を示すブロック図である。
【図４】通信インタフェースを利用してファイル更新を実行するための構成例を示すブロック図である。
【図５】物理メディアを利用してファイル更新を実行するための構成例を示すブロック図である。
【図６】動作プログラムの更新時における処理の流れを示すフローチャートである。
【図７】フラグ格納領域を参照する際の処理の流れを示すフローチャートである。
【符号の説明】
【００４９】
１０…通信アダプタ
１２…家電機器
１６…ホームゲートウェイ（通信制御装置）
３０…家電機器インタフェース部
３２…物理メディア用送受信部
３８…ＲＡＭ（第１メモリ）
４０…フラッシュメモリ（第２メモリ）
４４…動作ファイル領域
４６…更新ファイル格納領域
４８…ブートローダ領域
５０…フラグ格納領域
【図１】
0004945788.tif 000002
【図２】
0004945788.tif 000003
【図３】
0004945788.tif 000004
【図４】
0004945788.tif 000005
【図５】
0004945788.tif 000006
【図６】
0004945788.tif 000007
【図７】
0004945788.tif 000008