JPH02504326A - 複数態様のポーリング、分岐および待機opコード - Google Patents

複数態様のポーリング、分岐および待機opコード

Info

Publication number
JPH02504326A
JPH02504326A JP1506339A JP50633989A JPH02504326A JP H02504326 A JPH02504326 A JP H02504326A JP 1506339 A JP1506339 A JP 1506339A JP 50633989 A JP50633989 A JP 50633989A JP H02504326 A JPH02504326 A JP H02504326A
Authority
JP
Japan
Prior art keywords
instruction
user
motor
signal
speed
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.)
Pending
Application number
JP1506339A
Other languages
English (en)
Inventor
チャン,デイビッド・エイ
Original Assignee
アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド
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 アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド filed Critical アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド
Publication of JPH02504326A publication Critical patent/JPH02504326A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 複数態様のポーリング、分岐および待機OPコード発明の分野 この発明は、ユーザがプログラム可能なoPコードに応答して、単一の機械サイ クルにおいて種々のポーリング、分岐および待機機能を達成する、ディジタル論 理回路に関するものである。
発明の背景 特定の値の入力をポーリングする機能、そのような値が検知されるまで待機する 機能、およびその後特定の検知された値に依存して、他の機能を達成するための 分岐の機能を必要とする種々のコンビニータ応用がある。この機能性はソフトウ ェアにおいてのみ実現されるが、成る応用は専用回路によって提供される速度を 必要とする。
この速度の典型的な兼合いは、融通性の欠如である。ハードワイヤの回路は、特 定の顧客のニーズが、成る付加的な、または修正された機能性を必要とするとき 容易に変更ができない。成る応用は、しかしながら速度および成る程度のプログ ラム可能な融通性の双方から大いに恩恵を受けることになろう。そのような応用 の1つがディジタルブラシレスDCモータ制御装置である。
複合制御回路は、DCモータの回転子位置を検知しデコーダするため、およびそ のモータの速度を正確に制御するためにしばしば必要である。モータの回転子位 置を検知する一般的な方法は、「ホール効果センサ」の使用を含む。
特表千2−5Q432G(2) これらのセンサは、回転子位置が概念的に分割されているディスクリートなセク タを区別した情報の信号を制御装置に送る。ホールセンサ情報を周期的にサンプ ルすることにより、制御装置はモータの実際の速度を決定でき、(その速度を増 すかあるいは減らすために、モータ自体へ)入力を調節することにより)その速 度をそれに応じて変化させることができる。
先行技術のDCモータ制御装置(たとえばインテグレーテッド・パワー・セミコ ンダクターズ・リミテッドのIP3M05およびモトローラ・インコーホレーテ ッドのMC33034等)は、ハードワイヤの回路を使用して、ホールセンサ情 報を分析し、モータの速度をそれに応じて変化させる。これらアナログのプログ ラムネ可能な装置は、リニア集積回路を使用してこれらの機能を達成する。
これら先行技術の装置は、限られた範囲でメタルマスクの形状化が可能であるが 、たとえばカスタム化されたモータ速度および加速度プロファイル、可変ホール 状態センサスペーシングおよびカスタム化されたエラーまたは他の種々な状態を 検知する信号をプログラムできる能力を、ユーザに提供する装置は1つもない。
このようなユーザがプログラム可能なりCモータ制御装置により提供される融通 性は、種々の状況において、ユーザが十分迅速な応答時間で、種々の状況におけ るモータの正確な速度を制御できるようにするための、高速のポーリング、分岐 および待機論理への必要性を増大させる。
発明の概要 この発明に従って、種々のポーリング、分岐および待機論理を、1つの機械サイ クルの中で発生するのを可能にする。pコードおよび関連する回路が提供される 。この発明は特定の入カバターンまたは所望の状況信号が検知されるとき、敏速 に多数態様分岐が必要とされる種々の違った応用において応用できる。
この発明の好ましい実施例は、ユーザがプログラム可能なブラシレスDCモータ 制御装置−プログラマブルDCモータコントロールユニット(rPMCJ )を 含む。様々な条件において、モータの速度を制御する融通性をユーザに与えるた めに、PMCは、ホールの状態遷移への待機および特定のホールの状態センサの 値またはエラーの状態が検知された場合の別の機能への分岐を含めて、種々のプ ログラム可能な機能を達成する。
これらの機能は、一般的には「命令」として知られる1組のコマンドからなるプ ログラムに応答して、PMCにより達成される。これらの機能はropコード」 として知られる4つのディスクリートな命令フォーマットに組織される。ユーザ は一連の命令を書くことによりPMCをプログラムし、各命令は4つのOpコー ドのうちの1つの例を構成する。これらのopコードに特定された正確な機能を 以下に、より詳細に説明する。
簡単には、これらのopコードのうちの2つがモータの所望の速度および方向の 設定といった、PMCが実行する様々な初期設定タスクを特定する。第3のop コードは、る情報を特定する。最後に、第4のopコードは、モータの速度が速 度誤差の所望の許容限界の範囲内であるか否かをユーザがチェックすることを可 能にする。
しかしながら、この発明が焦点を合わせているのは、ユーザにモータの作動特徴 の多くの制御の融通性を与える種々のプログラム可能なポーリング、待機および 分岐機能を特定するこれらのopコード(「フィールド」)の部分である。これ らの基本的な機能は、種々の状態(カウンタのオーバフロー、外部の装置からの 割込およびホールの状態遷移等)をユーザが検知するのを可能にし、またその後 にそれらの状態および他の状態の検知に依存して、モータの動作を制御する付加 的機能をユーザが呼出すのを可能にする。
ユーザはたとえば、成るホールの状態遷移(または1組のホールの状態遷移)を 待機し、続いてたとえばモータの速度を増大させるといった特定の動作を達成す ることができる。これらの動作のうち、1つまたは2つ以上を各々が開始する一 連の命令を含むプログラムを創作することにより、ユーザは実際には種々のエラ ー検知および訂正手順とともに、複合速度および加速度プロファイルを含む種々 のPMC機能をカスタム化することができる。
しかしながら、この融通性は、PMCが(ユーザがプログラムした制御のもとに )種々の状態(たとえばホールの状態遷移等)を検知し、適切に応答する(たと えばモータの速度を変化させる付加的命令へ分岐することにより)ことを可能に するためには、極度に迅速な機構を必要とする。
PMCによる迅速な応答時間は決定的である。
伝統的ソフトウェアループは、実行するために複数の機械サイクルを必要とする であろうし、またそのため遅すぎてこの問題を解決できないであろう。この発明 の好ましい実施例は、PMCが成る融通性のあるポーリング、分岐および待機の 機能を、1つの機械サイクルで達成することを可能にする回路を含む。
たとえば、特定のホールの状態遷移が検知された場合、1つの命令が(別の命令 の)特定されたアドレスへの分岐の実行を引き起こすかもしれない。3つの特定 のホールの状態遷移のうちいずれか1つが検知されれば、同じopコードのタイ プの別の命令が、違うアドレスへの分岐の実行を引き起こすかもしれない。これ らの命令のどれが実行されたかにかかわらず、ホールの状態遷移パターンを所望 のパターンと整合させるために、また(たとえば速度訂正の第1の命令、または エラーを処理するルーチンが置かれるかもしれない)所望のアドレスに実際の分 岐を達成するために1つの機械サイクルしか必要としない。
これらの命令がPMC回路に達成を引き起こさせる機能と、回路自身を以下に詳 細に説明する。
図面の簡単な説明 第1図は、この発明の好ましい実施例であるPMCプログラム可能DCモータ制 御ユニットの機能ブロック図である。
第2図は、4つの、ユーザがプログラム可能なPMC。
pコードのためのフォーマットを示す図である。
第3図は、PMCマイクロシーケンサのブロック図である。
第4図は、単一の機械サイクルにおいて、PMCの成る分岐動作の達成を制御す るOpコードフィールドおよび関連する回路を示す図である。
第5図は、単一の機械サイクルにおいて、PMCの成る待機動作の達成を制御す る。pコードフィールドおよび関連する回路を示す図である。
第6図は、論理されたユーザプログラムの形での典型的なP M C応用例を示 す図である。
に加えて他の装置における類似したポーリング、分岐および待機の機能性を実現 する)他の実施例は、以下の説明に鑑みて明らかとなるであろう。
第1図におけるPMCブロック図は、ユーザがどの外部の割込およびエラー状態 が検知されるかを規定し、適切な応答を作り上げる能力に加えて、いかにモータ の全速度と加速度プロファイルをカスタム化する能力を保持するかを示す。
これは主に、各ユーザ命令の実行を順序づけ、開始するマイクロシーケンサ1に より達成される。これらの命令によって開始される重要なポーリング、分岐およ び待機の能力は、実際にそのような命令を実行する専用回路との関連において以 下に詳細に説明される。
マイクロシーケンサはもちろん、ローのとき実行が最初のユーザ命令に転送され るということを引き起こす/RSTピン2を介して初期状態にリセットできる。
ユーザは(好ましい実施例では)外部の装置との交信を容易にするために3つの 汎用出力、6つの汎用入力の端子3をプログラムすることができる。ユーザはた とえば、「スタックロータフォルトJ  (sfuk rotor ftulf  )または「アットスピードO−/クアチーブドJ  (*1−spt*d I otk achieyed)のような状態を(これらの出力端子を介して)外部 の装置に示すかもしれない。入力端子はたとえば、たいていのブラシレスDCモ ータに見られるホール効果位置センサ入力のパターンに基づく、条件付分岐の条 件コード入力に使用されるかもしれない。
DCモータ速度、および加速度プロファイルを制御するために必要な基礎をなす 論理信号(第3図に示され、以下により詳細に説明されているように)を発生す るマイクロシーケンサに加えて、PMCは、これらの論理信号に応答して、実際 にDCモータの速度を制御する付加的論理も含む。この付加的論理は、典型的な ブラシレスDCモータとともに、閉ループ速度制御システムを形成し、ブラシレ スDCモータ制御装置のフィールドでは、公知である。それにもかかわらず、こ の論理の動作については、(マイクロシーケンサ内に含まれる)この発明の好ま しい実施例との関連において、ユーザのモータ速度および加速度プロファイルの 検知よび修正についての制御を示すために以下に説明される。
PMCは、ユーザが特定の事象の発生数を計数する際に援助する内部タイマ4を 含む。このタイマは、成る制御リード5を起動する、ユーザ命令の成るフィール ドによってプログラム可能であるが、この制御リード5のうちの1つ(rTME J )が指定された値(rTIMERJ )を内部タイマヘラッチすることを可 能にし、他の1つ(「DEcTJ)が内部タイマの現在の値が1ずつ減分される ことを引き起こす。内部タイマが0にカウントダウンしたら、ユーザプログラム により、検知のためrTZeroJ信号を発信することによりそう知らせる。
モータが加速および減速している間の種々の時点で、ユーザプログラムが、モー タの速度を修正する必要を検知し、その後モータの速度を上げるあるいは下げる かいずれかのために、制御ブロック6を呼出す。制御ブロックは、公知の比例/ 積分アルゴリズムを使用して、モータの速度を制御するパルスを発生するための PWM発生器8によって使用される「パルス幅カウントJ  (PWC)7を計 算する。
このアルゴリズムは下記のように実現される。
一度ユーザが(下記に説明する)ホールの状態遷移を検知すると、所望すれば、 ユーザは3つのユーザ特定フィールド9の1グループを介して、制御ブロック6 との交信をすることにより、ユーザプログラムは、他の2つのフィールド(ユー ザの所望する、最終モータ速度、すなわち「Fv」およびモータの方向、すなわ ちrD I RJ )により表わされる値の制御ブロックにおけるレジスタへの ラッチを引き起こす。好ましい実施例では、Fvは16ビツトの2の補数である 負数であり、その絶対値は、モータが特定の最終速度でスピンしているときに、 ブラシレスDCモータのホール効果センサ出力の隣接する状態遷移の間隔におけ る、制御ブロッククロックサイクルの数を表わす。
FVEがハイになれば、Fvは、制御ブロックの16ビツト「アップカウンタ」 にロードされ、カウンタの前の値はモータがユーザの特定した最終速度を越えた 、あるいは達しなかった程度を表わす「比例誤差」値として制御ブロックレジス タにクロックされる(なぜなら、最終速度においては、カウンタはOまでカウン トするはずだからである)。制御ブロックはまた、「積分誤差」として知られる 、前の比例誤差値の和を維持する。制御ブロックのアップカウンタが再ロードさ れる度に、現在の比例誤差値および積分誤差値が合計され、モータの速度を調節 するために使われる「パルス幅制御」値(PWC)7として目盛換算される。
種々のPWC値が、互いに関して正確であっても、所望する量で、モータの速度 を修正するために必要である、適するモータ速度の発生に必要なハイとローのパ ルスの割合を表わす。たとえばPWCが、(0から255の範囲にある)8ビツ トの数であれば、0の値はバイパルスが発生されないことを示し、225の値は すべてのパルスがハイになることを引き起こすことを示し、0ないし225の間 の値は、対応する割合のハイとローとのパルスを発生する結果となる。
しかしながら、留意すべきは、これらのパルスの振幅と周波数とは一定のままで あり、単にハイのパルスとローのパルスの割合(すなわちパルス幅、またはデニ ーティサイクル)のみが変化するので、モータ速度の変化が引き起こされるとい うことである。
PWM発生器は、PWCを利用して、パルスを出すための適正なタイミング、ま たは「パルス幅変調された」出力(PWM)10を発生し、(pwcによって表 わされるハイに対するローのパルスの割合に従って)モータの速度を制御する。
PWM信号10は、ホールの状態センサの実際のスペーシングに対応した適切な パルス幅変調の割合で、モータの位相ドライバ(PDRV)12を可能化するた めに、プログラム可能整流(commutation )論理/ドライブ可能化 論理11によって使用される。
整流表のための定数値は、製造業者により、特定のホール状態センサのセットの 各々のために発生される。このようにPWM発生器8により発生された同じPW M値10は、たとえ違うセンサスペーシングを採用していても、モータ速度変化 をもたらすために使用されることが可能である(なぜなら、センサスペーシング における変化は、プログラム可能整流論理/ドライブ可能化論理11により考慮 に入れられているからである)。
このように、PWM信号10は、モータの実際の速度を決定する、なぜなら位相 ドライバ12は、本質的には、モータによって「ローパスフィルタ化」されるか らである。
つまり、モータが受ける平均電流が速度を制御するように(ちょうど特定の時間 内に、大変敏速に灯りを点けたり消したりすると、平均的な明るさまたは、「オ ンとオフ」のスイッチの割合に比例して、絶間なくついているように見えるごと く)、それらは大変敏速に(速度の変化の検出に関連して)つけたり消したりさ れているのである。
位相ドライバ12は、PMC外部よりの高出力可能化信号(OE)13により直 接不能化できる。さらに、外部の「BRAKEJ信号14は、(位相ドライバの ためにプリプログラムされた値を使って)プログラム可能整流論理/ドライブ可 能化論理11によってモータのダイナミックな停止を引き起こす。
制御ブロックは、ユーザによって特定されたモータの速度への修正を行なわせて いる一方、ユーザプログラムによる検知のために、成る情報(たとえば、制御ブ ロックにより計算された比例誤差値(EP)15およびタイマがホールの状態遷 移の間に、0か、正の最大値32.767を越えてカウントしたか否かを示すオ ーバフロー信号等)をマイクロシーケンサに送り返す。
加えて、制御ブロックは、モータの方向(DIR)17をプログラム可能整流論 理/ドライブ可能化論理11(モータの方向は、異なったホール状態センサスペ ーシングのための位相ドライブ12の適切なタイミングの計算に影響を与えるの で)と不動作時間発生器18(モータの方向の変化の後、特定の「不動作時間」 間隔19の間位相ドライバを不能化し、スイッチのオーバラップ、高圧電源のシ ョートが起こらないことを確実にする)とに送る。ユーザ命令の成るフィールド を通して、不動作時間の長さはプログラム可能であり、これは不動作時間可能化 (rDDTEJ )と値(rDDTIMJ)信号が不動作時間発生器18へ送ら れることを引き起こす。
モータの速度に、変化を与えるためには、(上記の制御ブロック6、PWM発生 器8、プログラム可能整流論理/ドライブ可能化論理11および不動作時間発生 器18モジユールを介して)まずユーザプログラムが、ホールの状態遷移を検知 しなければならない。そうして初めてプログラムは制御ブロックにカウンタをチ ェックし、モータの速度調整が必要かどうか決定するよう命令できる。公知であ るホールの状態センサ21とプログラム可能ホール状態遷移検知器22(これは 単にセンサを「読取り」、モータが次のホール状態へ進んだかどうかを決定する 装置である)が、この「ホールの状態遷移J  (HST)23情報をユーザの プログラム(マイクロシーケンサ1内で実行される)に提供するために使用され る。
1度モータが所望する速度の範囲にあると(比例誤差(E P)値15が0であ ることで示される)、制御ブロックはユーザプログラムにより再構成される。言 換えれば、各ホールの状態遷移の後は、ユーザは、制御ブロックへ、FVがラッ チされることを引き起こす必要がない。その代わり、ユーザは成る時間が過ぎて 後か、または、1つの特定なホール状態(またはいくつかのホール状態の組合わ せ)が検知された後に初めてこの値をラッチすることを決定してもよい。
この機構は、ユーザによるモータ速度と加速度プロファイルの極めて正確な制御 の維持を可能にする。さらに制御ループの利得は、制御ブロッククロックの周波 数を変えることにより、(クロック発生器可能化(rcGE」)と周波数値(r CKVALJ )信号24をプログラム可能クロック発生器25へ送ることによ り)調節可能である、というのは、この周波数は直接的に比例および積分誤差値 に影響を与えるからである。
ユーザはまたrAUJフィールドを介して、このモータ速度制御機構を完全に不 能化することができる。もしもこのフィールドが、0の値を含んでいれば、マイ クロシーケンサは、ローのrAUラッチ」信号26を送り、AUラッチ信号26 がハイになるまで、位相ドライバ12を絶間なくオンにしたまま、制御ブロック の使用を完全に不能化する。これはモータが「全開のループ速度」で回転するこ とを強制する。
1度ユーザが、制御ブロックのユーザを再可能化するように、AUラッチ信号2 6を向ければ、位相ドライバは再びパルス幅を変調され、それによりPWM発生 器8によりパルスが発生されている間だけオンになる。BRAKE信号14は、 位相ドライバに対する制御ブロックの影響を無効にし、ダイナミックな制動機能 の発生を強制する。この機能により静止するまで長く動きが尾を引くことなくモ ータが素早く停止する。
PMCOpコード フォーマット この発明の好ましい実施例を実現する回路を含む、マイクロシーケンサ内部の詳 細について述べる前に、この発明の根底をなす種々のポーリング、分岐および待 機の機能を達成するための回路を指示するユーザ命令の実際のフォーマット(o pコード)を理解することは有用である。
第2図が示すのは、4つのOpコードフォーマットのタイプで、これは各Opコ ードの最上位の2ビツト(ビット22とビット23)によって表わされ、このよ うに4のOpココ−グループ、または、rOPGRPJの名称を明らかにしてい る。PMCは、(第3図に示される)FROMアレイを含み、これは好ましい実 施例では、64の語法で、メモリの各ワードが、24ビツトのユーザ命令からな っており、各命令は、4つのopコードタイプの1つに従う。
上に述べたとおり、この発明は主に0PGRP2に関連して説明される。にもか かわらず、ユーザによって与えられる制御の程度を認めるために、各opコード の各機能的フィールドの意味を理解することは重要である。各フィールドは、以 下に述べられ、それに続いて、0PGRP2フイールドと関連する回路が詳細に 説明される。
0PGRPOopコードは、主にPMCの初期設定のために使用される。2つの 最上位ビット(ビット22とビット23)が0PGRPOopコードとして命令 を指定する。
次に最上位のフィールドrDDTEJ  (ビット21)およびrDDTIM  (2−0)J  (ビット2O−18)は、モータにおける方向の変化の後起こ り得る高圧電源の接地へのショートを避けるため、パワードライバを介して、位 相ドライバが不能化される不動作時間をユーザが特定できるようにする。実際の 不動作時間は、3ビツトの値で、DDTIM(2−0)に表示される。もしその 値が「111」であれば、位相ドライバは、限定なしに不能化される。DDTE 信号は、不動作時間発生器ヘラッチされることにより、DDTIM (2−0) 値を有効にする。
0PGRPOの最後の3つのフィールド、すなわち「FvE」 (ビット17) 、rDIRJ  (1:’ブト16)およびrFV (15−0) J  (ヒ ラ)15−0) ハ、モー9(D所望の最終速度と方向をユーザが特定すること を可能にする。
FV (15−0)は、ホール効果センサ状態遷移の間隔における、制御ブロッ ククロックサイクルの数を表わす、モータの実際の最終速度を含む。DIRは、 ユーザがモータに所望する回転の方向(時計回りまたは反時計回り)を表わす。
ユーザがFVE−rlJに設定すると、マイクロシーケンサは、FV (15− 0)で特定される最終速度値が制御ブロックヘラッチされるようにし、そこでそ れはモータの速度を最終的に制御するパルス幅変調計数を計算するために使われ る。上記説明のとおり、ユーザは一般的にはホール効果センサ状態遷移に際して 、最終速度値をラッチさせる。
このように、0PGRPOは、モータの最終速度、方向、およびモータの方向に おける変化の間のうち不動作時間の量といったPMCの値をユーザが初期設定す ることを可能にする。
0PGRP1はまた、ユーザが成る初期設定タスクを達成することを可能にする 。2つの最上位ビット(ビット22とビット23)は、0PGRP1op=+− ドとして命令を指定する。
次に最上位のフィールド、すなわちrJMPo (5−0)」 (ビット2l− 16)およびrNAo (4−0)J  (ビット15−11)は、ユーザが外 部の条件の成る組合わせに基づいて(特定のオフセットによる)ユーザプログラ ムの別の命令へ、実行を転送することを可能にする。この条件付分岐フィールド および関連する回路は、この発明と密接に関係しているので、(OPGRP2の rJMPl (5−0)」フィールドとの関連において)下により詳細に論する ことにする。
次に最上位のフィールド、すなわちrAt)j  (ビット10)は、ユーザが (AU−0に設定することにより)パルス幅変調されたドライバ制御論理を不能 化することを可能にし、これによりモータは全速力で動くことになる(というの は位相ドライバが常にオンになるからである)。1度QPGRP1命令がAU− rlJの状態で実行されれば、位相ドライバは、再び制御ブロックパルス幅変調 ドライバ制御論理により制御される。
次に最上位の2つのフィールド、すなわちrOUTEJ(ビット9)およびrO UT (2−0)J  (ビット8−6)は、ユーザが(OUTE−rlJに設 定することにより)、PMCのピン上に、出力信号として、3つの汎用出力をラ ッチすることを可能にする。
最後の3つのフィールドすなわちrDEcTJ  (ビット5)およびrTME J  (ビット4)およびrTIMER/CGVALJ  (ピッ)3−0)  は、ユーザが、4ビツトの内部タイマの値または4ビツトのプログラム可能クロ ック発生器の値をプログラムすることを可能にする。TIMER/CGVALは 、内部タイマおよび/またはプログラム可能クロック発生器へ、ラッチされるべ き実際の4ビツトの値を表わす。TME−rlJで、DECT−rOJのとき、 TIMER/CGVALの値は内部タイマへラッチされる。もしTME−rlJ で、DECT−rljならば、この値はプログラム可能クロック発生器へラッチ される。
加えて、DECT−rlJでTME−rOJならばいつも内部タイマの値は1ず つ減分される。
このように、JMPO(5−0)分岐条件(これについては下に詳細に説明する )を除いては、0PGRP1は主に、特定の状態の発生が検知された後、モータ の速度を決定するといったユーザによるカスタム化された種々のタイミング機能 に使用可能な内部タイマを設定すること、加えて、プログラム可能クロック発生 器の値を設定することでユーザがモータの速度を制御することを可能にする。
0PGRP3は、ユーザがモータの速度をチェックし、制御することを可能にす る。2つの最上位ビット(ビット22とビット23)は、OP G RP 3  o p :+−ドとして命令を指定する。残りの3つのフィールド、すなわちr JMP3J  (ピッ)21)、rcKVAL(15−0)J  (ビット2O −5)およびrNA3 (4−0)J  (ビット4−〇)は、ユーザが比例誤 差値をチェックし処理することを可能にする。
上記のとおりFV (15−0)は、ユーザの特定した最終速度値を含み、この 値は、カウンタヘラッチされ、これはモータが実際この速度で回転している場合 、次のホール効果センサ状態遷移によって、Oに達するはずである。各遷移の後 のカウンタの値(第2図のEpにより表される)は、マイクロシーケンサへ転送 される。ノンゼロの値は、位相ドライバがモータの速度を訂正することを可能に するのに必要な値を計算する制御ブロックにより使用される「比例誤差」を表わ す。
この比例誤差値は、ユーザが速度誤差に適切な応答を呼出すためにも、使用され る。NA3 (4−0)フィールドは、実行が条件付で転送される現在の命令の アドレスから、(64語ユーザプログラム内の)5ビツトオフセツトアドレスを 表わす。CKVAL (15−0)フィールドは、比例誤差値に比較される16 ビツトの数を表わす。JMP3フィールドは、実行が特定されたNA3 (4− 0)オフセットにより転送される条件を表わす。JMP3− rOJであれば、 比例誤差値がユーザの特定したCKVAL (15−〇)と同じかあるいは超過 した場合は、実行は、転送される。JMP3− rlJであれば比例誤差値がユ ーザの特定したCKVAL (15−0)より小さい場合は実行は転送される。
コノヨウニ、0PGRP3op:7−ドは、(主1;l: P M C変数を初 期設定するために使用される0PGRPOおよび0PGRP1opコードとは逆 に)ユーザが速度誤差に対する適切な応答を定義することを可能にし、それによ ってユーザにPMCモータの速度に対する制御をしばしば提供する。
0PGRP2opコードは、ユーザが6つの汎用PMC入力の組合せをテストし 、おそらくは1つまたは2つ以上の特定の事象が発生した後に、適宜、他のユー ザ命令へ分岐することを可能にする。モータの速度を制御するために必要な迅速 な応答時間を可能にするのは、このopコードならびに関連する回路である。以 下に詳しく示すとおり、この回路により達成され、このopコードを通してユー ザによるプログラムも可能な独自の機能は、ユーザがモータの速度と加速度プロ ファイルをカスタム化することと、ユーザ定義条件(特定のしきい値を越える速 度誤差のような)と同様に外部からの割込を検知し、応答することと、「スタッ クロータフォルト」や「アットスビードロックアチーブド」のような外部の装置 への所望する出力信号の提供とを可能にする。
2つの最上位ビット(ビット22とビット23)は、0PGRP20pコードと して命令を指定する。次の最上位フィールド、すなわちrWT (3−0)J   (ビット2l−18)は、このフィールドにおいて特定された4ビツトの値に 基づく種々の複合待機機能を達成する。
ro 000Jが特定されると、待機は不要となり、実行は次のシーケンシャル 命令へ進む。rooolJが特定された場合は、マイクロシーケンサはホールの 状態遷移がプログラム可能ホールの状態遷移検知器(第2図参照)により検知さ れるまで待機し、その時点で(このopコードの他のフィールドに特定される) ジャンプの条件が満たされない限りは、実行は次のシーケンシャル命令に進む。
ro 01 AJが特定されると、マイクロシーケンサは入力3がAと等しくな る(I3−A)まで待機し、(このOpコードの他のフィールドに特定される) ジャンプの条件が満たされない限りは次のシーケンシャル命令に進む。
roloAJが特定されると、マイクロシーケンサは!4−Aになるまで待機し ジャンプの条件が満たされない限りは次いで次のシーケンシャルな命令に進む。
ro 11 AJが特定されると、マイクロシーケンサはl5−Aになるまで待 機し、ジャンプの条件が満たされない限りは次いで次のシーケンシャル命令に進 む。最後にrlcBAJが特定されると、マイクロシーケンサは13−A、l4 −B、およびI 5−Cになるまで待機しジャンプの条件が満たされない限りは 次のシーケンシャル命令に進む。
残りのフィールドは2つの「ジャンプ条件」フィールド」すなわちrJMP2  (1−0)J  (ビット17−16)およびrJMPl (5−0)J  ( ビット15−10)と2つの「アドレスオフセット」すなわちJMP2 (1− 0)に対応するrNA2 (4−0)J  (ビット9−5)およびJMPI  (5−0)に対応するrNAl (4−0)J  (ビット4−0)から構成さ れている。(以下に議論される)これらのジャンプ条件が満たされれば、特定の オフセットにより実行の転送が引き起こされる。同時に議論されるのは、それぞ れ0PGRP1のビット21−16および15−11に特定されるJMPO(5 −0)ジャンプ条件および関連するNAO(4−0)アドレスオフセットである 。
JMP2 (1−0)フィールドは、「00」と等しいときは、(以下に説明さ れる)JMPl(5−0)ジャンプ条件が満たされない限り、(もしあれば)待 機していたパターンが検知された後マイクロシーケンサが無条件に次のシーケン シャル命令を継続することを引き起こす。(つまり、ジャンプ条件は特定されな い)。「01」が特定されれば、マイクロシーケンサは、これもまた満たされた JMPi (5−0)ジャンプ条件により無効にならない限り、NA2 (4− 0)において特定されるオフセットにより、無条件にジャンプする。「10」が 特定されればマイクロシーケンサはJMPI (5−0)ジャンプ条件がこれも また満たされることにより無効にならない限り、クロックカウンタのオーバフロ ー状態が検知されると、NA2 (4−〇)において特定されるオフセットによ りジャンプする。
最後に、「11」が特定されるとマイクロシーケンサは、JMPI (5−0) ジャンプ条件が満たされることにより無効にならない限り、内部タイマの値が0 であると、AN2 (4−0)において特定されるオフセットによりジャンプす る。
(OPGRPIOI):l−ドの)JMPO(5−0)フィールドは、rooo oXXJと等しければ、(1度待機が完了すれば)、マイクロシーケンサが無条 件で次のシーケンシャル命令に続くことを引き起こす。rooolXXJが特定 されると、マイクロシーケンサはNAO(4−0)に特定されるオフセットによ り無条件にジャンプする。
roolXXAJが特定されるとマイクロシーケンサは入力3がAと等しいとき (つまりl3−Aのとき)、NAO(4−0)に特定されるオフセットによりジ ャンプする。
roloXBXJが特定されると、マイクロシーケンサは14−BのときNAO (4−0)に特定されるオフセットによりジャンプする。rol 1CXXJが 特定されると、マイクロシーケンサはl5−C)のときNAO(4−0)に特定 されるオフセットによりジャンプする。riooXBAJが特定されると、マイ クロシーケンサはl3−Aおよびl4−BのときNAO(4−0)に特定される オフセットによりジャンプする。rlolcBXJが特定されると、マイクロシ ーケンサはl4−BおよびI 5−CのときNAO(4−0)に特定されるオフ セットによりジャンプする。rl 10CXAJが特定されると、マイクロシー ケンサはI 3−AおよびI 5−CのときNAO(4−0)に特定されるオフ セットによりジャンプする。rlllcBA」が特定されると、マイクロシーケ ンサはl3−Aまたは14−BまたはI 5−CのときNAO(4−0)に特定 されるオフセットによりジャンプする。
同様に、(OPGRP2opコード)のJMPl(5−〇)フィールドは、ro oooXXJと等しいとき、マイクロシーケンサが無条件に次のシーケンシャル 命令に継続することを引き起こす。rOOolXXJが特定されると、マイクロ シーケンサはNAI (4−0)に特定されるオフセットにより無条件にジャン プする。
roolXXAJが特定されると、マイクロシーケンサは入力OがAに等しいと き(つまり10−Aのとき)NA1 (4−0)に特定されるオフセットにジャ ンプする。
roloXBXJが特定されると、マイクロシーケンサは11−BのときNAI  (4−0)に特定されるオフセットによりジャンプする。ro 11 CXX Jが特定されると、マイクロシーケンサはl2−C)のときNAI (4−0) に特定されるオフセットによりジャンプする。rlooXBAJが特定されると 、マイクロシーケンサはlo−Aおよび1l−B)のときNAI (4−0)に 特定されるオフセットによりジャンプする。rlolcBXJが特定されると、 マイクロシーケンサは11−Bおよび12−Cのと!NA1(4−0)に特定さ れるオフセットによりジャンプする。rllOcXAJが特定されると、マイク ロシーケンサは10−Aおよび! 2−CのときNA1(4−0)に特定される オフセットによりジャンプする。rlllcBAJが特定されると、マイクロシ ーケンサは10−Aまたは11−BまたはI 2−CのときNAI (4−0) に特定されるオフセットによりジャンプする。
このように、0PGRP2に主に見られるジャンプ条件とアドレスオフセットフ ィールドは、6つの汎用入力(IO−15)の種々の組合わせを、ユーザがボー ルすることを可能にし、おそらくは1つまたは2つ以上の特定の条件が満たされ ることを待機した後、特定したオフセットにより分岐すること(つまりユーザプ ログラムの特定の命令またはルーチンへの分岐)を可能にする。1つの機械サイ クマイクロシーケンサコンポーネントの説明に引き続き説明第3図に示されるマ イクロシーケンサの4つの基本コンポーネントをよく見ると、迅速なポーリング 、分岐および待機の機能性を実現する回路が秩序立って理解できる。
FROMアレイ1は(好ましい実施例においては)、最大64語のユーザプログ ラムを含み、その各語(または命令)は、24ビツトの長さである。アドレス制 御機構2は、実行のためのFROMアドレス3による命令を選択することにより ユーザのプログラムの命令の実行順列を制御する。
/RST信号4は種々のPMCコンポーネントを初期設定した後にアドレス制御 機構が最初のシーケンシャルなFROMアドレス(つまりアドレスroo000 0J)を発することを引き起こす。
第2図に示される4つのOPコードの各々のフィールドをよく見ると、可能なア ドレスオフセット5は各々5ビツトアドレスオフセツトであるNAO(4−0)  、NAI(4−0) 、NA2 (4−0)およびNA3 (4−0)である 。(rJMPJ信号6によって示されるように)、ジャンプ条件が満たされれば 、対応する5ビツトアドレスオフセツトは、6ビツトオフセツトへ符号拡張され 、次のアドレスを形成するために現在のアドレスに加えられる。さもなければ、 マイクロシーケンサは、現在のアドレスに止まり(「待機」の条件が満たされる まで)、再び現在の命令を実行するか、または(rlNcJ信号7によって示さ れるように)次のシーケンシャルなアドレスの次の命令を実行する。
0PGRPI (JMPO)および0PGRP3 (JMP3)フィールドを含 む命令は、ジャンプ条件が満たされなければ、常に次のシーケンシャル命令へ進 む;一方0PGRP2 (JMPlおよびJ MP 2)フィールドを含む命令 は、(ジャンプ条件が満たされなければ)(もしあれば)待機していた事象が発 生した後でなければ次のシーケンシャル命令へ進まない。アドレシングはFRO Mアレイの最初の命令が最後の命令に続く次のシーケンシャル命令になるように ラップアラウンド(wrap  around)する。
各命令が1つの機械サイクルにおいて実行されるので、アドレシング機構はシス テムクロックの立上がり端縁と同期され、これはまたモータの速度を測定する制 御ブロックにより参照される。システムクロックの周波数はプログラム可能クロ ック発生器(第1図参照)を通してユーザによりプログラム可能である。
パターンマツチ機構8は条件付ジャンプおよび待機条件が満たされたかどうかを 決定し、続いてアドレス制御機構へ適切なJMPおよびINC信号を発する(こ の発明の好ましい実施例における)実際の回路を含む。実際のパターンマツチン グ回路については以下に、より詳細に説明することにする。
パターンマツチング機能を達成するために、パターンマツチ機構が入力として受 信するのは、(制御ブロックが0PGRP2命令のJMP2 (1−0)フィー ルドにおいて比較されるべき内部カウンタのオーバフローを検知したときに発生 する)オーバフロー条件9と、(プログラム可能ホール状態遷移検知器が0PG RP2命令のWT (3−0)フィールド11において比較されるべきホールの 状態遷移を検知したときに発生する)H3T信号10と、(内部タイマが0に到 達したとき0PGRP2命令のJMP2 (1−〇)フィールドにおいて比較さ れるべく発生する)TZero条件12と、(制御ブロック内で計算され、0P GRP3命令において速度誤差をチェツキングするためのユーザが特定する(、 KVAL (15−0)14に比較すべく使用される)比較誤差値(Ep)13 と、(たとえばユーザの成る命令のジャンプ条件16の範囲内でユーザが特定す るビットに比較されるべき3ビツトホールセンサ出力を含む)6つの汎用入力( 1(5−0)>15とである。
Opコードデコーダ17は、各ユーザ命令の実際のビットを受け、4タイプのO pコードのうちのどれが実行されているかを決定するために各命令のうち最上位 の2つのビットを使用して、各命令を対応するフィールドヘデコードし、その後 4つのアドレスオフセットフィールド5をアドレス制御機構へ、CKVAL ( 15−0)フィールド14、ジャンプ条件フィールド16およびWT (3−0 )フィールド11をパターンマツチ機構へ、そして残余のデータおよび制御フィ ールド18を出力としてマイクロシーケンサの外部の他のコンポーネントに多重 化する(第1図参照)。
注意すべき点はAUフィールド値は最初フリップフロップ19に記憶されるので 、ユーザが逆の値を持つ別の0PGRPI命令を発するまでは、連続的信号(A Uクラッチを維持することができる(プログラム可能整流論理/ドライバ可能化 論理機構ヘラッチし、モータが全速力で作動するかまたは、パルス幅変調される ことを引き起こす)ということである。
分岐Opコードフィールドと関連する回路第4図が示しているのは、(第2図に 図示される)OFGRP2のOpコードフィールドの可能な値および単一の機械 サイクルにおけるPMCの独自の分岐動作を達成するOpコードフィールドによ って制御される関連する回路である。
通常、ユーザプログラムの実行は、順序通り1つの命令から次の命令ヘシーケン シャルに進む。このOpコードフィールドは、PMCユーザがPMCに、次のシ ーケンシャル命令以外のユーザ命令へ、分岐する(実行を転送する)よう命令す ることを可能にする。
しかし、(先行技術のソフトウェアの分岐条件がそうであるように)1つの特定 な条件が満たされているか否かによってユーザが分岐することを可能にする代わ りに、このOpコードフィールドはすべて単一の機械サイクル内で、このような 条件種々の順列(pt+mmjNius)をユーザがテストすることを可能にす る。その上、(以下に述べる)もう1つのフィールドは、(多くの機械サイクル を必要とし、ホールの状態遷移への迅速な応答時間を要求するPMCのような、 成る応用には遅すぎて実行可能にはならないであろう先行技術のソフトウェアル ープの使用に対して)ユーザが、次の命令に進む前に特定の事象の発生を待機す ることを可能にする。
第4図の上半分に示されるopコードフィールドの順列を見れば、この6ビツト のopコードフィールドの3つの最上位ビット(rD5J、「D4」および「D 3」)が、ユーザが8つの異なる条件(つまりPMCによってボールされている ホールの状態遷移を表わす3つのビットの順列)のいずかをテストすることを可 能にし、rDOJ、rDIJおよび「D2」の値において条件づけられる別の命 令へ分岐する(または「D2」の値に基づいて分岐しない)ことを可能にする。
ユーザは「D5」、「D4」および「D3」の3つをすべて0に特定することで 、無条件の分岐(または分岐しない)ことを引き起こしてもよい。さもなければ 、ユーザはPMCに7つの異なった条件の1つに入力1−2、I−1およびI− 0をボールすることを引き起こさせてもよい。
ユーザは命令の「DO」、「Dl」または「D2」というビットにテストされる べき個々の入力の2進の値を特定することによってこれら7つの条件のうちの3 つをテストする。ユーザは3つの入力のうちのいずれか2つの2進の値を特定す ることにより他の3つをテストし、3つのすべての入力のうちの2進の値を特定 することで最終条件をテストシ、そのいずれか1つのマツチが条件を満たす。
二のopコードフィールドを実現する回路はまた、第4図に示される。Ar3か ら8デコーダ」は3つの最上位Opコードピット(D3、D4およびD5)を8 つの可能な状態(YO−Y8)ヘデコードする。これらの状態の各々をその入力 が8人力の論理ORゲート(0−1)に与えられる、別の論理ANDゲート(A −0−A−7)に結ぶことにより、いずれでも所与の時間に多くて1つのAND ゲートが、rTRUEJとなる(その場合でも、この条件に関連する条件が満た された場合のみである)。各々の条件自体が、個々の入力、I−0,I−1およ びI−2における(排他的NORゲート、EN−0−EN2を介してテストされ る)3つの「マツチ」条件の順列である。
待機Opコードフィールドと関連する回路分岐に加えて、(種々の入力の順列や 他の条件が満たされたとき)1つの機械サイクル内で、PMCはまた、次の命令 へ実行が転送されることを許可する前に、特定の条件が満たされるのを待機する ことができる。第5図が示すのはOpコードフィールドの可能な値とPMCの独 自の待機機能を達成する関連する回路である。
待機が所望されなければ、この待機フィールドがそれによってなる0PGRP2 opコードの4つの最上位ビットはro 000Jに設定される。このことは論 理ANDゲートA−0がrTRUEJになることを引き起こす(なぜならDlg は、インバータI−0を介して反転させられ、YOはDl9、D20およびD2 1が入力である「2から4デコーダ」から呼出されるからである)。論理AND ゲートA−0は順に、論理ORゲート0−1が「TRUEJになることを引き起 こし、このことはNORゲートNR−0およびひいてはrWAITJ条件がrF ALSEJになることを引き起こす。
ホールの状態遷移が検知されるまでの間(rooolJによって指定される)だ け待機が所望ならば、(ホールの状態遷移(rE(STJ ”)が検知されるま での間だが)状態YOは論理ANDゲートA−・1を「FALSEJにすること を引き起こす。このことは順に「WAITJ条件を「TRUEJにする、という のは(状態Yl−Y3およびインバータI−0を介してのDl8の反転により) 他のすべての論理ANDゲートもまたrFALSEJになるからである。しかし ながら1度ホールの状態遷移(rH6TJ)が検知されると、論理ANDゲート A−1が「TRUEJになり、0−1をrTRUEJl:し、NORORゲート 00(およびひいてはWA I T条件)をrFALSEJにし、命令実行シー ケンシングが再び通常に継続できるようになる。
最後に(入力1−3−1−5の)特定の入力の組合わせが検知されるまで待機が 所望されるならば、再び論理ANDゲートA−0−A−5は、命令のビットD1 g−D20において特定される値に所望の入力組合わせの1つがマツチするまで rFALSEJになる( rWAITJ条件をrTRUEJにして)。4つの入 力組合わせは排他的N。
Rゲー)EN−0、EN−1および、EN−2ならびにEN−0、EN−3およ びEN−4の(ORゲート0−0を通しての)論理roRJを介してテストされ る。「マツチ」が検知されると論理ANDゲー)A−2−A−5の1つがrTR UEJl:なり、これは論理ORゲートO−2が「TRUEJになることを引き 起こし、また論理NORゲートNR−oおよびひいては「WAITJ条件がrF AI、SEJになることを引き起こし、命令実行シーケンシングが再び通常通り 継続されることを可能にする。
重要なことは、(分岐OPコードフィールドの場合と同様)、待機と条件のテス トのすべてが単一の機械サイクルで発生し、ユーザが、ホールの状態遷移に迅速 に応答することを可能にする点である。このように、ユーザは実際のモータの速 度を素早く検知でき、(次のホールの状態遷移値により明らかになる通り)現在 のホールの状態遷移によって検知された実際の値がもはや正確でなくなる前に、 (新しい速度値を上記の0PGRPO命令を介してモータへ送り込むことによっ て)速度を調節することができる。
典型的な応用の例 第6図に示されているのは、次の仕様に基づくディスクドライブのためのDC回 転モータ制御装置の典型的応用設計である; (1)  IMHz制御ブロッククロック(2) 1分間に3600回転の所望 されたモータ速度(3) 5つの指定された入力ピンのうち3つの最上位ピンで 検知されるホールパターンが、000,011および110である3位相モータ 。
(4) 最下位の入力ピンが、アクティブハイのスタート信号(START)を 受ける。
(5) 次に最下位の入力ピンが、アクティブハイのインデックス信号(IND EX)を受ける。
(6) 2つの出力のうち最下位の出力が、エラー状態(OUTI−ERROR )を示す。他方の出力が、最終速度に達したとき、そのこと(OUTO−F I NAL)を示す。
初めに、ローのリセット信号(RST)を受けると、装置はすべての値をそれら のリセット状態に設定する。すべての機能はリセットに際して不能化され、RS Tが(クロック信号、rCLKJと同期して)ハイになるとき、装置は無条件に ワード0ヘジヤンプする。
ワードOは、PMCが(上記で議論したWT (3−0)フィールドを介しての )START信号を待機することを引き起こし、この時点で実行は(上記で議論 されたJUMPI (5−0)およびNAI (4−0)フィールドを介して) ワード1へ転送される。
ワード1は単にクロック発生器の値を初期設定し、ワード2は所望の不動作時間 値、方向および(最終速度としての)最大「非動作時間」 (力o meマz+ nuj limz)を設定する。
本質的には、ワード2はモータが最大1分間3600回転の速度でスタートする ようにする。
この時点で、PMCはモータの(次の位相への)動作またはカウンタのオーバフ ロー(この場合は誤差を処理するために実行はワード17へ転送される)を待機 する。正常なモータの動作(つまり次の位相)が検知されると、ワード4とワー ド5が上記で議論した比例誤差値(E P)を準備し、装置を「自動速度調整」 の状態に置く。(ワード6−10により処理される)この状態は、モータが所望 する1分間3600回転に達することを確実にする。
この自動速度調整は、所望の最終速度を設定しくワード6およびワード8)、各 位相でのモータの実際の速度を検知しくワード7)、(i)実際の速度が速すぎ るかまたは遅すぎる場合、ワード7へ分岐するかまたは(2)カウンタのオーバ フローが検知された場合は、誤差処理装置(ワード17)へ分岐することにより 達成される。
1度所望の速度に達すると、PMCは「インデックス入力」ヘスイッチすること が可能で、この間は固定の(より頻繁でない)間隔で所望の速度を維持する。ワ ード1l−15)。言換えれば、ホールの状態遷移の度ごとに、実際と所望の速 度を比較するよりは、PMCはこの速度を特定の時間間隔でまたはたとえば1つ おきの遷移において維持するようプログラムできる。これをユーザが制御ブロッ ククロツタ周波数を修正し、それによって計算誤差の程度を減少させることを可 能化することで、モータ速度のより正確な制御を可能にする。
最後に、カウンタオーバフローが1度でも検知されると(ワード17への分岐が 起こり)、ワード17とワード18は出力装置を不能化し、rERRORJ信号 (OUTI−1)を出力し、次いでモータを停止する。
この例にも見られる通り、PMCユーザが多大な融通性を利用可能であることは 明らかである。ユーザは特定のホールの状態遷移(または1組のホールの状態遷 移)の検知をカスタム化でき、モータの速度を増加する等、応答においては、実 質上どのような動作でも行なえ、それにより複合速度および加速度プロファイル を創作し、同様に種々の誤差検知および訂正の手続を実行できるのである。
この融通性は、この発明のポーリング、分岐および待機の回路の極めて迅速な応 答時間により可能となったものである。この「1サイクル」による方法が、先行 技術のソフトウェアループでは可能ではなかった短時間に、特定のモータの動作 に対する、ユーザの所蔵する応答を達成する装置を可能化したのである。
PMCブロア2■ 発1 田 PMCOPクード フスーマ、ト 妬2田 第3回 分1天 回外 JMPI (5−0)                 W1!   −外部 &(−+  ジ!シブ1ループlo  o o  o  x  x           #:坪q」A丸txL、ジ1ンデリシooo+xx           &#−i午つジャンプ00 1  X  X  A         I−0 ”A’1時 ;Nシブ0 1 0  X  B  X        U−1− BQej 5’q>プ011CXX          l−2−C1’l叶  ”/ t シブ+  OOX  B A         1−0sA8Jv: I−1@B ツ叶3;q>プ1 0 1  CB  X            E−1mBNJtAj 1−211CLIt ”;q>デl   I  OCX   A           I−o−jljJぴl−2−C’l # ジ4シ ブI  1 1  CB  A           l−0−A!f、dit −B!rt+!12−C*ejジャンプじXJ#”J!F%間A:J  で、I −0,l−1havr−2re入#*  温合  ]PMCの応用例 衿樟   回路 WT(3−0)              tjLe7]     1’r* 1g仔コー’p’魯 @ 6 xxxl l 111101111011100 1111   所Mf)ikn;Ml<F’V−27msよrJ)M*ブarT 1.t6゜ 111oいえ。ワ。。ワウH1l11    所望の速度より違すれば、ワード 7ヘジヤンプする。
1+ 61 鐸=αXXXXX l t ocn o OXXQ  所望の速1 Fテ、 FIIIAL(OLIT+)−1)をオンニする。
次の位相またはカウンタのオーバーフローまで待機する。カウンタがオーバーフ ローす1210 (KIDI To 0OOOXX 00101 X)ズ=Nf 、!5−at! (7−F 17) ヘジ+ シブする。
17w1°+++ e x          、出力装置を不能化する。
11 0+ 0QOIXX # 61010 D 6 XXXX ERROR( OUTl、1)を発信し、停止する。
斉す回

Claims (3)

    【特許請求の範囲】
  1. 1.コンピューティング装置の動作を制御する装置であって、 命令信号が前記コンピューティング装置により実行される命令の1つまたは2つ 以上のフィールドを表わす1つまたは2つ以上の命令信号を提供する手段と;前 記命令の実行の間、前記コンピューティング装置により処理されるべきデータを 表わす1つまたは2つ以上のデータ信号を提供する手段と; 命令信号を提供するための前記手段とデータ信号を提供するための前記手段とに 動作的に接続され、前記コンピューティング装置の1つの機械サイクル内で前記 データ信号の状態が前記コンピューティング装置により実行されている現在の命 令のために定義された状態の設定範囲内にあるかどうかを検知するための手段と ; 前記信号検知手段に動作的に接続され、前記機械サイクル内で現在の命令の実行 に引き続いて、前記コンピューティング装置により、一連の前記命令を含むプロ グラムのどの命令が実行されるかを決定するための実行シーケンシング手段とを 含み、前記実行シーケンシング手段は現在の命令から前記プログラムの次のシー ケンシャル命令へ実行を転送するためのシーケンシャル手段と、 前記信号検知手段が、前記データ信号の状態が現在の命令のために設定された状 態の設定範囲内にあることを検知するまで、前記コンピューディング装置の1つ または2つ以上の機械サイクルにわたって、前記シーケンシャル手段を禁止する 待機手段と、前記シーケンシャル手段を禁止し、前記信号検知手段が、前記デー タ信号の状態が現在の命令のために定義された状態の設定の範囲内にあると検知 した場合においてのみ、現在の命令から前記プログラムの別の命令へ実行を転送 するための分岐手段とを含んでおり; 前記装置はさらに、前記待機手段を呼出すための命令信号を含む、少なくとも1 つの命令を提供し、前記分岐手段を呼出すための命令信号を含む少なくとも1つ の命令を提供する手段を含む装置。
  2. 2.前記分岐手段を呼出すための命令信号を含む少なくとも1つの前記命令が、 前記分岐手段により実行が転送される命令のアドレスまたはアドレスオフセット のいずれかを表わす命令信号をも含む、請求項1に記載の装置。
  3. 3.前記データ信号状態の少なくとも1つが、ブラシレスdcモータ上のホール 効果位置センサにより検知される値の組合わせの1つを表わす、請求項1に記載 の装置。
JP1506339A 1988-05-16 1989-05-16 複数態様のポーリング、分岐および待機opコード Pending JPH02504326A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US194,608 1988-05-16
US07/194,608 US4868469A (en) 1988-05-16 1988-05-16 Multi-way polling, branching and waiting opcode

Publications (1)

Publication Number Publication Date
JPH02504326A true JPH02504326A (ja) 1990-12-06

Family

ID=22718234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1506339A Pending JPH02504326A (ja) 1988-05-16 1989-05-16 複数態様のポーリング、分岐および待機opコード

Country Status (4)

Country Link
US (1) US4868469A (ja)
EP (1) EP0370100A4 (ja)
JP (1) JPH02504326A (ja)
WO (1) WO1989011688A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1311063C (en) * 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
US5291610A (en) * 1990-07-12 1994-03-01 The Regents Of The University Of California Microcode sequencer changing states in response to an external gating input level change upon the occurrence of a WAIT instruction
JPH04255489A (ja) * 1991-02-06 1992-09-10 Nec Corp スピンドルモータ駆動回路
US5270622A (en) * 1992-04-13 1993-12-14 Smith & Nephew Dyonics, Inc. Brushless motor control system
US5506484A (en) * 1994-06-10 1996-04-09 Westinghouse Electric Corp. Digital pulse width modulator with integrated test and control
US6851046B1 (en) 2000-11-14 2005-02-01 Globespanvirata, Inc. Jumping to a recombine target address which is encoded in a ternary branch instruction
KR101655537B1 (ko) * 2014-09-25 2016-09-07 현대자동차주식회사 홀센서를 이용한 모터의 위치 검출 및 속도 계산 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4090120A (en) * 1975-05-08 1978-05-16 The Superior Electric Company Method and means for controlling energization by commands
US4169991A (en) * 1975-08-20 1979-10-02 International Business Machines Corporation Variable print speed control
US4383245A (en) * 1980-10-31 1983-05-10 Sperry Corporation Digital servomotor drive apparatus
JPS58175003A (ja) * 1982-04-07 1983-10-14 Fanuc Ltd 数値制御指令方式
AU570922B2 (en) * 1982-06-30 1988-03-31 Sony Corporation Digital servo circuit for motor control
JPS59177605A (ja) * 1983-03-28 1984-10-08 Fanuc Ltd 自動プログラミングにおける切削方向入力方法
US4588936A (en) * 1983-06-02 1986-05-13 Sharp Kabushiki Kaisha Digitalized position control for a D.C. motor
JPH0670764B2 (ja) * 1985-03-06 1994-09-07 株式会社日立製作所 シ−ケンス制御装置
US4697125A (en) * 1986-03-24 1987-09-29 Performance Controls, Inc. Method and apparatus for determining shaft position and for providing commutation signals
US4835632A (en) * 1987-09-16 1989-05-30 International Business Machines Corporation Disk file digital servo control system with multiple sampling rate

Also Published As

Publication number Publication date
EP0370100A4 (en) 1991-07-03
US4868469A (en) 1989-09-19
WO1989011688A1 (en) 1989-11-30
EP0370100A1 (en) 1990-05-30

Similar Documents

Publication Publication Date Title
US7719214B2 (en) Method and apparatus for controlling motors of different types
US7541763B2 (en) Servo control device
US7761192B2 (en) Complex signal processing system and related method for controlling multiple fans
JPH02504326A (ja) 複数態様のポーリング、分岐および待機opコード
US4599550A (en) Digital generation of 3-phase PWM waveforms for variable speed control of induction motor
US4099237A (en) Programmable turbine speed controller
US6978186B2 (en) Modular functional block for an electronic control system
CN111162703B (zh) 步进电机控制方法、装置及存储介质
Low et al. A microprocessor based fully digital AC servo drive
EP0094767A1 (en) Devices for generating three-phase PWM waveforms for control of induction motors
Duma et al. Rapid control prototyping toolbox for Renesas M32C87 microcontroller
JP2621477B2 (ja) インサーキット・エミュレータ
WO2022250022A1 (ja) 回転検出装置、回転検出方法および回転検出プログラム
JP2002223584A (ja) 直流モータ用制御装置
JP2001134321A (ja) 数値制御装置
JPH04355682A (ja) 位置決め装置
CN106452215B (zh) 电机驱动控制装置以及电机驱动控制装置的控制方法
Lewin The Digital Age
Zaharuddin et al. Adaptive Real-Time Stepper Motor Speed Control
CN114977908A (zh) 无刷直流电机及其控制系统
JPH0561551A (ja) プログラマブルコントローラ
KR940005144B1 (ko) 1칩을 사용한 모터 제어장치 및 그 제어방법
JPS60106395A (ja) ステツプモ−タの速度制御装置
JPH06350420A (ja) パルス入力方式のマイコンインターフェイスシステム
Lee Four axis stepper motor system