図1は、中継システムの一例を示す構成図である。中継システムは、一例として、パーソナルコンピュータ(以下、「PC」(Personal Computer)と表記)90とモニタ94、キーボード95、及びマウス96、つまりリモート側のコンソールの間の通信を中継する。PC90はコンピュータ装置の一例であり、PC90に代えてサーバ装置が用いられてもよい。キーボード95及びマウス96は、PC90を操作するための操作デバイスの一例である。
中継システムには、PC90に接続されるローカル側中継装置(以下、「ローカル装置」と表記)6と、モニタ94、キーボード95、及びマウス96に接続されるリモート側中継装置(以下、「リモート装置」と表記)7とが含まれる。ローカル装置6とリモート装置7は、例えばカテゴリ5(CAT5)またはカテゴリ6(CAT6)などの通信ケーブル8を介して接続される。また、ローカル装置6には、ローカル側のモニタ91、キーボード92、及びマウス93が接続される。ローカル装置6は第1中継装置の一例であり、リモート装置7は第2中継装置の一例である。通信ケーブル8は伝送路の一例である。
ローカル装置6は、ポートマイクロコンピュータ(以下、「ポートマイコン」と表記)1、メインマイクロコンピュータ(以下、「メインマイコン」と表記)2、トランスミッタ40、フラッシュROM(Read Only Memory)41、トランス42、及び通信コネクタ43を有する。また、ローカル装置6は、リセットボタン15、LED(Light Emitting Diode)24、スイッチ60、DVI(Digital Visual Interface)コネクタ61,62、USB(Universal Serious Bus)コントローラ63、及びUSBポート14,64,65を有する。
DVIコネクタ61及びUSBポート14はPC90と接続される。DVIコネクタ61とPC90の間では、モニタ91,94に表示される画像データに関する信号(以下、「画像信号」と表記)が送受信される。また、USBポート14とPC90の間では、キーボード92及びマウス93によるPC90の操作に関する信号(以下、「操作信号」と表記)が送受信される。
DVIコネクタ62はモニタ91と接続される。DVIコネクタ62とモニタ91の間では画像信号が送受信される。また、USBポート64,65はキーボード92及びマウス93にそれぞれ接続される。USBポート64,65とキーボード92及びマウス93の間では、操作信号が送受信される。
ポートマイコン1は、USBポート14、リセットボタン15、及びメインマイコン2に接続されている。ポートマイコン1は、USBポート14を介しPC90と接続され、PC90との通信を制御する。USBポート14は通信ポートの一例である。ポートマイコン1は、例えばPC90に対し疑似的にキーボード92,95及びマウス93,96が接続されているような動作を行う。
リセットボタン15は、ローカル装置6に設けられた物理的なスイッチである。リセットボタン15が押下されると、ローカル装置6のハードウェアがリセットされる。また、リセットボタン15が、例えば10秒間以上長押しされると、ローカル装置6は、ポートマイコン1、メインマイコン2、及びトランスミッタ40のプログラムをダウンロードするダウンロードモードに移行する。
メインマイコン2は、ポートマイコン1、トランスミッタ40、スイッチ60、LED24、及びUSBコントローラ63と接続されている。USBコントローラ63は、USBポート64,65と接続され、USBのホストとして各種の制御を行う。
メインマイコン2は、ローカル側のキーボード92及びマウス93がPC90の操作に用いられる場合、USBコントローラ63を制御することによりキーボード92及びマウス93とPC90の通信を中継する。この場合、メインマイコン2は、ローカル側のモニタ91とPC90の間で画像信号が送受信されるようスイッチ60を制御する。
一方、メインマイコン2は、リモート側のキーボード95及びマウス96がPC90の操作に用いられる場合、USBコントローラ63の制御を停止し、トランスミッタ40との間で操作信号を送受信する。この場合、メインマイコン2は、リモート側のモニタ94とPC90の間で画像信号が送受信されるようスイッチ60を制御する。
また、メインマイコン2は、ダウンロードモードにおいてLED24を点灯制御する。LED24は第1表示部の一例であり、ポートマイコン1及びメインマイコン2の動作モードを表示する。ユーザは、LED24の点灯を確認することによりローカル装置6がダウンロードモードであることを認識することができる。
トランスミッタ40は、メインマイコン2、フラッシュROM41、スイッチ60、及びトランス42と接続されている。トランスミッタ40は、例えばHDBase−Tの規格に従った送受信器である。トランスミッタ40は例えばプロセッサを内蔵し、フラッシュROM41から読み込んだプログラムに従って操作信号及び画像信号の送受信処理を行う。
メインマイコン2は、リモート側のキーボード95及びマウス96がPC90の操作に用いられる場合、トランスミッタ40とメインマイコン2の間で操作信号が送受信され、トランスミッタ40とスイッチ60の間で画像信号が送受信されるように制御を行う。
トランス42は、通信コネクタ43を介して通信ケーブル8に接続される。トランス42は、トランスミッタ40と通信ケーブル8の間で操作信号及び画像信号の波形を変換する。通信コネクタ43は、例えばRJ−45であり、通信ケーブル8と接続される。
リモート装置7は、メインマイコン3、LED34、レシーバ50、フラッシュROM51、トランス52、通信コネクタ53、DVIコネクタ70、USBコントローラ71、及びUSBポート72,73を有する。DVIコネクタ70はモニタ94と接続され、DVIコネクタ70とモニタ94の間では画像信号が送受信される。USBポート72,73はキーボード95及びマウス96にそれぞれ接続され、USBポート72,73とキーボード95及びマウス96の間では操作信号が送受信される。
メインマイコン3は、レシーバ50、LED34、及びUSBコントローラ71と接続されている。USBコントローラ71は、USBポート72,73と接続され、USBのホストとして各種の制御を行う。
メインマイコン3は、USBコントローラ71を介してキーボード95及びマウス96と接続されている。メインマイコン3は、リモート側のキーボード95及びマウス96がPC90の操作に用いられる場合、USBコントローラ71との間で操作信号を送受信する。メインマイコン3は、動作モードがダウンロードモードである場合、LED34を点灯制御する。ユーザは、LED34の点灯を確認することによりリモート装置7がダウンロードモードであることを認識できる。LED34は、第2表示部の一例である。
メインマイコン3は、リモート側のキーボード95及びマウス96がPC90の操作に用いられる場合、レシーバ50との間で操作信号を送受信する。レシーバ50は、フラッシュROM51、トランス52、及びDVIコネクタ70と接続されている。
レシーバ50は、例えばHDBase−Tの規格に従った送受信器である。レシーバ50は、例えばプロセッサを内蔵し、フラッシュROM51から読み込んだプログラムに従って操作信号及び画像信号の送受信処理を行う。レシーバ50は、メインマイコン3との間で操作信号を送受信し、DVIコネクタ70との間で画像信号を送受信する。
トランス52は、通信コネクタ53を介して通信ケーブル8に接続される。トランス52は、レシーバ50と通信ケーブル8の間で操作信号及び画像信号の波形を変換する。通信コネクタ53は、例えばRJ−45であり、通信ケーブル8と接続される。
このように、トランスミッタ40とレシーバ50は、通信ケーブル8を介して接続されて信号を送受信する。また、メインマイコン2はトランスミッタ40に接続され、メインマイコン3はレシーバ50に接続されている。このため、メインマイコン2,3同士は、通信ケーブル8を介して通信することができる。
ローカル装置6及びリモート装置7は、中継モードとダウンロードモードの2つの動作モードを有する。ローカル装置6及びリモート装置7は、中継モードにおいて、PC90とリモート側のキーボード95及びマウス96の間の通信を中継する。つまり、ローカル装置6及びリモート装置7は操作信号及び画像信号を中継する。符号Raは操作信号の中継経路を示し、符号Rbは画像信号の中継経路を示す。
また、ローカル装置6及びリモート装置7は、ダウンロードモードにおいて、ポートマイコン1、メインマイコン2,3、トランスミッタ40、及びレシーバ50をそれぞれ駆動する個別のプログラムをダウンロードする。ダウンロードは、例えばノート型のパーソナルコンピュータなどのダウンロード装置97からUSBポート14を介して行われる。ダウンロード時には、USBポート14の接続先がPC90からダウンロード装置97に変更される。もっとも、PC90がダウンロード装置97として機能する場合は、USBポート14の接続先の変更は行われない。
ポートマイコン1及びメインマイコン2,3は、中継モード及びダウンロードモードの何れかの動作モードで動作する。中継モードは第1モードの一例であり、ダウンロードモードは第2モードの一例である。
ポートマイコン1及びメインマイコン2,3は、中継モードにおいて、符号Raで示される中継経路に沿って操作信号が中継されるように操作信号の送受信処理を行う。操作信号の中継経路には、USBポート14、ポートマイコン1、メインマイコン2、トランスミッタ40、通信ケーブル8、レシーバ50、メインマイコン3、USBコントローラ71、及びUSBポート72,73が、この順で並んでいる。
また、ポートマイコン1及びメインマイコン2,3は、中継モードにおいて、符号Rbで示される中継経路に沿って画像信号が中継されるように画像信号の送受信処理を行う。画像信号の中継経路には、DVIコネクタ61、スイッチ60、トランスミッタ40、通信ケーブル8、レシーバ50、及びDVIコネクタ70が、この順で並んでいる。
また、ポートマイコン1及びメインマイコン2,3は、ダウンロードモードにおいて、ダウンロード装置97からプログラムを符号Raの中継経路に沿ってダウンロードする。ダウンロードモードにおいてダウンロードされるプログラムは、中継モードにおけるポートマイコン1、メインマイコン2,3、トランスミッタ40、及びレシーバ50の各動作を規定するプログラムである。なお、ダウンロードモードでは、操作信号及び画像信号の中継処理は実行されない。
ユーザは、リセットボタン15を例えば10秒以上長押しすることによりローカル装置6及びリモート装置7を中継モードからダウンロードに切り替えることができる。リセットボタン15は、ポートマイコン1にダウンロードモードへの切り替えを指示する操作を行うための操作部の一例である。このため、ユーザは、ローカル装置6及びリモート装置7を簡単にダウンロードモードに切り替えることができる。
ポートマイコン1は、リセットボタン15の長押しを検出すると、ダウンロードモードへの切り替えの指示として認識し、動作モードを中継モードからダウンロードモードに切り替える。また、ポートマイコン1は、他のメインマイコン2,3もダウンロードモードに切り替える。
このため、ポートマイコン1は、操作信号の中継経路上のポートマイコン1及びメインマイコン2,3をまとめてダウンロードモードに切り替えることができ、中継経路の通信帯域をプログラムのダウンロードだけに用いることが可能となる。また、ポートマイコン1及びメインマイコン2,3は、そのパワーをダウンロードのための通信処理に十分に割り当てることができる。このため、ポートマイコン1及びメインマイコン2,3は、十分な通信帯域及び通信処理のパワーをダウンロードに用いることができる。したがって、ダウンロードの所要時間が従来よりも短縮される。
ポートマイコン1及びメインマイコン2,3は、ダウンロードモードにおいて、PC90と接続されるUSBポート14からそれぞれプログラムをダウンロードする。このため、ローカル装置6は、ダウンロード用の新たなUSBポートを設ける必要がない。
次に、ポートマイコン1及びメインマイコン2,3について説明する。
図2は、ローカル装置6のポートマイコン1の一例を示す構成図である。ポートマイコン1は、CPU(Central Processing Unit)10、ROM11、RAM(Random Access Memory)12、及びインターフェース回路13を有する。CPU10は、互いに信号の入出力ができるように、ROM11、RAM12、及びインターフェース回路13とバス19を介して接続されている。CPU10は第1プロセッサの一例である。
ROM11は、CPU10を駆動する中継処理用のプログラム110及びダウンロード処理用のプログラム111が格納されている。CPU10は、中継モードにおいてプログラム110に従って動作し、ダウンロードモードにおいてプログラム111に従って動作する。プログラム110はダウンロード対象のプログラムの一例である。
また、ROM11には、中継モード及びダウンロードモードの何れかを示すモード情報112が格納されている。モード情報112は、例えば、CPU10のブートプログラム(不図示)において参照され、CPU10が起動時にプログラム110及びプログラム111の何れを読み込むかを示す。また、RAM12はCPU10のワーキングメモリとして機能する。
インターフェース回路13は、CPU10と他のハードウェアの間の信号の入出力を処理する。インターフェース回路13は、USBポート14、メインマイコン2、及びリセットボタン15と接続されている。
CPU10は、モード情報が中継モードを示す場合、ROM11からプログラム110を読み込む。このとき、CPU10には、機能として中継処理部100が形成される。中継処理部100は、操作信号及び画像信号を中継する処理を実行する。
また、CPU10は、モード情報がダウンロードモードを示す場合、ROM11からプログラム111を読み込む。このとき、CPU10には、機能としてダウンロード処理部101が形成される。ダウンロード処理部101は、ダウンロード装置97からプログラム110をダウンロードする処理を実行する。
CPU10は、リセットボタン15の長押しを検出することによりダウンロードモードに移行し、また、他のメインマイコン2,3をダウンロードモードに切り替える。
図3は、ローカル装置6のポートマイコン1の処理の一例を示すフローチャートである。CPU10は、中継モードにおいて中継処理部100により中継処理を実行する(St1)。次に、CPU10はリセットボタン15が10秒間押下されたか否かを判定する(St2)。
CPU10は、リセットボタン15が10秒間押下されていない場合(St2のNo)、再びSt1の処理を実行する。CPU10は、リセットボタン15が10秒間押下された場合(St2のYes)、動作モードをダウンロードモードに切り替える(St3)。このとき、CPU10は、ROM11内のモード情報112をダウンロードモードに書き換えて、例えば自己リセットを行うことにより再起動する。
次に、CPU10は、ダウンロード(DL)モード開始コマンドを、符号Raの中継経路上で隣接するメインマイコン2に送信する(St4)。メインマイコン2は、DLモード開始コマンドを受信すると、ダウンロードモードに切り替わる。
次に、CPU10は、メインマイコン2からDLモード開始コマンドに対する応答の有無を判定する(St5)。CPU10は、応答がない場合(St5のNo)、St5の処理を再び実行する。また、CPU10は応答を受信した場合(St5のYes)、ダウンロード装置97からダウンロードコマンドを受信したか否かを判定する(St6)。
CPU10は、ダウンロードコマンドを受信した場合(St6のYes)、ダウンロード処理部101によりダウンロード処理を実行する(St7)。これにより、CPU10は、ダウンロード装置97からプログラム110をダウンロードする。
次に、CPU10は、ダウンロード装置97からダウンロード(DL)モード終了コマンドを受信したか否かを判定する(St8)。CPU10は、DLモード終了コマンドを受信していない場合(St8のNo)、再びSt8の処理を実行する。
また、CPU10は、DLモード終了コマンドを受信している場合(St8のYes)、動作モードを中継モードに切り替える(St9)。このとき、CPU10は、ROM11内のモード情報112を中継モードに書き換えて、例えば自己リセットを行うことにより再起動する。
また、CPU10は、ダウンロードコマンドを受信していない場合(St6のNo)、DLモード終了コマンドを受信したか否かを判定する(St10)。CPU10は、DLモード終了コマンドを受信していない場合(St10のNo)、再びSt6の処理を実行する。CPU10は、DLモード終了コマンドを受信している場合(St10のYes)、動作モードを中継モードに切り替える(St9)。このようにして、CPU10は処理を実行する。
図4は、ローカル装置6のメインマイコン2を示す構成図である。メインマイコン2は、CPU20、ROM21、RAM22、及びインターフェース回路23を有する。CPU20は、互いに信号の入出力ができるように、ROM21、RAM22、及びインターフェース回路23とバス29を介して接続されている。CPU20は第2プロセッサの一例である。
ROM21は、CPU20を駆動する中継処理用のプログラム210及びダウンロード処理用のプログラム211が格納されている。CPU20は、中継モードにおいてプログラム210に従って動作し、ダウンロードモードにおいてプログラム211に従って動作する。なお、プログラム210はダウンロード対象のプログラムの一例である。
また、ROM21には、中継モード及びダウンロードモードの何れかを示すモード情報212が格納されている。モード情報212は、例えば、CPU20のブートプログラム(不図示)において参照され、CPU20が起動時にプログラム210及びプログラム211の何れを読み込むかを示す。RAM22は、CPU20のワーキングメモリとして機能する。
インターフェース回路23は、CPU20と他のハードウェアの間の信号の入出力を処理する。インターフェース回路23は、ポートマイコン1、USBコントローラ63、トランスミッタ40、LED24、及びスイッチ60と接続されている。
CPU20は、モード情報が中継モードを示す場合、ROM21からプログラム210を読み込む。このとき、CPU20には、機能として中継処理部200が形成される。中継処理部200は、操作信号及び画像信号を中継する処理を実行する。
また、CPU20は、モード情報がダウンロードモードを示す場合、ROM21からプログラム211を読み込む。このとき、CPU20には、機能として、ダウンロード処理部201が形成される。ダウンロード処理部201は、ダウンロード装置97からプログラム210をダウンロードする処理を実行する。
CPU20は、ポートマイコン1からDLモード開始コマンドを受信することによりダウンロードモードに移行し、DLモード開始コマンドを他のメインマイコン2に転送する。
図5は、ローカル装置6のメインマイコン2の処理の一例を示すフローチャートである。CPU20は、中継モードにおいて中継処理部200により中継処理を実行する(St21)。次に、CPU20は、ポートマイコン1からDLモード開始コマンドを受信したか否かを判定する(St22)。CPU20は、DLモード開始コマンドを受信していない場合(St22のNo)、再びSt21の処理を実行する。
DLモード開始コマンドを受信している場合(St22のYes)、CPU20は動作モードをダウンロードモードに切り替える(St23)。このとき、CPU20は、ROM21内のモード情報212をダウンロードモードに書き換えて、例えば自己リセットを行うことにより再起動する。
次に、CPU20は、LED24を点灯させる(St24)。ユーザは、LED24が点灯しているとき、ローカル装置6がダウンロードモードであることを判断することができる。
次に、CPU20は、DLモード開始コマンドを、符号Raの中継経路上で隣接するリモート装置7のメインマイコン3に転送する(St25)。メインマイコン3は、DLモード開始コマンドを受信すると、ダウンロードモードに切り替わる。
次に、CPU20はメインマイコン3からDLモード開始コマンドに対する応答の有無を判定する(St26)。応答がない場合(St26のNo)、CPU20はSt26の処理を再び実行する。CPU20は、応答を受信した場合(St26のYes)ダウンロード装置97からダウンロードコマンドを受信したか否かを判定する(St27)。
CPU20は、ダウンロードコマンドを受信した場合(St27のYes)、ダウンロード処理部201によりダウンロード処理を実行する(St28)。これにより、CPU20は、ダウンロード装置97からプログラム210をダウンロードする。
次に、CPU20は、ダウンロード装置97からDLモード終了コマンドを受信したか否かを判定する(St29)。CPU20は、DLモード終了コマンドを受信していない場合(St29のNo)、再びSt29の処理を実行する。
また、CPU20は、DLモード終了コマンドを受信している場合(St29のYes)、動作モードを中継モードに切り替える(St31)。このとき、CPU20は、ROM21内のモード情報212を中継モードに書き換えて、例えば自己リセットを行うことにより再起動する。
次に、CPU20はLED24を消灯させる(St32)。ユーザは、LED24が消灯しているとき、ローカル装置6が中継モードであることを判断することができる。このようにLED24は、ポートマイコン1及びメインマイコン2の各CPU10,20の動作モードを表示するため、ユーザは容易に動作モードを判断することができる。
また、CPU20は、ダウンロードコマンドを受信していない場合(St27のNo)、DLモード終了コマンドを受信したか否かを判定する(St30)。CPU20は、DLモード終了コマンドを受信していない場合(St30のNo)、再びSt27の処理を実行する。CPU20は、DLモード終了コマンドを受信している場合(St30のYes)、動作モードを中継モードに切り替え(St31)、LED24を消灯させる(St32)。このようにして、CPU20は処理を実行する。
図6は、リモート装置7のメインマイコン3を示す構成図である。メインマイコン3は、CPU30、ROM31、RAM32、及びインターフェース回路33を有する。CPU30は互いに信号の入出力ができるようにROM31、RAM32、及びインターフェース回路33と、バス39を介して接続されている。CPU30は第3プロセッサの一例である。
ROM31は、CPU30を駆動する中継処理用のプログラム310及びダウンロード処理用のプログラム311が格納されている。CPU30は、中継モードにおいてプログラム310に従って動作し、ダウンロードモードにおいてプログラム311に従って動作する。プログラム210はダウンロード対象のプログラムの一例である。
また、ROM31には、中継モード及びダウンロードモードの何れかを示すモード情報312が格納されている。モード情報312は、例えばCPU30のブートプログラム(不図示)において参照され、CPU30が起動時にプログラム310及びプログラム311の何れを読み込むかを示す。RAM32はCPU30のワーキングメモリとして機能する。
インターフェース回路33は、CPU30と他のハードウェアの間の信号の入出力を処理する。インターフェース回路33は、レシーバ50、USBコントローラ71、及びLED34と接続されている。
CPU30は、モード情報が中継モードを示す場合、ROM31からプログラム310を読み込む。このとき、CPU30には、機能として中継処理部300が形成される。中継処理部300は、操作信号及び画像信号を中継する処理を実行する。
また、CPU30は、モード情報がダウンロードモードを示す場合、ROM31からプログラム311を読み込む。このとき、CPU30には、機能としてダウンロード処理部301が形成される。ダウンロード処理部301は、ダウンロード装置97からプログラム310をダウンロードする処理を実行する。
CPU30は、メインマイコン2からDLモード開始コマンドを受信することによりダウンロードモードに移行する。
図7は、リモート装置7のメインマイコン3の処理の一例を示すフローチャートである。CPU30は、中継モードにおいて中継処理部300により中継処理を実行する(St41)。次に、CPU30は、メインマイコン2からDLモード開始コマンドを受信したか否かを判定する(St42)。DLモード開始コマンドを受信していない場合(St42のNo)、再びSt41の処理が実行される。
CPU30は、DLモード開始コマンドを受信している場合(St42のYes)、動作モードをダウンロードモードに切り替える(St43)。このとき、CPU30は、ROM31内のモード情報312をダウンロードモードに書き換えて、例えば自己リセットを行うことにより再起動する。
次に、CPU30は、LED34を点灯させる(St44)。ユーザは、LED34が点灯しているときリモート装置7がダウンロードモードであることを判断できる。
次に、CPU30は、ダウンロード装置97からダウンロードコマンドを受信したか否かを判定する(St45)。CPU30は、ダウンロードコマンドを受信した場合(St45のYes)、ダウンロード処理部301によりダウンロード処理を実行する(St46)。これにより、CPU30はダウンロード装置97からプログラム310をダウンロードする。
次に、CPU30は、ダウンロード装置97からDLモード終了コマンドを受信したか否かを判定する(St47)。CPU30は、DLモード終了コマンドを受信していない場合(St47のNo)、再びSt47の処理を実行する。
また、CPU30は、DLモード終了コマンドを受信している場合(St47のYes)、動作モードを中継モードに切り替える(St48)。このとき、CPU30は、ROM31内のモード情報312を中継モードに書き換えて、例えば自己リセットを行うことにより再起動する。
次に、CPU30は、LED34を消灯させる(St49)。このため、ユーザは、LED34が消灯しているとき、リモート装置7が中継モードであることを判断することができる。このようにLED34は、メインマイコン3のCPU30の動作モードを表示するため、ユーザは容易に動作モードを判断することができる。
また、CPU30は、ダウンロードコマンドを受信していない場合(St45のNo)、DLモード終了コマンドを受信したか否かを判定する(St50)。CPU30は、DLモード終了コマンドを受信していない場合(St50のNo)、再びSt45の処理を実行する。また、CPU30は、DLモード終了コマンドを受信している場合(St50のYes)、動作モードを中継モードに切り替え(St48)、LED34を消灯させる(St49)。このようにして、CPU30は処理を実行する。
図8は、ダウンロード装置97、ポートマイコン1、及びメインマイコン2,3の間の通信処理の一例を示すシーケンス図である。本処理はポートマイコン1、及びメインマイコン2,3の各CPU10,20,30により実行される。ポートマイコン1は、リセットボタン15の長押しにより動作モードをダウンロードモードに切り替える(S1)。ポートマイコン1は、DLモード開始コマンドをメインマイコン2に送信する。
メインマイコン2は、ポートマイコン1からDLモード開始コマンドを受信すると、動作モードをダウンロードモードに切り替える(S2)。次に、メインマイコン2はLED24を点灯制御する(S3)。次に、メインマイコン2は、DLモード開始コマンドをメインマイコン3に送信する。
メインマイコン3は、メインマイコン2からDLモード開始コマンドを受信すると、動作モードをダウンロードモードに切り替える(S4)。次に、メインマイコン3はLED34を点灯制御する(S5)。次に、メインマイコン3は、DLモード開始コマンドに対する応答をメインマイコン2に送信する。メインマイコン2は、メインマイコン3から応答を受信すると、DLモード開始コマンドに対する応答をポートマイコン1に送信する。これにより、プログラム110,210,310がダウンロード装置97から各CPU10,20,30にダウンロードされる(S6)。また、トランスミッタ40及びレシーバ50の各プログラムも本処理においてダウンロード装置97からダウンロードされる。
ダウンロード装置97は、ダウンロードが終了するとポートマイコン1にDLモード終了コマンドを送信する。ポートマイコン1は、DLモード終了コマンドを受信するとメインマイコン2に転送する。メインマイコン2は、ポートマイコン1からDLモード終了コマンドを受信すると、リモート装置7のメインマイコン3に転送する。
メインマイコン3は、DLモード終了コマンドを受信するとその応答をメインマイコン2に送信する。その後、メインマイコン3はLED34を消灯制御し(S12)、動作モードを中継モードに切り替える(S13)。
メインマイコン2は、メインマイコン3から応答を受信すると、DLモード終了コマンドに対する応答をポートマイコン1に送信する。その後、メインマイコン2はLED24を消灯制御し(S10)、動作モードを中継モードに切り替える(S11)。
ポートマイコン1は、メインマイコン2から応答を受信すると、DLモード終了コマンドに対する応答をダウンロード装置97に送信する。その後、ポートマイコン1はLED24を消灯制御し(S7)、動作モードを中継モードに切り替える(S8)。このようにして、ダウンロード装置97、ポートマイコン1、及びメインマイコン2,3の間の通信処理は行われる。
上述したように、ポートマイコン1は、中継モードにおいてダウンロードモードへの切り替えを指示されたとき、ポートマイコン1及びメインマイコン2の各動作モードとメインマイコン3の動作モードを中継モードからダウンロードモードに切り替える。
このため、ポートマイコン1は、操作信号の中継経路上のポートマイコン1及びメインマイコン2,3をまとめてダウンロードモードに切り替えることができる。したがって、ポートマイコン1及びメインマイコン2,3は、十分な通信帯域及び通信処理のパワーをダウンロードに用いることができるため、ダウンロードの所要時間が従来よりも短縮される。
また、ポートマイコン1及びメインマイコン2,3の各CPU10,20,30は、ダウンロードの完了後に動作モードをダウンロードモードから中継モードに切り替える。このため、ローカル装置6及びリモート装置7を手動で中継モードに戻す手間が省かれる。
次に、上記のダウンロードのシーケンス(S6)について述べる。ダウンロードシーケンスでは、ポートマイコン1及びメインマイコン2,3の各プログラム110,210,310とトランスミッタ40及びレシーバ50の各プログラムの少なくとも1つがダウンロードされる。トランスミッタ40及びレシーバ50の各プログラムは、メインマイコン2の制御に基づいて実行される。
図9は、ポートマイコン1のプログラム110のダウンロード処理の一例を示すシーケンス図である。本シーケンスは、ポートマイコン1及びメインマイコン2,3の各CPU10,20,30により実行される。
ダウンロード装置97は、ダウンロード(DL)コマンドをポートマイコン1に送信する。DLコマンドにはダウンロード先のプロセッサを示す識別子「#1」が付与されている。以降の例において、ポートマイコン1の識別子は「#1」とし、メインマイコン2の識別子は「#2」とし、メインマイコン3の識別子は「#3」とする。また、トランスミッタ40の識別子は「#5」とし、レシーバ50の識別子は「#6」とする。
ポートマイコン1は、DLコマンドの識別子が「#1」であるため、自己宛てにプログラム110がダウンロードされると判断し、DLコマンドに対する応答をダウンロード装置97に返す。
ダウンロード装置97は、応答の受信に応じて消去コマンドをポートマイコン1に送信する。ポートマイコン1は、消去コマンドの受信に応じてROM11内のプログラム110の格納領域をクリアする(S21)。ポートマイコン1は、クリア後消去コマンドに対する応答をダウンロード装置97に送信する。
ダウンロード装置97は、応答の受信に応じ所定のデータ長のプログラムデータをポートマイコン1に送信する。ポートマイコン1は、ROM11にプログラムデータを書き込む(S22)。ポートマイコン1は、書き込み後、プログラムデータに対する応答をダウンロード装置97に送信する。なお、プログラムデータには、ROM11内の書き込み先のアドレス、及びデータ誤りを検出するためのチェックサムが付与されている。
ダウンロード装置97は、応答に応じデータ終了通知をポートマイコン1に送信する。ポートマイコン1は、データ終了通知の受信によりプログラムデータの受信完了を認識する。次に、ポートマイコン1は、データ終了通知に対する応答をダウンロード装置97に送信する。プログラムデータの送信から、データ終了通知に対する応答の送信までの処理(R1)はプログラム110の全てのプログラムデータがダウンロードされるまで繰り返される。
ダウンロード装置97は、プログラム110の全てのプログラムデータを送信すると、署名通知をポートマイコン1に送信する。ポートマイコン1は、署名通知の受信に応じて、プログラム110が有効であることを示す有効情報をROM11に書き込む。CPU10は起動時に有効情報を参照し、プログラム110が有効である場合のみプログラム110を読み込む。
次に、ポートマイコン1は、署名通知に対する応答をダウンロード装置97に送信する。ダウンロード装置97は、応答の受信によりプログラム110のダウンロードの完了を認識する。このようにして、ポートマイコン1のプログラム110のダウンロード処理は実行される。
図10は、ローカル装置6のメインマイコン2のプログラム210のダウンロード処理の一例を示すシーケンス図である。本シーケンスは、ポートマイコン1及びメインマイコン2,3の各CPU10,20,30により実行される。
ダウンロード装置97は、DLコマンドをポートマイコン1に送信する。DLコマンドには、ダウンロード先のプロセッサを示す識別子「#2」が付与されている。
ポートマイコン1は、DLコマンドの識別子が「#2」であるため、メインマイコン2宛てにプログラム210がダウンロードされると判断し、DLコマンドをメインマイコン2に転送する。メインマイコン2は、DLコマンドの識別子が「#2」であるため、自己宛てにプログラム210がダウンロードされると判断し、DLコマンドに対する応答をポートマイコン1に送信する。ポートマイコン1は応答をダウンロード装置97に転送する。
ダウンロード装置97は、応答の受信に応じて消去コマンドをポートマイコン1に送信する。ポートマイコン1は消去コマンドをメインマイコン2に転送する。メインマイコン2は、消去コマンドの受信に応じてROM21内のプログラム210の格納領域をクリアする(S31)。
メインマイコン2は、クリア後、消去コマンドに対する応答をポートマイコン1に送信する。ポートマイコン1は応答をダウンロード装置97に転送する。
ダウンロード装置97は、応答の受信に応じ所定のデータ長のプログラムデータをポートマイコン1に送信する。ポートマイコン1は、プログラムデータをメインマイコン2に転送する。メインマイコン2はROM11にプログラムデータを書き込む(S32)。
メインマイコン2は、書き込み後、プログラムデータに対する応答をポートマイコン1に送信する。ポートマイコン1は応答をダウンロード装置97に転送する。
ダウンロード装置97は、応答に応じデータ終了通知をポートマイコン1に送信する。ポートマイコン1はデータ終了通知をメインマイコン2に転送する。
メインマイコン2は、データ終了通知の受信によりプログラムデータの受信の完了を認識する。次に、メインマイコン2は、データ終了通知に対する応答をポートマイコン1に送信する。ポートマイコン1は、応答をダウンロード装置97に転送する。プログラムデータの送信から、データ終了通知に対する応答の送信までの処理(R2)は、プログラム210の全てのプログラムデータがダウンロードされるまで繰り返される。
ダウンロード装置97は、プログラム210の全てのプログラムデータを送信すると、署名通知をポートマイコン1に送信する。ポートマイコン1は署名通知をメインマイコン2に転送する。
メインマイコン2は、署名通知の受信に応じてプログラム210が有効であることを示す有効情報をROM21に書き込む。CPU20は、起動時に有効情報を参照し、プログラム210が有効である場合のみプログラム210を読み込む。
次に、メインマイコン2は、署名通知に対する応答をポートマイコン1に送信する。ポートマイコン1は応答をダウンロード装置97に転送する。ダウンロード装置97は、応答の受信によりプログラム210のダウンロードの完了を認識する。このようにして、ローカル装置6のメインマイコン2のプログラム210のダウンロード処理は実行される。
図11は、リモート装置7のメインマイコン3のプログラム310のダウンロード処理の一例を示すシーケンス図である。本シーケンスは、ポートマイコン1及びメインマイコン2,3の各CPU10,20,30により実行される。
ダウンロード装置97は、DLコマンドをポートマイコン1に送信する。DLコマンドには、ダウンロード先のプロセッサを示す識別子「#3」が付与されている。
ポートマイコン1は、DLコマンドの識別子が「#3」であるため、メインマイコン3宛てにプログラム310がダウンロードされると判断し、DLコマンドをメインマイコン2に転送する。これと同様に、メインマイコン2もDLコマンドをリモート装置7のメインマイコン3に転送する。
メインマイコン3は、DLコマンドの識別子が「#3」であるため、自己宛てにプログラム310がダウンロードされると判断し、DLコマンドに対する応答をローカル装置6のメインマイコン2に送信する。メインマイコン2は応答をポートマイコン1に転送する。ポートマイコン1は応答をダウンロード装置97に転送する。
ダウンロード装置97は、応答の受信に応じて消去コマンドをポートマイコン1に送信する。ポートマイコン1は消去コマンドをメインマイコン2に転送し、メインマイコン2は消去コマンドをメインマイコン3に転送する。メインマイコン3は、消去コマンドの受信に応じて、ROM31内のプログラム310の格納領域をクリアする(S41)。
メインマイコン3は、クリア後、消去コマンドに対する応答をローカル装置6のメインマイコン2に送信する。メインマイコン2は応答をポートマイコン1に転送し、ポートマイコン1は応答をダウンロード装置97に転送する。
ダウンロード装置97は、応答の受信に応じ所定のデータ長のプログラムデータをポートマイコン1に送信する。ポートマイコン1はプログラムデータをメインマイコン2に転送し、メインマイコン2はプログラムデータをメインマイコン3に転送する。メインマイコン3はROM21にプログラムデータを書き込む(S42)。
メインマイコン3は、書き込み後、プログラムデータに対する応答をローカル装置6のメインマイコン2に送信する。メインマイコン2は応答をポートマイコン1に転送し、ポートマイコン1は応答をダウンロード装置97に転送する。
ダウンロード装置97は、応答に応じデータ終了通知をポートマイコン1に送信する。ポートマイコン1はデータ終了通知をメインマイコン2に転送し、メインマイコン2はデータ終了通知をリモート装置7のメインマイコン3に転送する。
メインマイコン3は、データ終了通知の受信によりプログラムデータの受信の完了を認識する。次に、メインマイコン3は、データ終了通知に対する応答をメインマイコン2に送信する。メインマイコン2は応答をポートマイコン1に転送し、ポートマイコン1は応答をダウンロード装置97に転送する。プログラムデータの送信からデータ終了通知に対する応答の送信までの処理(R3)は、プログラム310の全てのプログラムデータがダウンロードされるまで繰り返される。
ダウンロード装置97は、プログラム310の全てのプログラムデータを送信すると、署名通知をポートマイコン1に送信する。ポートマイコン1は署名通知をメインマイコン2に転送し、メインマイコン2は署名通知をリモート装置7のメインマイコン3に転送する。
メインマイコン3は、署名通知の受信に応じてプログラム310が有効であることを示す有効情報をROM31に書き込む。CPU30は、起動時に有効情報を参照し、プログラム310が有効である場合のみ、プログラム310を読み込む。
次に、メインマイコン3は、署名通知に対する応答をメインマイコン2に送信する。メインマイコン2は応答をポートマイコン1に転送し、ポートマイコン1は応答をダウンロード装置97に転送する。ダウンロード装置97は、応答の受信によりプログラム310のダウンロードの完了を認識する。このようにして、リモート装置7のメインマイコン3のプログラム310のダウンロード処理は実行される。
上述したように、ポートマイコン1のCPU10は、ダウンロードモードにおいてダウンロード先のプロセッサを示す識別子を受信し、識別子がポートマイコン1(CPU10)を示す場合、プログラム110をダウンロードする。また、CPU10は、識別子がポートマイコン1以外のプロセッサを示す場合、識別子及びプログラムデータをメインマイコン2のCPU20に転送する。
さらに、メインマイコン2のCPU20は、ダウンロードモードにおいて識別子を受信した場合、識別子がメインマイコン2(CPU20)を示すとき、プログラム210をダウンロードし、識別子がリモート装置7のメインマイコン3(CPU30)を示す場合、識別子及びプログラムデータをメインマイコン3に転送する。
このため、ローカル装置6は、識別子に応じてポートマイコン1及びメインマイコン2のプログラム110,210を個別にダウンロードすることができる。
また、メインマイコン3のCPU30は、ダウンロードモードにおいて、識別子をローカル装置6のメインマイコン2から受信した場合、識別子がメインマイコン3(CPU10)を示すとき、プログラム310をダウンロードする。
このため、リモート装置7は、識別子に応じてメインマイコン3のプログラム310を、他のポートマイコン1及びメインマイコン2のプログラム110,210とは別にダウンロードすることができる。なお、各プログラム110.210,310は、本例とは異なりポートマイコン1及びメインマイコン2,3に一括でダウンロードされ、ポートマイコン1及びメインマイコン2,3が自己のプログラム110.210,310だけをROM11,21,31に書き込んでもよい。
図12は、トランスミッタ40のプログラムのダウンロード処理の一例を示すシーケンス図である。メインマイコン2は、ダウンロード装置97との間でトランスミッタ40のプログラムをダウンロードするためのシーケンスを実行する。このため、メインマイコン2とダウンロード装置97の間のシーケンスは、図10に示されたものと同様であり、その説明は省略する。
メインマイコン2は、ダウンロード装置97から識別子「#4」のDLコマンドを受信する。メインマイコン2は、DLコマンドの識別子が「#4」であるため、トランスミッタ40宛てにプログラムがダウンロードされると判断する。メインマイコン2は、DLコマンドに対する応答をダウンロード装置97に送信する。
メインマイコン2は、ダウンロード装置97から消去コマンドを受信すると、トランスミッタ40に対しフラッシュROM41のプログラムの格納領域の消去制御を行う。これに応じて、トランスミッタ40は、フラッシュROM41のプログラムの格納領域をクリアする(S51)。
メインマイコン2は、ダウンロード装置97からプログラムデータを受信すると、トランスミッタ40に転送する。トランスミッタ40は、プログラムデータをフラッシュROM41に書き込む(S52)。プログラムの書き込み処理(R4)は、プログラムの全てのプログラムデータがダウンロードされるまで繰り返される。このようにして、トランスミッタ40のプログラムのダウンロード処理は実行される。
図13は、レシーバ50のプログラムのダウンロード処理の一例を示すシーケンス図である。メインマイコン2は、ダウンロード装置97との間でレシーバ50のプログラムをダウンロードするためのシーケンスを実行する。メインマイコン2とダウンロード装置97の間のシーケンスは図10に示されたものと同様であり、その説明は省略する。
メインマイコン2は、ダウンロード装置97から識別子「#5」のDLコマンドを受信する。メインマイコン2は、DLコマンドの識別子が「#5」であるため、レシーバ50宛てにプログラムがダウンロードされると判断する。メインマイコン2は、DLコマンドに対する応答をダウンロード装置97に送信する。
メインマイコン2は、ダウンロード装置97から消去コマンドを受信すると、レシーバ50に対しフラッシュROM51のプログラム格納領域の消去制御を行う。これに応じて、レシーバ50は、フラッシュROM51のプログラム格納領域をクリアする(S61)。
メインマイコン2は、ダウンロード装置97からプログラムデータを受信すると、レシーバ50に転送する。レシーバ50は、プログラムデータをフラッシュROM51に書き込む(S62)。プログラムの書き込み処理(R5)は、プログラムの全てのプログラムデータがダウンロードされるまで繰り返される。このようにして、レシーバ50のプログラムのダウンロード処理は実行される。
このように、メインマイコン2は、識別子に基づいてトランスミッタ40及びレシーバ50をダウンロード先として判断する。なお、識別子は、トランスミッタ40及びレシーバ50の各フラッシュROM41内の書き込み対象のバンクを示してもよい。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。