(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
本発明に係る制御装置およびそのデータ書き込み方法について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
【0012】
〔実施の形態〕
図1は、制御装置10を示すブロック図である。制御装置10は、例えば、工作機械または産業用ロボットに用いられる数値制御装置である。この制御装置10は、信号処理部12、不揮発性メモリ14、内部電圧生成回路16および電圧監視部18を主に備える。
【0013】
信号処理部12は、不揮発性メモリ14にデータを記憶させるための制御信号を生成し、生成した制御信号を不揮発性メモリ14に出力する。この信号処理部12は、内部電圧生成回路16から供給される内部電圧で動作する。
【0014】
不揮発性メモリ14は、電源を与えられなくても記憶内容を保持するメモリである。この不揮発性メモリ14は、信号処理部12から供給される制御信号に基づいてデータを書き込む。
【0015】
内部電圧生成回路16は、図示しない入力電源から供給される入力電圧に基づいて、信号処理部12を動作させるための内部電圧を生成し、生成した内部電圧を信号処理部12に供給する。
【0016】
この内部電圧生成回路16は、内部電圧を蓄積する蓄積部16aを含んでおり、入力電圧によって充電されることで内部電圧が蓄積部16aに蓄積される。内部電圧生成回路16は、入力電源から入力電圧が遮断された場合は、蓄積部16aに蓄積された内部電圧を信号処理部12に供給する。なお、蓄積部16aとして、例えば、コンデンサ、あるいは、電池などが挙げられる。
【0017】
電圧監視部18は、入力電源から供給される入力電圧を監視しており、入力電圧が低下したと判断した場合は、異常信号を信号処理部12に与える。すなわち、電圧監視部18は、入力電源から供給される入力電圧が所定の閾値を下回った場合に、入力電圧が低下したと判断することで異常信号を生成し、生成した異常信号を信号処理部12に与える。これにより電圧監視部18は、入力電源から供給される入力電圧の遮断を検出し、検出結果を信号処理部12に通知することができる。
【0018】
次に、信号処理部12をより具体的に説明する。信号処理部12は、プロセッサ20、メモリコントローラ22、マスク信号生成部24およびマスク部26を有する。プロセッサ20には、メモリコントローラ22および図示しない入出力装置などの各種のデバイスがバス30を介して接続される。
【0019】
プロセッサ20は、バス30を介して各種のデバイスを制御するものであり、不揮発性メモリ14に対してデータを書き込ませる場合には、バス30を介して、書き込み要求をメモリコントローラ22に与える。
【0020】
メモリコントローラ22は、プロセッサ20からの書き込み要求に応じて制御信号を不揮発性メモリ14に出力する。すなわち、メモリコントローラ22は、プロセッサ20から書き込み要求を受けると、その書き込み要求で指定されているデータを不揮発性メモリ14に記憶させるための制御信号を生成し、生成した制御信号を不揮発性メモリ14に出力する。
【0021】
また、メモリコントローラ22は、書き込み要求で指定されているデータが書き込み中であるか否かを示すステータス情報を生成し、生成したステータス情報をマスク信号生成部24に出力する。
【0022】
メモリコントローラ22は、プロセッサ20からの書き込み要求で指定されているデータを不揮発性メモリ14に記憶させるためのシーケンスを完了した場合には、その書き込み要求に対する応答として応答信号をプロセッサ20に出力する。
【0023】
マスク信号生成部24は、電圧監視部18によって入力電圧が低下したと判断された場合に、マスク処理を施すべき旨を通知するためのマスク信号を生成して出力する。
【0024】
すなわち、マスク信号生成部24は、電圧監視部18から異常信号を受けると、その異常信号を受けた時点を契機としてマスク信号を生成する。また、マスク信号生成部24は、異常信号を受けた時点を契機として、メモリコントローラ22から出力されるステータス情報に基づいて、不揮発性メモリ14へのデータの書き込みがなされているか否か認識する。
【0025】
ここで、マスク信号生成部24は、不揮発性メモリ14へのデータの書き込みがなされていない場合は、生成したマスク信号をマスク部26に出力する。一方、マスク信号生成部24は、不揮発性メモリ14へのデータの書き込みがなされている場合は、そのデータの書き込みが完了してから、生成したマスク信号をマスク部26に出力する。
【0026】
マスク部26は、マスク信号生成部24から出力されるマスク信号を受けると、メモリコントローラ22から不揮発性メモリ14に出力される制御信号に対してマスク処理を施す。つまり、マスク部26は、メモリコントローラ22から出力された制御信号を無効にすることで、不揮発性メモリ14が書き込み動作しないようにする。
【0027】
次に、制御装置10のデータ書き込み方法について、メモリ制御処理とマスク処理とに分けて説明する。
図2は、メモリ制御処理手順を示すフローチャートである。
【0028】
メモリコントローラ22は、所定時間を経過するたびにステップS1に進む。ステップS1において、メモリコントローラ22は、プロセッサ20から書き込み要求があったか否か判断する。ここで、メモリコントローラ22は、プロセッサ20から書き込み要求がなかった場合は、ステップS1に戻る。
【0029】
一方、メモリコントローラ22は、プロセッサ20から書き込み要求があった場合は、ステップS2に進む。ステップS2において、メモリコントローラ22は、書き込み要求で指定されているデータを不揮発性メモリ14に記憶させるための制御信号を生成し、生成した制御信号を不揮発性メモリ14に出力した後、ステップS3に進む。
【0030】
ステップS3において、メモリコントローラ22は、プロセッサ20からの書き込み要求で指定されているデータを不揮発性メモリ14に記憶させるためのシーケンスを完了したか否かを判断する。ここで、メモリコントローラ22は、シーケンスを完了していないと判断した場合は、ステップS3に戻り、当該シーケンスを完了したと判断した場合は、ステップS4に進む。
【0031】
ステップS4において、メモリコントローラ22は、応答信号を生成してプロセッサ20に出力することで、書き込み要求に対して応答した後、ステップS1に戻る。
【0032】
このようにメモリコントローラ22は、所定時間ごとにプロセッサ20からの書き込み要求の有無を判断し、書き込み要求があった場合は、書き込み要求で指定されているデータを書き込むためのシーケンスを実行した後にその書き込み要求に対して応答する。
【0033】
図3は、マスク処理手順を示すフローチャートである。このマスク処理手順が行われる前提として、内部電圧生成回路16は、入力電源から供給される入力電圧に基づいて内部電圧を生成して信号処理部12に出力するとともに、蓄積部16aに内部電圧を蓄積しているものとする。
【0034】
ステップS11において、電圧監視部18は、入力電源から供給される入力電圧を監視し、その入力電圧が低下したか否かを判断する。ここで、電圧監視部18は、所定の閾値を入力電圧が下回っていない場合は、入力電圧が低下していないと判断し、ステップS11に戻る。
【0035】
一方、電圧監視部18は、所定の閾値を入力電圧が下回った場合は、入力電圧が低下したと判断し、ステップS12に進む。ステップS12において、マスク信号生成部24は、マスク信号を生成し、ステップS13に進む。ステップS13において、マスク信号生成部24は、メモリコントローラ22から供給されるステータス情報に基づいて、不揮発性メモリ14へのデータの書き込みがなされているか否か認識する。
【0036】
ここで、マスク信号生成部24は、不揮発性メモリ14へのデータの書き込みがなされていない場合は、ステップS14に進む。一方、マスク信号生成部24は、不揮発性メモリ14へのデータの書き込みがなされている場合は、そのデータの書き込みが完了するまで待機し、書き込みが完了すると、ステップS14に進む。
【0037】
ステップS14において、マスク信号生成部24は、ステップS12で生成したマスク信号をマスク部26に出力し、マスク部26は、そのマスク信号を受けて、メモリコントローラ22から不揮発性メモリ14に出力される制御信号に対してマスク処理を施す。これによりマスク処理手順は終了する。
【0038】
このように制御装置10では、入力電圧が所定値よりも低下した際に、不揮発性メモリ14へのデータの書き込みがなされているか否かが判断され、書き込みがなされているときには、そのデータの書き込みが完了してから、マスク処理が施される。
【0039】
つまり、制御装置10は、入力電圧の遮断時点で書き込み中のデータについてはそのまま書き込みを続行させる。一方、制御装置10は、入力電圧の遮断時以降にプロセッサ20から与えられる新規の書き込み要求をメモリコントローラ22で受け付けるが、その書き込み要求で指定されるデータを不揮発性メモリ14に記憶するための制御信号をマスクする。これにより、プロセッサ20の書き込み要求をメモリコントローラ22で拒否することなく、不揮発性メモリ14に格納されているデータを保護することができる。
【0040】
メモリコントローラ22は、新規の書き込み要求を受け付けた場合、
図2を用いて説明したように、入力電圧が低下していない通常時と同様に、その書き込み要求に対する応答として完了信号をプロセッサ20に出力する。
【0041】
したがって、新規の書き込み要求に対する応答をプロセッサ20が処理するために要する時間のロスを避けることができ、またバス30のハングアップおよび不必要な占有を避けることができる。
【0042】
〔変形例〕
以上、本発明の一例として上記実施の形態が説明されたが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることはもちろんである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0043】
例えば、上記実施の形態のマスク信号生成部24は、電圧監視部18によって入力電圧が低下したと判断された場合に、不揮発性メモリ14へのデータの書き込みがなされているか否かを判断する前に、マスク信号を生成した。しかし、マスク信号生成部24は、不揮発性メモリ14へのデータの書き込みがなされているか否かを判断した以降にマスク信号を生成してもよい。
【0044】
また、上記実施の形態では、電圧監視部18が、内部電圧生成回路16により生成された内部電圧で動作しなかったが、当該内部電圧で動作するようにしてもよい。
【0045】
また、上記実施の形態では、制御装置10が、工作機械または産業用ロボットに用いられる数値制御装置であったが、当該工作機械または産業用ロボット以外のものを制御する制御装置であってもよい。
【0046】
〔技術的思想〕
上記実施の形態および変形例から把握し得る技術的思想について、以下に記載する。
【0047】
(第1の技術的思想)
制御装置(10)は、プロセッサ(20)と不揮発性メモリ(14)とを備えるものである。制御装置(10)は、プロセッサ(20)からの書き込み要求に応じて、データを不揮発性メモリ(14)に記憶させるための制御信号を不揮発性メモリ(14)に出力するメモリコントローラ(22)と、入力電源から供給される入力電圧を監視する電圧監視部(18)と、電圧監視部(18)によって入力電圧が低下したと判断された場合に、マスク信号を生成して出力するマスク信号生成部(24)と、マスク信号生成部(24)から出力されるマスク信号を受けると、メモリコントローラ(22)から不揮発性メモリ(14)に出力される制御信号に対してマスク処理を施すマスク部(26)と、を備える。
マスク信号生成部(24)は、電圧監視部(18)によって入力電圧が低下したと判断された場合に、不揮発性メモリ(14)へのデータの書き込みがなされている場合は、そのデータの書き込みが完了してから、マスク信号を出力する。
【0048】
これにより制御装置(10)は、プロセッサ(20)からの書き込み要求を受けながらも、不揮発性メモリ(14)に格納されているデータを保護することができる。
【0049】
メモリコントローラ(22)は、不揮発性メモリ(14)へのデータが書き込み中であるか否かを示すステータス情報をマスク信号生成部(24)に出力するようにしてもよい。このようにすれば、マスク信号生成部(24)は、メモリコントローラ(22)からのステータス情報に基づいて、不揮発性メモリ(14)へのデータの書き込みが完了してから、マスク信号を出力することができる。
【0050】
制御装置(10)は、入力電圧から内部電圧を生成する内部電圧生成回路(16)を備え、少なくとも、プロセッサ(20)、メモリコントローラ(22)、マスク信号生成部(24)、および、マスク部(26)は、内部電圧で動作するようにしてもよい。このようにすれば、入力電圧が変化しても、プロセッサ(20)、メモリコントローラ(22)、マスク信号生成部(24)、および、マスク部(26)を安定して動作させ易い。
【0051】
内部電圧生成回路(16)は、内部電圧を蓄積する蓄積部(16a)を含むようにしてもよい。このようにすれば、入力電源から入力電圧が遮断されても、蓄積部(16a)に蓄積された内部電圧を用いて、プロセッサ(20)、メモリコントローラ(22)、マスク信号生成部(24)、および、マスク部(26)を動作させることができる。
【0052】
(第2の技術的思想)
データ書き込み方法は、プロセッサ(20)と不揮発性メモリ(14)とを備える制御装置(10)のデータ書き込み方法である。データ書き込み方法は、プロセッサ(20)からの書き込み要求に応じて、データを不揮発性メモリ(14)に記憶させるための制御信号を不揮発性メモリ(14)に出力する出力ステップ(S2)と、入力電源から供給される入力電圧を監視する監視ステップ(S12)と、監視ステップ(S12)で入力電圧が低下したと判断された場合に、不揮発性メモリ(14)に出力される制御信号に対してマスク処理を施すマスクステップ(S14)と、を含む。
マスクステップ(S14)は、監視ステップ(S12)で入力電圧が低下したと判断された場合に、不揮発性メモリ(14)へのデータの書き込みがなされているときには、そのデータの書き込みが完了してから、マスク処理を施す。
【0053】
これにより、プロセッサ(20)からの書き込み要求を受けながらも、不揮発性メモリ(14)に格納されているデータを保護することができる。
【0054】
不揮発性メモリ(14)へのデータが書き込み中であるか否かを示すステータス情報に基づいて、不揮発性メモリ(14)へのデータの書き込みがなされているか否かが判断されるようにしてもよい。
【0055】
データ書き込み方法は、入力電圧から内部電圧を生成する生成ステップを含み、少なくとも、プロセッサ(20)、制御信号を出力するメモリコントローラ(22)、マスク処理を施すマスク部(26)、および、マスク部(26)がマスク処理を施すためのマスク信号を生成するマスク信号生成部(24)は、生成ステップで生成される内部電圧で動作するようにしてもよい。このようにすれば、入力電圧が変化しても、プロセッサ(20)、メモリコントローラ(22)、マスク信号生成部(24)、および、マスク部(26)を安定して動作させ易い。
【0056】
生成ステップは、内部電圧を蓄積部(16a)に蓄積するようにしてもよい。このようにすれば、入力電源から入力電圧が遮断されても、蓄積部(16a)に蓄積された内部電圧を用いて、プロセッサ(20)、メモリコントローラ(22)、マスク信号生成部(24)、および、マスク部(26)を動作させることができる。