JPH0626305B2 - Double memory configuration pulse programmer - Google Patents

Double memory configuration pulse programmer

Info

Publication number
JPH0626305B2
JPH0626305B2 JP61009455A JP945586A JPH0626305B2 JP H0626305 B2 JPH0626305 B2 JP H0626305B2 JP 61009455 A JP61009455 A JP 61009455A JP 945586 A JP945586 A JP 945586A JP H0626305 B2 JPH0626305 B2 JP H0626305B2
Authority
JP
Japan
Prior art keywords
pulse
sequence
memory
sequence execution
program code
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 - Lifetime
Application number
JP61009455A
Other languages
Japanese (ja)
Other versions
JPS62168417A (en
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.)
Jeol Ltd
Original Assignee
Nihon Denshi KK
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 Nihon Denshi KK filed Critical Nihon Denshi KK
Priority to JP61009455A priority Critical patent/JPH0626305B2/en
Publication of JPS62168417A publication Critical patent/JPS62168417A/en
Publication of JPH0626305B2 publication Critical patent/JPH0626305B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Manipulation Of Pulses (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数個のパルスシーケンスをプログラマブル
に発生させるダブルメモリ構成のパルスプログラマーに
関するものである。
The present invention relates to a pulse programmer having a double memory structure for generating a plurality of pulse sequences in a programmable manner.

〔従来の技術〕[Conventional technology]

第5図は漏パルスシーケンスをプログラマブルに発生さ
せる従来のパルスプログラマーの例を説明するための図
である。
FIG. 5 is a diagram for explaining an example of a conventional pulse programmer that programmablely generates a leak pulse sequence.

最近のパルスFT NMR(フーリェ変換核磁気共鳴装
置)の応用には、種々のパルスシーケンスを自由に発生
できる機能が要求されている。このような要求に対応し
てパルスシーケンスをプログラマブルに発生させるもの
にパルスプログラマーがある。これは、基本的には第5
図(a)に示すように複数個のパルスシーケンスに対応す
る「1」(或いは「H」)、「O」(或いは「L」)の
データ及び時間幅のデータで構成するプログラムコード
1、A2、A3、A4、……を時系列に従って順次読み出
し、第5図(b)に示すような複数個のパルスシーケンス
を作り出すものである。
A recent application of pulse FT NMR (Fourier transform nuclear magnetic resonance apparatus) requires a function capable of freely generating various pulse sequences. A pulse programmer is one that generates a pulse sequence in a programmable manner in response to such a demand. This is basically the fifth
As shown in FIG. (A), a program code A 1 composed of “1” (or “H”), “O” (or “L”) data and time width data corresponding to a plurality of pulse sequences, a 2, a 3, a 4 , sequentially read in chronological a ... it is configured to generate a plurality of pulse sequence shown in FIG. 5 (b).

従来使用されてきたプログラム方式のパルスプログラマ
ーは、高速のRAM(随時書き込み読み出しメモリ;Ra
ndam Access Memory)に固定的なプログラムコードを貯
えてこれをサイクリックに繰り返し実行する方式か、又
はFIFO(先入れ先出し法)を使用してホストのコン
ピュータから必要なプログラムコードを連続して供給す
る方式のものであった。
The conventional program-type pulse programmer is a high-speed RAM (random write / read memory; Ra
ndam Access Memory) to store a fixed program code and execute this cyclically repeatedly, or to supply the required program code continuously from the host computer using FIFO (First In First Out). It was a thing.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

ところで、上記各従来の方式のうち、前者は、一度RA
Mに貯えられたプログラムコードを単に繰り返し実行す
る方式であるから、ホストコンピュータがパルスプログ
ラマーにプログラムコードをダウンロードした後はホス
トコンピュータの負担は無くなるが、最近の複雑なパル
スシーケンスの発生要求に十分対応できない。また、F
IFOを使用して連続的にプログラムコードをホストコ
ンピュータから供給する後者の方式は、種々の複雑なパ
ルスシーケンスに対応できる自由度を有するが、ホスト
コンピュータの負担が大きくなる、という問題があっ
た。
By the way, of the above-mentioned conventional methods, the former is once RA
Since the program code stored in M is simply executed repeatedly, the load on the host computer will be eliminated after the host computer downloads the program code to the pulse programmer, but it will be sufficient to meet the recent demands for generation of complicated pulse sequences. Can not. Also, F
The latter method of continuously supplying the program code from the host computer using the IFO has a degree of freedom to cope with various complicated pulse sequences, but has a problem that the load on the host computer becomes heavy.

さらには、本件出願人により、高速のRAMをリングバ
ッファ構成で使用し、マイクロプロセッサにより予め用
意されたテーブルをリングバッファに各サイクル毎に転
送し無限にステップを実行する方式が別途提案されてい
る。しかし、この方式も種々の複雑なパルスシーケンス
に対応できる自由度を有するが、パルスシーケンス実行
中に次々に次のサイクルのプログラムコードを転送する
必要があることから、プログラムコードの転送に要する
時間より短い時間でサイクルを繰り返し実行することが
できないという制約がある。そのため、高速化に対応で
きないという問題が生じる。
Further, the applicant of the present application has separately proposed a method in which a high-speed RAM is used in a ring buffer configuration, a table prepared in advance by a microprocessor is transferred to the ring buffer every cycle, and steps are executed infinitely. . However, this method also has the degree of freedom to cope with various complicated pulse sequences, but since it is necessary to transfer the program code of the next cycle one after another during the execution of the pulse sequence, it takes longer than the time required to transfer the program code. There is a constraint that the cycle cannot be executed repeatedly in a short time. Therefore, there arises a problem that it cannot cope with the speedup.

本発明は、上記の問題点を解決するものであって、任意
のパルスシーケンスを発生することができ、ホストコン
ピュータの負担の軽減を図ることができるダブルメモリ
構成のパルスプログラマーを提供することを目的とする
ものである。
The present invention solves the above problems, and an object of the present invention is to provide a pulse programmer having a double memory configuration capable of generating an arbitrary pulse sequence and reducing the load on the host computer. It is what

〔問題点を解決するための手段〕[Means for solving problems]

そのために本発明のダブルメモリ構成のパルスプログラ
マーは、出力状態と時間幅のデータからなるプログラム
コードがシーケンシャルに配列されたパルスシーケンス
コードをシーケンス実行メモリに格納し、該シーケンス
実行メモリの読み出しアドレスをコントロールして複数
個のパルスシーケンスをプログラムマブルに発生させる
ダブルメモリ構成のパルスプログラマーであって、パル
スシーケンスコードの変数部の更新内容を格納するテー
ブル、及び1サイクル単位のパルスシーケンスコードを
格納する2個のシーケンス実行メモリを備え、テーブル
に従って一方のシーケンス実行メモリによりパルスシー
ケンスを発生している間に他方のシーケンス実行メモリ
の変数部の更新を行い、2個のシーケンス実行メモリを
切り換えてパルスシーケンスを発生させることを特徴と
するものである。
Therefore, the pulse programmer of the double memory configuration of the present invention stores a pulse sequence code in which a program code consisting of output state and time width data is sequentially arranged in a sequence execution memory and controls a read address of the sequence execution memory. A pulse programmer having a double memory configuration for programmably generating a plurality of pulse sequences, which stores a table for storing the updated contents of the variable portion of the pulse sequence code and a pulse sequence code for each cycle 2 According to the table, one of the sequence execution memories generates a pulse sequence, while the other sequence execution memory updates the variable part, and switches between the two sequence execution memories. It is characterized in that to generate the Sequence.

〔作用〕[Action]

本発明のダブルメモリ構成のパルスプログラマーでは、
一方のシーケンス実行メモリから順次プログラムコード
を読み出して1サイクルのパルスシーケンスを発生させ
ると共にテーブルに従って他方のシーケンス実行メモリ
のパルスシーケンスコードの変数部を更新し、次いで他
方のシーケンス実行メモリから順次プログラムコードを
読み出して次のサイクルのパルスシーケンスを発生させ
ると共にテーブルに従って一方のシーケンス実行メモリ
のパルスシーケンスコードの変数部を更新する。このよ
うに2個のシーケンス実行メモリを使って交互に切り換
えながら、一方のシーケンス実行メモリによるパルスシ
ーケンスの発生中に他方のシーケンス実行メモリの変数
部を更新するので、サイクルの繰り返し時間の短縮にも
対応でき、無限にパルスシーケンスを発生させることが
できる。
In the double memory configuration pulse programmer of the present invention,
Sequential program code is read from one sequence execution memory to generate a one-cycle pulse sequence, the variable part of the pulse sequence code of the other sequence execution memory is updated according to the table, and then the sequential program code is read from the other sequence execution memory. The pulse sequence of the next cycle is read out and the variable part of the pulse sequence code of one sequence execution memory is updated according to the table. In this way, while alternately switching between the two sequence execution memories, the variable part of the other sequence execution memory is updated while the pulse sequence is being generated by one sequence execution memory, so that the cycle repetition time can be shortened. It can respond and can generate a pulse sequence indefinitely.

〔実施例〕〔Example〕

以下、実施例を図面を参照しつつ説明する。 Hereinafter, embodiments will be described with reference to the drawings.

第1図は本発明に係るダブルメモリ構成のパルスプログ
ラマーの1実施例を説明するためのブロック図、第2図
はシーケンス実行メモリに格納されるプログラムコード
の内容を説明するための図、第3図は第2図に示すプロ
グラムコードの実行シーケンスを説明するための図、第
4図はプログラムコードの転送処理を説明するための図
である。図中、1はMPU(マイクロプロセッサ)、2
はI/Oインターフェース、3はメモリ、4aと4bは
シーケンス実行メモリ、5はアドレスシーケンサ、6は
ステートレジスタ、7はタイムレジスタ、8はインスト
ラクション解読/制御回路、9はタイミングロジック、
10はバッファ、11はゲートを示す。
FIG. 1 is a block diagram for explaining one embodiment of a pulse programmer having a double memory structure according to the present invention, FIG. 2 is a diagram for explaining the contents of a program code stored in a sequence execution memory, and FIG. FIG. 4 is a diagram for explaining the execution sequence of the program code shown in FIG. 2, and FIG. 4 is a diagram for explaining the transfer processing of the program code. In the figure, 1 is an MPU (microprocessor), 2
Is an I / O interface, 3 is a memory, 4a and 4b are sequence execution memories, 5 is an address sequencer, 6 is a state register, 7 is a time register, 8 is an instruction decoding / control circuit, 9 is timing logic,
Reference numeral 10 is a buffer, and 11 is a gate.

本発明に係るダブルレメモリ構成のパルスプログラマー
は、第1図に示すように全体のコントロールを行うため
のMPU1、ホストコンピュータからパルスシーケンス
を受け取るためのI/Oインターフェース2、パルスシ
ーケンステーブルを保存するメモリ3、パルスシーケン
スを貯えて与えられたアドレスの順序で与えられた時間
ON/OFF状態を出力する2つのパルスシーケンス実
行メモリ4aと4b、パルスシーケンス実行メモリ4a
と4bのアドレスをコントロールするアドレスシーケン
サ5、パルスシーケンス実行メモリ4aと4bのステー
トデータを一時的に貯えるステートレジスタ6、パルス
シーケンス実行メモリ4aと4bの他の出力であるタイ
ムデータを一時的に貯えるタイムレジスタ7、与えられ
たタイムデータをベースクロック(時間の基準を与える
基本クロック)でカウントし、時間のタイミングを与え
るタイミングロジック9、ステートレジスタ6の出力の
インストラクション部を解読し、パルスシーケンスのル
ープをコントロールするインストラクション解読/制御
回路8、及びステートレジスタ6の出力を外部へ取り出
すためのバッファ10からなる。また、ゲート11は、
MPU1及びそのメモリ3、I/Oインターフェース2
等とパルスシーケンス実行メモリ4aと4bとの間のバ
スコントロールを行うものであり、MPU1がシーケン
スコードをシーケンス実行メモリ4aと4bへ転送する
ときにオンとなり、シーケンス実行メモリ4aと4bが
高速でパルスシーケンスを実行中にはオフとなって、パ
ルスシーケンス発生回路であるシーケンス実行メモリ4
aと4bとタイムレジスタ7及びステートレジスタ6を
MPU1から完全に切り離す機能を持つものである。こ
れらの切り換え条件の判断は、インストラクション解読
/制御回路8における解読、制御の内容に基づいて行わ
れる。
A pulse programmer having a double memory structure according to the present invention stores an MPU 1 for controlling the whole as shown in FIG. 1, an I / O interface 2 for receiving a pulse sequence from a host computer, and a pulse sequence table. Memory 3, two pulse sequence execution memories 4a and 4b which store a pulse sequence and output an ON / OFF state for a given time in the order of a given address, a pulse sequence execution memory 4a
And an address sequencer 5 for controlling the addresses of 4b, a state register 6 for temporarily storing the state data of the pulse sequence execution memories 4a and 4b, and a time data which is another output of the pulse sequence execution memories 4a and 4b. Time register 7, counts the given time data with a base clock (basic clock that gives the time reference), decodes the instruction logic of the timing logic 9 that gives the time timing, the output of the state register 6, and loops the pulse sequence. An instruction decoding / control circuit 8 for controlling the output of the state register 6 and a buffer 10 for taking out the output of the state register 6 to the outside. Also, the gate 11 is
MPU1 and its memory 3, I / O interface 2
Etc. and the pulse sequence execution memories 4a and 4b are controlled by the bus. The MPU 1 turns on when the sequence code is transferred to the sequence execution memories 4a and 4b, and the sequence execution memories 4a and 4b pulse at high speed. It turns off during execution of the sequence, and the sequence execution memory 4 which is a pulse sequence generation circuit.
It has a function of completely disconnecting a and 4b, the time register 7 and the state register 6 from the MPU 1. The judgment of these switching conditions is made based on the contents of the decoding and control in the instruction decoding / control circuit 8.

パルスシーケンス実行メモリ4aと4bには、第2図に
示すように32ビットのステートデータと32ビットの
タイムデータからなるプログラムコードがシーケンシャ
ルに格納される。今、この一つひとつのペアをt−ステ
ートと呼ぶことにすると、各々のt−ステイトは、アド
レスA、A+1、A+2、……で順序付けられ、ステー
トデータとタイムデータにより或る時間の出力状態(ス
テート)と時間幅(タイム)を決定するものである。従
って、パルスシーケンス実行メモリ4a、4bのアドレ
スを進めることによってステートデータがステートレジ
スタ6に、タイムデータがタイムレジスタ7にそれぞれ
保持され、パルスシーケンスが第3図に示す→→
のように発生される。このとき、アドレスシーケンサ5
は、2つのシーケンス実行メモリ4aと4bの切り換え
とアドレスのコントロールを行う。このパルスシーケン
スのコントロールを行うためステートの中の2ビットが
インストラクションビットとして使用される。このイン
ストラクションビットには、例えば「STATE」、
「LOOP」「JNZ」、「JMP」からなる4つのイ
ンストラクションが用意される。そのうち「STAT
E」は時間と出力状態を決めるためのインストラクショ
ンとして使用され、「LOOP」「JNZ」はパルスシ
ーケンスのループをコントロールするためのインストラ
クションとして使用され、「JMP」は無条件にジャン
プするインストラクションとして使用される。従って、
「STATE」以外のタイムにはt=0が選定される。
このようにパルスシーケンスは、これら4つのインスト
ラクションを使用して作られる。また、「STATE」
インストラクションの1ビットは、後述する「IRT」
ビットとして使用される。これらは、インストラクショ
ン解読/制御回路8において解読され、その内容に従っ
てインストラクション解読/制御回路8からCPU1へ
の割り込みが行われる。なお、第3図に示すOBSはオ
ブザベーションを意味し、GATEでは観察するための
核スピンを励起するパルス発生ステップを指示し、RC
Vでは観測を行うステップを指示し、phでは2ビット
を使ってパルス位相を指示している。図示の例の場合に
は、A+1のステップでは90゜、A+3のステップで
は270゜となる。
In the pulse sequence execution memories 4a and 4b, as shown in FIG. 2, a program code consisting of 32-bit state data and 32-bit time data is sequentially stored. Now, when each of these pairs is called a t-state, each t-state is ordered by addresses A, A + 1, A + 2, ... And the output state (state) of a certain time is determined by the state data and the time data. ) And time width (time). Therefore, by advancing the addresses of the pulse sequence execution memories 4a and 4b, the state data is held in the state register 6 and the time data is held in the time register 7, and the pulse sequence is shown in FIG.
Is generated like. At this time, the address sequencer 5
Switches the two sequence execution memories 4a and 4b and controls the address. In order to control this pulse sequence, 2 bits in the state are used as instruction bits. The instruction bit includes, for example, “STATE”,
Four instructions, "LOOP", "JNZ", and "JMP" are prepared. "STAT
"E" is used as an instruction for determining the time and output state, "LOOP", "JNZ" is used as an instruction for controlling the loop of the pulse sequence, and "JMP" is used as an unconditionally jumping instruction. It Therefore,
At times other than "STATE", t = 0 is selected.
Thus, a pulse sequence is created using these four instructions. Also, "STATE"
One bit of the instruction is "IRT" described later.
Used as a bit. These are decoded in the instruction decoding / control circuit 8, and the instruction decoding / control circuit 8 interrupts the CPU 1 according to the contents. Note that OBS shown in FIG. 3 means observation, and in GATE, a pulse generation step for exciting a nuclear spin for observation is designated, and RC
V indicates the step of observation, and ph indicates the pulse phase using 2 bits. In the case of the example shown in the figure, it is 90 ° in the step of A + 1 and 270 ° in the step of A + 3.

次に、本発明に係るダブルメモリ構成のパルスプログラ
マーの動作を第1図及び第3図を使用して説明する。ま
ず、スタートする前にシーケンス実行メモリ4aと4b
には、全く同じシーケンスサイクルのプログラムデータ
が格納される。同時にメモリ3の変換テーブルには予め
パルスシーケンスのサイクル毎に異なるステート変数又
は時間変数が用意される。そこで、プログラマーをスタ
ートすると、アドレスシーケンサ5のアドレスコントロ
ールによりシーケンス実行メモリ4aのプログラムデー
タを読み出し、ステートデータをステートレジスタ6
に、タイムデータをタイムレジスタ7にそれぞれ保持す
る。そしてステートレジスタ6に保持されたステートデ
ータがバッファ10を通してアウトプットされる。タイ
ミングロジック9は、タイムレジスタ7に保持されたタ
イムデータに従って基本クロックをカウントし、インス
トラクション解読/制御回路8に時間情報を通知する。
インストラクション解読/制御回路8は、ステートレジ
スタ6に保持されたステートデータ(又はシーケンス実
行メモリ4a、4bのインストラクションビット)を解
読し、「STATE」インストラクションの場合には、
「IRT」ビットのチェック、タイミングロジック9か
らの時間情報の監視を行い、アドレスシーケンサ5への
制御信号やMPU1への割り込み信号を発行する。ま
た、「STATE」以外のインストラクションの場合に
は、その内容に応じてアドレスシーケンサ5への制御信
号を発行する。アドレスシーケンサ5は、このようなイ
ンストラクション解読/制御回路8からの制御信号に従
ってアドレスの更新、ジャンプその他のアドレスコント
ロールを行う。例えばタイミングロジック9では、タイ
ムデータをカウント値としてセットし、これを基本クロ
ックでカウントダウンして「0」でインストラクション
解読/制御回路8がアドレスシーケンサ5にアドレス更
新の制御信号を送出する。
Next, the operation of the pulse programmer having the double memory structure according to the present invention will be described with reference to FIGS. First, before starting the sequence execution memories 4a and 4b
Stores program data of exactly the same sequence cycle. At the same time, different state variables or time variables are prepared in advance in the conversion table of the memory 3 for each cycle of the pulse sequence. Therefore, when the programmer is started, the program data in the sequence execution memory 4a is read by the address control of the address sequencer 5 and the state data is transferred to the state register 6
Then, the time data is held in the time register 7. Then, the state data held in the state register 6 is output through the buffer 10. The timing logic 9 counts the basic clock according to the time data held in the time register 7, and notifies the instruction decoding / control circuit 8 of the time information.
The instruction decoding / control circuit 8 decodes the state data (or the instruction bit of the sequence execution memories 4a and 4b) held in the state register 6, and in the case of the "STATE" instruction,
The "IRT" bit is checked, the time information from the timing logic 9 is monitored, and a control signal to the address sequencer 5 and an interrupt signal to the MPU 1 are issued. In the case of an instruction other than "STATE", a control signal to the address sequencer 5 is issued according to the content. The address sequencer 5 performs address updating, jumping and other address control according to the control signal from the instruction decoding / control circuit 8. For example, in the timing logic 9, the time data is set as a count value, this is counted down by the basic clock, and the instruction decoding / control circuit 8 sends a control signal for updating the address to the address sequencer 5 at "0".

先に述べたように「STATE」インストラクションの
1ビットは、MPU1への「IRT」ビットとして使用
され、パルスシーケンスの一つのサイクルの最初の「S
TATE」インストラクションの「IRT」ビットは必
ずセットされている。従って、このインストラクション
が実行されると、MPU1に割り込みが発生する。MP
U1は、この割り込みを受けると、インタラプト処理プ
ログラムを実行し、パルスシーケンスの発生に使用され
ていない一方のシーケンス実行メモリに対してその変数
部分のみをメモリ3のテーブルから転送する。従って、
この転送は、もう一方のシーケンス実行メモリによるパ
ルスシーケンスの発生と全く並行して行われ、「IR
T」ビットのセットされた「STATE」インストラク
ションが実行されると、その瞬間に開始し、MPU1に
よるシーケンス実行メモリへのサイクルスチールによっ
て行われる。この制御は、ゲート11によって行われ
る。即ち、「STATE」インストラクションがステー
トレジスタ6とタイムレジスタ7にセットされてからゲ
ート11が開かれ、タイミングロジック9のカウント値
が「0」に達するnカウント前にMPU1がサイクルス
チールを中断するための信号を発生する。このnカウン
トの間にMPU1は実行中のインストラクションを完了
し、転送を中断してシーケンス実行メモリに制御を渡
す。このようにパルスシーケンスの最初のステートの
「IRT」ビットをセット(オン)しておくことによっ
て、一方のシーケンス実行メモリによるパルスシーケン
スの発生を開始すると同時に他方への変数転送を開始す
る。その結果2つのシーケンス実行メモリを上述の方法
で交互に繰り返すことによって、第4図に示す→→
→→……のようにステート又は時間変数を交互に
連続して変えながら無限にパルスシーケンスを発生させ
てゆくことができる。
As mentioned above, one bit of the "STATE" instruction is used as the "IRT" bit to MPU1 and the first "S" of one cycle of the pulse sequence.
The "IRT" bit of the "TATE" instruction is always set. Therefore, when this instruction is executed, an interrupt occurs in MPU1. MP
When U1 receives this interrupt, it executes the interrupt processing program and transfers only its variable portion from the table of the memory 3 to one of the sequence execution memories which is not used for generating the pulse sequence. Therefore,
This transfer is performed in parallel with the generation of the pulse sequence by the other sequence execution memory.
When the "STATE" instruction with the "T" bit set is executed, it starts at that instant and is done by the cycle steal to the sequence execution memory by MPU1. This control is performed by the gate 11. That is, after the “STATE” instruction is set in the state register 6 and the time register 7, the gate 11 is opened, and the MPU 1 interrupts the cycle steal before n counts when the count value of the timing logic 9 reaches “0”. Generate a signal. During this n count, the MPU 1 completes the instruction being executed, interrupts the transfer, and passes control to the sequence execution memory. By thus setting (turning on) the "IRT" bit in the first state of the pulse sequence, the generation of the pulse sequence by one of the sequence execution memories is started, and at the same time, the variable transfer to the other is started. As a result, the two sequence execution memories are alternately repeated by the above-described method, and as shown in FIG.
A pulse sequence can be generated infinitely while continuously changing the state or time variable alternately as →→ …….

なお、上述した如くパルスシーケンスの最初の「STA
TE」インストラクションの「IRT」ビットがセット
されている場合には、シーケンス実行開始後直ちに他方
のシーケンス実行メモリへの変数転送を開始する方式と
なるが、パルスシーケンスの最後の「STATE」イン
ストラクションの「IRT」ビットをセットしてもよ
い。この場合には、シーケンス実行開始前に両方のシー
ケンス実行メモリが転送完了しており、最初のシーケン
ス実行メモリの最後の「STATE」インストラクショ
ン実行時にそのシーケンス実行メモリへの変数転送を行
う方式となる。
As described above, the first "STA" of the pulse sequence
If the "IRT" bit of the "TE" instruction is set, the variable transfer to the other sequence execution memory is started immediately after the sequence execution is started, but the last "STATE" instruction of the pulse sequence " The "RTT" bit may be set. In this case, both of the sequence execution memories have been transferred before the sequence execution is started, and a variable is transferred to the sequence execution memory when the last "STATE" instruction of the first sequence execution memory is executed.

〔発明の効果〕〔The invention's effect〕

以上の説明から明らかなように、本発明によれば、MP
Uがインストラクション解読/制御回路からの割り込み
を受け、予め用意されたパルスシーケンスコードの変数
部をテーブル格納メモリからシーケンス実行メモリに連
続的に供給するので、ほとんど無限のステップのパルス
シーケンスの発生が可能となる。また、シーケンス実行
メモリを2個用意し、予め各々のシーケンス実行メモリ
にシーケンスサイクルをコピーしておきパルスシーケン
スの各サイクル毎に異なる変数部分のみを交互に更新す
ると同時に他のシーケンス実行メモリでパルスシーケン
スを発生させるので、サイクルの繰り返し時間を大幅に
短縮することができる。
As is clear from the above description, according to the present invention, MP
Since U receives an interrupt from the instruction decoding / control circuit and continuously supplies the variable part of the prepared pulse sequence code from the table storage memory to the sequence execution memory, it is possible to generate a pulse sequence with almost infinite steps. Becomes In addition, two sequence execution memories are prepared, and the sequence cycle is copied to each sequence execution memory in advance, and only the variable portion which is different for each cycle of the pulse sequence is alternately updated, and at the same time, the pulse sequence is stored in another sequence execution memory. As a result, the cycle repetition time can be greatly shortened.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明に係るダブルメモリ構成のパルスプログ
ラマーの1実施例を説明するためのブロック図、第2図
はシーケンス実行メモリに格納されるプログラムコード
の内容を説明するための図、第3図は第2図に示すプロ
グラムコードの実行シーケンスを説明するための図、第
4図はプログラムコードの転送処理を説明するための
図、第5図はパルス系列をプログラマブルに発生させる
従来のパルスプログラマーの例を説明するための図であ
る。 1……MPU(マイクロプロセッサ)、2……I/Oイ
ンターフェース、3……メモリ、4a、4b……シーケ
ンス実行メモリ、5……アドレスシーケンサ、6……ス
テートレジスタ、7……タイムレジスタ、8……インス
トラクション解読/制御回路、9……タイミングロジッ
ク、10……バッファロジック、11……ゲート。
FIG. 1 is a block diagram for explaining one embodiment of a pulse programmer having a double memory structure according to the present invention, FIG. 2 is a diagram for explaining the contents of a program code stored in a sequence execution memory, and FIG. FIG. 4 is a diagram for explaining the execution sequence of the program code shown in FIG. 2, FIG. 4 is a diagram for explaining the transfer processing of the program code, and FIG. 5 is a conventional pulse programmer for programmable generation of pulse sequences. FIG. 6 is a diagram for explaining an example of FIG. 1 ... MPU (microprocessor), 2 ... I / O interface, 3 ... Memory, 4a, 4b ... Sequence execution memory, 5 ... Address sequencer, 6 ... State register, 7 ... Time register, 8 ... Instruction decoding / control circuit, 9 ... Timing logic, 10 ... Buffer logic, 11 ... Gate.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】出力状態と時間幅のデータからなるプログ
ラムコードがシーケンシャルに配列されたパルスシーケ
ンスコードをシーケンス実行メモリに格納し、該シーケ
ンス実行メモリの読み出しアドレスをコントロールして
複数個のパルスシーケンスをプログラマブルに発生させ
るダブルメモリ構成のパルスプログラマーであって、パ
ルスシーケンスコードの変数部の更新内容を格納するテ
ーブル、及び1サイクル単位のパルスシーケンスコード
を格納する2個のシーケンス実行メモリを備え、テーブ
ルに従って一方のシーケンス実行メモリによりパルスシ
ーケンスを発生している間に他方のシーケンス実行メモ
リの変数部の更新を行い、2個のシーケンス実行メモリ
を切り換えてパルスシーケンスを発生させることを特徴
とするダブルメモリ構成のパルスプログラマー。
1. A pulse sequence code in which a program code consisting of output state and time width data is sequentially arranged is stored in a sequence execution memory, and a read address of the sequence execution memory is controlled to generate a plurality of pulse sequences. A programmable double-memory pulse programmer having a table for storing the updated contents of the variable portion of the pulse sequence code and two sequence execution memories for storing the pulse sequence code for each cycle, and according to the table A double memo characterized in that, while a pulse sequence is being generated by one sequence execution memory, the variable part of the other sequence execution memory is updated and two sequence execution memories are switched to generate a pulse sequence. Configuration of the pulse programmer.
【請求項2】各シーケンス実行メモリの各プログラムコ
ードにフラグビットを設け、プログラムコード実行の際
にフラグビットを調べ、フラグビットがセットされてい
ることを条件にシーケンス実行メモリの変数部の更新を
行うことを特徴とする特許請求の範囲第1項記載のダブ
ルメモリ構成のパルスプログラマー。
2. A flag bit is provided in each program code of each sequence execution memory, the flag bit is checked when the program code is executed, and the variable part of the sequence execution memory is updated on condition that the flag bit is set. A pulse programmer having a double memory configuration according to claim 1, wherein the pulse programmer is implemented.
【請求項3】各シーケンス実行メモリの最初のプログラ
ムコードのフラグビットをセットしておくことを特徴と
する特許請求の範囲第2項記載のダブルメモリ構成のパ
ルスプログラマー。
3. A double memory pulse programmer according to claim 2, wherein the flag bit of the first program code of each sequence execution memory is set.
【請求項4】各シーケンス実行メモリの最後のプログラ
ムコードのフラグビットをセットしておくことを特徴と
する特許請求の範囲第2項記載のダブルメモリ構成のパ
ルスプログラマー。
4. The double memory pulse programmer according to claim 2, wherein the flag bit of the last program code of each sequence execution memory is set.
JP61009455A 1986-01-20 1986-01-20 Double memory configuration pulse programmer Expired - Lifetime JPH0626305B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61009455A JPH0626305B2 (en) 1986-01-20 1986-01-20 Double memory configuration pulse programmer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61009455A JPH0626305B2 (en) 1986-01-20 1986-01-20 Double memory configuration pulse programmer

Publications (2)

Publication Number Publication Date
JPS62168417A JPS62168417A (en) 1987-07-24
JPH0626305B2 true JPH0626305B2 (en) 1994-04-06

Family

ID=11720764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61009455A Expired - Lifetime JPH0626305B2 (en) 1986-01-20 1986-01-20 Double memory configuration pulse programmer

Country Status (1)

Country Link
JP (1) JPH0626305B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4663589B2 (en) * 2006-06-12 2011-04-06 株式会社日立製作所 Pulse sequence control method and apparatus, nuclear magnetic resonance apparatus and electron spin resonance apparatus
JP6268402B2 (en) * 2014-07-24 2018-01-31 日本電子株式会社 Magnetic resonance measuring device
DE102020201441A1 (en) * 2020-02-06 2021-08-12 Infineon Technologies Ag Update a standard switching level

Also Published As

Publication number Publication date
JPS62168417A (en) 1987-07-24

Similar Documents

Publication Publication Date Title
EP0238090B1 (en) Microcomputer capable of accessing internal memory at a desired variable access time
EP0432575B1 (en) Data processor having wait state control unit
JPS63301339A (en) Computer device
JPS5914840B2 (en) Pattern generator for semiconductor memory testing
JPS5983233A (en) Variable cycle time microcomputer
JPS6235949A (en) Memory device
US4641278A (en) Memory device with a register interchange function
JPH0626305B2 (en) Double memory configuration pulse programmer
JP2002152020A (en) Pulse signal generator
JPS5981721A (en) Accessing of microcomputer peripheral equipment
JPS59123934A (en) Programmable logic controller
JPS6339939B2 (en)
JPH03136136A (en) Instruction execution time control system
JPS62168418A (en) Pulse programmer in ring memory constitution
JP2504974B2 (en) Sequencer high-speed processing method
JP3045731B2 (en) Sequence control method
JPS5999552A (en) Microcomputer
JP2544015B2 (en) Micro program processor
JPS63249208A (en) Sequence controller
JPH02140805A (en) Sequence controller
JPH0535651A (en) Digital signal processing lsi
JPH0750157B2 (en) Pattern generator
JPS6041144A (en) Method for expanding memory of microcomputer
JPH0652044A (en) Microprocessor
JPH05189015A (en) Programmable controller