(57)【要約】【課題】ダウンロード専用のマイコンを設けないでプログラムのダウンロードを行えるマイコンシステムを提供する。【解決手段】マイコンシステム１０は、複数のマイコン１２，１８，２４と、複数のマイコン１２，１８，２４のそれぞれにバス１６，２２，２８によって接続されると共に各マイコン１２，１８，２４を動作させるプログラムを記録するための複数のフラッシュロム１４，２０，２６を備える。フラッシュロム１４，２０，２６にダウンロードするプログラムを入力するためのプログラムインターフェース部３０が一のマイコン１２のバス１６に接続される。また、それぞれのバス１６，２２，２８に接続されたレジスタ３６を有する。レジスタ３６にはプログラムインターフェース部３０から一のマイコン１２に送信されたプログラムが書き込まれ、レジスタ３６に書き込まれたプログラムは他のマイコン１８，２４により読み出すことができる。【選択図】  図１
2005011134.tif 000002
【特許請求の範囲】
【請求項１】
複数のマイコンと、
前記複数のマイコンのそれぞれに、異なるバスによって接続されると共に前記マイコンのそれぞれを動作させるプログラムを記録するための複数の不揮発性メモリと、
前記複数のマイコンのうちの一のマイコンのバスに接続されると共に前記不揮発性メモリにダウンロードするプログラムが入力され、入力されたプログラムを前記一のマイコンに送信するプログラムインターフェース部と、
前記複数のマイコンがそれぞれ接続される複数の前記バスに接続されると共に、前記一のマイコンにより受信したプログラムが書き込まれ、かつそのプログラムが他のマイコンにより読み出されるレジスタと、
を備えることを特徴とするマイコンシステム。
【請求項２】
前記一のマイコンは、受信中の前記プログラムを蓄積するメモリ領域を備えることを特徴とする請求項１に記載のマイコンシステム。
【請求項３】
前記他のマイコンは、読出し中の前記プログラムを蓄積するメモリ領域を備えることを特徴とする請求項１に記載のマイコンシステム。
【請求項４】
前記マイコンは、前記不揮発性メモリに記録されたプログラムを実行するメモリ領域を備えることを特徴とする請求項１に記載のマイコンシステム。
【請求項５】
前記一のマイコンにより前記他のマイコンに割り込みを発生させる割り込み発生回路をさらに備えることを特徴とする請求項１に記載のマイコンシステム。
【請求項６】
前記他のマイコンが、前記レジスタに前記プログラムが書き込まれたか否かを監視することを特徴とする請求項１に記載のマイコンシステム。
【請求項７】
前記一のマイコンが、前記レジスタに前記他のマイコンがアクセス中か否かを監視することを特徴とする請求項１に記載のマイコンシステム。
【請求項８】
複数のマイコンと、前記複数のマイコンのそれぞれに、異なるバスによって接続されると共に前記マイコンのそれぞれを動作させるプログラムを記録するための複数の不揮発性メモリと、を備えるマイコンシステムにプログラムをダウンロードする方法であって、
前記複数のマイコンのうちの一のマイコンのバスに接続されたプログラムインターフェース部に入力されたプログラムを前記一のマイコンに送信するステップと、
前記一のマイコンが受信した前記プログラムを、前記複数のマイコンがそれぞれ接続された複数の前記バスに接続されたレジスタに書き込む書込みステップと、
前記レジスタに書き込まれたプログラムを他のマイコンが読み出す読出しステップと、
前記一のマイコンが前記プログラムインターフェース部から受信したプログラムを前記不揮発性メモリに記録する第１の記録ステップと、
前記他のマイコンが前記レジスタから読み出したプログラムを不揮発性メモリに記録する第２の記録ステップと、
を有することを特徴とするプログラムダウンロード方法。
【請求項９】
前記第１の記録ステップは、
受信中のプログラムを前記不揮発性メモリと異なるメモリ領域に記録するステップと、
ダウンロードすべき前記プログラムを受信した後に前記メモリ領域に記録されたプログラムを前記不揮発性メモリに書き込むステップと、
を有することを特徴とする請求項８に記載のプログラムダウンロード方法。
【請求項１０】
前記第２の記録ステップは、
読出し中のプログラムを前記不揮発性メモリと異なるメモリ領域に記録するステップと、
ダウンロードすべき前記プログラムを読み出した後に前記メモリ領域に記録されたプログラムを前記不揮発性メモリに書き込むステップと、
を有することを特徴とする請求項８に記載のプログラムダウンロード方法。
【請求項１１】
前記第１の記録ステップ実行中に、前記一のマイコンが前記不揮発性メモリに記録されたプログラムを、前記不揮発性メモリと異なるメモリ領域において実行することを特徴とする請求項８に記載のプログラムダウンロード方法。
【請求項１２】
前記第２の記録ステップ実行中に、前記他のマイコンが前記不揮発性メモリに記録されたプログラムを、前記不揮発性メモリと異なるメモリ領域において実行することを特徴とする請求項８に記載のプログラムダウンロード方法。
【請求項１３】
前記レジスタへの前記プログラムの書込みに応じて、前記一のマイコンが前記他のマイコンにプログラムの書込みを知らせる割り込みを発生させるステップを有することを特徴とする請求項８に記載のプログラムダウンロード方法。
【請求項１４】
前記レジスタに前記プログラムが書き込まれたか否かを前記他のマイコンにより監視するステップをさらに有し、
前記レジスタへの前記プログラムの書込みに応じて、前記読出しステップを実行することを特徴とする請求項８に記載のプログラムダウンロード方法。
【請求項１５】
前記他のマイコンが前記レジスタにアクセス中か否かを前記一のマイコンにより監視するステップをさらに有し、
前記他のマイコンが前記レジスタにアクセスしていないときに前記書込みステップを実行することを特徴とする請求項８に記載のプログラムダウンロード方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のマイコンを備えるマイコンシステムおよびマイコンシステムにプログラムをダウンロードする方法に関する。
【０００２】
【従来の技術】
従来から複数のチャネルのそれぞれにマイコンを備えたマイコンシステムが存在する。例えば、エンコード装置は、ビデオ・エンコード、オーディオ・エンコード、システム・エンコード、画像前処理のそれぞれを実行するマイコンを備えたマイコンシステムである。また、マイコンシステムのメンテナンス機能として、プログラムのダウンロード技術が知られている。プログラムダウンロードは、例えば、ソフトウェアをバージョンアップするときに行われる。
【０００３】
従来、複数のマイコンを備えたマイコンシステムでは、それぞれのマイコンにプログラムをダウンロードするために、マスタマイコンが設けられていた。この点について図７を参照して説明する。
【０００４】
図７は、プログラムダウンロード可能な従来のマイコンシステムの例を示す図である。図７に示すように、マイコンシステム５０は、マイコンシステム５０の各機能を実現するマイコン１２，１８，２４を備え、それぞれのマイコン１２，１８，２４を動作させるプログラムを記録するためのフラッシュロム１４，２０，２６がバス１６，２２，２８により接続されている。各マイコン１２，１８，２６のバス１６，２２，２８はＦＰＧＡ３２に接続される。従来のマイコンシステム５０は、プログラムのダウンロード対象となるマイコン１２，１８，２４のほかに、プログラムデータＩ／Ｆ部３０およびＦＰＧＡ３２にバス４２により接続されたマスタマイコン４０を備えていた。そして、プログラムダウンロードの際には、プログラムデータＩ／Ｆ部３０は、プログラムをマスタマイコン４０に送信する。その後、マスタマイコン４０がＦＰＧＡ３２のＣＰＵインターフェース部４４を通じてプログラムを各マイコン１２，１８，２４に送信することにより、プログラムのダウンロードを実現していた。
【０００５】
また、特許文献１には、複数の装置にプログラムをダウンロードする方法が記載されている。この文献に記載された方法では、複数の下位装置にプログラムをダウンロードするために上位装置が用いられる。そして、上位装置が下位装置との間の通信路を監視し、空きタイムスロットを利用してプログラムのダウンロードを行う。
【０００６】
【特許文献１】特開平２００２−３１２２７４号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、上記したダウンロード方法はいずれも、プログラムをダウンロードする対象のマイコン（下位装置）以外にダウンロードを管理するマスタマイコン（上位装置）を設けていたので、マスタマイコンの分だけ実装面積が増大し、またコストアップにもつながっていた。
【０００８】
そこで、本発明は上記の問題点に鑑みて、プログラムダウンロードの対象のマイコン以外のマスタマイコンを設けないでプログラムをダウンロード可能なマイコンシステムおよびプログラムダウンロード方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係るマイコンシステムは、複数のマイコンと、複数のマイコンのそれぞれに、異なるバスによって接続されると共にマイコンのそれぞれを動作させるプログラムを記録するための複数の不揮発性メモリと、複数のマイコンのうちの一のマイコンのバスに接続されると共に不揮発性メモリにダウンロードするプログラムが入力され、入力されたプログラムを一のマイコンに送信するプログラムインターフェース部と、複数のマイコンがそれぞれ接続されるバスに接続されると共に、一のマイコンにより受信したプログラムが書き込まれ、かつそのプログラムが他のマイコンにより読み出されるレジスタと、を備える。
【００１０】
このように複数のマイコンのそれぞれのバスに接続されたレジスタを有するので、複数のマイコンのうちの一のマイコンが受信したプログラムをレジスタに書き込むことにより、プログラムを他のマイコンにより読み出すことができる。一のマイコンにマスタマイコンとしての役割を持たせることにより、ダウンロード専用のマスタマイコンを設けない構成でプログラムダウンロードを行えるマイコンシステムを実現できる。また、マスタマイコンを設けないので、最初にプログラムを受信するマイコンを選択可能な構成とすることができる。これにより、一のマイコンが故障した場合には、他のマイコンのうちのいずれかのマイコンによりプログラムを受信し、受信したプログラムをレジスタに書き込むことにより、プログラムのダウンロードが可能となる。なお、プログラムを記録するための不揮発性メモリには、データ書き換え可能なフラッシュロムを用いることができる。
【００１１】
好ましくは、一のマイコンは、受信中のプログラムを蓄積するメモリ領域を備える。
【００１２】
この構成により、一のマイコンにおいて、プログラムインターフェース部より少しずつ送信されるプログラムを不揮発性メモリとは異なるメモリ領域に蓄積できる。そして、ダウンロードすべきプログラムを受信し終えた時点で不揮発性メモリに書き込むことが可能となる。従って、不揮発性メモリの消去および書込みの動作を一括して行うことができ、不揮発性メモリの占有時間を短縮可能である。
【００１３】
好ましくは、他のマイコンは、読出し中のプログラムを蓄積するメモリ領域を備える。
【００１４】
この構成により、他のマイコンにおいて、一のマイコンにより少しずつ書き込まれるプログラムを不揮発性メモリとは異なるメモリ領域に蓄積できる。そして、ダウンロードすべきプログラムを読み出し終えた時点で不揮発性メモリに書き込むことが可能となる。従って、不揮発性メモリの消去および書込みの動作を一括して行うことができ、不揮発性メモリの占有時間を短縮可能である。
【００１５】
好ましくは、マイコンは、不揮発性メモリに記録されたプログラムを実行するメモリ領域を備える。
【００１６】
不揮発性メモリと異なるメモリ領域でプログラムを実行することにより、不揮発性メモリの書換えの際に、実行中のプログラムがハングアップする事態の発生を防止できる。
【００１７】
好ましくは、本発明のマイコンシステムは、一のマイコンにより他のマイコンに割り込みを発生させる割り込み発生回路をさらに備える。
【００１８】
この構成により、一のマイコンは、レジスタにプログラムを書き込んだことを割り込みにより他のマイコンに通知できる。他のマイコンはこの割り込みをトリガとしてレジスタからプログラムを読み出すことができる。従って、一のマイコンと他のマイコンはほぼ同じタイミングでプログラムを取得可能となる。また、レジスタに書き込まれたプログラムを速やかに読み出すことにより、プログラムダウンロードに要する時間を短縮できる。
【００１９】
好ましくは、他のマイコンが、レジスタにプログラムが書き込まれたか否かを監視する。
【００２０】
この構成により、他のマイコンは、レジスタにプログラムが書き込まれたときに速やかにレジスタからデータを読み出すことが可能となる。
【００２１】
好ましくは、他のマイコンがレジスタにアクセス中か否かを一のマイコンにより監視する。
【００２２】
この構成により、他のマイコンがレジスタにアクセスしている間は、前記一のマイコンによるプログラムの書込みを停止することができる。これにより、他のマイコンによって読出し中のプログラムへの新たなプログラムの上書きを防止できる。
【００２３】
本発明に係るプログラムダウンロード方法は、複数のマイコンと、複数のマイコンのそれぞれに、異なるバスによって接続されると共にマイコンのそれぞれを動作させるプログラムを記録するための複数の不揮発性メモリと、を備えるマイコンシステムにプログラムをダウンロードする方法であって、複数のマイコンのうちの一のマイコンのバスに接続されたプログラムインターフェース部に入力されたプログラムを一のマイコンに送信するステップと、一のマイコンが受信したプログラムを、複数のマイコンがそれぞれ接続された複数のバスに接続されたレジスタに書き込む書込みステップと、レジスタに書き込まれたプログラムを他のマイコンが読み出す読出しステップと、一のマイコンがプログラムインターフェース部から受信したプログラムを不揮発性メモリに記録する第１の記録ステップと、他のマイコンがレジスタから読み出したプログラムを不揮発性メモリに記録する第２の記録ステップと、を有する。
【００２４】
このように複数のマイコンのうちの一のマイコンが受信したプログラムを他のマイコンからもアクセス可能なレジスタに書き込むことにより、プログラムを他のマイコンにより読み出すことができる。一のマイコンにマスタマイコンとしての役割を持たせることにより、ダウンロード専用のマスタマイコンを用いないでプログラムダウンロードを行える。また、マスタマイコンを用いないので、最初にプログラムを受信するマイコンを選択可能とすることができる。これにより、一のマイコンが故障した場合には、他のマイコンのうちのいずれかのマイコンによりプログラムを受信し、受信したプログラムをレジスタに書き込むことにより、プログラムのダウンロードが可能となる。
【００２５】
好ましくは、第１の記録ステップは、受信中のプログラムを不揮発性メモリと異なるメモリ領域に記録するステップと、ダウンロードすべきプログラムを受信した後にメモリ領域に記録されたプログラムを不揮発性メモリに書き込むステップと、を有する。
【００２６】
この方法により、不揮発性メモリの消去および書込みの動作を一括して行うことができ、不揮発性メモリの占有時間を短縮可能である。
【００２７】
好ましくは、第２の記録ステップは、読出し中のプログラムを不揮発性メモリと異なるメモリ領域に記録するステップと、ダウンロードすべきプログラムを読み出した後にメモリ領域に記録されたプログラムを不揮発性メモリに書き込むステップと、を有する。
【００２８】
この方法により、不揮発性メモリの消去および書込みの動作を一括して行うことができ、不揮発性メモリの占有時間を短縮可能である。
【００２９】
好ましくは、第１の記録ステップ実行中に、一のマイコンが、不揮発性メモリに記録されたプログラムを不揮発性メモリと異なるメモリ領域において実行する。また第２の記録ステップ実行中に、他のマイコンが、不揮発性メモリに記録されたプログラムを不揮発性メモリと異なるメモリ領域において実行する。
【００３０】
不揮発性メモリへのプログラム記録中に、不揮発性メモリと異なるメモリ領域でプログラムを実行することにより、不揮発性メモリの書換えの際に、実行中のプログラムがハングアップする事態の発生を防止できる。
【００３１】
好ましくは、本発明のプログラムダウンロード方法は、レジスタへのプログラムの書込みに応じて、一のマイコンが他のマイコンにプログラムの書込みを知らせる割り込みを発生させるステップを有する。
【００３２】
これにより、他のマイコンは割り込みをトリガとしてレジスタからプログラムを読み出すことができる。従って、一のマイコンと他のマイコンはほぼ同じタイミングでプログラムを取得可能となる。また、レジスタに書き込まれたプログラムを速やかに読み出すことにより、プログラムダウンロードに要する時間を短縮できる。
【００３３】
好ましくは、レジスタにプログラムが書き込まれたか否かを他のマイコンにより監視するステップをさらに有し、レジスタにプログラムが書き込まれた後に、読出しステップを実行する。
【００３４】
これにより、他のマイコンは、レジスタにプログラムが書き込まれたときに速やかにレジスタからデータを読み出すことができる。
【００３５】
好ましくは、他のマイコンがレジスタにアクセス中か否かを一のマイコンにより監視するステップをさらに有し、他のマイコンがレジスタにアクセスしていないときに書込みステップを実行する。
【００３６】
これにより、他のマイコンがレジスタにアクセスしている間は、前記一のマイコンによるプログラムの書込みを停止し、他のマイコンによって読出し中のプログラムへの新たなプログラムの上書きを防止できる。
【００３７】
【発明の実施の形態】
以下、本発明の実施形態に係るマイコンシステム１０について図面を参照しながら説明する。可能な場合には、同一の部分には同一の符号を付して重複する説明を省略する。
【００３８】
図１は、実施形態に係るマイコンシステムの構成を示すブロック図である。マイコンシステム１０は、マイコン１２、１８、２４を有する。それぞれのマイコン１２、１８、２４は、プログラムがダウンロードされる対象のマイコンである。ここでは、マイコンシステム１０は３個のマイコン１２、１８、２４を備えているが、マイコンの数は３個に限定されない。
【００３９】
マイコン１２には、マイコン１２を動作させるプログラムを記録するためのフラッシュロム１４がバス１６により接続されている。マイコン１２は、フラッシュロム１４に記録されたプログラムをマイコン１２のメモリ領域に書き込んで、そのメモリ領域においてプログラムを実行する。マイコン１８にも同様のフラッシュロム２０がバス２２により接続され、マイコン２４にも同様のフラッシュロム２６がバス２８により接続されている。
【００４０】
マイコンシステム１０は、ダウンロードされるべきプログラムを入力するためのプログラムデータＩ／Ｆ部３０を有する。プログラムデータＩ／Ｆ部３０は、マイコン１２のバス１６に接続されている。プログラムデータＩ／Ｆ部３０は、入力されたプログラムをバス１６を通じてマイコン１２に送信する。マイコン１２は、他のマイコン１８、２４と異なり、プログラムデータＩ／Ｆ部３０から直接にプログラムデータを受信可能である。
【００４１】
また、マイコンシステム１０は、それぞれのバス１６、２２、２８に接続されたＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３２を有する。ＦＰＧＡ３２は、割り込み発生回路３４およびレジスタ３６を含む。割り込み発生回路３４は、マイコン１２によりマイコン１８又はマイコン２４に割り込みを発生させる回路である。レジスタ３６は、マイコン１２とマイコン１８のみがアクセス可能な個別マイコン用領域３６ａと、マイコン１２およびマイコン２４のみがアクセス可能な個別マイコン用領域３６ｂを有する。この個別マイコン用領域３６ａ，３６ｂは、プログラムデータＩ／Ｆ部３０が接続されていないマイコン１８，２４がプログラムデータを読み出すための領域である。従って、個別マイコン用領域は、マイコンシステム１０が有するマイコンのうち、プログラムデータＩ／Ｆ部３０に接続されていないマイコンの数と同じ数だけ設けられる。
【００４２】
次に、本実施形態のマイコンシステム１０によるプログラムのダウンロード方法について説明する。
【００４３】
図２はマイコンシステム１０にプログラムをダウンロードする動作を示すフローチャート、図３はプログラムダウンロード時におけるマイコンシステム１０の各要素間のデータの流れを示すシーケンス図である。なお、図３ではマイコン２４を省略しているが、マイコン２４の動作はマイコン１８の動作と同じである。
【００４４】
図３に示すように、プログラムデータＩ／Ｆ部３０にダウンロードするプログラムが入力されると、プログラムデータＩ／Ｆ部３０は、バス１６を通じてプログラムをマイコン１２に送信する。この際、プログラムデータＩ／Ｆ部３０はプログラムを数バイトずつ送信する。
【００４５】
マイコン１２は、図２に示すようにプログラムデータがあるか否か判定する（Ｓ１０）。マイコン１２がプログラムデータありと判定した場合には、マイコン１２はＦＰＧＡ３２のレジスタにプログラムデータを書き込む（Ｓ１２）。より詳細には、図３に示すように、マイコン１２はレジスタ３６の個別マイコン用領域３６ａにアクセスし、マイコン１８が個別マイコン用領域３６ａにアクセス中であるか（ＢＵＳＹ状態）、あるいはアクセス中でないか（ＲＥＡＤＹ状態）を判定する。その結果、ＲＥＡＤＹ状態と判定された場合に、マイコン１２はレジスタ３６の個別マイコン用領域３６ａにデータを書き込む。このようにレジスタ３６の状態をチェックすることにより、他のマイコン１８が読出し中のデータを上書きして破壊することを防止できる。
【００４６】
続いて、マイコン１２は、割り込み発生回路３４によりマイコン１８に対して割り込みを発生させる（Ｓ１４）。この割り込みにより、マイコン１２が、レジスタ３６の個別マイコン用領域３６ａにプログラムデータを書き込んだことをマイコン１８に通知する。
【００４７】
割り込みを受けたマイコン１８は、個別マイコン用領域３６ａからプログラムデータを読み出して取得する（Ｓ１６）。より詳細には、図３に示すように、マイコン１８はレジスタ３６にＢＵＳＹ状態を設定し、レジスタ３６の個別マイコン用領域３６ａからデータを読み出す。データの読出しが終了すると、マイコン１８はレジスタ３６にＲＥＡＤＹ状態を設定する。マイコン１８は、取得したデータをマイコン１８のメモリ領域に蓄積する。
【００４８】
次に、マイコン１８は、読み出したプログラムデータが最終データであるか否かを判定する（Ｓ１８）。判定の結果、最終データでないと判定された場合には、個別マイコン用領域３６ａに次のプログラムデータが書き込まれるのを待つ。図３に示すように、プログラムデータＩ／Ｆ部３０からプログラムデータの続きが送信され、マイコン１２はレジスタ３６がＲＥＡＤＹ状態になるとデータをレジスタ３６にデータを書き込み、マイコン１８に割り込みを発生させる。マイコン１８は、割り込み発生に応じてレジスタのプログラムデータを取得し、メモリ領域に蓄積していく。このフローは、マイコン１８にダウンロードされるべきプログラムが読み出されるまで繰り返される。
【００４９】
前述したように、プログラムデータをレジスタ３６から読み出した後に、読み出したデータが最終データであるか否かの判定が行われる（Ｓ１８）。この判定により、読み出したデータが最終データであると判定された場合には、マイコン１８は、メモリ領域に蓄積したプログラムデータを一括してフラッシュロム２０に書き込む（Ｓ２０）。また、この際、マイコン１２もプログラムデータＩ／Ｆ部３０から受信したプログラムを一括してフラッシュロム１４に書き込む。
【００５０】
本実施形態に係るマイコンシステム１０によれば、マイコン１２、１８、２４によりアクセス可能なレジスタ３６を備え、マイコン１２が受信したプログラムデータをレジスタ３６の個別マイコン用領域３６ａ，３６ｂに書き込み、他のマイコン１８，２４により読み出す。これにより、ダウンロード対象のマイコン１２がマスタマイコンとして機能するので、ダウンロード専用のマスタマイコンを設けないで、マイコンシステム１０にプログラムをダウンロードすることができる。
【００５１】
また、マイコンシステム１０は割り込み発生回路３４を有し、マイコン１２がプログラムデータをレジスタ３６に書き込んだことをマイコン１８，２４に割り込みにより通知する。これにより、マイコン１８、２４はレジスタ３６に書き込まれたプログラムデータを速やかに取得することが可能となり、プログラムのダウンロード時間を短縮できる。
【００５２】
さらに、マイコン１２、１８、２４は、取得中のプログラムデータをメモリ領域に蓄積し、ダウンロードすべきプログラムを取得し終えた後にフラッシュロム１４、２０、２６に一括して書き込むので、フラッシュロム１４、２０、２６の占有時間を短縮することが可能である。
【００５３】
次に、本発明の第２実施形態に係るマイコンシステム１０について説明する。図４は第２実施形態に係るマイコンシステム１０の構成を示すブロック図である。第２実施形態に係るマイコンシステム１０は、第１実施形態に係るマイコンシステム１０と基本的な構成は同じであるが、割り込み発生回路を有しない点が異なる。また、第２実施形態では、マイコン１８、２４は、レジスタ３６にデータがあるか否かを監視する機能を有する。
【００５４】
第２実施形態に係るマイコンシステム１０にプログラムをダウンロードする動作について図５及び図６を参照しながら説明する。第２実施形態のダウンロード方法は、レジスタ３６にプログラムデータが書き込まれたか否かをマイコン１８，２４により監視する点が、割り込みによりデータ書込みを通知する第１実施形態のダウンロード方法と異なる。
【００５５】
図５はマイコンシステム１０にプログラムをダウンロードする動作を示すフローチャート、図６はプログラムダウンロード時におけるマイコンシステム１０の各要素間のデータの流れを示すシーケンス図である。図６では、マイコン２４を省略しているが、マイコン２４の動作はマイコン１８の動作と同じである。
【００５６】
マイコン１２は、図５に示すようにプログラムデータがあるか否か判定する（Ｓ３０）。マイコン１２がプログラムデータありと判定した場合には、マイコン１２はＦＰＧＡ３２のレジスタ３６にプログラムデータを書き込む（Ｓ３２）。より詳細には、図６に示すように、マイコン１２は、レジスタ３６の個別マイコン用領域３６ａを監視し、マイコン１８が個別マイコン用領域３６ａからデータ読出中か否かを判定する。そして、マイコン１２は、マイコン１８によるデータ読出中でない状態で個別マイコン用領域３６ａにプログラムデータを書き込む。
【００５７】
一方、マイコン１８は、レジスタ３６の個別マイコン用領域３６ａを常時監視する（Ｓ３４）。マイコン１２により個別マイコン用領域３６ａにプログラムデータが書き込まれると、マイコン１８はプログラムデータが書き込まれたことを検知する。次に、マイコン１８はレジスタ３６にＢＵＳＹ状態を設定し、個別マイコン用領域３６ａからプログラムデータを読み出し、メモリ領域に蓄積する（Ｓ３６）。レジスタ３６にＢＵＳＹ状態を設定することにより、マイコン１２の新たなデータ書込みを禁止する。マイコン１８は、データの読出しが終了すると、レジスタ３６にＲＥＡＤＹ状態を設定する。
【００５８】
次に、マイコン１８は、読み出したデータが最終データであるか否かを判定する（Ｓ３８）。読み出したデータが最終データの場合には、メモリ領域に蓄積したプログラムデータを一括してフラッシュロム２０に書き込む（Ｓ４０）。読み出したデータが最終データでない場合には、フラッシュロム２０への書込みは行わず、レジスタ３６を監視して、レジスタ３６の個別マイコン用領域３６ａに続きのプログラムデータが書き込まれるのを待つ。
【００５９】
第２実施形態に係るマイコンシステム１０は、第１実施形態と同様に、マイコン１２、１８、２４からアクセス可能なレジスタ３６を備え、マイコン１２が受信したプログラムデータをレジスタ３６に書き込み、他のマイコン１８，２４により読み出す。これにより、ダウンロード対象のマイコン１２がマスタマイコンとして機能し、ダウンロード専用のマスタマイコンを設けないで、マイコンシステム１０にプログラムをダウンロードすることができる。
【００６０】
また、第２実施形態に係るマイコンシステム１０は、マイコン１８，２４がレジスタ３６を常時監視することにより、レジスタ３６に書き込まれたデータを速やかに読み出すことができる。
【００６１】
以上、本発明のマイコンシステムおよびプログラムダウンロード方法について説明したが、本発明は上記実施形態に限定されない。
【００６２】
【発明の効果】
以上説明したように、本発明は複数のマイコンのそれぞれのバスに接続されたレジスタを有し、複数のマイコンのうちの一のマイコンが受信したプログラムをレジスタに書き込むことにより、他のマイコンがプログラムを読み出すことができる。従って、本発明は、一のマイコンにマスタマイコンとしての役割を持たせることができ、ダウンロード専用のマスタマイコンを設けない構成でプログラムダウンロードを行えるというすぐれた効果を有するマイコンシステムを提供することができるものである。
【図面の簡単な説明】
【図１】第１実施形態に係るマイコンシステムの構成を示す図
【図２】第１実施形態に係るプログラムダウンロードの動作を示す図
【図３】第１実施形態に係るプログラムダウンロードの動作を示す図
【図４】第２実施形態に係るマイコンシステムの構成を示す図
【図５】第２実施形態に係るプログラムダウンロードの動作を示す図
【図６】第２実施形態に係るプログラムダウンロードの動作を示す図
【図７】従来のマイコンシステムの構成を示す図
【符号の説明】
１２，１８，２４  マイコン
１４，２０，２６  フラッシュロム
１６，２２，２８  バス
３０  プログラムデータＩ／Ｆ部
３２  ＦＰＧＡ
３４  割り込み発生回路
３６  レジスタ
【図１】
2005011134.tif 000003
【図２】
2005011134.tif 000004
【図３】
2005011134.tif 000005
【図４】
2005011134.tif 000006
【図５】
2005011134.tif 000007
【図６】
2005011134.tif 000008
【図７】
2005011134.tif 000009