JP2549656B2 - 出力パルス発生装置 - Google Patents

出力パルス発生装置

Info

Publication number
JP2549656B2
JP2549656B2 JP62106831A JP10683187A JP2549656B2 JP 2549656 B2 JP2549656 B2 JP 2549656B2 JP 62106831 A JP62106831 A JP 62106831A JP 10683187 A JP10683187 A JP 10683187A JP 2549656 B2 JP2549656 B2 JP 2549656B2
Authority
JP
Japan
Prior art keywords
command
output
time
memory
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.)
Expired - Fee Related
Application number
JP62106831A
Other languages
English (en)
Other versions
JPS63271601A (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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP62106831A priority Critical patent/JP2549656B2/ja
Priority to US07/184,401 priority patent/US5021990A/en
Priority to DE3814622A priority patent/DE3814622A1/de
Priority to KR1019880004990A priority patent/KR910004639B1/ko
Publication of JPS63271601A publication Critical patent/JPS63271601A/ja
Application granted granted Critical
Publication of JP2549656B2 publication Critical patent/JP2549656B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/28Interface circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Programmable Controllers (AREA)
  • Feedback Control In General (AREA)
  • Electrotherapy Devices (AREA)

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、中央処理装置(CPU)からのコマンドに基
づいて任意の出力パルスを生成し出力する出力パルス発
生装置に関する。
(従来の技術) CPUから送出される出力値のデータや送出タイミング
のデータに基づいて出力パルスを生成し、出力する出力
パルス発生装置は、アクチュエータとの組合わせにより
各種の機械の制御に用いられている。
例えば自動車のエンジン制御に関するものとしては、
特公昭60−2510号に示される技術が知られている。
この装置を、第13図に示す。CPU(図示せず)は、レ
ジスタ101,102,103,104に、それぞれパルスの状態変化
の時刻TA,TB,TC,TDを設定するとともに、レジスタ105,1
06,107,108にその際の出力値DA,DB,DC,DDを設定する。
基準時刻を発生するタイマカウンタ109が示す時刻と前
記レジスタ101〜104に記憶された時刻TA〜TDとは、切換
器110によって時分割に切換えられながら比較器111によ
って比較される。比較結果は切換器112にて時分割され
て出力される。時分割出力された上記比較結果は、順次
D型フリップフロップ113,114,115,116のG端子に与え
られる。これにより、前記比較結果に応じて前記出力値
DA〜DDがラッチされ出力パルスA,B,C,Dが生成される。
この装置を用いて例えば第14図に示すような4系統の
出力パルスA〜Dを得る場合には、CPUは第15図に示す
ような処理を行う。
即ち、CPUは出力値DA〜DD及び時刻TA〜TDを各レジス
タ101〜108に設定した後、比較器111の一致出力によっ
て割込みがかかるまで、他の処理を行ない、上記割込み
がかかると必要なレジスタに対する次の設定を行う。図
中〜は、それぞれCPUへの割込みによって区切られ
た処理の区画である。
このような処理を行うことにより、CPUは、割込みが
かかってから時刻データ及び出力値データの再設定を行
うまでの時間以外は、他の処理を実行することができ
る。
しかしながら、この装置では、上記のように各チャン
ネルの比較処理やラッチ処理を時分割によって行ってい
るので、例えば第16図に示すように、各出力パルスの送
出タイミングの設定時刻は同一であっても、実際にそれ
が出力される時刻は、切換器110,112の切換時間tsだけ
ずれてしまい、時間精度の低下を招くという問題があっ
た。
また、この装置では、CPUへのある割込みから次の割
込みまでの間に1つの時刻についての状態変化しか規定
できないため、周期的パルスのようなある程度規則的な
パルスについても一回一回その立上がり及び降下部分に
ついての記述が必要になり、CPUの負担が増すうえ、出
力パルスの状態変化の最低時間がCPUの動作クロックに
よって左右されてしまい、パルス幅の短いパルスや高速
パルス等を生成することができないという問題があっ
た。
(発明が解決しようとする問題点) このように、従来の出力パルス発生装置では、複数の
チャンネルに対する処理を時分割で行っていたため、出
力パルルの送出タイミングにずれが生じ、時間精度の低
下を招くという問題があった。また、ある割込みから次
の割込みまでの間に1つの時刻についての状態変化しか
規定できないため、規則的なパルスについても一つ一つ
その立上がり部分、降下部分を記述しなければならず、
CPUの負担が増すうえ、CPUの動作時間に左右されて幅の
細いパルスや高速パルスを生成することができないとい
う問題があった。
本発明は、かかる問題点を解決すべくなされたもの
で、時間精度に優れ、CPUの負担を軽減でき、しかも幅
の細いパルスや高速パルスを容易に生成できる出力パル
ス発生装置を提供することを目的とする。
[発明の構成] (問題点を解決するための手段) 本発明では、各時刻における出力値を出力メモリに書
込むためのコマンドをコマンドメモリに記憶し、シーケ
ンサによって前記コマンドメモリに記憶されたコマンド
を順次読出し、読み出されたコマンドが示す時刻と基準
時刻(現在時刻)との差が前記出力メモリの容量によっ
て定まる時間よりも少ない場合には、そのコマンドを実
行して出力メモリに出力値を書込むようにしている。そ
して、出力メモリに書込まれた各時刻における出力値
は、前記基準時刻を発生するタイマカウンタに同期して
上記基準時刻で指定されるアドレスから順次読出され、
出力回路に与えられて出力パルスが生成されるようにな
っている。
(作用) 本発明によれば、シーケンサの読み出しコマンドが示
す時刻と基準時刻(現在時刻)との差が前記出力メモリ
の容量によって定まる時間よりも少ない場合には、出力
パルスの送出前に出力メモリへの出力値の書込みが行わ
れるので、複数のチャンネルの出力値の状態を予め書込
んでおくことができる。そして、出力メモリは、タイマ
カウンタに同期して各基準遅刻に対応する各チャンネル
の出力値を出力するので、高い時間精度を得ることがで
きる。
また、シーケンサによる出力メモリへの出力値の書込
みと、出力メモリからの出力値の読出しとが同期してい
ないため、一つのコマンドと一つの状態変化とが必ずし
も一対一に対応する必要はない。例えば規則的な周期パ
ルスの場合には、一つのコマンドで複数時刻の複数の状
態変化を指定することができる。したがって、本発明に
よれば、CPUからのコマンド記述の回数を減らすことが
でき、CPUの負担を軽減することができる。
さらには、本発明によれば、出力メモリに出力値を予
め書込んでおき、タイマカウンタの時刻設定に同期させ
て読出すため、出力パルスの状態変化の最小時間は、タ
イマカウンタのクロックによって定まり、CPUへの割込
み動作に影響されないので、幅の細いパルスや高速パル
スが生成できる。
(実施例) 第1図〜第12図に本発明の一実施例を示す。
第1図において、出力パルス発生回路1は、バス2を
介してCPU3に接続されている。
出力パルス発生回路1は、CPU3から送出される出力パ
ルス生成用のコマンドを記憶するコマンドメモリ4と、
このコマンドメモリ4に記憶されたコマンドを順次実行
するシーケンサ5と、基準時刻を発生するタイマカウン
タ6と、前記シーケンサ5がコマンドを実行することに
より書込んだ各時刻における出力値を記憶する出力メモ
リ7と、この出力メモリ7からタイマカウンタ6に同期
して読み出された出力値に基づいて出力パルスを生成す
る出力回路8とで構成されている。
コマンドメモリ4に記憶される各コマンドは、第2図
に示すように、2語(1語は2バイト)、計32ビットに
より構成されている。各コマンドは、下位から順にINST
部(2ビット)、CH#部(2ビット)、MODE部(4ビッ
ト)、時刻T部(24ビット)を示す。さらにT部は、8
ビット毎にT0部(最下位バイト)、T1部及びT2部(最上
位バイト)に分けられる。INST部は、各コマンドの識別
のためのコードであり、CH#部は4つのチャンネル(出
力端子)のうちの一つを特定するコードである。また、
チャンネルに関係しないコマンドの場合には、INST部と
CH#部とでコマンドコードを記述することがある。MODE
部は、指定されたチャンネルの出力値等、出力状態を示
すコードである。また、T部は、出力に変化を起こす時
刻を指定するコードである。
コマンドは、例えば第3図に示すにように7種類用意
されている。以下、各コマンドの機能を説明する。
(a)NOPコマンド INST部=00,CH#部=00の場合には、NOPコマンドであ
る。このコマンドは、何も変化を起こさないコマンド
で、コマンドメモリ4の空き領域を埋めるのに使用され
る。このコマンドでは、MODE部、T部は無視される。
(b)TRANSコマンド INST部=01の場合には、TRANSコマンドである。この
コマンドは、CH#で指定されたチャンネルに対して、T
部で指定された時刻にMODEで指定された状態変化を起こ
すコマンドである。このコマンドが実行されると、シー
ケンサ5により、INST部及びCH#部が共に00に書換えら
れ、NOPコマンドになる。
(c)TRNS.ALLコマンド INST部=00,CH#部=00の場合にはTRANS.ALLコマンド
である。このコマンドは、全てのチャンネルに対して、
T部で指定された時刻にMODEで指定された状態変化を起
こすコマンドである。このコマンドが実行されると、シ
ーケンサ5により、INST部及びCH#部が共に00に書換え
られ、NOPコマンドになる。
(d)TRANSADDコマンド INST部=00の場合はTRANSADDコマンドである。このコ
マンドは、CH#部で指定されるチャンネルに対して、T
部で指定される時刻にMODE部で指定される状態変化を起
こし、更に後述する時間間隔を保持するレジスタのうち
指定されたレジスタに保持された時間間隔を前記T部で
指定される時刻に加算して、その加算結果を新たな設定
時刻としてT部を書換えるコマンドである。このコマン
ドによれば、同一の変化を繰返し起こすことが可能であ
るため、周期パルスの記述に適している。
(e)TRANSADD.ALLコマンド INST部=00,CH#部=10の場合はTRNSADD.ALLコマンド
である。このコマンドは、全てのチャンネルに対して、
T部で指定される時刻にMODEで指定される状態変化を起
こし、更に後述する時間間隔を保持するレジスタのうち
指定されたレジスタに保持された時間間隔を前記T部で
指定される時刻に加算して、その加算結果を新たな設定
時刻としてT部を書換えるコマンドである。このコマン
ドも、上記TRNSADDコマンドと同様、同一の変化を繰返
し起こすことが可能であるため、周期パルスの記述に適
している。
(f)LOADITVコマンド INST部=11の場合にはLOADITVコマンドである。この
コマンドは、シーケンサ5の内部のレジスタに、T部に
設定された周期パルスの発生の際に必要な時間間隔を書
込むコマンドである。時間間隔を保持するレジスタは、
16通り設けられており、これら16通りのうちの一つのレ
ジスタがMODE部によって指定される。このコマンドで
は、CH#部の記載は無視される。
(g)SELITVコマンド INST=00,CH#部=11の場合にはSELITVコマンドであ
る。このコマンドは、周期パルスの発生の際に必要な16
通りの時間間隔を保持するレジスタの中からMODE部で指
定される一つのレジスタを選択するコマンドである。こ
のコマンドではT部の記載は無視される。
以上の各コマンドを用いて出力パルスの形態を記述し
た例を第4図に示す。これは前述した第14図のパルスを
得るための記述である。
の記述は、A,B,C,Dの4チャンネルに時刻0で出力
値0を出力するための記述である。
の記述は、チャンネルAに時刻4で出力値1を、時
刻12で出力値0を与えるための記述である。
の記述は、チャンネルBに時刻12で出力値1を与え
る記述である。
の記述は、チャンネルCに、時刻4で出力値1を与
え、時刻9で出力値を反転させ、時刻11で出力値をさら
に反転させ、時刻14で出力値0を与える記述である。
の記述は、R0で指定されるレジスタに周期パルスの
時間間隔6を設定し、Dチャンネルに、時刻1で出力値
1を与えるとともに上記時間間隔6を時刻1に加算して
その加算結果7を新たな時刻として書換え、時刻3で出
力値0を与えるとともに上記時間間隔6を時刻3に加算
してその加算結果9を新たな時刻として書換える記述で
ある。
の記述は、コマンドメモリ4の余剰領域に無変化コ
マンドを埋めるための記述である。
以上のコマンドによって、第14図のパルスを指定でき
る。
このようなコマンドを記憶するコマンドメモリ4は、
具体的には第5図に示すように構成されている。
16ビット×32語の容量を持つRAM21は、16項のコマン
ドを記憶することができる。調停回路22は、上記RAM21
へのアクセスがCPU3とシーケンサ5の双方から行われる
ために、両者の使用要求を調停する。スイッチ23は、調
停回路22の出力に応じてRAM21に対するCPU3からのADDRE
SSとシーケンサ5からのADDRESSとを切換える。16ビッ
トのラッチ回路24は、RAM21から読み出された16ビット
のデータ(コマンド)をCPU3に出力するまでの間ラッチ
する。スイッチ25は、CPU3からのデータ及びシーケンサ
5からのデータを切換えるためのものである。
この実施例では、シーケンサ5がコマンドメモリ4を
読み書きするのに必要な時間をシーケンサ5の動作を規
定するシステムクロックSCKの時間間隔と同じに設定し
ている。一方、CPU3がコマンドメモリ4を読み書きする
のに必要な時間は、上記システムクロックSCKの3倍で
あると設定している。
また、CPU3がコマンドメモリ4を読み書きする場合に
は、第6図に示すように、最初の1クロック目では▲
▼信号が有効でないため、番地が不確定である。
更に、シーケンサ5が2クロック連続してRAM21を使用
することはないと想定している。
この想定に基づき、調停回路22では次のような調停を
行うようにしている。
調停は、シーケンサ5からの要求がCPU3からの要求に
優先するように行われる。第6図のの期間では、CPU3
からの要求の番地が確定していないため、シーケンサ5
のみがRAM21を使用することができる。
及びの期間では、CPU3及びシーケンサ5の双方が
RAM21を使用可能である。ここで、の部分でシーケン
サ5が使用要求を出さなかった場合には、CPU3は、この
区間を使用することが可能となり、読み出しの場合に
は、で値を得るこが可能になる。また、の部分でシ
ーケンサ2が使用要求を出さなかった場合には、CPU3
は、この期間を使用でき、で値を得ることができる。
したがって、CPU3は、又はのいずれか一方の期間で
値を得ることが可能となる。このため、RAM21のCPU3側
の端子に読み出したデータを保存するためにラッチ24が
必要になる。
また、シーケンサ5は連続してRAM21を要求すること
がないため、シーケンサ5が又はの期間を使用した
場合には、CPU3はの期間を使用でき、またシーケンサ
5がの期間を使用した場合には、CPU3は又はの期
間を使用できる。
但し、CPU3が要求した番地とシーケンサ5が要求した
番地とが等しいときには、実行しているコマンドの番地
とCPU3が要求した番地とが等しいことを示しているた
め、シーケンサ5による実行に混乱を生じさせないた
め、及びCPU3が不完全な値を読み出さないようにするた
めに、CPU3はシーケンサ5が当該コマンドの実行を終了
するまで、RAM21への要求待ち状態となる。
以上のような調停を行うことにより、CPU3とシーケン
サ5からの使用要求に対する待ち時間を必要最少限に抑
えることができる。
次に、シーケンサ5について説明する。
シーケンサ5は、具体的には、第7図に示すように、
8ビットの加減算器31と、コマンドメモリ4のアドレス
を与えるプログラムカウンタ(PC)32と、各種レジスタ
(RG)33〜49と、これらを制御するコントローラ(CT
L)とで構成されている。
コマンドメモリ4に対するアドレルを生成するプログ
ラムカウンタ32は、4ビットのカウンタにより構成され
る。コマンドメモリ4は、32語分の容量を持つため、ア
ドレス指定には5ビット必要である。したがって、最下
位ビットはコントローラ50からのPCO信号を用いてい
る。プログラムカウンタ32のインクリメントは、コント
ローラ50からのINC信号により行われ、リセットはRESET
信号により行われる。
コマンドメモリ4からのコマンドは、16ビットのデー
タバスを介して入力されている。データバスは、シーケ
ンサ5の内部では、8ビットずつの処理を行うために上
位バイトバス(HBYTE)51と、下位バイトバス(LBYTE)
52とに分離されている。
下位バイトバス52を介して入力されたコマンドの1バ
イト目、即ちINST部、CH#部及びMODE部は、8ビットの
IRレジスタ33に格納される。IRレジスタ33に格納された
INST部及びCH#部は、コントローラ50に与えられてい
る。したがって、コントローラ50は、与えられたINST部
及びCH#部からコマンドの意味を解読して必要な制御を
行う。また、このIRレジスタ33は、INST部及びCH#部を
00に書換え、コマンドメモリ4への書き戻しが行なえる
ようになっている。
また、上位バイトバス51を介して入力されたコマンド
のT部の最下位バイトT0及び最上位バイトT2は、T0レジ
スタ34及びT2レジスタ35にそれぞれ格納され、中間バイ
トT1はT1レジスタ35に格納される。これらレジスタ34〜
36の出力は、ALバス54を介して加減算器31の一方の入力
に8ビットずつ与えられる。一方、タイマカウンタ6か
ら出力される24ビットの基準時刻(TCO)データは、8
ビットずつ、GTOレジスタ38、GT1レジスタ39及びGT2レ
ジスタ40にそれぞれ格納される。これらレジスタ38,40
は、コマンド実行中にタイマカウンタ6の出力が変化す
ると混乱を生じるために各コマンドの実行の始めにタイ
マカウンタ6の値を保持しておくものである。そして、
これらレジスタ38〜40の出力は、AHバス53を介して加減
算器31の他方の入力に8ビットずつ与えられる。また、
加減算器31の上記他方の入力には、上記AHバス53を介し
て、ITV0レジスタ41、ITV1レジスタ42及びITV2レジスタ
43からの出力が8ビットずつ与えられることもある。こ
れらレジスタ41〜43は、コマンドメモリ4からバス51,5
2を介して入力された周期パルスの時間間隔データを格
納するレジスタで、それぞれのレジスタ41〜43が16通り
備えられている。IRレジスタ33に格納された4ビットの
MODE部は、4ビットのITVRレジスタ37に格納される。そ
して、このレジスタ37に格納されたMODEによって、各16
通り設けられた上記レジスタ41〜43の1つが選択され
る。
加減算器31は、(ALバス53上の出力+AHバス54上の出
力)又は(ALバス53上の出力−AHバス54上の出力)の計
算を行う。8ビットの加減算器31によって24ビットの加
減算を行うために、加減算器31には減算用のキャリーフ
ラグCY0と、加算用のキャリーフラグCY1と、加減算結果
の下位5ビットが0の場合にセットされるLZフラグと、
加減算結果の上位3ビットが0の場合にセットされるUZ
フラグとを格納する4ビットのフラグレジスタ44が付加
されている。このフラグレジスタ44に格納された各フラ
グは、コントローラ50に与えられている。
加減算器31からの演算結果は、8ビットのTMP0レジス
タ45及びTMP1レジスタ46に格納される。これらTMP0レジ
スタ45の出力は上位バイトバス51に出力され、TMP1レジ
スタ46の出力は下位バイトバス52に出力されている。
コントローラ50は、シーケンサ5の内部の制御を司る
もので、例えばPLA(Plogramable Logic Array)で構成
されている。このコントローラ50は、これに付随する5
ビットのレジスタ48,49を介してのフィードバック経路
を持たせることでPLAによる順序回路を実現している。
このコントローラ50には、前述したIRレジスタ33からの
INST信号及びCH#信号、フラグレジスタ44からの各種フ
ラグの他に、タイマカウンタ6からの時刻更新信号TINC
が入力されている。また、このコントローラ50からコマ
ンドメモリ4に対しては、アドレスを決定するINC信
号、RESET信号及びPCO信号、RAM21に対するアクセス要
求を示すMREQ信号、RAM21へのリード/ライトを指示す
るRD/WR信号、コマンドの実行終了を示すENDCMD信号が
出力され、コントローラ50から出力メモリ7に対して
は、指定されたチャンネルに対する書込み指令であるWR
信号、全てのチャンネルに同一の値を書込むことを指示
する信号で、RALLレジスタ47にセットされたWRA信号、
指令となるWRA信号、全チャンネルに0を書込むことを
指示するWR0信号が出力されている。
この他、上位バイトバス51に接続されたT0レジスタの
下位5ビットは、出力メモリ7のアドレスを指定するAD
RS信号として出力メモリ7に出力されている。また、IR
レジスタ33に格納されたコマンドの最下位バイトのう
ち、CH#部とMODE部とが出力メモリ7にそれぞれチャン
ネル指定信号及び書込みデータとして与えられている。
このように構成されたシーケンサ5の動作フローを第
8図に示す。
第8図(a)のフローは、コマンドメモリ4からコマ
ンドの第1語を読込んで、INST部によりコマンドの種類
を確認し、それぞれのコマンドの実行部分に分岐する部
分である。
まず、コマンドメモリ4のアドレスを指定するため、
コントローラ50から出力されるPC0信号を0にし、コマ
ンドの第1語をIRレジスタ33及びT0レジスタ34にそれぞ
れ読込み、RALLレジスタ47をリセットする。これと同時
にタイマカウンタ6の出力値(基準時刻)をGT0レジス
タ38,GT1レジスタ39及びGT2レジスタ40に読込む(ステ
ップ)。
次にIRレジスタ33のINST部とCH#部の値を判断して各
コマンドの実行部分に分岐する(ステップ)。
INST部が00である場合には、CH#部が00,11,10,01で
あるかどうかにより、コマンドがそれぞれNOPコマン
ド、SELITVコマンド、TRANSADD.ALLコマンド、TRANS.AL
Lコマンドであると判断される。
NOPコマンドであれば、プログラムカウンタ32を歩進
する。これによりアドレスは1語おいて更新され、コマ
ンドの実行は終了する。SELITVコマンドであれば、MODE
部をITVRレジスタ37にセットし、プログラムカウンタ32
を歩進して、コマンドを終了する。TRANSADD.ALLコマン
ド及びTRANS.ALLコマンドであれば、RALLレジスタ47を
1にセットした後、それぞれ後述するTRANSコマンド及
びTRANSADDコマンドと同様な処理を実行する。
INST部が01の場合はTRANSコマンド、同10の場合はTRA
NSADDコマンド、それ以外(11)の場合はLOADITVコマン
ドをそれぞれ実行する。
TRANSコマンドの場合は、GT0レジスタ38、GT1レジス
タ39及びGT2レジスタ40に格納されたタイマカウンタ6
の基準時刻と、T0レジスタ34、T1レジスタ35及びT2レジ
スタ36に格納されたコマンド内の設定時刻との差が出力
メモリ7の各チャンネルの語数である32未満である場合
に、出力メモリ7にデータを書込む処理を行なう。8ビ
ットの加減算器31で24ビットの処理を行なうため、下位
バイトから1バイトずつ3回に分けて演算を行なう(第
8図(a),同図(b)〜)。その際、UZフラグ
又はLZフラグの値を1バイトの演算毎に確認し、これら
フラグから両者の差が32以上であることが明らかであ
る。場合には、プログラムカウンタ32を歩進しコマンド
の実行を終了する(第8図(b))。基準時刻の内容
とコマンド内の設定時刻との差が32未満であることが確
認された場合には、コマンドの先頭の語に戻すためPC0
信号を0にリセットし、INST部、CH#部をNOPコマンド
になるように00に書換え、T0レジスタ34の内容とIRレジ
スタ33の内容とをNOPコマンドの第1語として書き戻
す。それと同時に、IRレジスタ33のCH#部、MODE部、T0
レジスタ34の下位5ビット及びRALLレジスタ47の内容を
出力メモリ7に出力する。そして、プログラムカウンタ
32を歩進してコマンドの実行を終了する(同,)。
TRANSADDコマンドの場合も、上記TRANSコマンドと同
様に、演算コマンド内の設定時刻からタイマカウンタ6
の基準時刻を減算した値が32以上であることが、1バイ
ト毎の演算の際のUZフラグ及びLZフラグの値を参照して
明らかになった場合には、プログラムカウンタ32を歩進
してコマンドの実行を終了する(第8図(a),同図
(c)〜,)。なお、ここではT0−GT0の演算後
のUZフラグを確認するステップにおいて、T0レジスタ
34の内容とITV0レジスタ41の内容とを加算してその結果
をTMP0レジスタ45に書込む処理も行われる。
両時刻の差が32未満である場合には、コマンドの先頭
の語に戻すためPCO信号を0にリセットし、IRレジスタ3
3の内容と上記TMP0レジスタ45の内容とをコマンドの第
1語として書き戻す。これによって、T0部が新たな値に
更新される。次に、T1レジスタ35の内容とITV1レジスタ
42の内容とCY1フラグとを加算してTMP1レジスタ46にそ
の結果を格納し、それと同時に、IRレジスタ33のCH#
部、MODE部、T0レジスタ34の下位5ビット及びRALLレジ
スタ47の内容を出力メモリ7に出力する()。更にT2
レジスタ36の内容とITV2レジスタ43の内容とCY1フラグ
とを加算して、TMP0レジスタ45にその結果を格納し
()、PC0信号を1にセットして、TMP0レジスタ45,TM
P1レジスタ46の内容をコマンド第2語のT2部、T1部にそ
れぞれ書き戻す()。そして、プログラムカウンタ32
を歩進してコマンドの実行を終了する()。
LOADITVコマンドの場合には、第8図(a)に示すよ
うに、IRレジスタ33に格納されているコマンドのMODE部
と、T0レジスタ34に格納されているT0部とを、それぞれ
ITVRレジスタ37及びITV0レジスタ41に格納する(同図
)。そして、第8図(d)に示すように、PC0信号を
1にセットし、コマンドのT1部及びT2部の内容をITV1レ
ジスタ42及びITV2レジスタ43に読込む(同図)。そし
て、プログラムカウンタ32を歩進してコマンドの実行を
終了する(同図)。
なお、以上の各フローにおいて、同一の丸数字で示さ
れる処理はシステムクロックSCK1クロックの期間に行わ
れる処理を示す。したがって、最も処理時間の長いTRAN
SADDコマンドは、その実行に最大9クロックを必要とす
る。そこで、コマンドメモリ4に16項のTRANSADDコマン
ドが記述された場合を考えると、それら全てのコマンド
を実行するのに最大144クロックを要することになる。
一方、タイマカウンタ6が更新されたことを示すTINC信
号が入力された場合には、シーケンサ5は、2クロック
の期間実行を停止する。この間に出力メモリ7は、基準
時刻に対応する番地の値を出力回路へ送る処理を行な
う。
第9図はタイマカウンタ6を示したものである。タイ
マカウンタ6は、24ビット長で、所定の時間間隔で発生
するタイマクロックTCKにより更新され、シーケンサ5
及び出力メモリ7に24ビットの基準時刻データTCOと時
刻更新中であることを示すTINC信号とを出力する。
この実施例では、第10図に示すように、タイマクロッ
クTCKとシステムクロックSCKの周期の比率が1:6に設定
されている。したがって、出力メモリ7の値が全て出力
回路8に送られるのには、36語×6=192SCKだけ必要と
なる。
一方、シーケンサ5の動作は前述したように、最大で
も144SCKであり、この間に144÷6=24回だけタイマカ
ウンタ6が更新されるから、24×2=48SCK分の休止が
入る。したがって、コマンドメモリ4内の全てのコマン
ドを実行するのに最大でも192SCK期間を見込んでおけば
良い。これは、前述した出力メモリ7のデータ掃出し期
間192SCKを満足している。
第11図は出力メモリ7の詳細な構成を示した図であ
る。
RAM61は、16ビット×32語分の容量を備えている。こ
のRAM61は、16ビットのデータをMODEデータに対応する
4ビットずつ4チャンネルに分割しており、読出し動作
は16ビットを一括して行なうが、書込み動作は各チャン
ネル語とに独立して行なうこともできるようになってい
る。
このRAM61のアドレス入力(ADDRESS)には、シーケン
サ5からの5ビットのADRS信号及びタイマカウンタ6か
らのTCO信号の下位5ビットのいずれか一方がセレクタ6
2により選択されて与えられている。RAM61のデータ入力
(DI0〜DI3)には、各チャンネル毎に設けられた4ビッ
トのセレクタ63〜66の出力が与えられている。
セレクタ63〜66は、一方の入力に0データを、他方の
入力にシーケンサ5から出力される4ビットのMODEコー
ドを導入し、シーケンサ5からのオールクリアを指定す
るWR0信号の値によって、いずれか一方が選択的に出力
されるものとなっている。
デコーダ67は、シーケンサ5から出力されるCH#コー
ドをデコードし、シーケンサ5から出力されるWR信号に
同期して、対応するチャンネルの出力を1レベルにす
る。このデコーダ67の各チャンネルの出力は、4つのOR
回路68,69,70,71の各一方の入力に与えられている。こ
のOR回路68〜71の各他方の入力には、OR回路72の出力が
入力されている。このOR回路72は、シーケンサ5から出
力されるWRA信号とWR0信号のいずれか一方が1になった
ら、全チャンネルに対する書込みを行なうために、OR回
路68〜71の全ての出力を1にするための回路である。こ
れらOR回路68〜71の出力は、データの書込み信号(WR0
〜WR3)としてRAM61に与えられている。
また。RAM61の読出し信号には、タイマカウンタ6の
更新と同期させる為、タイマカウンタ6からのTINC信号
が与えられている。
このような構成であると、RAM61に対してデータを書
込む際には、アドレスとしてシーケンサ5からのADRS信
号(T0レジスタ34の下位5ビット)が与えられる。そし
て、TRANSコマンド及びTRANSADDコマンド実行の際に
は、WRA信号及びWR0信号が無効となり、CH#コードで指
定されたチャンネルに対してのみMODEコードが書込まれ
る。一方、TRANS.ALLコマンド及びTRANSAD.ALLコマンド
の実行の際には、WRA信号が有効となり、全チャンネル
に対して同一のMODEコードが書込まれる。シーケンサ5
からの書込みは、TRANS、TRANS.ALL、TRANSADD及びTRAN
SADD.ALLコマンド実行中に、該コマンドで指定される時
刻とタイマカウンタ6の基準時刻との差が32未満となっ
た場合に行われる。
一方、RAM61の読出し時には、タイマカウンタ6から
のTC0信号の下位5ビットがアドレスとして与えられ
る。読出しタイミングはタイマカウンタ6の更新信号TI
NCで決定される。読出しの際には、全チャンネルが同時
に読出されるので、チャンネル間の時刻のずれは生じな
い。
データが読出されると、WR0信号が有効になる。この
ため、セレクタ63〜66は0を選択し、OR回路68〜72を介
してRAM61の全チャンネルに対して同時にに書込み信号W
R0〜WR3が与えられるので、全チャンネルに対して0が
書込まれる。これにより、タイマカウンタ6が32回更新
された後に再び同じデータを読出すのを防止できる。
第12図は出力回路8の詳細を示す図である。なお、こ
の回路は特に1チャンネル分の回路を示したもので、こ
の回路が4チャンネル分集まって出力回路8が構成され
る。
RAM61から読み出されたnチャンネルの4ビットのデ
ータ(MODEコード)DOn0,DOn1,DOn2,DOn3のうち、下位
2ビットのデータDOn0,DOn1は、JKフリップフロップ81
のJ端子及びK端子にそれぞれ入力されている。JKフリ
ップフロップ81のQ出力は、出力端子81の第1の端子PO
n0に出力されている。また、データDOn2は、上記出力端
子82の第2の端子POn1に出力されている。更に、データ
の最上位ビットは割込み信号INTRnとしてCPU3に出力さ
れている。
このような構成をとると、コマンドのMODE部の記述に
より、次のように出力が変化する。
このようにMODE部の記述によって、出力パルスの種々
の出力形態を設定することができる。
[発明の効果] 以上述べたように、本発明によれば、複数のチャンネ
ルに対して同一のタイミングで出力パルスを出力させる
ことが可能であるため、高精度の時間設定を行なうこと
ができる。また、幅の細いパルスや高速パルスの発生が
可能で、周期的なパルス生成の際のCPUの負担を大幅に
軽減できる等の効果を奏する。
【図面の簡単な説明】
第1図〜第12図は本発明の一実施例に係る出力パルス発
生装置を説明するための図で、第1図は全体構成を示す
ブロック図、第2図はコマンドの構造を示す図、第3図
はコマンドの種類を示す図、第4図はコマンド記述の一
例を示す図、第5図はコマンドメモリの構成を示すブロ
ック図、第6図はシステムクロックとCPUのコマンドメ
モリに対するアクセスタイミングとの関係を示すタイミ
ング図、第7図はシーケンサの詳細ブロック図、第8図
はシーケンサの動作を示す流れ図、第9図はタイマカウ
ンタを示すブロック図、第10図はシステムクロックとタ
イマークロックとの関係を示すタイミング図、第11図は
出力メモリの詳細ブロック図、第12図は出力回路の詳細
ブロック図、第13図は従来の出力パルス発生装置の構成
を示すブロック図、第14図は出力パルスの一例を示す
図、第15図は従来の同装置の動作を説明するための流れ
図、第16図は従来の問題点を説明するための図である。 1……出力パルス発生装置、2……バス、3……CPU、
4……コマンドメモリ、5……シーケンサ、6……タイ
マカウンタ、7……出力メモリ、8……出力回路。

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】各時刻における出力値を記憶する出力メモ
    リと、所定のクロック信号を計数して基準時刻を出力す
    るタイマカウンタと、このタイマカウンタから出力され
    る基準時刻に同期して前記出力メモリの上記基準時刻に
    対応したアドレスから前記出力値を順次読出す手段と、
    前記出力メモリから順次読出された出力値に基づいて出
    力パルスを生成し出力する出力回路と、前記各時刻にお
    ける出力値を前記出力メモリに書込むためのコマンドを
    記憶するコマンドメモリと、このコマンドメモリに記憶
    されたコマンドを順次読出し、読み出されたコマンドが
    示す時刻と前記タイマカウンタで示される基準時刻との
    差が前記出力メモリの容量によって定まる時間よりも少
    ない場合には、該コマンドを実行して前記出力メモリに
    出力値を書込むシーケンサとを具備したことを特徴とす
    る出力パルス発生装置。
  2. 【請求項2】前記シーケンサは、前記出力メモリの既に
    読み出された領域に空値を書込んで行くものであること
    を特徴とする特許請求の範囲第1項記載の出力パルス発
    生装置。
  3. 【請求項3】前記コマンドメモリに記憶されるコマンド
    として周期性の出力パルスのパルス周期を特定する時間
    間隔と、パルスの送出時刻とを指定するコマンドを備
    え、前記シーケンサは、上記コマンドの実行後に前記パ
    ルスの送出時刻に前記時間間隔を加算して、この加算結
    果を上記コマンドの新たな送出時刻として書換えること
    を特徴とする特許請求の範囲第1項記載の出力パルス発
    生装置。
  4. 【請求項4】前記シーケンサは、前記時間間隔を記憶す
    る複数のレジスタを備え、前記コマンドメモリに記憶さ
    れるコマンドとして前記複数のレジスタにそれぞれ別個
    に時間間隔を設定するコマンドと、前記複数のレジスタ
    にそれぞれ記憶された時間間隔から1つの時間間隔を選
    択するコマンドとを備えたことを特徴とする特許請求の
    範囲第3項記載の出力パルス発生装置。
  5. 【請求項5】前記出力メモリは、出力回路の出力端子数
    に対応した数の領域に分割され、各領域からの出力値を
    同一のタイミングで読出すことを特徴とする特許請求の
    範囲第1項記載の出力パルス発生装置。
  6. 【請求項6】前記コマンドメモリに記憶されるコマンド
    として、前記出力メモリの各領域に同一の出力値を書込
    むコマンドを備えたことを特徴とする特許請求の範囲第
    5項記載の出力パルス発生装置。
JP62106831A 1987-04-30 1987-04-30 出力パルス発生装置 Expired - Fee Related JP2549656B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP62106831A JP2549656B2 (ja) 1987-04-30 1987-04-30 出力パルス発生装置
US07/184,401 US5021990A (en) 1987-04-30 1988-04-20 Output pulse generating apparatus
DE3814622A DE3814622A1 (de) 1987-04-30 1988-04-29 Ausgangsimpuls-erzeugungsvorrichtung
KR1019880004990A KR910004639B1 (ko) 1987-04-30 1988-04-30 출력펄스 발생장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62106831A JP2549656B2 (ja) 1987-04-30 1987-04-30 出力パルス発生装置

Publications (2)

Publication Number Publication Date
JPS63271601A JPS63271601A (ja) 1988-11-09
JP2549656B2 true JP2549656B2 (ja) 1996-10-30

Family

ID=14443689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62106831A Expired - Fee Related JP2549656B2 (ja) 1987-04-30 1987-04-30 出力パルス発生装置

Country Status (4)

Country Link
US (1) US5021990A (ja)
JP (1) JP2549656B2 (ja)
KR (1) KR910004639B1 (ja)
DE (1) DE3814622A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2536102B2 (ja) * 1988-11-17 1996-09-18 日本電気株式会社 デ―タ処理装置
JP2536103B2 (ja) * 1988-11-17 1996-09-18 日本電気株式会社 デ―タ処理装置
US5185880A (en) * 1989-06-05 1993-02-09 Matsushita Electric Industrial Co., Ltd. Stored instructions executing type timing signal generating system
US5313622A (en) * 1990-08-16 1994-05-17 National Instruments Timing apparatus and method for generating instruction signals
JP2561750B2 (ja) * 1990-10-30 1996-12-11 三菱電機株式会社 パルス発生回路
DE4142825A1 (de) * 1990-12-26 1992-07-02 Mitsubishi Electric Corp Synchronisierter taktgenerator
JP2914317B2 (ja) * 1996-09-25 1999-06-28 日本電気株式会社 マイクロコンピュータ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5399142A (en) * 1977-02-08 1978-08-30 Toshiba Corp Ignition control system
SE408985B (sv) * 1977-12-27 1979-07-16 Philips Svenska Ab Pulsgenerator
JPS5660857A (en) * 1979-10-22 1981-05-26 Nippon Denso Co Ltd Ignition timing control device of internal combustion engine for automobile
US4404644A (en) * 1980-05-22 1983-09-13 Barr & Stroud Limited Waveform generator
FR2485641A1 (fr) * 1980-06-26 1981-12-31 Renault Procede et dispositif de commande electronique d'allumage pour moteur a combustion interne
DE3278479D1 (en) * 1981-07-03 1988-06-16 Nissan Motor Ignition system for an internal combustion engine
JPS5866108A (ja) * 1981-10-16 1983-04-20 Hitachi Ltd 内燃機関の電子制御装置
JPS602510A (ja) * 1983-06-15 1985-01-08 Kuroda Kogyo:Kk 垂直コンベア
DE3417816A1 (de) * 1984-05-14 1985-11-14 Siemens AG, 1000 Berlin und 8000 München Programmierbares schaltnetz

Also Published As

Publication number Publication date
KR880013320A (ko) 1988-11-30
US5021990A (en) 1991-06-04
DE3814622A1 (de) 1988-11-17
JPS63271601A (ja) 1988-11-09
DE3814622C2 (ja) 1989-11-23
KR910004639B1 (ko) 1991-07-08

Similar Documents

Publication Publication Date Title
EP0388001B1 (en) Testing method and apparatus for an integrated circuit
US4484303A (en) Programmable controller
US3470542A (en) Modular system design
EP0021404A1 (en) Computing system for the simulation of logic operations
EP0054243A2 (en) Memory controlling apparatus
EP0217922B1 (en) An array for simulating computer functions for large computer systems
US4310880A (en) High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
US5548785A (en) Interface for logic simulation using parallel bus for concurrent transfers and having fifo buffers for sending data to receiving units when ready
JPS60218138A (ja) 事象駆動形アルゴリズムを実行するコンピユータ装置
US4443848A (en) Two-level priority circuit
JP2001349930A (ja) イベント型半導体テストシステム
JP2549656B2 (ja) 出力パルス発生装置
US4755931A (en) Vector processing unit capable of reading vector data from a vector register simultaneously to plural resources
US5123106A (en) Multiprocessor system with shared memory includes primary processor which selectively accesses primary local memory and common memories without using arbiter
EP1388048B1 (en) Storage system for use in custom loop accellerators
JPH02500306A (ja) 並列処理状態整合
JP2588195B2 (ja) パルス入力装置
US5414866A (en) One-chip microcomputer with parallel operating load and unload data buses
JPH05173986A (ja) プログラマブルコントローラ
Biswell et al. MICROPROGRAMMED BRANCH DRIVER (MBD) FOR A PDP-11 COMPUTER.
JP2870812B2 (ja) 並列処理プロセッサ
JP2536609B2 (ja) バス選択回路
JPH0769896B2 (ja) ベクトル処理システム
EP0334240B1 (en) Semiconductor integrated circuit device having a microprogramm
JPH01100650A (ja) 情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees