(57)【要約】【課題】  サーボ制御装置の制御機構においては、外部信号の周期的なサンプリングが必要で、そのサンプリング周期と制御処理プログラムの処理時間との不一致によって生じる消費電力の過多、あるいは、非効率的なプロセッサ処理を解決することを課題とする。【解決手段】  割込み周期タイマ回路１０２は、外部信号のサンプリングに基づいた周期的な基準トリガ信号ｂを生成する。その基準トリガ信号毎に起動される、プロセッサ１０３の演算処理の完了通知信号ｃを、クロックマスク回路１０４にて検知することで、プロセッサ１０３へのクロック供給を停止する。また、基準トリガ信号ｂはクロックマスク回路１０４に入力され、クロック供給を再開させる役目も担う。このようにプロセッサの演算処理が完了し、次に起動されるまでは、プロセッサへのクロック供給を停止することにより、サーボ制御装置の低消費電力化、または、演算処理の高効率化が実現される。【選択図】  図１
2008287530.tif 000002
【特許請求の範囲】
【請求項１】
外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、
基準クロック信号を生成するクロック生成回路と、
前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、
前記基準トリガ信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行うプロセッサと、
該プロセッサから出力される、前記制御処理プログラムの完了通知信号を検知した際に、前記基準クロック信号をマスクし、前記基準トリガ信号を検知した際に、前記基準クロック信号のマスクを解除することで生成したクロックマスク信号を前記プロセッサに供給するクロックマスク回路とを、備えた、
ことを特徴とするサーボ制御装置。
【請求項２】
外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、
基準クロック信号を生成するクロック生成回路と、
前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、
前記基準トリガ信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行うプロセッサと、
該プロセッサから出力される、前記制御処理プログラムの処理開始から処理完了までにかかるステップ数情報と前記基準トリガ信号の周期情報とに基づき、該基準トリガ信号の所定の周期内で前記制御処理プログラムの処理を完了させるために最適なクロック周波数を算出し、該算出結果に基づいてクロック周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路とを、備えた、
ことを特徴とするサーボ制御装置。
【請求項３】
外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、
基準クロック信号を生成するクロック生成回路と、
演算処理に用いるメモリを有するプロセッサと、
該プロセッサから出力されるコマンド情報に基づき演算処理非実行コマンドが検知されるか否かに応じて、前記基準クロック信号をマスクするか否かを制御するマスク制御信号を生成する演算処理非実行コマンド検出回路と、
該マスク制御信号に応じて、前記基準クロック信号をマスクするかあるいはマスクを解除することにより生成したクロックマスク信号を前記メモリに出力するクロックマスク回路とを、備えた、
ことを特徴とするサーボ制御装置。
【請求項４】
外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、
前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、
開始通知信号によって制御処理プログラムが起動し、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、
前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御処理プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに供給する開始タイミング制御回路とを、備えた、
ことを特徴とするサーボ制御装置。
【請求項５】
外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、
前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、
前記基準トリガ信号を基準として、互いに異なる遅延量を有する複数の開始通知信号を出力する開始タイミング制御回路と、
前記複数の開始通知信号によってその遅延量の順に複数の制御処理プログラムが順次起動し、前記演算処理を開始するプロセッサとを、備えた、
ことを特徴とするサーボ制御装置。
【請求項６】
外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、
基準クロック信号を生成するクロック生成回路と、
前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、
開始通知信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行い、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、
前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御処理プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに出力する開始タイミング制御回路と、
前記演算処理が所定の周期内に完了しなかった際に、前記基準トリガ信号と前記完了通知信号とから所定の周期の残り時間情報を算出し、前記残り時間情報と、前記プロセッサから出力される、前記制御処理プログラムの処理開始から処理完了までにかかるステップ数情報と前記基準トリガ信号の周期情報とに基づき、該基準トリガ信号の所定の周期内で前記制御処理プログラムの処理を完了させるために最適なクロック周波数を算出し、該算出結果に基づいてクロック周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路とを、備えた、
ことを特徴とするサーボ制御装置。
【請求項７】
外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、
基準クロック信号を生成するクロック生成回路と、
前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、
開始通知信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行い、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、
前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御処理プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに出力する開始タイミング制御回路と、
前記演算処理が所定の周期内に完了しなかったとき、その状態が連続して何回起こったかをカウントし、該カウント結果に応じて前記基準クロック信号の周波数を制御する周波数制御信号を出力するカウンタ回路と、
該周波数制御信号に応じて前記基準クロック信号の周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路とを、備えた、
ことを特徴とするサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部信号を周期的にサンプリングし演算処理を行う機構を備えたサーボ制御装置に係り、特に、その低消費電力化や演算処理の効率化を図ったものに関する。
【背景技術】
【０００２】
サーボ制御装置の制御機構においては、外部信号の周期的なサンプリングが演算処理に必要であり、そのサンプリング周期毎に制御処理プログラムを起動させて制御を行っている。そのため、一般的にはサンプリング周期内にサーボ制御処理プログラムの処理時間が納まるように設計されている。
【０００３】
また、低消費電力化に関する従来技術の一つとして、プロセッサに供給されるクロックを制御する手段がある。この手段では、プロセッサの状態が実行状態から停止状態へ遷移したことを検知することにより、プロセッサへのクロック供給を停止させ、他のプロセッサからの指令や、スタンバイ解除ボタンの操作等の人為的な起動要因の印加によって、クロック供給を再開するものである（特許文献１，特許文献２）。
【特許文献１】特開平４−１６７１１３号公報
【特許文献２】特開平７−１４６８４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、サンプリング周期毎に起動される制御処理プログラムは、システムの状態に連動して適宜変化するため、演算処理に要する時間も変動する。そのため、サンプリング周期と制御処理プログラムの処理時間とが必ずしも一致せず、この不一致によって消費電力の過多が生じたり、非効率的なプロセッサ処理が生じたりするという課題があった。
【０００５】
特に、消費電力の観点では、サーボ制御装置に内蔵されたプロセッサへのクロック供給の制御において、プロセッサが複数存在しない環境では、本来のプロセッサの他に、クロック供給の再開を制御する機能を有するプロセッサが存在しない。また、複数のプロセッサを備えたシステムであっても、各々のプロセッサが互いに独立した状態で、連携せずに動作している場合には、この種のクロック供給の制御は行い得ない。
【０００６】
また、プロセッサの動作効率の観点では、サーボ制御装置に備わるプロセッサは、サンプリング周期内に制御処理プログラムを完了しなければならないが、処理最長時間をサンプリング周期内に収めるためには、プロセッサの動作処理速度を上げる、あるいは、サンプリング周期を長くするなどの方法がある。しかし、プロセッサの処理速度を上げるとコストや消費電力の増加につながり、結果として設計が冗長になる。これに対し、サンプリング周期を長くする方法は、システムの特性が悪化するという問題点を有しており、特に、これら消費電力の低減化や演算処理の高効率化の課題とプロセッサの効率的な利用という課題とが併存する環境においては、その対応策を欠くという問題点があった。
【０００７】
本発明は、上記のような従来のものの問題点を解決するためになされたもので、消費電力の低減化や演算処理の高効率化を実現できるサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の請求項１に係るサーボ制御装置は、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、前記基準トリガ信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行うプロセッサと、該プロセッサから出力される、前記制御処理プログラムの完了通知信号を検知した際に、前記基準クロック信号をマスクし、前記基準トリガ信号を検知した際に、前記基準クロック信号のマスクを解除することで生成したクロックマスク信号を前記プロセッサに供給するクロックマスク回路と、を備えたことを特徴とする。
【０００９】
また、本発明の請求項２に係るサーボ制御装置は、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、前記基準トリガ信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行うプロセッサと、該プロセッサから出力される、前記制御処理プログラムの処理開始から処理完了までにかかるステップ数情報と前記基準トリガ信号の周期情報とに基づき、該基準トリガ信号の所定の周期内で前記制御処理プログラムの処理を完了させるために最適なクロック周波数を算出し、該算出結果に基づいてクロック周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路と、を備えたことを特徴とする。
【００１０】
また、本発明の請求項３に係るサーボ制御装置は、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、演算処理に用いるメモリを有するプロセッサと、該プロセッサから出力されるコマンド情報に基づき演算処理非実行コマンドが検知されるか否かに応じて、前記基準クロック信号をマスクするか否かを制御するマスク制御信号を生成する演算処理非実行コマンド検出回路と、該マスク制御信号に応じて、前記基準クロック信号をマスクするかあるいはマスクを解除することにより生成したクロックマスク信号を前記メモリに出力するクロックマスク回路と、を備えたことを特徴とする。
【００１１】
また、本発明の請求項４に係るサーボ制御装置は、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、開始通知信号によって制御処理プログラムが起動し、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御処理プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに供給する開始タイミング制御回路と、を備えたことを特徴とする。
【００１２】
また、本発明の請求項５に係るサーボ制御装置は、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、前記基準トリガ信号を基準として、互いに異なる遅延量を有する複数の開始通知信号を出力する開始タイミング制御回路と、前記複数の開始通知信号によってその遅延量の順に複数の制御処理プログラムが順次起動し、前記演算処理を開始するプロセッサと、を備えたことを特徴とする。
【００１３】
また、本発明の請求項６に係るサーボ制御装置は、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、開始通知信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行い、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御処理プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに出力する開始タイミング制御回路と、前記演算処理が所定の周期内に完了しなかった際に、前記基準トリガ信号と前記完了通知信号とから所定の周期の残り時間情報を算出し、前記残り時間情報と、前記プロセッサから出力される、前記制御処理プログラムの処理開始から処理完了までにかかるステップ数情報と前記基準トリガ信号の周期情報とに基づき、該基準トリガ信号の所定の周期内で前記制御処理プログラムの処理を完了させるために最適なクロック周波数を算出し、該算出結果に基づいてクロック周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路と、を備えたことを特徴とする。
【００１４】
また、本発明の請求項７に係るサーボ制御装置は、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、開始通知信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行い、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御処理プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに出力する開始タイミング制御回路と、前記演算処理が所定の周期内に完了しなかったとき、その状態が連続して何回起こったかをカウントし、該カウント結果に応じて前記基準クロック信号の周波数を制御する周波数制御信号を出力するカウンタ回路と、該周波数制御信号に応じて前記基準クロック信号の周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路と、を備えたことを特徴とする。
【発明の効果】
【００１５】
請求項１に係るサーボ制御装置によれば、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、前記基準トリガ信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行うプロセッサと、該プロセッサから出力される、前記制御処理プログラムの完了通知信号を検知した際に、前記基準クロック信号をマスクし、前記基準トリガ信号を検知した際に、前記基準クロック信号のマスクを解除することで生成したクロックマスク信号を前記プロセッサに供給するクロックマスク回路と、を備え、クロックマスク回路が、プロセッサから出力される演算処理の完了通知信号を検知した場合は、基準クロック信号をマスクし、割込周期タイマ回路から一定周期で出力される基準トリガ信号を検知した場合は、基準クロック信号のマスクを解除するようにしたので、プロセッサが制御処理プログラムの処理を完了し、次に動作を開始するまでの間は、該プロセッサへの基準クロック信号の供給を停止でき、その間の消費電力を削減することが可能である。また、クロックの供給の再開を命令する第２のプロセッサを用意する必要もなく、また、サーボ制御に代表される繰返し制御に対して特に有効である。さらに、スタンバイ時においてもプロセッサの一部を動作させ続ける必要がないので、演算処理の実行時間以外での基準クロック信号の供給を完全に停止でき、簡単に低消費電力化を図ることが出来るという効果がある。
【００１６】
また、請求項２に係るサーボ制御装置によれば、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、前記基準トリガ信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行うプロセッサと、該プロセッサから出力される、前記制御処理プログラムの処理開始から処理完了までにかかるステップ数情報と前記基準トリガ信号の周期情報とに基づき、該基準トリガ信号の所定の周期内で前記制御処理プログラムの処理を完了させるために最適なクロック周波数を算出し、該算出結果に基づいてクロック周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路と、を備え、演算処理完了にかかるステップ数情報を検知して、そのステップ数情報と、基準トリガ信号の周期情報とを基に、基準トリガ信号の所定の周期内で処理を完了できる下限の周波数を求め、この周波数で処理を行うようにクロック信号の周波数を制御するようにしたので、各演算処理の負荷に応じて、最適な動作クロックで制御処理プログラムを実行でき、消費電力を最小限度に止めることが出来るという効果がある。また、請求項１と同様、割込周期タイマ回路から一定周期で出力される基準トリガ信号を基に演算処理プログラムを実行する為、サーボ制御に代表される繰返し制御に対して特に有効である。
【００１７】
また、請求項３に係るサーボ制御装置によれば、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、演算処理に用いるメモリを有するプロセッサと、該プロセッサから出力されるコマンド情報に基づき演算処理非実行コマンドが検知されるか否かに応じて、前記基準クロック信号をマスクするか否かを制御するマスク制御信号を生成する演算処理非実行コマンド検出回路と、該マスク制御信号に応じて、前記基準クロック信号をマスクするかあるいはマスクを解除することにより生成したクロックマスク信号を前記メモリに出力するクロックマスク回路と、を備え、プロセッサから随時出力されるコマンド情報内の、“ｎｏ  ｏｐｅｒａｔｉｏｎ命令”に代表される演算処理非実行コマンドを検知したときはマスク制御信号を生成し、該マスク制御信号により前記基準クロック信号をマスクするマスク機能、あるいはこのマスクを解除する機能を有するものとしたので、メモリに常時送られていたクロック信号を、演算処理非実行コマンドが検知された際にはマスクし、その分、低消費電力化を図ることが出来るという効果がある。
【００１８】
また、請求項４に係るサーボ制御装置によれば、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、開始通知信号によって制御処理プログラムが起動し、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御処理プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに供給する開始タイミング制御回路と、を備えるようにしたので、（割込周期＜処理最長時間）という関係であっても、基準トリガ信号の周期の処理の終了時点を次の周期の処理の開始時点に変更でき、これにより、プロセッサの動作クロックを上げることなく、処理平均時間近傍の割込周期でもって、繰り返し制御が実現できるという効果がある。
【００１９】
また、請求項５に係るサーボ制御装置によれば、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、前記基準トリガ信号を基準として、互いに異なる遅延量を有する複数の開始通知信号を出力する開始タイミング制御回路と、前記複数の開始通知信号によってその遅延量の順に複数の制御処理プログラムが順次起動し、前記演算処理を開始するプロセッサと、を備え、各々の演算処理群の開始タイミングをハードウェアで管理するようにしたので、第１の制御処理プログラムの完了から第２の制御処理プログラムの開始までの時間調整を、ソフトウエアに頼る手間が省けるだけでなく、容易に第２の制御処理プログラムを開始させることができるという効果がある。
【００２０】
また、請求項６に係るサーボ制御装置によれば、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、開始通知信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行い、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御処理プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに出力する開始タイミング制御回路と、前記演算処理が所定の周期内に完了しなかった際に、前記基準トリガ信号と前記完了通知信号とから所定の周期の残り時間情報を算出し、前記残り時間情報と、前記プロセッサから出力される、前記制御処理プログラムの処理開始から処理完了までにかかるステップ数情報と前記基準トリガ信号の周期情報とに基づき、該基準トリガ信号の所定の周期内で前記制御処理プログラムの処理を完了させるために最適なクロック周波数を算出し、該算出結果に基づいてクロック周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路と、を備えるようにしたので、所定の周期内に完了させなければならない演算処理が該周期内に完了しなかった場合、次の周期の残時間に次の演算処理が納まるようプロセッサへ送るクロック信号を変調できるため、以降の周期で行われる制御処理プログラムの実行が遅延せずに、また、システムの特性に影響を与えずに制御を行うことが出来るという効果がある。
【００２１】
さらに、請求項７に係るサーボ制御装置によれば、外部信号を周期的にサンプリングし、そのサンプリング値を用いて演算処理を行うサーボ制御装置において、基準クロック信号を生成するクロック生成回路と、前記外部信号のサンプリング周期に応じた周期幅を持つ基準トリガ信号を生成する割込み周期タイマ回路と、前記基準トリガ信号によって制御処理プログラムが起動し、前記サンプリング値に対して前記演算処理を行い、該制御処理プログラムの実行完了時に完了通知信号を出力するプロセッサと、前記基準トリガ信号が入力されたか否かを検知する際に、前記完了通知信号が検知されたか否かにより、前記制御プログラムの実行が完了しているか否かを判定し、完了している場合は基準トリガ信号を、実行中の場合は前記制御処理プログラムの実行が完了するまで基準トリガ信号を遅延させた遅延トリガ信号を開始通知信号として前記プロセッサに出力する開始タイミング制御回路と、前記演算処理が周期内に完了しなかったとき、その状態が連続して何回起こったかをカウントし、該カウント結果に応じて前記基準クロック信号の周波数を制御する周波数制御信号を出力するカウンタ回路と、該周波数制御信号に応じて前記基準クロック信号の周波数が制御されたクロック変調信号を前記プロセッサに供給する周波数制御回路と、を備え、本来、所定の周期内に完了させなければならない制御処理プログラムが所定の周期内に完了しなかった状態が、何回連続して発生したかをカウントし、あらかじめ複数設定しておいたクロック周波数の中から、そのカウンタ値に応じて、次の周期で行われる制御処理プログラムの動作クロックを選択するようにしたので、制御処理プログラムが所定の周期内に完了しなかったとき、それ以降に制御処理プログラムを実行する際、各所定の周期内毎にそのクロック信号の周波数を順次上昇させることで各所定の周期内における処理の所要時間を順次短縮させることが可能となり、例えば、急激にシステムの負荷がかかり続けた場合に発生するサイクルずれを防止することができるという効果がある。
【発明を実施するための最良の形態】
【００２２】
（実施の形態１）
図１は、本発明の実施の形態１によるサーボ制御装置１００の構成を表すブロック図である。
【００２３】
図１において、１０１は、回路動作の基準となる基準クロック信号ａを生成するクロック生成回路である。１０２は、一定間隔の周期幅を持った基準トリガ信号ｂを生成する割込周期タイマ回路である。１０３は、外部信号ｅを周期的にサンプリングした値に対し、前記基準トリガ信号ｂを開始タイミングとして演算処理を行うプロセッサである。１０４は、プロセッサ１０３から出力される演算処理の完了通知信号ｃを検知した場合に、前記基準クロック信号ａをマスク、即ち供給停止し、前記基準トリガ信号ｂを検知した場合に、基準クロック信号ａのマスクを解除する第１のクロックマスク回路であり、クロックマスク信号ｄをプロセッサ１０３に出力する。
【００２４】
このクロックマスク信号ｄは、通常は前記基準クロック信号ａそのものであり、前記演算処理の完了通知信号ｃが検知されてから前記基準トリガ信号ｂが検知されるまでの期間は、マスク、即ち、前記基準クロック信号ａの供給を停止する、ことで得られる信号である。
【００２５】
図２は、図１の回路における基準トリガ信号ｂ、プロセッサ１０３の実行時間、完了通知信号ｃ、基準クロック信号ａ、クロックマスク信号ｄのタイミング関係を示す。
【００２６】
以上のように構成された本実施の形態１のサーボ制御装置１００の動作について、以下に説明する。
【００２７】
ある一定間隔の周期幅を持った基準トリガ信号ｂが、割込周期タイマ回路１０２により生成され、プロセッサ１０３に出力される。その周期幅は、外部信号ｅを周期的にサンプリングするために要する時間に基づくものである。図２に示すように、基準トリガ信号ｂは、周期的なパルス列を形成しているが、これは、例えば、一定周期ごとに“Ｈｉｇｈ”と“Ｌｏｗ”とが切り替わる信号などであってもよい。
【００２８】
前記基準トリガ信号ｂがプロセッサ１０３に出力されることにより、プロセッサ１０３により制御処理プログラムの実行が開始される。また、前記基準トリガ信号ｂに応じた周期である、ある周期（例えば、基準トリガ信号の１周期）において、その所定の周期内に制御処理プログラムの実行が完了した場合は、完了通知信号ｃがプロセッサ１０３により生成され、第１のクロックマスク回路１０４に出力される。
【００２９】
図２に示すように、完了通知信号ｃは制御処理プログラムの実行中は“Ｌｏｗ”であり、制御処理プログラムの実行が完了すると、“Ｈｉｇｈ”になるとともに、制御処理プログラムの実行が開始されるまで“Ｈｉｇｈ”を維持するものである。
【００３０】
なお、これらの信号の値は、“Ｈｉｇｈ”と“Ｌｏｗ”とを逆にする等、図示された値以外の値に設定してもよい。
【００３１】
クロック生成回路１０１から供給される基準クロック信号ａは、第１のクロックマスク回路１０４により前記完了通知信号ｃが“Ｈｉｇｈ”の状態であることが検知された場合、該クロックマスク回路１０４によりマスクされる。これにより、プロセッサ１０３への基準クロック信号ａの供給が停止され、クロックマスク信号ｄは“Ｌｏｗ”を維持する。その結果、プロセッサ１０３は動作を停止する。
【００３２】
また、基準クロック信号ａのマスクは、前記基準トリガ信号ｂが第１のクロックマスク回路１０４に出力されることにより解除され、その後、第１のクロックマスク回路１０４より基準クロック信号ａそのものがクロックマスク信号ｄとして出力され、プロセッサ１０３への基準クロック信号ａの供給が再開される。
【００３３】
その後の動作は上記と同様で、周期的に演算処理が実行されていくものである。
【００３４】
従って、基準トリガ信号の１周期内において、プロセッサが制御処理プログラムの実行を完了した後の時間においては、プロセッサに供給される基準クロック信号をマスクすることができ、その分消費電力を低減することが可能となる。
【００３５】
このように、本実施の形態１によるサーボ制御装置１００によれば、クロックマスク回路が、プロセッサから出力される演算処理の完了通知信号を検知した場合は、基準クロック信号をマスクし、割込周期タイマ回路から一定周期で出力される基準トリガ信号を検知した場合は、基準クロック信号のマスクを解除するようにしたので、クロックの供給の再開を命令する第２のプロセッサを用意する必要もなく、また、サーボ制御に代表される繰返し制御に対して特に有効である。さらに、スタンバイ時においてもプロセッサの一部を動作させ続ける必要がないので、演算処理の実行時間以外での基準クロック信号の供給を完全に停止でき、簡単に低消費電力化を図ることが出来るという効果がある。
【００３６】
（実施の形態２）
図３は、本発明の実施の形態２によるサーボ制御装置２００の構成を表すブロック図である。
【００３７】
図３において、２０１は、回路動作の基準となる基準クロック信号ａを生成するクロック生成回路である。２０２は、一定間隔の周期幅を持った基準トリガ信号ｂを生成する割込周期タイマ回路である。２０３は、外部信号ｅを周期的にサンプリングした値に対し、前記基準トリガ信号ｂを開始タイミングとして演算処理を行うプロセッサである。２０４は、プロセッサ２０３から出力された演算処理完了にかかるステップ数情報ｆと前記基準トリガ信号ｂの周期幅に基づき、前記基準クロック信号ａを制御する第１の周波数制御回路であり、クロック変調信号ｇを前記プロセッサ２０３に出力する。このクロック変調信号ｇは、前記ステップ数情報ｆに応じて前記基準クロック信号ａを周波数制御することにより得られた信号である。
【００３８】
図４は、図３の回路における基準トリガ信号ｂ、基準クロック信号ａ、周波数制御されたクロック変調信号ｇのタイミング関係を示す。
【００３９】
以上のように構成される本実施の形態２のサーボ制御装置２００の動作について、以下に説明する。
【００４０】
ある一定間隔の周期幅を持った基準トリガ信号ｂが割込周期タイマ回路２０２により生成され、プロセッサ２０３に出力される。その周期幅は、外部信号ｅを周期的にサンプリングするために要する時間に基づくものである。図４に示すように、基準トリガ信号ｂは周期的なパルス列を形成しているが、これは、例えば一定周期ごとに“Ｈｉｇｈ”と“Ｌｏｗ”とが切り替わる信号などであってもよい。
【００４１】
前記基準トリガ信号ｂがプロセッサ２０３に出力されることにより、制御処理プログラムがプロセッサ２０３により実行を開始される。また、次の基準トリガ信号ｂが入力されるまでに、次の基準トリガ信号ｂに基づいて実行される演算処理のステップ数情報ｆが、第１の周波数制御回路２０４に出力される。
【００４２】
このステップ数情報ｆと基準トリガ信号ｂの周期幅に基づき、第１の周波数制御回路２０４によりクロック変調信号ｇが決定され、次の基準トリガ信号ｂに同期して更新される。このクロック変調信号ｇは、演算処理実行時間が基準トリガ信号ｂの周期内におさまる必要最低限の（下限の）周波数になるように、基準クロック信号ａを周波数制御することにより得られた信号である。例えば、基準トリガ信号ｂの周期が１μｓ、基準クロック信号ａが１００ＭＨｚであるとすると、前記制御処理プログラムの実行に１００ステップかかる場合は、基準クロック信号ａと同じ周波数である動作周波数“１００ＭＨｚ”のクロック信号が、また、制御処理プログラムの実行に５０ステップかかる場合は、基準クロック信号ａを２分周した周波数に相当する動作周波数“５０ＭＨｚ”のクロックが、クロック変調信号ｇとしてプロセッサ２０３にそれぞれ供給される。これらの機能は、例えば、分周回路，カウンタ回路などを用いることで容易に実現することが可能である。
【００４３】
その後の動作は上記と同様で、周期的に演算処理が実行されていくものである。
【００４４】
従って、基準トリガ信号の周期において、制御処理プログラムの実行ステップ数が少なくて済む周期においては、プロセッサに供給されるクロック変調信号は本来の基準クロック信号の周波数に比べて低いものとなり、この周期における消費電力の低減が可能となる。
【００４５】
このように、本実施の形態２によるサーボ制御装置２００によれば、演算処理の完了に関するステップ数情報を検知して、そのステップ数情報と、基準トリガ信号の周期情報とに基いて、基準トリガ信号の周期内で処理を完了させるために必要最低限の（下限の）周波数を求め、この周波数に一致するように基準クロック信号の周波数を制御するようにしたので、各演算処理の負荷に応じて、最適な動作クロックで処理を実行でき、基準トリガ信号の１周期内で行う処理が少ない場合は動作クロックの周波数を低下できるため、消費電力を最小限度に止めることが出来るという効果がある。また、実施の形態１と同様、割込周期タイマ回路から一定周期で出力される基準トリガ信号を基に演算処理プログラムを実行する為、サーボ制御に代表される繰返し制御に対して特に有効である。
【００４６】
（実施の形態３）
図５は、本実施の形態３に係るサーボ制御装置３００の構成を表すブロック図である。
【００４７】
図５において、３０１は、回路動作の基準となる基準クロック信号ａを生成するクロック生成回路である。３０２は、演算処理に用いるメモリ３０５を備えたプロセッサであり、外部信号ｅを周期的にサンプリングした値に対し、制御処理プログラムによって演算処理を実行し、演算時に一時的にデータを記憶するデータ記憶器としてのメモリ３０５をその内部に備えている。制御処理プログラムは、例えば、μ（マイクロ）コードなどによって作成されるものである。３０３は、プロセッサ３０２から出力されるコマンド情報ｈに基づき、“ｎｏ  ｏｐｅｒａｔｉｏｎ（ＮＯＰ）  命令”に代表される演算処理非実行コマンドを検知し、その検知の有無に応じて、マスク制御信号ｉを生成するＮＯＰ検出回路（演算処理非実行コマンド検出回路）である。３０４は、前記マスク制御信号ｉに応じて前記基準クロック信号ａを一時的に供給停止するマスク機能、また、このマスクを解除する機能を有し、プロセッサ３０２、特にその内部に設けられた前記メモリ３０５にクロックマスク信号ｄを出力する第２のクロックマスク回路である。
【００４８】
このクロックマスク信号ｄは、通常は前記基準クロック信号ａそのものであり、前記演算処理非実行コマンドが検知されてから該コマンドが検知されなくなるまでの期間は、前記基準クロック信号ａが供給停止され“Ｌｏｗ”に固定されることで得られる信号である。
【００４９】
図６は、図５の回路における基準クロック信号ａ、マスク制御信号ｉ、プロセッサ３０２のコマンド情報ｈ、クロックマスク信号ｄのタイミング関係を示す。
【００５０】
以上のように構成された本実施の形態３のサーボ制御装置３００の動作について、以下に説明する。
【００５１】
プロセッサ３０２において制御処理プログラムが実行される際、制御処理プログラムの各コマンド情報ｈがＮＯＰ検出回路３０３により受け取られ、前記コマンド情報が“ｎｏ  ｏｐｅｒａｔｉｏｎ  命令”に代表される演算処理非実行コマンドに該当するか否かが判定される。
【００５２】
コマンド情報ｈが演算処理非実行コマンドであると検知された場合は、マスク制御信号ｉとして“Ｈｉｇｈ”が、それ以外の場合はマスク制御信号ｉとして“Ｌｏｗ”が、ＮＯＰ検出回路３０３より出力される。
【００５３】
なお、演算処理非実行コマンドは、これが例えば複数回検知された時にマスク制御信号ｉが“Ｈｉｇｈ”となるようにしてもよい。
【００５４】
マスク制御信号ｉの値が“Ｈｉｇｈ”となったことが第２のクロックマスク回路３０４により検知されると、クロック生成回路３０１から供給される基準クロック信号ａが第２のクロックマスク回路３０４によりマスクされ、プロセッサ３０２が有するメモリ３０５への基準クロックａの供給が停止され、“Ｌｏｗ”に固定される。
【００５５】
また、マスク制御信号ｉの値が“Ｌｏｗ”となったことが第２のクロックマスク回路３０４により検知されると、クロック生成回路３０１から供給される基準クロック信号ａのマスクが解除され、プロセッサ３０２が有するメモリ３０５への基準クロック信号ａの供給が再開される。
【００５６】
その後の動作は上記と同様で、制御処理プログラムの実行中に、実行されたコマンドが演算非実行コマンドであるか否かが常に監視される。
【００５７】
一般に、演算処理非実行コマンドが実行された場合は、プロセッサとメモリとの間のデータのアクセスは無く、メモリが使用されることはない。
【００５８】
従って、制御処理プログラムの実行中に演算非実行コマンドが実行された場合は、メモリが使用されていないと判断してメモリに供給される基準クロック信号をマスクすることができ、その分消費電力の低減が可能となる。
【００５９】
このように、本実施の形態３によるサーボ制御装置３００によれば、プロセッサから随時出力されるコマンド情報内の、“ｎｏ  ｏｐｅｒａｔｉｏｎ  命令”に代表される演算処理非実行コマンドが検知されるとマスク制御信号を生成し、前記マスク制御信号に応じて前記基準クロック信号をマスクするようにしたので、常時、メモリに送られていた基準クロック信号を演算処理の非実行時にマスクでき、低消費電力化を図ることが出来るという効果がある。
【００６０】
（実施の形態４）
図７は、本実施の形態４に係るサーボ制御装置４００の構成を表すブロック図である。
【００６１】
図７において、４０１は、図示しないＡＤ変換器からのＡＤサンプリング周期信号を表す。４０２は、ＡＤサンプリング周期信号４０１を分周した基準トリガ信号ｂを生成する割込周期タイマ回路である。４０３は外部信号ｅを周期的にサンプリングした値に対し、開始通知信号ｊに同期して、制御処理を行うプロセッサであり、制御処理プログラムの実行が完了するとプロセッサ４０３の動作状態を示す完了通知信号ｃを出力する。４０４は、基準トリガ信号ｂと完了通知信号ｃとを入力とし、開始通知信号ｊを生成する第１の開始タイミング制御回路である。
【００６２】
図８は、基準トリガ信号の周期が８Ｔ＝１００とした場合に、制御処理プログラムの平均処理時間が１００近傍で変化する場合を想定したタイミングチャートである。ここで、それぞれの処理時間Ｔ１，Ｔ２，Ｔ３，Ｔ４はＴ１＝８０，Ｔ２＝１２０，Ｔ３＝９０，Ｔ４＝９０であるとする。
【００６３】
以上のように構成される本実施の形態４のサーボ制御装置４００の動作について、以下に説明する。
【００６４】
ＡＤサンプリング周期Ｔに同期した信号４０１が割込周期タイマ回路４０２へ出力され、この信号４０１が８Ｔ周期に分周されて基準トリガ信号ｂが生成される。なお、ここでは例として分周数を“８”としているが、この分周数は、プロセッサ４０３で行われる制御処理プログラムに必要なＡＤ変換データ数を確保できる数であればよい。
【００６５】
この基準トリガ信号ｂが第１の開始タイミング制御回路４０４に出力され、第１の開始タイミング制御回路４０４から出力される開始通知信号ｊをトリガとして、プロセッサ４０３により制御処理プログラムの実行が開始され、制御処理プログラムの実行が完了すると、完了通知信号ｃが第１の開始タイミング制御回路４０４に送られる。ここで、完了通知信号ｃはプロセッサ４０３の制御処理プログラムが処理を完了しているか否かを識別する信号であり、処理未完了状態で“Ｌｏｗ”、処理完了状態で“Ｈｉｇｈ”を出力するものとし、開始通知信号ｊの入力によって“Ｌｏｗ”にクリアされるものとしている。
【００６６】
基準トリガ信号ｂが入力された時点での、完了通知信号ｃの状態に従い、第１の開始タイミング制御回路４０４により、基準トリガ信号ｂあるいは完了通知信号ｃのいずれか一方が選択され、その選択された信号が開始通知信号ｊとしてプロセッサ４０３に出力されるものであり、完了通知信号ｃの状態が“Ｈｉｇｈ”の場合は前記基準トリガ信号ｂが、完了通知信号状態が“Ｌｏｗ”の場合は遅延トリガ信号が、それぞれの場合の開始通知信号として選択されてプロセッサ４０３に出力される。この遅延トリガ信号は、完了通知信号ｃが出力されるものであり、完了通知信号ｃが出力されるまで基準トリガ信号ｂを遅延したものに等しい。
【００６７】
図８に示されるように、このサーボ制御装置は、その制御処理プログラムの実行開始時において、開始通知信号ｊとして基準トリガ信号ｂが使用され、この開始通知信号ｊをトリガとしてプロセッサ４０３により制御処理プログラムの実行が開始される。制御処理プログラムの実行中はプロセッサ４０３より完了通知信号ｃとして“Ｌｏｗ”が出力される。処理時間Ｔ１が経過し、制御処理プログラムの実行が完了すると、プロセッサ４０３より完了通知信号ｃとして“Ｈｉｇｈ”が出力される。この処理時間Ｔ１は基準トリガ信号ｂの１周期より短いので、完了通知信号ｃはこれ以後“Ｈｉｇｈ”のままである。
【００６８】
２つ目の基準トリガ信号ｂが入力されると、完了通知信号ｃが“Ｈｉｇｈ”であるので、この基準トリガ信号ｂが開始通知信号ｊとして第１の開始タイミング制御回路４０４より出力される。この２つ目の開始通知信号ｊをトリガとしてプロセッサ４０３により制御処理プログラムの実行が開始される。制御処理プログラムの実行開始により完了通知信号ｃは“Ｌｏｗ”にリセットされる。今回の処理時間Ｔ２は基準トリガ信号の１周期より長く、３つ目の基準トリガ信号ｂが入力された時点で処理は完了していない。このため、処理時間Ｔ２が経過し、完了通知信号ｃが“Ｈｉｇｈ”になった時点で、第１の開始タイミング制御回路４０４よりこの完了通知信号ｃが開始通知信号ｊとして出力される。これは、３つ目の基準トリガ信号ｂが処理時間Ｔ２が経過するまで遅延されて遅延トリガ信号となったことと等価である。次の処理時間Ｔ３は基準トリガ信号ｂの１周期よりも短いが、その完了は４つ目の基準トリガ信号ｂの入力より後になるので、前回と同様、遅延トリガ信号が開始通知信号ｊとして使用される。この４つ目の開始通知信号ｊをトリガとして制御処理プログラムの実行が開始されるが、今回の処理時間Ｔ４は基準トリガ信号ｂの１周期よりも短く、しかも５つ目の基準トリガ信号ｂが入力された時点で終了する。このため、この基準トリガ信号ｂが開始通知信号ｊとして第１の開始タイミング制御回路４０４より出力される。
【００６９】
このように、本実施の形態４によるサーボ制御装置４００によれば、制御処理プログラムが基準トリガ信号の出力後に終了する場合は、次の開始通知信号を基準トリガ信号として使用して次の制御処理プログラムを開始するようにしたので、制御処理プログラムの処理最長時間が基準トリガ信号の１周期を超える場合には、次の制御処理プログラムの開始が一時的に遅延してしまうが、（制御処理プログラムの平均処理時間）≒（基準トリガ信号の１周期）の関係であれば、その一時的な遅延分は徐々に解消されることになる。このため、プロセッサの動作クロックを上げることなく、処理平均時間近傍の割込周期でもって繰り返し制御を実現でき、動作クロックを上げる場合に必要な消費電力の増加を抑えることが出来るという効果がある。また、繰返し制御においては、繰返し周期内で繰返し制御処理プログラムが完了できるように（繰返し周期）＞（最長処理時間）の関係であることが一般的であるが、最長処理時間未満の繰返し周期でもって繰返し制御が実現できるため、高速な繰返し制御が必要な場合に特に有効となる。
【００７０】
なお、本実施の形態４の構成と、実施の形態１の構成とを組み合わせることで、処理最長時間が基準トリガ信号の１周期を超える関係にある状況下において、更なる低電力化を図ることが可能である。
【００７１】
例えば、図８に示すように、最初の処理時間Ｔ１が経過し、次の基準トリガ信号ｂが発生するまでの間はプロセッサは制御処理プログラムを実行しないので、この間、プロセッサへのクロックの供給を停止することで、更に消費電力を削減することが可能である。このクロックの供給停止は、第１のクロックマスク回路１０４によるクロックマスク機能により実現できる。
【００７２】
（実施の形態５）
図９は、本実施の形態５に係るサーボ制御装置５００の構成を表すブロック図である。
【００７３】
図９において、５０１は、図示しないＡＤ変換器のＡＤサンプリング周期信号を表す。５０２は、ＡＤサンプリング周期信号５０１を分周した基準トリガ信号ｂを生成する機能を有する割込周期タイマ回路である。５０３は、外部信号ｅを周期的にサンプリングした値に対し、制御処理を行うプロセッサであり、第１，第２の開始通知信号ｊ１，ｊ２に同期して第１，第２制御処理プログラムを実行し、プロセッサ５０３の動作状態を示す完了通知信号を出力する機能を有する。５０４は、入力される基準トリガ信号ｂを基準として、互いに異なる２種類の遅延量α，β（０＜α＜４Ｔ＜β＜８Ｔとする）をもった第１，第２の開始通知信号ｊ１，ｊ２を出力する機能を有する第２の開始タイミング制御回路である。なお、ここでは開始通知信号を２種類としたが、３種類以上であってもよい。
【００７４】
以上のように構成される本実施の形態５のサーボ制御装置５００の動作について、以下に説明する。
【００７５】
ＡＤサンプリング周期Ｔに同期した信号５０１が割込周期タイマ回路５０２へ出力され、この信号５０１が８Ｔ周期に分周されて基準トリガ信号ｂが生成される。なお、ここでは例として分周数を“８”としているが、この分周数は、プロセッサ５０３で行われる制御処理プログラムに必要なＡＤ変換データ数を確保できる数であればよい。またこの８Ｔ周期のうち、その後半の４Ｔ周期において、第１の制御処理プログラムの実行時（次回の８Ｔ周期の前半の４Ｔ周期）に必要となるＡＤ変換データがＡＤ変換され、前半の４Ｔ周期において、第２の制御処理プログラムの実行時（今回の８Ｔ周期の後半の４Ｔ周期）に必要となるＡＤ変換データがＡＤ変換される。
【００７６】
入力される基準トリガ信号ｂを基準として、２種類の互いに異なる遅延量α，βをもった第１，第２の開始通知信号ｊ１，ｊ２が、第２の開始タイミング制御回路５０４より出力される。
【００７７】
今回の８Ｔ周期の前半の４Ｔ周期において、第２の開始タイミング制御回路５０４から出力される第１の開始通知信号ｊ１を受けて、第１の制御処理プログラムが、プロセッサ５０３により実行される。その際に使用されるＡＤ変換データは、前回の８Ｔ周期の後半の４Ｔ周期において得られたものである。処理完了後、プロセッサ５０３は、次の開始通知信号が入力されるまで、“待ち状態”となる。ここで、“待ち状態”はＮＯＰを実行し続けるものであってもよい。
【００７８】
また、今回の８Ｔ周期の後半の４Ｔ周期において、“待ち状態”から、第２の開始通知信号ｊ２を受けて、第２の制御処理プログラムが、プロセッサ５０３により実行される。その際に使用されるＡＤ変換データは、今回の８Ｔ周期の前半の４Ｔ周期において得られたものである。
【００７９】
処理完了後、プロセッサ５０３は、次の第１の開始通知信号ｊ１が入力されるまで、次の制御処理プログラムの処理の“待ち状態”となり、以降、第１及び第２の開始通知信号ｊ１及びｊ２が入力される度に、第１及び第２の制御処理プログラムが交互に起動される。
【００８０】
このように、本実施の形態５によるサーボ制御装置５００によれば、複数の制御処理プログラムの開始タイミングを、ハードウエア、即ち第２の開始タイミング制御回路が管理するようにしたので、第１の制御処理プログラムの完了から第２の制御処理プログラムの開始までの時間調整を、ソフトウエアに頼る手間が省けるだけでなく、容易に第２の制御処理プログラムを開始させることができる。
【００８１】
また、時間調整時に生じる“待ち時間”に関しては、本実施の形態５の構成と、実施の形態１の構成とを組み合わせることで、より低消費電力化を図ることが可能である。
【００８２】
例えば、図１０に示すように、最初の基準トリガ信号が出力されてから第１の制御処理プログラムが実行開始されるまでの期間、第１の制御処理プログラムの実行が終了してから第２の制御処理プログラムが実行開始されるまでの期間、第２の制御処理プログラムの実行が終了してから２つ目の基準トリガ信号が出力されるまでの期間、はプロセッサは制御処理プログラムを実行しないので、この間、プロセッサへのクロックの供給を停止することで、更に消費電力を削減することが可能である。このクロックの供給停止は、第１のクロックマスク回路１０４によるクロックマスク機能により実現できる。
【００８３】
（実施の形態６）
図１１は、本実施の形態６に係るサーボ制御装置６００の構成を表すブロック図である。
【００８４】
図１１において、６０１は、回路動作に伴う基準クロック信号ａを生成する機能を有するクロック生成回路である。６０２は、一定間隔の周期幅を持った基準トリガ信号ｂを生成する機能を有する割込周期タイマ回路である。６０３は、外部信号ｅを周期的にサンプリングした値に対し、開始通知信号ｊに同期して、制御処理を行うプロセッサであり、第１の開始タイミング制御回路６０４が開始通知信号ｊが出力される度に、起動された制御処理プログラムの実行が完了するまでの所要時間を示すステップ数情報ｆを第２の周波数制御回路６０５に出力するとともに、クロック変調信号ｇを動作クロックとして制御処理プログラムを実行する機能と、プロセッサ６０３が制御処理プログラムの実行を完了した旨を示す完了通知信号ｃを第１の開始タイミング制御回路６０４へ出力する機能とを有する。
【００８５】
６０４は、第１の開始タイミング制御回路であり、基準トリガ信号ｂが出力された時点での完了通知信号ｃの状態に従い、基準トリガ信号ｂあるいは完了通知信号ｃのいずれか一方を選択しその選択した信号を開始通知信号ｊとしてプロセッサ６０３に出力する機能を有する。
【００８６】
６０５は、第２の周波数制御回路であり、基準トリガ信号ｂが入力された時点での開始通知信号ｊの状態に従い、基準トリガ信号ｂと開始通知信号ｊとの時間差を計測することで、所定の周期の残り時間δを算出する機能と、この残り時間δ情報およびステップ数情報ｆを基に、所定の周期内で処理を完了させるために必要最低限の周波数を求め、基準クロック信号ａの周波数を制御してクロック変調信号ｇを生成する機能とを有する。
【００８７】
以上のように構成された本実施の形態６のサーボ制御装置６００の動作について、以下に説明する。
【００８８】
図示しないＡＤ変換器のＡＤサンプリング周期Ｔに同期した信号６０６が割込周期タイマ回路６０２へ出力され、この信号６０６が８Ｔ周期に分周されて基準トリガ信号ｂが生成される。なお、ここでは例として分周数を“８”とした場合を述べているが、この分周数は、プロセッサ６０３で行われる制御処理プログラムに必要なＡＤ変換データ数を確保できる値であればよい。また、基準トリガ信号ｂは入力信号６０６に対して一定の遅延量をもたせてもよい。
【００８９】
第１の開始タイミング制御回路６０４から開始通知信号ｊが出力される度に、プロセッサ６０３により、制御処理プログラムが起動される。また、起動された制御処理プログラムが完了するまでの所要時間を示すステップ数情報ｆが第２の周波数制御回路６０５に出力されるとともに、クロック変調信号ｇを動作クロックとして制御処理プログラムが実行される。また、プロセッサ６０３の動作状態を示す完了通知信号ｃが第１の開始タイミング制御回路６０４へ出力される。ここで、完了通知信号ｃは、制御処理プログラムが処理完了しているか否かを識別する信号であり、処理未完了状態で“Ｌｏｗ”、処理完了状態で“Ｈｉｇｈ”を出力するものとし、第１の開始タイミング制御回路６０４から出力される開始通知信号ｊによって“Ｌｏｗ”にリセットされる。
【００９０】
第１の開始タイミング制御回路６０４により、基準トリガ信号ｂが入力された時点で完了通知信号ｃの状態が“Ｈｉｇｈ”の場合は基準トリガ信号ｂが、基準トリガ信号ｂが入力された時点で完了通知信号ｃの状態が“Ｌｏｗ”の場合は完了通知信号ｃがそれぞれ選択され、その選択された信号が開始通知信号ｊとして出力される。
【００９１】
第２の周波数制御回路６０５により、基準トリガ信号ｂが入力された時点での開始通知信号ｊの状態が“Ｌｏｗ”の場合に、基準トリガ信号ｂと、その後入力される開始通知信号ｊとの時間間隔（残り時間情報）γが計測される。この間隔γから、所定の周期の残り時間δが算出される。残り時間δ情報とステップ数情報ｆとを基に、所定の周期内で処理完了させるために必要最低限（下限）の周波数が算出され、この算出された周波数に基づきクロック信号の周波数が制御され、クロック変調信号ｇが出力される。
【００９２】
図１２に示されるように、本サーボ制御装置６００は、その制御処理プログラムの実行開始時において、開始通知信号ｊとして基準トリガ信号ｂが使用され、この開始通知信号ｊに同期して、プロセッサ６０３により制御処理プログラムを起動し、起動された制御処理プログラムのステップ数情報ｆを第２の周波数制御回路６０５に出力する。その際、クロック変調信号ｇとして変調されていない基準クロック信号ａそのものが使用され、プロセッサ６０３はこの基準クロック信号ａにより制御処理プログラムを実行する。制御処理プログラムが完了した時点で、プロセッサ６０３により完了通知信号ｃが第１の開始タイミング制御回路６０４に出力される。
【００９３】
第１の開始タイミング制御回路６０４は２つ目の基準トリガ信号ｂが入力された時点で完了通知信号ｃが入力されないため、２つ目の基準トリガ信号の入力後に完了通知信号ｃが入力された時点でこれが開始通知信号ｊとして出力される。その際、第２の周波数制御回路６０５によりこの開始通知信号ｊが入力された時点から次の基準トリガ信号ｂが出力されるまでの、次の制御処理プログラムの処理時間Ｔ２が算出される。この処理時間Ｔ２は基準トリガ信号の１周期の時間から前記γを減じた値δに等しい。処理時間Ｔ２情報と、開始通知信号ｊに同期してプロセッサ６０３から出力されるステップ数情報ｆを基に、第２の周波数制御回路６０５によりこの処理時間Ｔ２内に次の制御処理プログラムが処理を完了できるクロック周波数の値が算出し、基準クロック信号ａの周波数がこの算出したクロック周波数に等しくなるようにその変調が行われる。この変調されたクロック変調信号ｇを用いて開始通知信号ｊをトリガとしてプロセッサ６０３により制御処理プログラムが実行される。このクロック変調信号ｇは前の基準トリガ信号の周期よりも高い周波数となるため、基準トリガ信号の１周期よりも短い処理時間Ｔ２でプロセッサ６０３による制御処理プログラムの実行が完了する。
【００９４】
処理時間Ｔ２の終了に伴い、プロセッサ６０３より完了通知信号ｃが出力される。この出力タイミングは３つ目の基準トリガ信号ｂの出力タイミングと一致するため、第１の開始タイミング制御回路６０４より開始通知信号ｊとして基準トリガ信号ｂが出力される。
【００９５】
この基準トリガ信号ｂと開始通知信号ｃとが同時に出力されることにより、第２の周波数制御回路６０５により基準トリガ信号の周期内でプロセッサの処理が完了したと判断され、クロック変調信号ｇとして周波数変調されていない基準クロック信号ａが出力される。この基準クロック信号ａに周波数が等しいクロック変調信号ｇを用いて、プロセッサ６０３により３つ目の制御処理プログラムの実行が開始される。３つ目の制御処理プログラムは、基準トリガ信号の周期幅内で処理が完了し、プロセッサ６０３より完了通知信号ｃが出力される。この時点で開始通知信号ｊは出力されていないためプロセッサ６０３より完了通知信号ｃとして“Ｈｉｇｈ”が出力され続ける。次の基準トリガ信号が出力されるタイミングで完了通知信号ｃは“Ｈｉｇｈ”であるため、第１の開始タイミング制御回路６０４より開始通知信号ｊとして基準トリガ信号ｂ出力され、プロセッサ６０３により完了通知信号ｃが“Ｌｏｗ”にリセットされる。
【００９６】
このように、本実施の形態６によるサーボ制御装置６００によれば、本来定義された周期内に完了させなければならない演算処理が所定の周期内に完了しなかった場合、次の周期の残時間に次の演算処理が納まるようにプロセッサへ送るクロック信号の周波数を算出し、該算出した周波数に一致するようにプロセッサへ送るクロック信号を変調するようにしたので、制御処理プログラムが基準トリガ信号の１周期を超えて終了した場合、その次の周期では本来の基準トリガ信号周期よりも短い周期となるが、その際、クロック信号の周波数を上昇させプロセッサの処理速度を高めることで、短い周期内に演算処理を完了することが可能であり、それ以降の周期や演算処理やシステムの特性に影響を与えることなく制御を実行することが出来る。
【００９７】
（実施の形態７）
図１３は、本実施の形態７に係るサーボ制御装置７００の構成を表すブロック図である。
【００９８】
７０１は、回路動作に伴う基準クロック信号ａを生成する機能を有するクロック生成回路である。７０２は、一定間隔の周期幅を持った基準トリガ信号ｂを生成する機能を有する割込周期タイマ回路である。
【００９９】
７０３は、外部信号ｅを周期的にサンプリングした値に対し、制御処理を行うプロセッサであり、第１の開始タイミング制御回路７０４より開始通知信号ｊが出力される度に、クロック変調信号ｇを動作クロックとして制御処理プログラムを実行する機能と、制御処理プログラムの実行が完了した時点で、プロセッサ７０３の動作状態を示す完了通知信号ｃを第１の開始タイミング制御回路７０４へ出力する機能とを有する。
【０１００】
７０４は、第１の開始タイミング制御回路であり、基準トリガ信号ｂが出力された時点での完了通知信号ｃの状態に従い、基準トリガ信号ｂあるいは完了通知信号ｃのいずれか一方を選択し、その選択した信号を開始通知信号ｊとしてプロセッサ７０３に出力する機能を有する。
【０１０１】
７０７は、カウンタ回路であり、基準トリガ信号ｂが入力される毎にカウントアップするカウント値ｎ（周波数制御信号）を出力し、開始通知信号ｊと、基準トリガ信号ｂとが同時に出力された場合に、そのカウンタ値ｎをカウントダウン、あるいは、クリアする機能を備えている。
【０１０２】
７０５は、第３の周波数制御回路であり、カウンタ回路７０７から出力されるカウンタ値ｎをパラメータとして基準クロック信号ａを変調し、クロック変調信号ｇとしてプロセッサ７０３に出力する機能を有する。
【０１０３】
以上のように構成される本実施の形態７のサーボ制御装置７００の動作について、以下に説明する。
【０１０４】
図示しないＡＤ変換器のＡＤサンプリング周期Ｔに同期した信号７０６が割込周期タイマ回路７０２へ出力される。割込周期タイマ回路７０２では、一定周期に分周した基準トリガ信号ｂが生成され、第１の開始タイミング制御回路７０４へ出力される。プロセッサ７０３では制御処理プログラムの処理が完了する度に完了通知信号ｃが生成され、第１の開始タイミング制御回路７０４に出力される。前記基準トリガ信号ｂが出力された際、前記制御プログラムの処理が完了していれば、前記完了通知信号ｃの出力の検知により、第１の開始タイミング制御回路７０４により、プロセッサ７０３の次の制御処理プログラムの実行の開始通知信号ｊが生成される。カウンタ回路７０７は、第１の開始タイミング制御回路７０４から出力される開始通知信号ｊが“Ｌｏｗ”の状態で、かつ、次の基準トリガ信号ｂが出力された場合に、カウンタ回路７０７よりカウンタ値ｎがカウントアップされて出力される。
【０１０５】
また、第３の周波数制御回路７０５により、前記カウンタ回路７０７から出力されるカウンタ値ｎをパラメータとして、そのパラメータ値に応じた周波数となるよう基準クロック信号ａが変調され、そのクロック変調信号ｇがプロセッサ７０３に供給される。但し、新たなカウンタ値ｎが有効になるのは、開始通知信号ｊが出力された時以後である。なお、パラメータ値であるカウンタ値ｎによるクロック変調信号ｇの周波数の変調は、例えば、カウンタ値ｎが“０”の時はクロック変調信号は１００ＭＨｚ、“１”の時は１１０ＭＨｚ、“２”の時は１３０ＭＨｚなど、パラメータ値の増加に対し周波数が線形に増加するか非線形に増加するかは問わない。
【０１０６】
カウンタ回路７０７は、開始通知信号ｊと基準トリガ信号ｂとが同期したタイミングで出力された場合は、カウンタ回路７０７内のカウンタ値をカウントダウン、あるいは、クリアする機能を備えている。そのカウンタ値をパラメータとして、前記と同様に、第３の周波数制御回路７０５からプロセッサ７０３へ出力するクロック変調信号の周波数が選定される。
【０１０７】
図１４に示されるように、本サーボ制御装置７００は、その制御処理プログラムの実行開始時において、開始通知信号ｊとして基準トリガ信号ｂが使用され、この開始通知信号ｊをトリガとしてプロセッサ７０３により制御処理プログラムの実行が開始される。その際、カウンタ回路７０７よりカウンタ値ｎとして“０”が出力されるので、クロック変調信号ｇとして変調されていない基準クロック信号ａそのものが第３の周波数制御回路７０５より出力され、この基準クロック信号ａによりプロセッサ７０３による制御処理プログラムの実行が開始される。
【０１０８】
２つ目の基準トリガ信号が出力されることにより、カウンタ回路７０７のカウンタ値ｎは“１”に更新されるが、この時点でプロセッサ７０３による最初の制御処理プログラムの処理は完了しておらず、完了通知信号ｃ、ひいては開始通知信号ｊは出力されない。このため、第３の周波数制御回路７０５はカウンタ値ｎとして更新された値“１”を有効とせず、クロック変調信号ｇとして変調されていない基準クロック信号ａそのものがプロセッサ７０４に出力される。この基準クロック信号ａと同じ周波数のクロック変調信号ｇにより処理を続けた結果、開始通知信号ｊより処理時間Ｔ１経過後に最初の制御処理プログラムの処理が完了すると、完了通知信号ｃがプロセッサ７０３より出力され、開始通知信号ｊが第１の開始タイミング制御回路７０４により出力される。この開始通知信号ｊの出力により、第３の周波数制御回路７０５ではカウンタ値ｎとして既に更新済みの値“１”が有効になり、クロック変調信号ｇとして基準クロック信号ａが変調されてより高い周波数となった信号がプロセッサ７０３に出力される。
【０１０９】
また、開始通知信号ｊが出力されたことにより、プロセッサ７０３により２つ目の制御処理プログラムの実行が開始される。クロック変調信号ｇが高速化されたことにより、２つ目の制御処理プログラムの実行は処理時間Ｔ２（＜Ｔ１）で終了するが、その終了は３つ目の基準トリガ信号ｂが出力された後になる。
【０１１０】
このため、２つ目の基準トリガ信号ｂが出力された時と同様、カウンタ回路７０７のカウンタ値ｎは“２”に更新されるが、これがクロック変調信号ｇに反映されてクロック変調信号ｇがさらに高速化されるのは、処理時間Ｔ２が経過し、完了通知信号ｃが出力された後となる。この完了通知信号ｃが出力されることにより、開始通知信号ｊが出力され、３つ目の制御処理プログラムの処理が、さらに高速化されたクロック変調信号ｇを用いて行われ、処理時間Ｔ３（＜Ｔ２＜Ｔ１）で終了する。この時点で次の基準トリガ信号ｂは出力されていないので、次の基準トリガ信号ｂが出力されるまで完了通知信号ｃの値は“Ｈｉｇｈ”が維持される。次の基準トリガ信号ｂが出力された時点で第１のタイミング制御回路７０４により開始通知信号ｊが出力されることで、カウンタ回路７０７のカウンタ値ｎが“０”にリセットされ、第３の周波数制御回路７０５によりクロック変調信号ｇの周波数が基準クロック信号ａと同じ値に戻されるとともに、プロセッサ７０３により新たな制御処理プログラムが基準クロック信号ａと同じ周波数のクロック変調信号ｇにより処理される。
【０１１１】
このように、本実施の形態７によるサーボ制御装置７００によれば、本来定義された周期内に完了させなければならない制御処理プログラムが所定の周期内に完了しなかった状態が、何回連続で起こったかをカウントし、あらかじめ複数設定しておいたクロック周波数をそのカウンタ値に基づいて選択し、次の周期で行われる制御処理プログラムの動作クロックとして用いるようにしたので、制御処理プログラムが基準トリガ信号の１周期内に完了しなかったとき、その周期以降に制御処理プログラムを実行する際、各１周期毎にそのクロック信号の周波数を順次上昇させることで、各１周期内における処理の所要時間を順次短縮させることが可能となり、制御処理プログラムが１周期内に完了しなかった時は、その後に実行する制御処理プログラムの処理時間を短縮して、以前に発生した遅延の影響をなくすることができ、例えば、急激にシステムの負荷がかかり続けた場合に発生しうるサイクルのずれを防止することができる。
【産業上の利用可能性】
【０１１２】
以上のように、本発明に係るサーボ制御装置は、低消費電力化、また、プロセッサの動作における高効率化に関するものであり、特に、サーボ制御装置等が適用される光ディスクのサーボ制御技術に適用して有用である。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施の形態１によるサーボ制御装置１００を示すブロック図である。
【図２】図１に示すサーボ制御装置１００における制御タイミングを示す図である。
【図３】本発明の実施の形態２のよるサーボ制御装置２００を示すブロック図である。
【図４】図３に示すサーボ制御装置２００における制御タイミングを示す図である。
【図５】本発明の実施の形態３によるサーボ制御装置３００を示すブロック図である。
【図６】図５に示すサーボ制御装置３００における制御タイミングを示す図である。
【図７】本発明の実施の形態４によるサーボ制御装置４００を示すブロック図である。
【図８】図７に示すサーボ制御装置４００における制御タイミングを示す図である。
【図９】本発明の実施の形態５によるサーボ制御装置５００を示すブロック図である。
【図１０】図９に示サーボ制御装置５００における制御タイミングを示す図である。
【図１１】本発明の実施の形態６によるサーボ制御装置６００を示すブロック図である。
【図１２】図１１に示すサーボ制御装置６００における制御タイミングを示す図である。
【図１３】本発明の実施の形態７によるサーボ制御装置７００を示すブロック図である。
【図１４】図１３に示すサーボ制御装置７００における制御タイミングを示す図である。
【符号の説明】
【０１１４】
１００、２００、３００、４００、５００、６００、７００  サーボ制御装置
１０１、２０１、３０１、６０１、７０１  クロック生成回路
１０２、２０２、４０２、５０２、６０２、７０２  割込周期タイマ回路
１０３、２０３、３０２、４０３、５０３、６０３、７０３  プロセッサ
１０４  第１のクロックマスク回路
２０４  第１の周波数制御回路
３０３  ＮＯＰ検出回路
３０４  第２のクロックマスク回路
３０５  メモリ
４０１、５０１、６０６、７０６  ＡＤサンプリング周期信号
４０４、６０４、７０４  第１の開始タイミング制御回路
５０４  第２の開始タイミング制御回路
６０５  第２の周波数制御回路
７０５  第３の周波数制御回路
７０７  カウンタ回路
【図１】
2008287530.tif 000003
【図２】
2008287530.tif 000004
【図３】
2008287530.tif 000005
【図４】
2008287530.tif 000006
【図５】
2008287530.tif 000007
【図６】
2008287530.tif 000008
【図７】
2008287530.tif 000009
【図８】
2008287530.tif 000010
【図９】
2008287530.tif 000011
【図１０】
2008287530.tif 000012
【図１１】
2008287530.tif 000013
【図１２】
2008287530.tif 000014
【図１３】
2008287530.tif 000015
【図１４】
2008287530.tif 000016