JP2000222010A - シーケンス制御用マイクロコントローラ - Google Patents
シーケンス制御用マイクロコントローラInfo
- Publication number
- JP2000222010A JP2000222010A JP11024580A JP2458099A JP2000222010A JP 2000222010 A JP2000222010 A JP 2000222010A JP 11024580 A JP11024580 A JP 11024580A JP 2458099 A JP2458099 A JP 2458099A JP 2000222010 A JP2000222010 A JP 2000222010A
- Authority
- JP
- Japan
- Prior art keywords
- program
- state
- channel
- processing
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/045—Program control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23289—State logic control, finite state, tasks, machine, fsm
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B7/00—Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
- G11B7/08—Disposition or mounting of heads or light sources relatively to record carriers
- G11B7/09—Disposition or mounting of heads or light sources relatively to record carriers with provision for moving the light beam or focus plane for the purpose of maintaining alignment of the light beam relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Microcomputers (AREA)
Abstract
理すべきプログラムステップ数を削減して、従前から使
用されている汎用のマイクロプロセッサを用いて、複雑
なシーケンスで、かつ複数のチャネルの処理を行うこ
と。 【解決手段】 プログラム可能で、状態遷移によりシー
ケンスを制御するシーケンス制御用マイクロコントロー
ラであって、各処理チャネル毎に次のサンプリング周期
に処理すべき状態を保持する状態レジスタを有し、サン
プリングクロック及びチャネル処理要求を受けて、各チ
ャネルの処理を前記状態レジスタに保持されている状態
に応じたプログラムでサンプリング周期毎に実行する。
Description
制御を行うシーケンス制御用マイクロコントローラに関
する。
タルサーボ等、各種のシーケンス制御を行うために、マ
イクロプロセッサが広く用いられている。そして、この
ためのシーケンスを表記する手法としてタイムチャート
方式があるが、シーケンス処理すべき対象数が多いとき
などには必ずしも理解しやすいとは言えない。そこで現
象をより直視的に把握する表記法として状態遷移図を用
いることが一般的に行われており、マイクロプロセッサ
においてはその状態遷移をプログラム化することにより
シーケンス制御を実現している。
ンプリング周期で処理されるのが通常であり、そのため
にタイマ割り込みを用いるかあるいはプログラムの実行
サイクルを計算してソフトウエア的に時間間隔を作り出
すなどの方法が採られてきた。
サを用いたシーケンス制御システムの構成図であり、図
7は各チャネル毎の状態遷移を示す状態遷移図である。
Ts毎に発生されるサンプリングパルスにより割り込み
コントローラ63を起動する。プログラムメモリ62は
シーケンス制御用のプログラムが状態遷移図に対応して
メモリされている。この状態遷移図は図7に示されるよ
うに、シーケンス制御されるチャネルCH0〜CHn毎
に形成されており、各チャネルにおいて複数のステート
(CH0の例では、ステート0〜ステート2)と状態の
遷移(CH0の例では、(a)〜(g))を持ってい
る。また、入出力ポート65は外部からの情報入力を受
け取ると共に、外部への制御信号を出力する。
みコントローラ63からの信号を受けて起動し、割り込
み処理プログラムを処理し、当該周期のシーケンス制御
を開始する。その際、入出力ポート65からの外部情
報、及びプログラムメモリ62からの各チャネルの状態
を認識して、次に処理すべき内容を判断し、処理すべき
プログラムを特定する。そして、そのプログラム命令に
従って、各チャネル毎にその周期に実行すべきステップ
毎の処理を行っていく。すべてのチャネルについての各
ステップの処理は、当該周期の時間Ts内に終了され
る。
ケンス制御システムでは、シーケンスが複雑化してき
て、かつ複数のチャネルの処理を行う場合には、割り込
み処理プログラムの起動・処理とか、割り込み発生後の
プログラム上での現在のステートの認識及び次に処理す
るべき内容の判断などを必要とするから、プログラムの
処理ステップが膨大になる。したがって、従来から採用
されてきている汎用のマイクロプロセッサでは、この膨
大なステップのプログラムを限られた時間間隔Ts内で
処理することが困難になってきている。また、従来のシ
ーケンス制御システムで対応しようとすると、動作速度
(周波数)を上げたより高級なプロセッサを使用した
り、或いは外付けハードウエアを併用するなどの対策が
必要となる。
り、外付けハードウエアを併用したりすることなく、内
部に簡単なハードウエアを設けることで処理すべきプロ
グラムステップ数を削減して、従前から使用されている
汎用のマイクロプロセッサを用いて、複雑なシーケンス
で、かつ複数のチャネルの処理を行うことができる、シ
ーケンス制御用マイクロコントローラを提供することを
目的とする。
御用マイクロコントローラは、プログラム可能で、状態
遷移によりシーケンスを制御するシーケンス制御用マイ
クロコントローラであって、各処理チャネル毎に次のサ
ンプリング周期に処理すべき状態を保持する状態レジス
タを有し、サンプリングクロック及びチャネル処理要求
を受けて、各チャネルの処理を前記状態レジスタに保持
されている状態に応じたプログラムでサンプリング周期
毎に実行する、ことを特徴とする。
き状態値を保持した状態レジスタを用いていることによ
り、状態遷移図を表現するのに最適なアーキテクチャと
なるため、高速のマイクロプロセッサを用いることな
く、効率的なシーケンスを組むことができる。
図5を参照して説明する。図1は、本発明の実施例に係
るサーボシーケンス制御用マイクロコントローラの構成
を示す図であり、図2はプログラムメモリのマップを示
す図であり、図3はプログラム例を説明するための簡単
な状態遷移図であり、図4及び図5は動作タイミングを
示す図である。
タA2、演算レジスタB3、汎用レジスタT4,フラグ
レジスタ5,演算論理ユニット6,および外部メモリI
/F7で通常のマイクロプロセッサを構成している。
処理の進行に応じて種々のアドレス値を記憶し、必要時
に出力する。状態レジスタS9は、各処理チャネル毎に
設けられており、それぞれ各チャネルで次に処理すべき
状態を保持している。アドレスカウンタ10は、プログ
ラムカウンタP8にアドレスを記憶させると共に、プロ
グラムカウンタP8に記憶されているアドレスと状態レ
ジスタS9に保存されている状態値を受けてプログラム
メモリI/F11にアドレスを出力する。
ログラムメモリにプログラムアドレスPRGADRを出力する
と共に、プログラムメモリからプログラムデータPRGDAT
を受ける。命令デコーダ12は、プログラムデータPRGD
ATをプログラムメモリI/F11から受けて、デコード
し、コントローラ13に供給する。
ブロックと結合されており、サンプリングクロックSMPC
LK、チャネル処理要求CHAENBを受けると共に、チャネル
ステータスCHASTを出力する。またコントローラ13に
は、サンプリングクロックSMPCLKが直接供給され、その
立ち上がりを監視し、サンプリングクロックSMPCLKが立
ち上がると、コントローラ13はその時点でのチャネル
処理要求CHAENBの立っているチャネルを判別する。チャ
ネル処理要求CHAENBの立っているチャネルが複数あれ
ば、予め定められている順にプログラム処理を行う。
り、処理チャネルとしては例えば、サーボオフセット調
整、オープンループゲイン調整などといったものが挙げ
られる。状態レジスタS9はこのチャネル数に応じて1
6設けられ、またチャネル処理要求CHAENB及びチャネル
ステータスCHASTはチャネル数に応じて16ビットとさ
れている。また、本実施例では、サンプリングクロック
SMPCLKは88KHz、システムクロックSYSCLKは34M
Hzである。
8ビットで構成されており、チャネル0〜チャネル15
の各スタートアドレスが配置されたシステムエリアと、
各チャネル毎に、状態アドレスとプログラムデータPRGD
ATが配置されたチャネルエリア、を有している。
ラムの例を、図3の簡単な状態遷移図に対応して記載す
ると、次の通りとなる。 :State−0 ・命令群 JEQ Label1 ←条件分岐 STP 0 ←次も同じ状態のプログラムを実行(a) :Label1 STP 1 ←次は状態1に遷移してプログラムを実行(b) :State−1 ・命令群 JEQ Label2 ←条件分岐 STP 1 ←次も同じ状態のプログラムを実行(c) :Label2 STP 0 ←次は状態0に遷移してプログラムを実行(d)
するものであり、したがってこのようなプログラムが各
チャネルに対応して、プログラムメモリの各チャネルエ
リアに記述されている。命令のところには、この状態で
処理すべき命令群を記述する。条件分岐としては、レジ
スタ値の比較やビットテストの結果に対して分岐するか
どうか判断する命令を用意する。
「ステート0」となっているから、このチャネルのステ
ート0に応じたプログラム命令に基づいて所要の処理が
行われる。このプログラム命令の処理が終わると、条件
分岐を見て、次のサンプリング周期にも同じ状態「ステ
ート0」のプログラムを実行するか(a)、次の状態
「ステート1」のプログラムを実行するか(b)を決定
し、当該チャネルの状態レジスタS9の状態を書き換え
る。
ネルの状態レジスタS9の状態に応じて、すなわち状態
「ステート0」又は状態「ステート1」に応じて、同様
にプログラム処理が行われていく。
御用マイクロコントローラの動作について、図4,図5
の動作タイミング図を参照しつつ、具体的に説明する。
後の動作タイミングを示す図4を参照する。サーボシー
ケンス制御は、サンプリングクロックSMPCLKの立ち上が
りによって開始されるから、サンプリングクロックSMPC
LKが直接供給されるコントローラ13でその立ち上がり
を監視し、サンプリングクロックSMPCLKの立ち上がりを
待つ。すなわち、サンプリングクロックSMPCLKが直接供
給され、ハード的にプログラムが起動される。
と、コントローラ13はその時点での処理要求の立って
いるチャネルを判別する。処理要求の立っているチャネ
ルが複数あれば、これら複数のチャネルを例えば番号の
小さいチャネルから順にプログラム処理を行う。この例
では、処理要求の立っている一番小さいチャネルをチャ
ネル0としている。
処理要求CHAENBに対して、現在処理しているチャネルを
表すチャネルステータスCHASTが出力されている。
グラムメモリI/F11からプログラムアドレスPRGADR
としてチャネル0に対応して「n0」(実際のアドレス
値は、000h、である)を出力する。このプログラム
アドレスPRGADR「n0」に応じて、プログラムメモリの
システムエリアからチャネル0のスタートアドレス「C
H0スタート」をプログラムデータPRGDATD0として取
得し、これを16倍(すなわち左へ4ビットシフト)し
て、プログラムカウンタP8に記憶する(D0×1
6)。
るチャネル0の状態値(ここでは、ステート0と仮定す
る)を読み出し、この状態値を2倍(すなわち左へ1ビ
ットシフト)した値と、プログラムカウンタP8に記憶
されている値(「CH0スタート」を16倍したもの)
とを加算し、その加算値(D0×16+S×2)をプロ
グラムメモリI/F11から新たなプログラムアドレス
PRGADRとしてプログラムメモリに出力する。
6+S×2)に格納されているプログラムデータPRGDAT
「CH0ステートL0」をプログラムデータPRGDATD2
Lとして取得する。そして、プログラムアドレスPRGADR
を1だけインクリメントする。
ドレスPRGADR(D0×16+S×2+1)に格納されて
いるプログラムデータPRGDAT「CH0ステートH0」を
プログラムデータPRGDATD2Hとして取得する。そし
て、このD2Lを下位、D2Hを上位として総合したプ
ログラムアドレスPRGADR(D2H+D2L)を得る。な
お、D2Hは上位であるから、この総合したプログラム
アドレスPRGADRは、厳密に表記すると、(D2H×25
6+D2L)である。
D2L)をプログラムメモリI/F11からプログラム
メモリに与える。この場合はチャネル0であるからCH
0エリアのプログラムデータPRGDAT領域からプログラム
アドレスPRGADR(D2H+D2L)に格納されているチ
ャネル0で今回処理すべきプログラムデータPRGDATが得
られる。
イン1,演算レジスタA2、演算レジスタB3、汎用レ
ジスタT4,フラグレジスタ5,演算論理ユニット6,
および外部メモリI/F7で構成される通常のマイクロ
プロセッサで、プログラムを実行していく。命令体型と
しては、算術及び論理演算、レジスタ間データ転送、内
部レジスタと外部メモリ間のデータ転送、ビットテス
ト、条件付き分岐、条件なし分岐、終了処理等である。
レジスタS9にこのサンプリングで処理された結果が保
存されており、処理の最後に次の状態(例えば、ステー
ト0又はステート1)を決めて保存し、チャネル0の処
理は終了する。
他に処理すべきチャネルが残っていれば、同様にしてそ
れぞれ次チャネル処理を行うことになる。次チャネル処
理移行時の動作は、図5に例示されており、この図5で
はチャネルステータスCHASTから分かるように、チャネ
ルi−1の処理が終了し、引き続いてチャネルiの処理
を行う場合の例が示されている。この図5からも明らか
なように、図4のサンプリングクロックSMPCLK到来直後
の動作とは、コントローラ13からの指令により、プロ
グラムメモリI/F11からプログラムアドレスPRGADR
としてチャネルiに対応して「ni」を出力する。この
プログラムアドレスPRGADR「ni」に応じて、プログラ
ムメモリのシステムエリアからチャネルiのスタートア
ドレス「CHiスタート」をプログラムデータPRGDATD
0として取得する点で、変わるのみであり、以下同様に
図4におけると同様に、チャネル処理が実行されていく
ことになる。そして、処理すべきすべてのチャネルの処
理が、当該サンプリング周期Tsの時間内に行われ、終
了すれば、待機状態に戻り、次のサンプリングクロック
SMPCLKの発生を待つ。
リングクロックSMPCLKをコントローラ13に直接供給
し、ハード的にプログラムを起動しているため、マイク
ロプロセッサの割り込み処理プログラムを起動して処理
する必要もなく、直ちに本来の処理にはいる。そして、
各チャネル毎の状態遷移に対応して、現在処理すべき状
態を状態レジスタS9に保存させておき、サンプリング
クロックSMPCLKにより状態レジスタS9の値を読み出
し、その値に対応したプログラムアドレスPRGADRに分岐
し、速やかにプログラム実行を行う。各チャネルの処理
の最後に、各状態レジスタS9に次回に処理すべき状態
を設定し、次のチャネルの処理に移る。
S9を活用することにより、状態遷移図を表現するのに
最適なアーキテクチャとなるため、高速のマイクロプロ
セッサを用いることなく効率的なシーケンスを組むこと
が可能となる。
セッサで実現する場合、プログラムが非常に複雑になる
ことが避けられないが、本発明では、処理チャネル毎に
状態レジスタS9を持ちサンプリング周期内で各チャネ
ルの処理を順に実行することで、プログラムはチャネル
間で完全に独立のものとなる。このことから、プログラ
ムは各状態で処理すべきことだけを記述すれば済むので
プログラミングが容易でありデバッグもしやすい。
るようにすれば、サンプリング周期毎の状態遷移の様子
が観測できるので、ICEなどエミュレータを用いなく
ても、ロジックアナライザ程度で充分にデバッグが可能
である。
構成されるので、回路規模としても非常に小さくなるの
で、専用のコントローラとして最適である。
ャネルで処理すべき状態値を保持した状態レジスタを用
いていることにより、状態遷移図を表現するするのに最
適なアーキテクチャとなるため、高速のマイクロプロセ
ッサを用いることなく、効率的なシーケンスを組むこと
ができる。
マイクロコントローラの構成図。
図。
制御システムの構成図。
Claims (1)
- 【請求項1】 プログラム可能で、状態遷移によりシー
ケンスを制御するシーケンス制御用マイクロコントロー
ラであって、 各処理チャネル毎に次のサンプリング周期に処理すべき
状態を保持する状態レジスタを有し、 サンプリングクロック及びチャネル処理要求を受けて、
各チャネルの処理を前記状態レジスタに保持されている
状態に応じたプログラムでサンプリング周期毎に実行す
る、 ことを特徴とするシーケンス制御用マイクロコントロー
ラ。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02458099A JP3871461B2 (ja) | 1999-02-02 | 1999-02-02 | シーケンス制御用マイクロコントローラ |
| US09/496,550 US6757818B1 (en) | 1999-02-02 | 2000-02-02 | Programmable microcontroller for controlling multichannel sequences of states to be processed in each processing period |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP02458099A JP3871461B2 (ja) | 1999-02-02 | 1999-02-02 | シーケンス制御用マイクロコントローラ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000222010A true JP2000222010A (ja) | 2000-08-11 |
| JP3871461B2 JP3871461B2 (ja) | 2007-01-24 |
Family
ID=12142112
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP02458099A Expired - Fee Related JP3871461B2 (ja) | 1999-02-02 | 1999-02-02 | シーケンス制御用マイクロコントローラ |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6757818B1 (ja) |
| JP (1) | JP3871461B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7133878B2 (en) * | 2002-03-21 | 2006-11-07 | Sap Aktiengesellschaft | External evaluation processes |
| GB2409543B (en) * | 2003-12-23 | 2006-11-01 | Advanced Risc Mach Ltd | Interrupt masking control |
| WO2009028138A1 (ja) | 2007-08-27 | 2009-03-05 | Advantest Corporation | シーケンス制御装置および試験装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4197579A (en) * | 1978-06-06 | 1980-04-08 | Xebec Systems Incorporated | Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner |
| US5023484A (en) * | 1988-09-02 | 1991-06-11 | Cypress Semiconductor Corporation | Architecture of high speed synchronous state machine |
| KR0136594B1 (ko) * | 1988-09-30 | 1998-10-01 | 미다 가쓰시게 | 단일칩 마이크로 컴퓨터 |
| US6327508B1 (en) * | 1998-12-10 | 2001-12-04 | Advanced Micro Devices, Inc. | Programmable state machine |
-
1999
- 1999-02-02 JP JP02458099A patent/JP3871461B2/ja not_active Expired - Fee Related
-
2000
- 2000-02-02 US US09/496,550 patent/US6757818B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6757818B1 (en) | 2004-06-29 |
| JP3871461B2 (ja) | 2007-01-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100423910B1 (ko) | 코프로세서 명령 실행 장치 및 방법 | |
| EP0810518B1 (en) | Method and circuit for delayed branch control | |
| EP0497485A2 (en) | Computer for implementing two-operand instructions | |
| JP3871461B2 (ja) | シーケンス制御用マイクロコントローラ | |
| EP0279953B1 (en) | Computer system having mixed macrocode and microcode instruction execution | |
| JPH0418635A (ja) | ディジタル信号プロセッサ | |
| JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
| JPS63200234A (ja) | デ−タ処理装置 | |
| JP2812610B2 (ja) | パイプライン制御方式 | |
| KR940000220B1 (ko) | 프로그램 로직 제어기의 명령어 처리시스템 | |
| JP3074790B2 (ja) | マイクロプロセッサ | |
| JPH0520062A (ja) | データ処理装置 | |
| JPH04251331A (ja) | 情報処理装置 | |
| JPS59168548A (ja) | プログラム実行遅延装置 | |
| JPH08106383A (ja) | 演算処理装置 | |
| JPS6128144A (ja) | トレ−ス動作実行装置 | |
| JP2532072Y2 (ja) | パターン発生器 | |
| JP2001184231A (ja) | プログラム開発支援装置とその制御方法 | |
| JPS6019018B2 (ja) | デ−タ処理システム | |
| JPS60168237A (ja) | 演算装置 | |
| JPH0353322A (ja) | 情報処理装置 | |
| JPH09101890A (ja) | パイプライン演算装置及びデコーダ装置 | |
| JPH02105936A (ja) | データ処理装置 | |
| JPH03282915A (ja) | 情報処理装置 | |
| JPH01281532A (ja) | マイクロプログラム制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040227 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051024 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051101 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051221 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061017 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061017 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |