JP4081534B2 - ステートマシーン - Google Patents

ステートマシーン Download PDF

Info

Publication number
JP4081534B2
JP4081534B2 JP30914699A JP30914699A JP4081534B2 JP 4081534 B2 JP4081534 B2 JP 4081534B2 JP 30914699 A JP30914699 A JP 30914699A JP 30914699 A JP30914699 A JP 30914699A JP 4081534 B2 JP4081534 B2 JP 4081534B2
Authority
JP
Japan
Prior art keywords
state
data
state machine
input
sampling
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.)
Expired - Fee Related
Application number
JP30914699A
Other languages
English (en)
Other versions
JP2001125606A (ja
Inventor
弘之 倉瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP30914699A priority Critical patent/JP4081534B2/ja
Publication of JP2001125606A publication Critical patent/JP2001125606A/ja
Application granted granted Critical
Publication of JP4081534B2 publication Critical patent/JP4081534B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はステートマシーンに係り、特にメモリを用いたステートマシーンに関する。
【0002】
【従来の技術】
プリンタやFAXなどを構成している機構部分は、様々な動作モードを有しており、該動作モードを切り替えるためにモータ等を駆動して各機構要素の位置を変化させている。
【0003】
モードを変更する条件としてセンサ入力やタイマー割り込み、プログラム割り込みなどがあり、それらの入力条件をマイコンが監視して入力条件に応じたモード遷移を指令している。そのためマイコンに対する処理の負荷が増大する原因となっている。機構部のモード遷移は特定の入力条件とその時点におけるモードにより確定するので、ゲート回路とラッチ回路とを組み合わせた制御回路で状態が遷移するように構成したステートマシーンにより簡単に制御することができる。このステートマシーンをマイコンの外部に構成することによってマイコンに対する処理の負荷を減少し、マイコンのプログラムのサブルーチンが減少してプログラムの構造が単純化されるとともに、モード制御がマイコンの処理速度に影響されなくなるので装置の処理速度が迅速になる。
【0004】
なお、プロセスの動作及びプロセス全体にわたるプロセス間の相互作用を確かめるための手段となる状態遷移実行装置が特公平7−43656号の公報に示されている。また、通信端末装置におけるマイクロコンピュータの負担の低減を目的としたステートマシーン及び通信制御方式が特開平8−87462号の公報に示されている。
【0005】
【発明が解決しようとする課題】
しかしながら、特公平7−43656号の公報に示されている状態遷移実行装置は、実行可能なプロセスがなくなるまで処理を続けてシステムの動作を論理的に確認するための装置で、装置の具体的な構成が示されていないとともに、状態遷移先をプログラマブルに変更することができない。
【0006】
また、特開平8−87462号の公報に示されているステートマシーン及び通信制御方式では、ステートマシーンを一時的に停止させたり、強制的に特定の状態に遷移させることを目的としているが、入力条件の数及び形態が固定されており、状態遷移先をプログラマブルに変更する方法が規定されていない。また、同種異機器に対して同一回路でフレキシブルに対応することができないという不具合を生じていた。
【0007】
本発明はこのような事情に鑑みてなされたもので、外部入力またはレジスタ入力(内部入力)の入力条件をビット毎に選択でき、情報の書き込みが可能な記憶素子を用いて状態遷移先のテーブルを作成することでプログラマブルな制御を高速に行うステートマシーンを提供することを目的としている。
【0008】
【課題を解決するための手段】
本発明は前記目的を達成するために、ステートマシーンの現状態を示す状態データと、ステートマシーンを現状態から次の状態に遷移させるための入力条件を示す入力データとをサンプリングするサンプリング手段と、各アドレスのメモリ領域に前記ステートマシーンの状態遷移先を示す状態データが複数分ずつ記憶されたメモリと、前記メモリの所定のアドレスのメモリ領域に記憶されているデータを読み出すデータ読出手段であって、前記サンプリング手段によりサンプリングされた状態データ及び入力データに対応するアドレスのメモリ領域から複数の状態データを読み出すデータ読出手段と、前記データ読出手段により読み出された複数の状態データのうちから、前記ステートマシーンの状態遷移先とする1つの状態データを前記サンプリング手段によりサンプリングされた入力データに基づいて選択すると共に、該選択した状態データを前記ステートマシーンの現状態を示す状態データとして前記サンプリング手段に出力するセレクタ手段とを備えたことを特徴としている。
【0009】
本発明によれば、プログラマブルな制御を高速に行うステートマシーンを提供することが可能となる。
【0010】
【発明の実施の形態】
以下添付図面に従って本発明に係るステートマシーンの好ましい実施の形態について詳説する。
【0011】
図1は、本発明に係るステートマシーンの実施の形態を示すブロック図である。
【0012】
同図に示すステートマシーン10は、4入力条件で256種類の状態遷移と16の出力状態とがプログラマブルな構成となっている。ステートマシーン10の外部入力部は、リミットスイッチやセンサ出力等の新たな状態情報A、B、C、Dの値に対してオンディレイ処理及びオフディレイ処理を施してチャタリング処理を行なって4ビットの入力条件データとして出力するチャタリング処理部12と、サンプリング手段14のサンプリング間隔の設定や、サンプリングの実施又は停止を制御するレジスタa16と、前記入力条件の任意のビットをマスクするデータを出力するレジスタb18と、前記マスクしたデータに対して置き換える値を入力するためのレジスタc20と、前記入力条件とレジスタb18の値と、レジスタc20とのデータと、初期状態を設定する信号とを入力して演算して結果をサンプリング手段14に出力するセレクタ22と、現状態を示す状態データであるセレクタ36の出力ステートをフィードバック入力するとともに、初期状態を設定するデータを記憶しているレジスタd24の出力とをビット毎に切り換えて入力して結果をサンプリング手段14に出力するセレクタ26とから構成されている。
【0013】
またステートマシーン10の演算部には、前記サンプリング手段14から出力される6ビットのデータと、ステートマシーン全般の制御を行う図示しない情報処理手段により制御されるCPUアクセス28から出力されるデータとを、サンプリングコントローラ30から出力される信号により切り換えてメモリ32にアドレス情報として出力するセレクタ34と、サンプリング手段14から出力される2ビットのデータに基づいてメモリ32から出力される16ビットのデータの内の4ビットを選択して次の状態遷移情報として出力するセレクタ36と、セレクタ36から出力される4ビットの状態データをレジスタe40に示されている0〜15までの16種類の4ビット情報に置き換えて、出力A、B、C、Dのオン/オフ情報に変換するデコーダ38とが設けられている。なお、レジスタe40の情報や、前記メモリ32に入力する情報は、ステートマシーンの制御を行う図示しない情報処理手段の指令で変更することが可能となっている。
【0014】
次にステートマシーン10の機能について説明する。
【0015】
外部入力A、B、C、Dから入力された信号に対してチャタリング処理を実施した後に、セレクタ22はその入力値をレジスタaで設定されたサンプリング間隔でラッチする。
【0016】
また、セレクタ22は、レジスタbで設定されたビット(”1”が設定されたビット)をマスクし、レジスタcで設定されたそのビットに相当する値に置き換え入力条件とする。例えば、外部入力値=1010、レジスタb=0011の場合には、上位2ビットは外部入力値を選択して下位の2ビットはレジスタcの値を採用するので、レジスタc=1101である場合の入力条件値は“1001”となる。
【0017】
同時にセレクタ26は、セレクタ36から出力されている現在のステートマシーンの状態値(16状態なので4ビット)をラッチする。サンプリング手段14は、セレクタ22から出力される入力条件値を下位4ビット、セレクタ26から出力される現状態を示す状態データを上位4ビットとした計8ビットのアドレスを生成して下位の2ビットはセレクタ36に出力し、上位の6ビットはセレクタ34を介してメモリ32にアクセスする。メモリ32の内部には、アドレス上位4ビットの状態データと下位4ビットの外部入力条件値において次に遷移すべき状態値4ビットが書かれている。
【0018】
ステートマシーン10はサンプリングのタイミング毎にメモリ32に対してアクセスを行い、次の遷移状態を出力しホールドしておく。本実施の形態では、メモリ32が1アドレス16ビット出力で構成されているので、メモリ32の出力を4ビット毎に4分割して、サンプリング手段14から出力される上位6ビットをメモリのアドレスとしてアクセスし、メモリ32の次の段のセレクタ36にて下位2ビットにおいて1アドレス16ビット出力を4分割した4ビットを選択するようにしている。
【0019】
このようにして得られた4ビットの情報をデコーダ38でレジスタe40を用いてデコードし、出力A〜Dをモータ等の制御信号や割り込み信号として出力する。デコード値もプログラマブルに行なえるように、4ビットの状態データに対応した0〜15の状態が設定できるようにしている。例えば、セレクタ36の2進数の出力値が“0110”(e6に相当)の場合にはレジスタe40の出力が“1100”であるとすると、出力A、B、C、Dの値がそれぞれ‘1’、‘1’、‘0’、‘0’となる。
【0020】
上記のようにメモリ32とセレクタ34、36とによりステートマシーン10を構成しているので、セレクタ34にてアクセス経路を切り替えることが可能であるとともに、サンプリングを停止した際に情報処理手段からメモリ32へのアクセスを行なうことができる。サンプリングを停止した際にセレクタ36は、サンプリングの最終値をホールドする。更に、ステートマシーン10を初期状態にするためにセレクタ22、26にてレジスタd24の設定値と入力条件をレジスタb18の設定値に切り替えることも可能である。
【0021】
図2(a)〜(c)に、上記ステートマシーンを用いて制御するプリントエンジンを示す。
【0022】
同図によれば、プリントエンジン48は、センサa(外部入力Dに相当する)、センサb(外部入力C)、センサc(外部入力B)、と印刷ヘッド50(出力C=1でプリント状態)と、給紙ローラ52と、給紙モータ54(出力A=1で正転給紙、出力B=1で逆転排紙)と、から構成されており、図2(a)〜(c)にかけて用紙56を給紙して印刷し、排出する動作を行う。本実施例では、各センサは出力=1で用紙を検出しており、外部入力Aは未使用としている。また図示していないが、デコーダ38出力値=0010(出力C=1)の場合にはLED表示器の点灯、デコーダ38出力値=0001(出力D=1)の場合には、情報処理手段(マイコン)に対して割り込み信号を発して情報処理手段がエラー処理ルーチンを実行する。
【0023】
以下にプリントエンジン48の動作について以下に説明する。給紙口に備えてあるセンサaが用紙を検知したら、先ずレジスタbは未使用の外部入力Aをマスクするために“1000”とし、レジスタcには“0xxx”を設定する。出力信号A,B,C,Dはそれぞれモータ正転、モータ逆転、LED点灯、割り込み発生に対応してあり、外部入力=0001(センサa=1)なら、用紙を紙送り状態にするためにセレクタ36出力=100、デコーダ38出力値=1000として給紙モータを正転させる。すると、給紙ローラが正転して紙送り状態になり、次に紙がセットされたことをセンサbが検知したなら(外部入力=0010になったなら)、プリント状態に移行する。
【0024】
プリント状態中は印刷ヘッド50を機能させるとともにそれを示すLED表示器を点灯させるので、セレクタ36出力=0100、デコーダ38出力値=0010を出力する。紙がプリント末端まで送られプリントを終了したことをセンサcで検知したならば(外部入力=0100になったならば)、出力は初期状態(セレクタ36出力=デコーダ38出力値=0000)に戻る。もし、プリント終了時に紙が残っていたり、初期状態で紙が末端に残っていることを検知したなら、紙詰まりと認識してエラー状態となり、セレクタ36出力=1111、デコーダ38出力値=0001を出力して情報処理手段に対して割込み信号を発生する。ただし、プリント中の紙送りは図2には記載していない別のステッピングモータで動作させている。上記の動作の状態遷移を図3に示す。
【0025】
図3はステートマシーン10の状態遷移図を示す図である。
【0026】
同図によれば、ステートマシーン10の状態C100「初期状態」ではセレクタ36出力=デコーダ38出力値=0000である。C100「初期状態」においてセンサaが用紙を検知して外部入力条件=0001となった場合には、状態C102「紙送り状態」に遷移して、セレクタ36出力=デコーダ38出力値=1000とし、給紙モータ54を動作させて用紙を給送する処理を行う。
【0027】
C102「紙送り状態」において用紙56が移動し、センサbが用紙56を検知して外部入力条件=0010となった場合には、状態C104「プリント状態」に遷移して、セレクタ36出力=0100、デコーダ38出力値=0010とし、印刷ヘッド50を動作させてプリントを行う。
【0028】
C104「プリント状態」においてセンサcが用紙を検知して外部入力条件=0100となった場合には、状態C100「初期状態」に遷移して、セレクタ36出力=0000、デコーダ38出力値=0000とし、給紙モータ54や印刷ヘッド50を停止させて初期状態に戻る。
【0029】
通常は上記のループを巡回するが、状態C100「初期状態」にてセンサbのみが用紙を検知している場合(外部入力条件=0010)又はセンサa及びcが用紙を検知した場合(外部入力条件=0101)には、正常な遷移状態とは異なるので、状態C106「エラー状態」に遷移してセレクタ36出力=1111、デコーダ38出力値=0001としてエラー表示を行う。また、状態C104「プリント状態」にてセンサbとcが用紙を検知している場合(外部入力条件=0110)にも、正常な遷移状態とは異なるので、状態C106「エラー状態」に遷移してエラー出力を行う。
【0030】
図4にメモリ32に入力する2ビット入力値とセレクタ36の出力値との関係を示す。
【0031】
同図には、セレクタ36から出力された4ビットの現状態を示すステート(状態0〜15までの16種類の状態データ)に対応したメモリ32に入力する6ビットの入力値(アドレス0〜アドレス63までの64状態)と、それぞれのアドレスに対応したメモリ32の16ビットの出力値が示されている。また、メモリ32の16ビットの出力値は、次のセレクタ36においてサンプリング手段14から出力されている2ビットの4状態を示す信号によって選択されて、4ビットの状態データが出力される。なお、同図にて省略されているメモリ32のアドレスに応じた出力値は“0000”(初期状態)が記憶されているものとする。
【0032】
たとえば、同図の状態0、アドレス0における出力値は“0F80”の16ビットであるが、セレクタ36に入力する2ビットの入力値が“10”であった場合にはセレクタ36の4ビット出力コードは“ABCD”=“0000”(初期状態)となる。また、セレクタ36に入力する2ビットの入力値が“01”であった場合にはセレクタ36の4ビット出力コードは“ABCD”=“1111”(エラー状態)となる。
【0033】
また、レジスタe40は“0”、“4”、“8”、“15”の入力状態に対してそれぞれ0、2、8、1(HEX)の値を設定し、出力する。
【0034】
まず、本発明に係るステートマシーン10とプリントエンジン48とが含まれているプリンタの電源が投入されると、プリンタを「初期状態」にするために現状態を示すデータをメモリ出力値からレジスタdの設定値“0000”に切り替え、かつ、遷移条件を外部入力値からレジスタbの設定値“0000”に切り替える。1回のサンプリング後、メモリ出力が初期状態の設定値“0000”になるので、セレクタをレジスタ側からメモリ出力値と外部入力値側に切り替える。このままプリンタの給紙口に紙が供給されるまで、初期状態のままでモータの回転及びLEDの点灯もしない状態にする。
【0035】
この状態では、ステートマシーン10は外部入力“ABCD”は“x000”(但し、入力Aは未使用であるので、x=不問という意味である)で、遷移条件は“0000”なので図3の状態遷移図に示す状態C100「初期状態」“0000”で自己ループしている。給紙口に紙が供給されたなら、センサaの出力が‘1’となるので外部入力条件は“0001”になり、サンプリング後にステートマシーンの現状態は状態C102「紙送り状態」“1000”に移行する。出力値は、紙送り状態“1000”がデコーダ38でデコードされてレジスタe40の“8”(HEX)に対応する値が選択されてデコーダ38出力値“ABCD”=“1000”が出力される。この状態では、出力Aが‘1’になるのでモータが正転し、紙をプリント実行位置まで搬送する。
【0036】
次に、プリント実行位置まで紙が送られてセンサbが‘1’になり、かつ、センサaが紙を検知しない位置まで送られたなら、外部入力条件が“ABCD”=“0010”となるので、次のサンプリング後に状態C104「プリント状態」“0100”に移行する。デコーダ38出力値は、紙送り状態“0100”がデコードされてレジスタe40の“4”に対応する値“0010”が選択されてデコーダ38から出力される。この状態では、給紙モータ54の正転が止まり、出力Cが‘1’になるのでLEDが点灯しプリント中であることを示す。プリント中は別のステッピングモータで紙送りを制御する。
【0037】
プリントが終了して用紙56が排出される位置になったなら、センサcが‘1’となる。すると外部入力条件が“ABCD”=“0100”となるので、次のサンプリング後に状態C100「初期状態」“0000”に移行し、デコーダ38出力値が“ABCD”=“0000”となりLED表示器は消灯する。
【0038】
C100「初期状態」において外部入力条件が“ABCD”=“0010”あるいは“0101”が入力された場合、または、C104「プリント状態」中に外部入力条件“0110”となった場合には、規定外の用紙が供給されたか用紙が途中で破れ詰まっているなどのエラー状態になっている状態が考えられる。この場合は、ステートマシーンはC106「エラー状態」“1111”に移行し、レジスタe40の“15”に対応する出力値、“0001”を出力する。すると、情報処理手段に対して割り込み信号を発生し、情報処理手段(マイコン)がエラー処理ルーチンを実行する。エラー処理が行なわれたなら、電源オン時と同様にして初期状態に戻す。
【0039】
上記の実施例は、簡単なステートマシーンの実施例であり、実際の場合は更に複雑なステートマシーンになることが予想される。図3のステートマシーン10の状態遷移図では、外部入力条件Aはレジスタbの設定値で‘0’の場合にしか使用されていないが、このビットに‘1’を立てることで別のモードに移行し、実施例とは異なった経路を通すことも可能である。例えば、エラー状態から初期状態への復帰する場合に使用することが可能である。
【0040】
図5は、本発明に係るステートマシーンの他の実施の形態を示すブロック図である。
【0041】
同図に示すステートマシーン60は、5入力条件で256種類の状態遷移と16の出力状態とがプログラマブルな構成となっている。ステートマシーン60の外部入力部には、リミットスイッチやセンサ出力等の外部入力A、B、C、D、Eの値に対してオンディレイ処理及びオフディレイ処理を施してチャタリング処理を行なって5ビットの入力条件を示す入力データとして出力するチャタリング処理部62が設けられている。
【0042】
またステートマシーン60には、定期的にサンプリングを実施するサンプリング手段64と、サンプリングコントローラ65と、前記入力条件の任意のビットをマスクしてリセット状態を設定する初期状態リセット66と、前記入力条件とリセット入力値とを演算して結果をメモリ68に出力するサンプリング手段64と、サンプリング手段64から出力される2ビットのデータに基づいてメモリ68から出力される16ビットのデータの内の4ビットを選択して出力するセレクタ70と、セレクタ70から出力される4ビットの状態データを「強制モータON/OFF」、「ACTION DATA」、「EVENT DATA」等の各情報に応じて出力するデコーダ72とが設けられている。該各情報は、ステートマシーンの制御を行う情報処理手段の指令で変更することが可能である。
【0043】
次にステートマシーン60の機能について説明する。同図に示すステートマシーン60は、遷移状態を示すメモリ68のデータ構成に応じて、選択型パターンと比較型パターンとの2通りの動作が可能である。
【0044】
以下に選択型パターンの動作について説明する。
【0045】
選択型パターンにおけるメモリ68のデータ構成を図6に示す。
【0046】
同図には、セレクタ70から出力された4ビットの現状態を示すステート(状態0〜15までの16種類の状態データ)に対応したメモリ68に入力する7ビットの入力値(アドレス0〜アドレス127までの128状態)と、それぞれのアドレスに対応したメモリ68の16ビットの出力値が示されている。また、メモリ68の16ビットの出力値は、次のセレクタ70においてサンプリング手段64から出力されている2ビットの4状態を示す信号によって選択されて、4ビットの出力値が出力される。
【0047】
チャタリング処理部62にて、5つの外部入力センサのチャタリング処理をし、一定間隔で前記5つの外部入力のセンサの状態とセレクタ70の状態データ(4ビット16ステートの現状態)をサンプリングする。サンプリング値の上位4ビットをセレクタ70の状態データ、下位5ビットが外部入力のセンサ値とする。リセット入力から初期状態リセット66を介して強制リセットをかけた場合は、初期状態に対応したレジスタ設定値がサンプリング手段64の出力値にセットされる。
【0048】
次に、サンプリング手段64の出力値上位7ビットをアドレスとして、メモリ68(レジスタ)から16ビットのデータを読み出す。次のセレクタ70ではサンプリング手段64から出力された下位2ビットのデータを用いてメモリ68から出力された16ビットのデータを4種類の4ビットデータに分割し、次に遷移する4ビットの状態データとして取り出す。
【0049】
デコーダ72では、4ビットの状態データと、2ビットのモータ動作データ(ACTION DATA)およびイベント動作データ(EVENT DATA)から出力値を選択する。
【0050】
モータ動作は、モータのON(正転・逆転)OFFおよび状態保持(前状態の動作を継続)を行う。モータOFFの場合、すぐに実行するか、ブレーキ状態を経由してからオフ状態になることをレジスタにて設定することが可能である。
【0051】
イベント動作は、その状態でのフラグ出力(ポート出力)および割り込み発生の指令を行う。
【0052】
次に比較型パターンの動作について説明する。
【0053】
比較型パターンの機能を用いる場合には、図5のブロック図におけるサンプリングコントローラ65から3ビットのカウントアップ値をサンプリング手段64に出力する。また、サンプリング手段64は、図示しない情報処理手段から7ビットの内部トリガを入力するとともに、外部入力の5ビットとを併せてセレクタ70に対して12ビットのデータとして出力する。
【0054】
比較型パターンにおけるメモリ68のデータ構成を図7に示す。
【0055】
同図には、セレクタ70から出力された4ビットの現状態を示すステート(状態0〜15までの16種類の状態データ)に対応したメモリ68に入力する3ビットの入力値(パス0〜パス7までの8状態)と、それぞれのアドレスに対応したメモリ68の16ビットの出力値が示されている。また、メモリ68の16ビットの出力値は、次のセレクタ70においてサンプリング手段64から出力されている12ビットの4096種類の状態を示す信号によって比較選択されて、4ビットの遷移先を出力する。
【0056】
チャタリング処理部62にて、5つの外部入力センサのチャタリング処理をして一定間隔で前記5つの外部入力のセンサの状態とセレクタ70の状態データ(4ビット16ステートの現状態)をサンプリングする。リセット入力から初期状態リセット66を介して強制リセットをかけた場合は、初期状態に対応したレジスタ設定値がサンプリング手段64の出力値にセットされる。
【0057】
サンプリング手段64の出力値上位7ビットをアドレスとして、メモリ68から16ビットデータを読み出す。この時、7ビットのアドレスのうち上位4ビットを現在のステートコードとし、下位3ビット(パス0〜パス7)を順次カウントアップさせメモリ68(レジスタ)から16ビットのデータ8種類を順次読み出す。セレクタ70では、この16ビットのデータの下位12ビットと、サンプリング手段64から出力される12ビットのデータ(サンプリングした外部入力センサの状態および内部トリガ状態のレジスタ値)とを比較し、一致したなら上位4ビットを次の遷移先として取り出し、今回の状態データ値として出力する。サンプリングコントローラ65から出力される3ビットによる8回のアクセスで一致しなければ、現状態を示す状態データ(モータ状態)を保持する。
【0058】
以降は、選択型パターンと同様に機能する。なお、比較型パターンの場合には前記選択型パターンの場合と比較してメモリ68の記憶容量を少なくできるとともに、より多くの条件を設定することが可能であるという利点がある。
【0059】
【発明の効果】
以上説明したように本発明に係るステートマシーンによれば、ステートマシーンの現状態を示す状態データと、ステートマシーンを現状態から次の状態に遷移させるための入力条件を示す入力データとをサンプリングするサンプリング手段と、状態遷移先を示す状態データを記憶するメモリを有し、前記サンプリングした状態データ及び入力データに基づいて前記メモリから次の状態遷移先を示す状態データを読み出し、これを現状態を示す状態データとして出力する手段とを備えたので、プログラマブルな制御を高速に行うステートマシーンを提供することが可能となる。
【図面の簡単な説明】
【図1】本発明に係るステートマシーンの実施の形態を示すブロック図
【図2】(a)は制御するプリントエンジンの給紙状態を示す図
(b)は制御するプリントエンジンの印刷状態を示す図
(c)は制御するプリントエンジンの排紙状態を示す図
【図3】ステートマシーンの状態遷移を示す図
【図4】メモリに入力する入力値とセレクタの出力値との関係を示す図
【図5】本発明に係るステートマシーンの他の実施の形態を示すブロック図
【図6】選択型パターンにおけるメモリのデータ構成を示す図
【図7】比較型パターンにおけるメモリのデータ構成を示す図
【符号の説明】
10…ステートマシーン、14…サンプリング手段、16…レジスタa(サンプリングレジスタ)、18…レジスタb、20…レジスタc、22…セレクタ、28…CPUアクセス、32…メモリ、34…セレクタ、36…セレクタ、38…デコーダ、40…レジスタe、48…プリントエンジン、50…印刷ヘッド、52…給紙ローラ、54…給紙モータ、56…用紙、60…ステートマシーン、64…サンプリング手段、68…メモリ、70…セレクタ、72…デコーダ

Claims (9)

  1. ステートマシーンの現状態を示す状態データと、ステートマシーンを現状態から次の状態に遷移させるための入力条件を示す入力データとをサンプリングするサンプリング手段と、
    各アドレスのメモリ領域に前記ステートマシーンの状態遷移先を示す状態データが複数分ずつ記憶されたメモリと、
    前記メモリの所定のアドレスのメモリ領域に記憶されているデータを読み出すデータ読出手段であって、前記サンプリング手段によりサンプリングされた状態データ及び入力データに対応するアドレスのメモリ領域から複数の状態データを読み出すデータ読出手段と、
    前記データ読出手段により読み出された複数の状態データのうちから、前記ステートマシーンの状態遷移先とする1つの状態データを前記サンプリング手段によりサンプリングされた入力データに基づいて選択すると共に、該選択した状態データを前記ステートマシーンの現状態を示す状態データとして前記サンプリング手段に出力するセレクタ手段と、
    を備えたことを特徴とするステートマシーン。
  2. 前記サンプリング手段におけるサンプリングの実施と停止とを制御するサンプリングレジスタを備えたことを特徴とする請求項1のステートマシーン。
  3. 前記セレクタ手段により前記ステートマシーンの状態遷移先として選択された状態データを入力し、該状態データに基づいて所定のコードを出力するデコーダを備えたことを特徴とする請求項1又は2のステートマシーン。
  4. 前記デコーダは、前記状態データに代えてステートマシーンの制御を行う情報処理手段から出力されたデータを入力することが可能であることを特徴とする請求項のステートマシーン。
  5. 前記サンプリング手段に対して出力するデータを記憶することが可能なレジスタを備え、前記サンプリング手段は、ステートマシーンの現状態を示す状態データやステートマシーンを現状態から次の状態に遷移させるための入力条件を示す入力データに対して所定ビットのデータを前記レジスタに記憶されているデータで置き換えて前記メモリに出力することを特徴とする請求項1乃至のいずれか1のステートマシーン。
  6. 前記メモリから状態データを読み出すメモリ領域のアドレスを前記サンプリング手段によりサンプリングされた状態データ及び入力データに対応するアドレスに代えて、ステートマシーンの制御を行う情報処理手段から出力されたデータに対応するアドレスに変更する手段を備えたことを特徴とする請求項1乃至のいずれか1のステートマシーン。
  7. 前記サンプリング手段は、ステートマシーンの現状態を示す状態データをサンプリングする第1のサンプリング手段と、ステートマシーンを現状態から次の状態に遷移させるための入力条件を示す入力データをサンプリングする第2のサンプリング手段と、から構成されていることを特徴とする請求項1乃至のいずれか1のステートマシーン。
  8. 前記メモリから状態データを読み出すメモリ領域のアドレスを、前記第1のサンプリング手段でサンプリングしたデータ及び前記第2のサンプリング手段でサンプリングしたデータのうちの少なくとも一方のデータの一部に基づいて設定することを特徴とする請求項のステートマシーン。
  9. ステートマシーンの現状態を示す状態データと、ステートマシーンを現状態から次の状態に遷移させるための入力条件を示す入力データとをサンプリングするサンプリング手段と、
    前記ステートマシーンの現状態を示す各状態データに対して複数のアドレスのメモリ領域が対応付けられると共に、該複数のアドレスの各々のメモリ領域に、入力データとして入力され得る各入力条件のデータと、前記ステートマシーンの状態遷移先を示す状態データとが記憶されたメモリと、
    前記メモリの所定のアドレスのメモリ領域に記憶されているデータを読み出すデータ読 出手段であって、前記サンプリング手段によりサンプリングされた状態データに対応する複数のアドレスのメモリ領域から入力条件のデータを順次読み出すデータ読出手段と、
    前記サンプリング手段によりサンプリングされた入力データが示す入力条件と、前記データ読出手段により順次読み出された入力条件とを比較し、これらの入力条件が一致するメモリ領域に記憶されている状態データを前記ステートマシーンの状態遷移先を示す状態データとすると共に、該状態データを前記ステートマシーンの現状態を示す状態データとして前記サンプリング手段に出力するセレクタ手段と、
    を備えたことを特徴とするステートマシーン。
JP30914699A 1999-10-29 1999-10-29 ステートマシーン Expired - Fee Related JP4081534B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30914699A JP4081534B2 (ja) 1999-10-29 1999-10-29 ステートマシーン

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30914699A JP4081534B2 (ja) 1999-10-29 1999-10-29 ステートマシーン

Publications (2)

Publication Number Publication Date
JP2001125606A JP2001125606A (ja) 2001-05-11
JP4081534B2 true JP4081534B2 (ja) 2008-04-30

Family

ID=17989474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30914699A Expired - Fee Related JP4081534B2 (ja) 1999-10-29 1999-10-29 ステートマシーン

Country Status (1)

Country Link
JP (1) JP4081534B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009145957A (ja) * 2007-12-11 2009-07-02 Oki Semiconductor Co Ltd ステートマシン及びこれを用いた半導体集積回路

Also Published As

Publication number Publication date
JP2001125606A (ja) 2001-05-11

Similar Documents

Publication Publication Date Title
KR100705895B1 (ko) 인터럽트 신호 생성 장치
KR900016842A (ko) 프로그래머블 콘트롤러
JP4081534B2 (ja) ステートマシーン
GB2192836A (en) Printer
EP0145961B1 (en) Printing apparatus
JP2000089974A (ja) データ格納制御回路
KR890000994A (ko) 프린터장치의 기구부를 제어하기 위한 방법 및 그것을 실시하기 위한 시스템
US5427459A (en) Printer with command inhibitor
US4675843A (en) Programmable logic controller
JPH0944277A (ja) マイクロコンピュータ
JPH0346018A (ja) プリンタ装置
JPH06148286A (ja) 回路基板装置
JP2516925B2 (ja) 交通信号制御装置
JPH08286717A (ja) 数値制御装置
JPS6274677A (ja) 印字装置
JPH0736371A (ja) プログラマブルコントローラ
JPH01190472A (ja) 印刷装置
JPH05313713A (ja) プログラマブルコントローラ
JPS63160873A (ja) プリンタ装置の電源制御方式
JPH11272490A (ja) 診断制御システム
JPH0451310A (ja) 通信制御装置のコマンド入力方式
JPH03250233A (ja) メモリ装置の制御方法
JPH03265030A (ja) コンピュータ搭載装置
JP2001184109A (ja) プログラマブルコントローラの機能ボードの設定回路
JPH05334071A (ja) ワンチップマイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040928

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20061129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070514

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: 20080104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees