(57)【要約】【課題】本発明の目的は、ハードウェアスイッチを用いることなくプログラムの選択を実現するディジタル制御装置のブート方法及びディジタル制御装置を提供するものである。【解決手段】本発明の一態様によれば、プログラムを記憶可能な第１の記憶手段を含み、下位プロセッサのリセット状態を切り替える命令を出力可能な上位プロセッサと、前記上位プロセッサによって書き込まれるプログラムを記憶可能な第２の記憶手段を含み、リセットが解除された場合に、前記第２の記憶手段に記憶されたプログラムを起動可能な下位プロセッサと、を有する制御装置のブート方法において、前記下位プロセッサをリセットするステップと、前記第１の記憶手段に記憶されたブートプログラムを前記第２の記憶手段に書き込むステップと、前記下位プロセッサのリセットを解除するステップを含むことを特徴とする制御装置のブート方法が提供される。【選択図】図３
2007328437.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを記憶可能な第１の記憶手段を含み、下位プロセッサのリセット状態を切り替える命令を出力可能な上位プロセッサと、
前記上位プロセッサによって書き込まれるプログラムを記憶可能な第２の記憶手段を含み、リセットが解除された場合に、前記第２の記憶手段に記憶されたプログラムを起動可能な下位プロセッサと、を有する制御装置のブート方法において、
前記下位プロセッサをリセットするステップと、
前記第１の記憶手段に記憶されたブートプログラムを前記第２の記憶手段に書き込むステップと、
前記下位プロセッサのリセットを解除するステップ
を含むことを特徴とする制御装置のブート方法。
【請求項２】
請求項１に記載の制御装置のブート方法において、
リセットが解除された場合に、前記第２の記憶手段に書き込まれたブートプログラムを起動するステップと、
前記第１の記憶手段に記憶されたシステムプログラムを読み出すステップと、
当該システムプログラムを前記第２の記憶手段に書き込むステップ
を含むことを特徴とする制御装置のブート方法。
【請求項３】
請求項２に記載の制御装置のブート方法において、
前記下位プロセッサはさらに、前記システムプログラムを記憶可能な不揮発性の第３の記憶手段を含み、
前記第２の記憶手段に記憶されたシステムプログラムを前記第３の記憶手段に転送するステップと、
当該第３の記憶手段に転送されたシステムプログラムを起動するステップ
を含むことを特徴とする制御装置のブート方法。
【請求項４】
請求項３に記載の制御装置のブート方法において、
前記第３の記憶手段は、予め、システムプログラムを記憶し、
当該システムプログラムを起動するための起動プログラムを前記第２の記憶手段に書き込むステップと、
当該第２の記憶手段に書き込まれた起動プログラムを起動するステップ
を含むことを特徴とする制御装置のブート方法。
【請求項５】
請求項４に記載の制御装置のブート方法において、
前記上位プロセッサはさらに、操作者からの指示を入力する入力手段を含み、
当該入力手段によって入力された指示に基づいて、前記ブートプログラム又は前記起動プログラムのいずれか一方を前記第２の記憶手段に書き込むステップ
を含むことを特徴とする制御装置のブート方法。
【請求項６】
請求項２に記載の制御装置のブート方法において、
前記下位プロセッサはさらに、ブートプログラムを記憶可能な第４の記憶手段を含み、
リセットが解除された場合に、前記第２の記憶手段に書き込まれたブートプログラムを前記第４の記憶手段に転送するステップと、
当該第４の記憶手段に転送されたブートプログラムを起動するステップ
を含むことを特徴とする制御装置のブート方法。
【請求項７】
上位プロセッサと下位プロセッサを含む制御装置であって、
前記上位プロセッサは、
プログラムを記憶する第１の記憶手段と、
下位プロセッサのリセット状態を切り替える命令を出力する出力手段と、
下位プロセッサに含まれる第２の記憶手段にプログラムを書き込み可能なアクセス手段と、
前記各手段を制御する制御手段を含み、
前記下位プロセッサは、
前記出力手段によって出力された命令に基づいてリセット状態を切り替えるリセット手段と、
前記プログラムを記憶可能な第２の記憶手段を含み、
前記制御手段は、前記出力手段にリセット解除命令を出力させる前に、前記アクセス手段に、前記第１の記憶手段に記憶されたブートプログラムを前記第２の記憶手段に書き込ませることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル制御装置のブート方法及びディジタル制御装置に関し、特に、フラッシュメモリにプログラムが書き込まれていない場合であっても、ブートプログラムを起動することが可能なディジタル制御装置のブート方法及びディジタル制御装置に関する。
【背景技術】
【０００２】
マイクロプロセッサは、ブート処理のためにブートプログラムを必要とする。このようなブートプログラムは、通常、ＲＯＭやフラッシュメモリに格納され、ブート時に起動される。しかしながら、ＲＯＭを用いた場合は、ブートプログラムの書き換えができないという問題があった。また、フラッシュメモリを用いた場合は、フラッシュメモリにブートプログラムを書き込むための外部装置が必要となるという問題があった。
【０００３】
これに対して、特許文献１（段落００１０，００１５〜００１９及び図１，３）には、リセットスタート時に実行するプログラム（フラッシュメモリ１０２のプログラム又はＲＡＭ１０３のプログラム）を選択するためのブート選択回路１０４を備えたインバータ制御装置１が開示されている。しかしながら、特許文献１に記載された技術では、ハードウェアスイッチとしてのブート選択回路１０４が必要となるため、回路規模が増大し、かつ、コストが増大するという問題があった。
【特許文献１】特開平１１−１４３７０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、ハードウェアスイッチを用いることなくプログラムの選択を実現するディジタル制御装置のブート方法及びディジタル制御装置を提供するものである。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、プログラムを記憶可能な第１の記憶手段を含み、下位プロセッサのリセット状態を切り替える命令を出力可能な上位プロセッサと、前記上位プロセッサによって書き込まれるプログラムを記憶可能な第２の記憶手段を含み、リセットが解除された場合に、前記第２の記憶手段に記憶されたプログラムを起動可能な下位プロセッサと、を有する制御装置のブート方法において、前記下位プロセッサをリセットするステップと、前記第１の記憶手段に記憶されたブートプログラムを前記第２の記憶手段に書き込むステップと、前記下位プロセッサのリセットを解除するステップを含むことを特徴とする制御装置のブート方法が提供される。
【０００６】
本発明の一態様によれば、上位プロセッサと下位プロセッサを含む制御装置であって、前記上位プロセッサは、プログラムを記憶する第１の記憶手段と、下位プロセッサのリセット状態を切り替える命令を出力する出力手段と、下位プロセッサに含まれる第２の記憶手段にプログラムを書き込み可能なアクセス手段と、前記各手段を制御する制御手段を含み、前記下位プロセッサは、前記出力手段によって出力された命令に基づいてリセット状態を切り替えるリセット手段と、前記プログラムを記憶可能な第２の記憶手段を含み、前記制御手段は、前記出力手段にリセット解除命令を出力させる前に、前記アクセス手段に、前記第１の記憶手段に記憶されたブートプログラムを前記第２の記憶手段に書き込ませることを特徴とする制御装置が提供される。
【発明の効果】
【０００７】
本発明によれば、ハードウェアスイッチを用いることなくディジタル制御装置のブートを実現したので、ディジタル制御装置を小規模回路及び低コストで提供できる。また、ハードウェア部品の削減を実現したので、ハードウェアの不具合要因が減少し、ディジタル制御装置が制御するシステム全体としての品質を向上させることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明に係る実施例を図面に基づいて説明する。なお、以下の実施例は本発明の一態様であって、本発明は、これに限られるものではない。
【０００９】
＜実施例１＞
図１は、本発明に係るシステム構成例を示すブロック図である。
【００１０】
このシステムにおいては、制御装置１と外部装置２及び入力装置３が接続されている。制御装置１は、上位プロセッサ１００及び下位プロセッサ１１０を含んでいる。制御装置１は、外部装置２を制御する。
【００１１】
外部装置２は、射出成形機、ダイカスト機、押出成形機、工作機等である。入力装置３は、キーボード、マウス又はネットワークを介して接続された装置である。
【００１２】
図２は、本発明に係る制御装置１の構成の一例を示すブロック図である。制御装置１は、前述のとおり、上位プロセッサ１００及び下位プロセッサ１１０を含んでいる。
【００１３】
上位プロセッサ１００は、制御手段１０１、第１の記憶手段１０２、入力手段１０３、出力手段１０４及びアクセス手段１０５を含んでいる。
【００１４】
制御手段１０１は、後述する上位プロセッサ用システムプログラムを起動して、上位プロセッサ１００に含まれる各手段を制御する。第１の記憶手段１０２は、上位プロセッサ用システムプログラム、ブートプログラム及び下位プロセッサ用システムプログラムを記憶している。この下位プロセッサ用システムプログラムは、後述する第３の記憶手段に記憶されている下位プロセッサ用システムプログラムをバージョンアップさせたもの（又は、異なる種類の下位プロセッサ用システムプログラム）である。入力手段１０３は、入力装置３から送信されてきたデータを入力する。出力手段１０４は、下位プロセッサ１１０のリセット手段１１２に対する制御命令を出力する。アクセス手段１０５は、下位プロセッサ１１０のリセット状態に関わらず、後述する第２の記憶手段１１３にアクセス可能である。例えば、アクセス手段１０５は、下位プロセッサ１１０がリセット状態にある場合に、第２の記憶手段１１３にプログラムを書き込むことが可能である。すなわち、上位プロセッサ１００及び下位プロセッサ１１０は、第２の記憶手段１１３を共有する。
【００１５】
制御手段１０１は、マイクロプロセッサによって実現される。第１の記憶手段１０２は、ＲＡＭ、ＨＤＤ又は着脱可能な記憶媒体（例えば、ＣＤ−ＲＯＭ）によって実現される。入力手段１０３、出力手段１０４及びアクセス手段１０５は、所定の回路によって実現される入出力インタフェースである。
【００１６】
下位プロセッサ１１０は、制御手段１１１、リセット手段１１２、第２の記憶手段１１３、第３の記憶手段１１４及び第４の記憶手段１１５を含んでいる。
【００１７】
制御手段１１１は、下位プロセッサ用システムプログラムを起動して、下位プロセッサ１１０に含まれる各手段及び外部装置２を制御する。リセット手段１１２は、出力手段１０４から出力される制御命令に従って、下位プロセッサ１１０のリセット状態を切り替える。例えば、リセット手段１１２は、出力手段１０４によってリセット解除命令が出力された場合は、下位プロセッサ１１０のリセットを解除する。第２の記憶手段１１３は、アクセス手段１０５によって書き込まれるプログラムを記憶する。第３の記憶手段１１４は、下位プロセッサ用システムプログラムを記憶することが可能である。第４の記憶手段１１５は、ブートプログラム又は一時記憶データ（例えば、外部装置２の制御等のようなブートプログラム以外のプログラムを実行した場合に記憶する必要のあるデータ）を記憶することが可能である。
【００１８】
制御手段１１１は、第２の記憶手段１１３の特定アドレスを開始アドレスとする記憶領域、第３の記憶手段１１４及び第４の記憶手段１１５に記憶されたプログラムを起動することが可能である。特定アドレスとは、リセットが解除された場合に、制御手段１１１によって最初にアクセスされるアドレスである。すなわち、制御手段１１１は、リセットが解除された場合は、特定アドレスを開始アドレスとする記憶領域に記憶されたプログラムを起動する。
【００１９】
制御装置１１１は、マイクロプロセッサによって実現される。リセット手段１１２は、所定の回路によって実現される。第２の記憶手段１１３及び第４の記憶手段１１５は、ＲＡＭによって実現される。第３の記憶手段１１４は、書き込み可能な不揮発性メモリ（例えば、フラッシュメモリ又はＨＤＤ等）によって実現される。
【００２０】
図３は、本発明に係るブート処理における上位プロセッサ１００の制御手段１０１の動作を示すフローチャートである。
【００２１】
はじめに、制御装置１に電源が投入された場合、出力手段１０４を介して、リセット手段１１２にリセット命令を出力する（Ｓ３０１）。なお、Ｓ３０１の代わりに、制御装置１に電源が投入された場合、自動的にリセット状態になるように、下位プロセッサ１１０のハードウェアを設計しても良い。次に、システムブート（下位プロセッサ１１０にシステムプログラムをダウンロードさせる）か否かを判断する（Ｓ３０２）。一例では、判断（Ｓ３０２）は、入力手段１０３を介して入力された操作者の指示に基づいて行われる。ここで、入力装置３を起動した際に、操作者に対して所定のメッセージを表示し、システムブートか否かを指示する旨を促す様にしても良い。別の例では、判断（Ｓ３０２）は、入力装置３を起動してから所定時間以内に、入力手段１０３を介してデータの入力が受け付けられなかった場合に、「システムブートではない」（Ｓ３０２−Ｎｏ）と判断される様にしても良い。
【００２２】
システムブートと判断された場合（Ｓ３０２−Ｙｅｓ）は、第１の記憶手段１０２に記憶されているブートプログラムを読み出し、アクセス手段１０５を介して、第２の記憶手段１１３にブートプログラムを書き込む（Ｓ３０３）。ブートプログラムは、第３の記憶手段１１４へ下位プロセッサ用システムプログラムを転送するための転送プログラムを含んでいる。転送プログラムは、特定アドレスを開始アドレスとする記憶領域に書き込まれる。次に、出力手段１０４を介して、リセット手段１１２に対してリセット解除命令を出力する（Ｓ３０５）。
【００２３】
一方、システムブートではないと判断された場合（Ｓ３０２−Ｎｏ）は、アクセス手段１０５を介して、第２の記憶手段１１３の特定アドレスを開始アドレスとする記憶領域に、起動プログラム（例えば、第３の記憶手段１１４に記憶されている下位プロセッサ用システムプログラムの記憶領域の開始アドレスへジャンプするプログラム）を書き込む（Ｓ３０４）。次に、出力手段１０４を介して、リセット手段１１２にリセット解除命令を出力する（Ｓ３０５）。
【００２４】
図４は、本発明に係るブート処理における下位プロセッサ１１０の制御手段１１１の動作を示すフローチャートである。転送プログラムを含むブートプログラムは、前述のとおり、上位プロセッサ１００の制御手段１０１によって、第２の記憶手段１１３に記憶されているものとする（Ｓ３０３）。転送プログラムは、第２の記憶手段１１３の特定アドレスを開始アドレスとする記憶領域に記憶されている。
【００２５】
はじめに、リセットが解除されるまで待機する（Ｓ４０１−Ｎｏ）。リセットが解除された場合（Ｓ４０１−Ｙｅｓ）は、第２の記憶手段１１３の特定アドレスにアクセスする（Ｓ４０２）。特定アドレスを開始アドレスとする記憶領域に記憶されているプログラムがブートプログラムである場合（Ｓ４０２−ブート）は、特定アドレスを開始アドレスとする記憶領域に記憶されている転送プログラムを起動する（Ｓ４０３）。次に、転送プログラムに従って、「プログラム転送」を実行する（Ｓ４０４）。「プログラム転送」以降の処理については、後述する（図５）。
【００２６】
一方、特定アドレスを開始アドレスとする記憶領域に記憶されているプログラムが起動プログラムである場合（Ｓ４０２−起動）は、起動プログラムを起動し、第３の記憶手段１１４へジャンプし、第３の記憶手段１１４に記憶されている下位プロセッサ用システムプログラムを起動する（Ｓ４０５）。次に、下位プロセッサ用システムプログラムに従って、装置２を制御する（Ｓ４０６）。
【００２７】
図５は、「プログラム転送」（Ｓ４０４）における下位プロセッサ１１０の制御手段１１１の動作を示すフローチャートである。
【００２８】
はじめに、転送プログラムに従って、第２の記憶手段１１３に記憶されているブートプログラムを第４の記憶手段１１５に転送する（Ｓ５０１）。次に、第４の記憶手段１１５に記憶されたブートプログラムを起動する（Ｓ５０２）。次に、ブートプログラム及び後述するハンドシェイク情報（図６）に従って、上位プロセッサ１００とのハンドシェイクにより、第１の記憶手段１０２に記憶されている下位プロセッサ用システムプログラムを第２の記憶手段１１３に書き込む（Ｓ５０３）。次に、第２の記憶手段１１３に記憶された下位プロセッサ用システムプログラムを第３の記憶手段１１４に転送する（Ｓ５０４）。下位プロセッサ用システムプログラムの転送が完了するまでＳ５０３，Ｓ５０４の処理を繰り返す（Ｓ５０５−Ｎｏ）。転送が完了した場合は、「プログラム転送」を完了する（Ｓ５０５−Ｙｅｓ）。次に、こうして、第３の記憶手段１１４に転送された下位プロセッサ用システムプログラムを起動する（Ｓ４０５）。次に、第３の記憶手段に転送された下位プロセッサ用システムプログラムに従って、装置２を制御する（Ｓ４０６）。
【００２９】
図６は、本発明に係るブート処理を実行した場合における第２の記憶手段１１３、第３の記憶手段１１４及び第４の記憶手段１１５の記憶領域の状態遷移を示す説明図である。なお、第３の記憶手段１１４には、予め、古い（例えば、第１の記憶手段１０２に記憶されている下位プロセッサ用システムプログラムの前のバージョンの）下位プロセッサ用システムプログラムが記憶されていても良い。
【００３０】
Ｓｔａ６０１は、上位プロセッサ１００によるリセット解除が行われる直前の「ブートプログラム書込」（Ｓ３０３）が実行された場合の状態を示している。第２の記憶手段１１３の特定アドレスを開始アドレスとする記憶領域には、上位プロセッサ１００によって書き込まれた転送プログラム及びブートプログラムが記憶されている。第３の記憶手段１１４及び第４の記憶手段１１５は、空き領域となっている。なお、第３の記憶手段１１５には、古い下位プロセッサ用システムプログラムが記憶されていても良い。
【００３１】
Ｓｔａ６０２〜６０４は、「プログラム転送」（Ｓ４０４）以降の処理が実行された場合の状態を示している。
【００３２】
まず、Ｓｔａ６０２のように、転送プログラムに従って、ブートプログラムが第４の記憶手段１１５に転送される（Ｓ５０１）。第２の記憶手段１１３のブートプログラムが記憶されていた領域は、空き領域となっている。
【００３３】
次に、Ｓｔａ６０３のように、上位プロセッサ１００との交信が開始される前に、上位プロセッサ１００と下位プロセッサ１１０の間のハンドシェイクに必要なハンドシェイク情報が、制御手段１１１によって、第２の記憶手段１１３に書き込まれる（Ｓ５０３）。上位プロセッサ１００は、ハンドシェイク情報に従って、第１の記憶手段１０２に記憶されている下位プロセッサ用システムプログラムを読み出し、第２の記憶手段に転送する（Ｓ５０３）。例えば、ハンドシェイク情報は、下位プロセッサ１１０から上位プロセッサ１００に対するデータの要求フラグ、データの有効／無効、書き込まれるデータ量（バイト数）及びデータの先頭／最終ブロック情報等である。データの先頭／最終ブロック情報は、下位プロセッサ用システムプログラムのデータ量が大きい場合に、複数回に分けて分割転送をするための情報である。一般的には、下位プロセッサ用システムプログラムのデータ量は第２の記憶手段１１３の記憶容量よりも大きいので、第１の記憶手段１０２に記憶されている下位プロセッサ用システムプログラムは、ハンドシェイク情報に従って、第２の記憶手段１１３に分割転送される必要がある。つまり、上位プロセッサ１００との交信がブートプログラムに従って開始され、第１の記憶手段に記憶されている下位プロセッサ用システムプログラムがハンドシェイク情報に従って分割転送され、第２の記憶手段１１３に書き込まれる（Ｓ５０３）。
【００３４】
次に、Ｓｔａ６０４のように、制御手段１１１は、第２の記憶手段１１３に記憶されている下位プロセッサ用システムプログラム（一部）を、第３の記憶手段１１３に転送する。一般的には、予め、下位プロセッサ用システムプログラムが書き込まれていた領域へ、新しい下位プロセッサ用システムプログラムが上書きされる。第３の記憶手段への転送が完了するまでの間（Ｓ５０５−Ｎｏ）は、第２の記憶手段１１３及び第３の記憶手段１１４には、システムプログラム（一部）が記憶され、Ｓ５０３，Ｓ５０４が繰り返し実行される。
【００３５】
最後に、Ｓｔａ６０５は、第３の記憶手段への転送が完了した場合（Ｓ５０５−Ｙｅｓ）の状態を示している。第３の記憶手段１１４には、下位プロセッサ用システムプログラム（全部）が記憶されている。第２の記憶手段１１３及び第４の記憶手段１１５は、空き領域となっている。
【００３６】
本実施例によれば、上位プロセッサ１００が、下位プロセッサ１１０のリセットを解除する前に、第２の記憶手段１１３にブートプログラムを書き込むことによって、下位プロセッサ１１０をブートする。従って、下位プロセッサ１１０のブートを、ハードウェアスイッチを用いることなく、上位プロセッサ１００の制御によって実現することが可能となる。
【００３７】
なお、上述した全てのプログラムは、コンピュータ読み取り可能な記憶媒体を介して提供することも可能である。
【図面の簡単な説明】
【００３８】
【図１】本発明に係る制御装置１、外部装置２及び入力装置３のシステム構成例を示すブロック図である。
【図２】本発明に係る制御装置１の構成を示すブロック図である。
【図３】本発明に係るブート処理における上位プロセッサ１００の制御手段１０１の動作を示すフローチャートである。
【図４】本発明に係るブート処理における下位プロセッサ１１０の制御手段１１１の動作を示すフローチャートである。
【図５】本発明に係るプログラム転送処理における下位プロセッサ１１０の制御手段１１１の動作を示すフローチャートである。
【図６】本発明に係るブート処理における第２の記憶手段１１３、第３の記憶手段１１４及び第４の記憶手段１１５の記憶領域の状態遷移を示す説明図である。
【符号の説明】
【００３９】
１  制御装置
１００  上位プロセッサ
１０１  制御手段
１０２  第１の記憶手段
１０３  入力手段
１０４  出力手段
１０５  アクセス手段
１１０  下位プロセッサ
１１１  制御手段
１１２  リセット手段
１１３  第２の記憶手段
１１４  第３の記憶手段
１１５  第４の記憶手段
２  外部装置
３  入力装置
【図１】
2007328437.tif 000003
【図２】
2007328437.tif 000004
【図３】
2007328437.tif 000005
【図４】
2007328437.tif 000006
【図５】
2007328437.tif 000007
【図６】
2007328437.tif 000008