JP2785349B2 - Absolute encoder code pattern creation method - Google Patents
Absolute encoder code pattern creation methodInfo
- Publication number
- JP2785349B2 JP2785349B2 JP1174121A JP17412189A JP2785349B2 JP 2785349 B2 JP2785349 B2 JP 2785349B2 JP 1174121 A JP1174121 A JP 1174121A JP 17412189 A JP17412189 A JP 17412189A JP 2785349 B2 JP2785349 B2 JP 2785349B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- bit
- sequence
- significant
- random number
- 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
Links
Landscapes
- Transmission And Conversion Of Sensor Element Output (AREA)
- Analogue/Digital Conversion (AREA)
Description
本発明は循環乱数コードを用いた絶対値エンコーダの
符号パターン作成方法に関する。 〔従来の技術〕 従来、絶対値エンコーダは、スリット数の異なる複数
のトラックを半径方向に並べて所望のビット数のバイナ
リコードやグレイコードを構成する符号板を用いた方式
が一般的である。ところが、この方式では、ビット数に
応じてトラック数が増えるので小型で高分解能の絶対値
エンコーダを実現するのが困難である。 この点を解決する方式の1つとしてM系列乱数を用い
た絶対値エンコーダが提案されている。 M系列乱数は、公知のように、シフトレジスタを用い
てできる最大長の数列で、kビットのシフトレジスタで
0以外の2k−1個の循環パターンが発生する。例えば4
ビットの場合、第7図に示すようなシフトレジスタを用
いた回路で、表1のようなコードが発生する。ただし、
第7図ではR0〜R3は同時に0にならないものとする。 このようにしてできたM系列乱数は、2k−1個の相異
なるコードの循環パターンであるので、例えば、不透明
部を0、透明部を1としてこれを円周上に配置した符号
板を作り、隣接するkビット分のパターンを読み取れ
ば、そのパターンは円周上に1ケ所しか存在しないので
円周上の絶対位置が判別できる。The present invention relates to a method for generating a code pattern of an absolute value encoder using a cyclic random number code. [Prior Art] Conventionally, an absolute value encoder generally uses a code plate that forms a binary code or a gray code having a desired number of bits by arranging a plurality of tracks having different numbers of slits in a radial direction. However, in this method, it is difficult to realize a small and high-resolution absolute value encoder because the number of tracks increases according to the number of bits. As one of methods for solving this problem, an absolute value encoder using an M-sequence random number has been proposed. As is well known, the M-sequence random number is a sequence of the maximum length formed by using a shift register, and 2 k -1 non-zero cyclic patterns are generated by a k-bit shift register. For example, 4
In the case of bits, codes as shown in Table 1 are generated in a circuit using a shift register as shown in FIG. However,
In the FIG. 7 shall not be R 0 to R 3 are 0 at the same time. Since the M-sequence random number generated in this manner is a cyclic pattern of 2 k -1 different codes, for example, a code plate in which the opaque portion is set to 0 and the transparent portion is set to 1 on a circle If the pattern is formed and an adjacent k-bit pattern is read, the absolute position on the circumference can be determined since the pattern exists only at one place on the circumference.
さて、絶対値エンコーダは、バイナリコードやグレー
コードを用いた2kの分解能のものが一般的である。しか
し、前記のM系列乱数を用いた絶対値エンコーダの場合
2k−1の分解能しか実現できず、一般的なものとの互換
性がないという欠点がある。 本発明の目的は、任意の分解能をもつ絶対値エンコー
ダの符号パターン作成方法を提供することである。By the way, an absolute value encoder generally has a resolution of 2 k using a binary code or a gray code. However, in the case of the absolute value encoder using the aforementioned M-sequence random numbers,
There is a drawback that only a resolution of 2 k -1 can be realized and there is no compatibility with general ones. An object of the present invention is to provide a method for creating a code pattern of an absolute encoder having an arbitrary resolution.
本発明の第1の絶対値エンコーダの符号パターン作成
方法は、N個のスリットに等分割され、連続したP個の
スリットからなる2進コード値(B1〜BN)が全て異なる
循環乱数列を形成するように各スリットに0または1の
コードが記されている符号板と、該符号板の連続したP
個のスリットのコードを読み取る検出素子を用いて1回
転以内の絶対角度を検出する絶対値エンコーダに適用さ
れるものである。 第1図は第1の絶対値エンコーダにおける循環乱数コ
ードを発生する方法を示すフローチャートである。 まず、ステップ1で、Pビットの0または1からなる
初期コードB′1を設定する。このPビットが乱数列の
最初のP個分になる。次に、ステップ2で初期コード
B′1を1ビット右シフト(または左シフト)する。こ
こで、左シフトした場合は、以下のかっこ内に示す方の
処理を行なうものとする。右シフト(または左シフト)
した後の最上位ビット(または最下位ビット)には0を
おく。このビットが乱数列のP+1個目となる。ここで
新しくできたPビットのコードB′2と初期コードB′
1をステップ3にて比較する。両者が異なる場合はステ
ップ4へ、新しい場合はステップ5へ行く。ステップ4
では、乱数列が長さNになったか、すなわち、新しいコ
ードがN個目のコードかどうか判定し、Nのときはステ
ップ6へ、そうでないときはステップ2へ行く。このよ
うにして、ステップ4でi個目のコードB′1まで生成
してステップ2へ行ったとする。ステップ2では、この
コードを1ビット右シフト(または左シフト)して、最
上位(または最下位)ビットに0をおき、新しいコード
をB′i+1とする。さらに、ステップ3でB′1〜B′
iにB′i+1と同じコードがあるか調べる。同じコード
がない場合はステップ4へ行くが、同じコードがある場
合ステップ5で最上位(または最下位)ビットの0を1
に変えて再びステップ3へ行く。ここでも新しいコード
B′i+1とB′1〜B′iに同じコードがある場合再び
ステップ5へ行くが、この場合最上位(または最下位)
ビットはすでに1である。したがって、乱数列の最上位
(または最下位)ビットが0となるまで左シフト(また
は右シフト)、すなわち、最上位(または最下位)ビッ
トが0のコードB′pまでさかのぼり、その最上位(ま
たは最下位)ビットを1としたコードを新しくB′pと
して再びステップ3へ行くという処理を繰り返す。 以上のようにして、ステップ4でN個目のコードB′
Nまで生成したとすると、ステップ6で、B′Nを1ビ
ット右シフト(または左シフト)したコードが初期コー
ドB′1になり得るかどうか判定し、等しくなれば終
了、等しくならない場合は、ステップ5へ行くようにす
れば循環乱数コードが得られることになる。 なお、ステップ2において左シフト(または右シフ
ト)した後の最上位ビット(または最下位ビット)に1
をおいても同じ循環乱数列が得られる。この場合、以後
の処理において、0を1、1を0に変えればよい。 本発明の第2の絶対値のエンコーダの符号パターン作
成方法は、N個のスリットに等分割され、M個おきのP
個のスリットからなるPビット(ただし、(M+1)P
<N≦2P)の2進コード値(B1〜BN)が全て異なるよう
な循環乱数列を形成するように各スリットに0または1
のコードが記されている符号板と、該符号板からM個お
きにP個のスリットのコードを読み取る検出素子とを用
いて1回転以内の絶対角度を検出する絶対値エンコーダ
に適用されるものである。 第2図は第2の絶対値エンコーダの循環乱数コードを
発生する方法を示すフローチャートである。 第2図では、M個おき長さNの乱数列を発生する方法
を示している。 まず、ステップ11でNは2進数で表わすことができる
Pビットの0または1からなる数列1,2,・・・,数列M
+1を初期設定し、これの2進コードをそれぞれB′1,
B′2,・・・,B′M+1とする。また、乱数列として数列1,
2,・・・,数列M+1の各ビットについて数列1,2,・・
・,数列M+1の順にビット毎に並べた長さ(M+1)
Pの数列を初期乱数列とする。次に、ステップ12で、数
列1について1ビット右シフト(または左シフト)す
る。ここで、左シフトした場合には以後かっこ内の処理
の方を行なうものとする。右シフト(または左シフト)
した後の最上位(または最下位)のビットに0をおき、
これの2進コードをB′M+2とする。次に、ステップ13
で、新しくできたPビットのコードB′M+2がそれ以前
のコードB′1,B′2,・・・,B′M+1に等しいかどうか比
較する。等しいコードがなければステップ14へ、等しい
コードがあればステップ16へ行く。ステップ14では乱数
列の最上位(または最下位)ビットの左側(または右
側)に数列1の最上位(または最下位)ビットを置いて
(M+1)P+1ビットの乱数列とすると共に、新しい
コードがN個目のコードかどうか判定し、N個目のコー
ドのときはステップ20へ、そうでないときはステップ15
へ行く。ステップ15では数列1を新しい数列M+1、数
列2を新しい数列1、・・・、数列M+1を新しい数列
Mとする入れ換えを行ない、入れ換え後の新しい数列1
について再びステップ12の作業を行ない新しいコード
B′M+3を探索することになる。また、ステップ16で
は、数列1の最上位(または最下位)ビットが0かどう
か判定し、0の場合はステップ17へ、そうでない場合は
ステップ18へ行く。ステップ17では最上位(または最下
位)ビットを1に変更して再びステップ13の判定へ行く
ことになる。一方、ステップ18では、現在のコードが初
期コードB′1,B′2,・・・,B′M+1かどうか判定し、等
しい場合はステップ21へ、そうでない場合はステップ19
へ行く。ステップ19では数列1、数列2、・・・、数列
M+1をそれぞれ1ビット左シフト(または右シフト)
して1段階前へ戻り、再びステップ16へ行く。このと
き、乱数列はM+1ビット分戻ることになる。以上のス
テップ16,18,19のループでは数列1の最上位(または最
下位)ビットが0となるか、数列1の初期コードとなる
まで、数列1を左シフト(または右シフト)することに
なる。また、ステップ21では現在のコードがPビット2
進数の取り得る最大値がどうか判定し、最大値でない場
合はステップ22へ行き、最大値の場合には本アルゴリズ
ムでは乱数列が発生できないとして処理を中止する。ス
テップ22では現コードを1増やしたコードを新しい初期
コードとしてステップ23へ行く。ステップ23では、新し
い初期コードをB′1,・・・,B′Mと比較し、同一のコ
ードがなければ新しい初期コードB′M+1としてステッ
プ12に戻り、B′1,・・・,B′Mに同一のコードがあれ
ばステップ21に戻る。 このようにしてi個目のコードB′iまで生成してス
テップ12へ行ったとする。ステップ12では新しい数列1
のについて1ビット右シフト(または左シフト)して最
上位(または最下位)ビットに0をおき新しいコードを
B′i+1とする。さらに、ステップ13でB′1,・・・,
B′iにB′i+1と等しいコードがあるかどうか調べる。
等しいコードがない場合はステップ14へ行くが、等しい
コードがある場合、ステップ16および17で最上位(また
は最下位)ビットの0を1に変えて再びステップ13へ行
く。ここでも新しいB′i+1とB′1,・・・,B′iに等
しいコードがある場合、再びステップ16へ行くが、この
場合、最上位(または最下位)ビットはすでに1である
ので、数列1の最上位(または最下位)ビットが0とな
るまで左シフト(または右シフト)、すなわち最上位
(または最下位)ビットが0のコードB′jまで戻り、
ステップ17でその最上位(または最下位)ビットを1に
変えたコードを新しいB′jとして再びステップ13へ行
くという処理を繰り返す。 以上のようにしてステップ14でN個目のコードB′N
まで生成したとすると、ステップ20でB′N-M,・・・,
B′N、すなわち数列2、・・・、数列M+1および数
列1とを1ビット右シフト(または左シフト)して最上
位(または最下位)ビットに0または1をおいたコード
B′N+1、・・・,B′N+M+1が初期設定コードB′1,・・
・,B′M+1に等しくなるかどうか判定し、等しくなれば
探索終了、等しくならない場合、再びステップ16へ行く
ようにすればMビットおきの長さNの循環乱数列が得ら
れることになる。 なお、ステップ12において左シフト(または右シフ
ト)した後の最上位ビット(または最下位ビット)に1
をおいても同じ循環乱数列が得られる。この場合、以後
の処理において、0を1、1を0に変えればよい。 以上のように、本発明によれば、任意の分解能の絶対
値エンコーダが実現できる。The first absolute value encoder code pattern creating method according to the present invention is a cyclic random number sequence in which binary code values (B 1 to B N ) composed of consecutive P slits are all equally divided into N slits. And a code plate in which a code of 0 or 1 is written in each slit so as to form
The present invention is applied to an absolute value encoder that detects an absolute angle within one rotation by using a detection element that reads codes of slits. FIG. 1 is a flowchart showing a method for generating a cyclic random number code in a first absolute value encoder. First, in step 1, an initial code B'1 consisting of P bit 0 or 1 is set. The P bits correspond to the first P random number strings. Next, initial code B '1 to 1 bit right shift (or left shift) in Step 2. Here, in the case of left shift, the processing shown in the following parentheses is performed. Right shift (or left shift)
After that, 0 is set in the most significant bit (or least significant bit). This bit becomes the (P + 1) -th random number sequence. Wherein the P bits new code B '2 and initial code B'
1 is compared in step 3. If they are different, go to step 4; if new, go to step 5. Step 4
Then, it is determined whether the random number sequence has reached the length N, that is, whether or not the new code is the N-th code. If it is N, go to step 6; otherwise, go to step 2. In this way, the went to Step 2 generated in step 4 to i-th code B '1. In step 2, this code is right-shifted (or left-shifted) by one bit, 0 is set in the most significant (or least significant) bit, and the new code is set to B'i + 1 . Further, in step 3, B ′ 1 to B ′
Check whether i has the same code as B'i + 1 . If there is not the same code, go to step 4. If there is the same code, in step 5, set the most significant (or least significant) bit to 0.
And go to step 3 again. Here, if the new codes B ′ i + 1 and B ′ 1 to B ′ i have the same code, the procedure goes to step 5 again. In this case, the highest (or lowest) code
The bit is already one. Therefore, the most significant (or least significant) bit of the random number sequence is left-shifted (or right-shifted) until it becomes 0, that is, the most significant (or least significant) bit is returned to the code B'p of 0, and the most significant (or least significant) bit is returned. Alternatively, a process in which the code having the least significant (1) bit set to 1 is newly set as B'p and the procedure goes to step 3 again is repeated. As described above, in step 4, the N-th code B '
If the code has been generated up to N , it is determined in step 6 whether or not the code obtained by right-shifting (or left-shifting) B ′ N by 1 bit can be the initial code B ′ 1 . By going to step 5, a cyclic random number code is obtained. In step 2, the most significant bit (or least significant bit) after left shift (or right shift) is set to 1
, The same cyclic random number sequence can be obtained. In this case, 0 may be changed to 1 and 1 to 0 in the subsequent processing. According to the second method of generating a code pattern of an absolute value encoder of the present invention, the number of P is divided equally into N slits.
P bits consisting of slits (however, (M + 1) P
0 or 1 in each slit so as to form a cyclic random number sequence in which the binary code values (B 1 to B N ) of <N ≦ 2 P ) are all different.
Applied to an absolute value encoder that detects an absolute angle within one rotation by using a code plate on which a code is written and a detection element that reads the code of P slits at intervals of M from the code plate. It is. FIG. 2 is a flowchart showing a method for generating a cyclic random number code of the second absolute value encoder. FIG. 2 shows a method of generating a random number sequence having a length of N every M number. First, in step 11, N is a sequence 1, 2,..., Sequence M of P bits 0 or 1 which can be represented by a binary number.
+1 is initialized, and the binary codes of these are B ′ 1 ,
B ′ 2 ,..., B ′ M + 1 . In addition, the sequence 1,
2,..., For each bit of the sequence M + 1, the sequence 1, 2,.
.., Length (M + 1) in which bits are arranged in order of the sequence M + 1
The sequence of P is set as an initial random number sequence. Next, in step 12, the sequence 1 is shifted right by one bit (or left). Here, in the case of a left shift, the processing in parentheses will be performed thereafter. Right shift (or left shift)
0 is placed in the most significant (or least significant) bit after
The binary code is B'M + 2 . Next, step 13
In the code B of new P bit 'M + 2 is previous code B' compared for equality to 1, B '2, ···, B' M + 1. If there is no equal code, go to step 14, and if there is equal code, go to step 16. In step 14, the most significant (or least significant) bit of the sequence 1 is placed on the left (or right) of the most significant (or least significant) bit of the random number sequence to form a (M + 1) P + 1 bit random number sequence, and the new code is It is determined whether the code is the N-th code. If the code is the N-th code, go to step 20; otherwise, go to step 15
Go to In step 15, the sequence 1 is replaced with a new sequence M + 1, the sequence 2 is replaced with a new sequence 1,..., The sequence M + 1 is replaced with a new sequence M, and the new sequence 1 after the replacement is performed.
Is carried out again in step 12 to search for a new code B'M + 3 . In step 16, it is determined whether or not the most significant (or least significant) bit of the sequence 1 is 0. If it is 0, the process proceeds to step 17, otherwise, the process proceeds to step 18. In step 17, the most significant (or least significant) bit is changed to 1 and the procedure goes to step 13 again. On the other hand, in step 18, the initial code is the current code B '1, B' 2, ···, B 'M + 1 if it is determined whether, when equal to step 21, otherwise step 19
Go to In step 19, each of the sequence 1, the sequence 2,..., The sequence M + 1 is shifted left by one bit (or shifted right).
Then go back one step and go to step 16 again. At this time, the random number sequence returns by M + 1 bits. In the loop of steps 16, 18, and 19, the sequence 1 is shifted left (or right) until the most significant (or least significant) bit of the sequence 1 becomes 0 or the initial code of the sequence 1 is reached. Become. In step 21, the current code is P bits 2
It is determined whether or not the maximum value that the radix can take is determined. If the maximum value is not reached, the process proceeds to step 22, and if the maximum value, the process is stopped because a random number sequence cannot be generated by the present algorithm. In step 22, the code obtained by incrementing the current code by 1 is set as a new initial code, and the process goes to step 23. In step 23, new initial encoding B '1, · · ·, B' compared to M, if there is no same code new initial code B 'as M + 1 returns to step 12, B' 1, · · · , the flow returns to step 21, if the same code B 'M. It is assumed that the i-th code B ′ i has been generated in this way and the process proceeds to step 12. In step 12, the new sequence 1
Is shifted right by one bit (or left) and 0 is set in the most significant (or least significant) bit, and a new code is set to B ′ i + 1 . Further, in step 13, B ′ 1 ,.
B 'i to B' checks whether there is a i + 1 equal to the code.
If there is no equal code, go to step 14. If there is an equal code, change the most significant (or least significant) bit from 0 to 1 in steps 16 and 17 and go to step 13 again. Again new B 'i + 1 and B' 1, · · ·, if there is equal code B 'i, but again goes to step 16, in this case, the top (or bottom) bit is already 1 since, shift left (or right-shift) to the top (or bottom) bits of the sequence 1 is 0, that is the highest (or lowest) bit returns to code B 'j of 0,
The top-level (or lowest) bit in step 17 repeats a process of going to the step 13 the code that was changed to 1 as the new B 'j. As described above, in step 14, the N-th code B'N
In step 20, B ′ NM,.
B ′ N , that is, a code B ′ N + in which the sequence 2,..., Sequence M + 1 and sequence 1 are right-shifted (or left-shifted) by one bit and 0 or 1 is placed in the most significant (or least significant) bit 1, ···, B 'N + M + 1 is the initial setting code B' 1, ··
・, B ′ It is determined whether or not it is equal to M + 1. If they are equal, the search is terminated. If they are not equal, if the process goes to step 16 again, a cyclic random number sequence of length N every M bits can be obtained. Become. In step 12, the most significant bit (or least significant bit) after left shift (or right shift) is set to 1
, The same cyclic random number sequence can be obtained. In this case, 0 may be changed to 1 and 1 to 0 in the subsequent processing. As described above, according to the present invention, an absolute encoder having an arbitrary resolution can be realized.
次に、本発明の実施例について図面を参照して説明す
る。 第3図は本発明の絶対値エンコーダの第1の実施例の
符号板を示す図である。 これは、黒い部分を「0」、白部分を「1」として読
むと、 1111010110010000 という循環数列(1周分)が得られる。これを検出素子
で、隣り合った4ビットの数列R0〜R3として読み取れば
表2のR0〜R3のように1周を16個の相異なるパターンに
分割できることがわかる。 表3は表2の循環乱数列を第1図に示したアルゴリズ
ムを用いて発生する過程を示している。ここでは、N=
16,P=4ビット、右シフトの場合で、第1図のステップ
3のところへきたときの乱数コードを各回毎に示してい
る。 まず、初期乱数コードB′1として“0000"を設定す
る(ステップ1)。これを1ビット右シフトして最上位
ビットを0とすると、No.2のコードB′2=“0000"と
なる(ステップ2)。B′1とB′2は等しいので、最
上位ビットを1にして、No.3のコードB′2=‘1000'
が得られる(ステップ3,5)。No.3のコードB′2はNo.
2のコードB′2と異なり、またN=16でないので、1
ビット右シフトして最上位ビットを0とし、No.4のコー
ドB′3=‘0100'が得られる(ステップ3,4,2)。以
下、同様にして、No.5のコードB′4=‘0010'、No.6
のコードB′5=‘0001'、No.7のコードB′6=‘000
0'が得られる。コードB′6はNo.1のコードB′1と等
しいので、最上位ビットを1にして、No.8のコードB′
6=‘1000'が得られる(ステップ3,5)。このNo.8のコ
ードB′6はNo.3のコードB′2と等しく、かつ最上位
ビットはすでに1であるので、最上位ビットが0になる
まで左シフトし、すなわち最上位ビットが0のコード
B′5までさかのぼり、その最上位ビットを1としたコ
ード‘1001'を新しくコードB′5とする(ステップ3,
5)。このコードB′5=‘1001'には前に同じものがな
く、またN=16でないので、1ビット右シフトして最上
位ビットを0とし、No.10のコードB′6=‘0100'が得
られる(ステップ3,4,2)。このように、No.36で16番目
のコードB′16=‘0001'が得られるので、No.37のコー
ド‘0000'が初期コードと等しいかどうか判定すると
(ステップ6)、等しいので求める乱数列が得られたこ
とになる。 以上のようにして得られる乱数列は任意の長さNとす
ることができるので、これをスリットにして符号板を作
れば分解能Nの絶対値エンコーダが実現できる。また、
乱数スリットとは別に分解能Nのインクリメンタルスリ
ットを設けたエンコーダも実現できる。さらに、同一符
号板上または同一回転中心軸に1回転1パルスのインク
リメンタルパルスを発生する手段を設け、これをカウン
タにて計数する手段を備えることにより、多回転式絶対
値エンコーダを実現できる。 第4図は表2の4ビットの乱数コードを発生する乱数
コード発生回路の回路図である。 この回路は、シフトレジスタ31と、排他的オア回路32
と、ノア回路33と、インバータ34,35と、アンド回路36,
37と、オア回路38からなり、第7図の回路で発生するパ
ターンのうち、1000→0001となるところに0を追加して
1000→0000→0001とになるように回路が追加されてい
る。すなわち、R0〜R2の3ビットが全て0のときに、R3
の値にしたがって、次のシフト入力を決定し、それ以外
は、第7図の回路を同じパターンを発生するようになっ
ている。 第3図の符号板を用いて隣り合った4ビットを検出
し、そのデータと、第4図の回路の出力R0〜R3とが一致
するまでシフトさせれば、そのシフトロックのパルス数
によって符号板の位置が一意に決められる。このように
して、2kの分解能をもった絶対値エンコーダが実現でき
る。 第5図は本発明の第2の実施例の絶対値エンコーダの
符号板を示す図である。 これは、前と同じように、黒い部分「0」、白い部分
を「1」として読むと、 0001000111110110… という循環乱数列(1周分)が得られる。これを第5図
のように1つおきに4ビットの数列R0〜R3として読み取
れば表4のR0〜R3のように1周を16個の相異なるパター
ンに分割できることがわかる。したがって、このような
符号板を用いても前と同様に絶対値エンコーダが実現で
きる。この場合、第1の実施例と違い検出素子の配置は
1ビットおきとなるため、第1の実施例に比べて物理的
な実現性が著しく向上する。 表5は表4の循環乱数列を第2図に示したアルゴリズ
ムを用いて発生する過程を示している。ここでは、N=
16、M=1、P=4ビット、右シフトの場合で、第2図
のステップ13のところへきたときの乱数コードを各回毎
に示している。 まず、初期コードとしてNo.1,No.2で“1000"を数列1
およびB′1,“0000"を数列2およびB′2と設定す
る。数例1をステップ12によって右シフトし、No.3のコ
ードB′3とする。これを、ステップ13で判定すると、
等しいコードがないのでステップ14へ行くが、これはN
=16番目ではないので、ステップ15へ行き、数列1と数
列2を入れ換えて再びステップ12へ行く。新しい数列1
について右シフトするとNo.4のコードB′4となるが、
これをステップ13で判定すると、B′2に等しいのでス
テップ16,17でNo.5のコードB′4が得られる。これを
ステップ13で判定すると、今度はB′1に等しいので再
びステップ16へ行くが、最上位ビットが1なので最上位
ビットが0のコードB′2に戻る。ステップ17で新しい
B′2としてNo.6を作りステップ13で判定すると、B′
1に等しいので再びステップ16へ行く。今度も最上位ビ
ットが1であるが、同時に初期コードB′2であるので
ステップ21,22,23,12により新しいコードとしてNo.8の
B′3を作り、再びステップ13で判定を行なう。以後こ
れを繰り返す。 このようにして、No.120で16番目のコードB′16が得
られるのでステップ20の判定を行なうと、No.121,No.12
2のように、初期コードB′1,B′2と等しいので求める
乱数列が得られたことになる。 第6図は本発明の絶対値エンコーダの第3の実施例の
符号板を示す図である。 これは前と同じように黒い部分を「0」、白い部分を
「1」として読むと、 0000110100101111 という循環乱数列(1周分)が得られる。これを第6図
のように2個おきに4ビットの数列R0〜R3として読み取
れば表6のR0〜R3のように1周を16個の相異なるパター
ンに分割できることがわかる。したがって、このような
符号板を用いても前と同様に絶対値エンコーダが実現で
きる。この場合、第2の実施例と違い、検出素子の配置
は2ビットおきとなるため、第1の実施例と違い、検出
素子の配置は2ビットおきとなるため第1の実施例ひ比
べて物理的な実現性が著しく向上する。 表7は表6の循環乱数列を第2図に示したアルゴリズ
ムを用いて発生する過程を示している。ここでは、N=
16、M=2、P=4ビット、右シフトの場合で、第2図
のステップ13のところへきたときの乱数コードを各回毎
に示している。 まず、初期コードとしてNo.1,・・・,No.3で“1000"
を数列1およびB′1、“1001"を数列2および
B′2、“0000"を数列3およびB′3と設定する。数
列1をステップ12によって右シフトすると、、No.4のコ
ードB′4となる。これを、ステップ13で判定すると、
等しいコードがないのでステップ14へ行くが、これはN
=16番目ではないのでステップ15へ行く。ステップ15で
は数列2を新しい数列1、数列3を新しい数列2、数列
1を新しい数列3とする入れ換えを行ない、再びステッ
プ12へ行く。新しい数列1においてシフトするとNo.5の
コードB′5となるが、これをステップ13で判定する
と、B′4に等しいのでステップ16,17でNo.6のコード
B′5が得られる。これをステップ13で判定すると、今
度は等しいコードがないので、ステップ14,15で数列
1、数列2、数列3の入れ替えを行なって再びステップ
12へ行く。このようにして、No.8のコードB′6が得ら
れたとき、ステップ13の判定で同じコードがあるので再
びステップ16へ行くが、最上位ビットが1であるので最
上位ビットが0のコードB′3へ戻る。ステップ17で新
しいB′3としてNo.9を作り、ステップ13で判定する
と、B′1に等しいので再びステップ16へ行く。今度も
最上位ビットが1であるが、同時に初期コードB′3で
あるのでステップ21,22,23,12により新しいコードとし
てNo.12のB′4を作り、再びステップ13で判定を行な
う。以後これを繰り返す。 このようにしてNo.848で16番目のコードB′16が得ら
れるのでステップ20の判定を行なうと、No.849,No.850,
No,851のように初期コードB′1,B′2,B′3(図示せ
ず)と等しくなるので求める乱数列が得られたことにな
る。 なお、以上のいずれの実施例においてもロータリタイ
プのスリット方式についてのみ述べたが、リニアタイプ
にも応用が可能であり、第8図に示すように、この場合
にはN−P個のスリットの範囲内で絶対位置がわかるこ
とは言うまでもない。また、以上の説明は光学式の場合
であるが、磁気式エンコーダの場合には1,0をN,S極の磁
極パターンに変更できることは言うまでもない。Next, embodiments of the present invention will be described with reference to the drawings. FIG. 3 is a diagram showing a code plate of a first embodiment of the absolute value encoder of the present invention. When the black part is read as “0” and the white part is read as “1”, a cyclic sequence (one round) of 1111010110010000 is obtained. If this is read by the detection element as a sequence of four bits R 0 to R 3 adjacent to each other, it is understood that one round can be divided into 16 different patterns as R 0 to R 3 in Table 2. Table 3 shows the process of generating the cyclic random number sequence of Table 2 using the algorithm shown in FIG. Here, N =
In the case of 16, P = 4 bits, right shift, the random number code when it reaches step 3 in FIG. 1 is shown each time. First, it sets the "0000" as an initial random code B '1 (Step 1). If this is shifted right by one bit and the most significant bit is set to 0, the code B'2 of No. 2 = "0000" (step 2). Since B '1 and B' 2 are equal, and the most significant bit to 1, the code of No.3 B '2 =' 1000 '
Is obtained (steps 3 and 5). Code B '2 of No.3 is No.
Unlike code B ′ 2 of No. 2 and N = 16, 1
The rightmost bit is shifted to the right by 0, and the code B ′ 3 = “0100” of No. 4 is obtained (steps 3 , 4, 2). Hereinafter, similarly, the code B ′ 4 of No. 5 = “0010” and the code of No. 6
Code B ' 5 =' 0001 ', No. 7 code B' 6 = '000
0 'is obtained. The code B '6 code B of No.1' equal to 1, and the most significant bit to 1, No.8 code B '
6 = '1000' is obtained (steps 3,5). Equal to 2 'code B of 6 No.3' code B of this No.8, and since the most significant bit is already 1, shifted to the left until the most significant bit becomes 0, i.e. the most significant bit is 0 code B 'goes back to 5, the code was the most significant bits and 1' and 'new code B a' 5 1001 (step 3,
Five). Since this code B ' 5 =' 1001 'is not the same as before and N = 16, it is shifted right by one bit to set the most significant bit to 0, and the code B' 6 of No. 10 = '0100' Is obtained (steps 3, 4, and 2). Thus, 'so obtained, No.37 code' 16 th code B '16 =' 0001 at No.36 the 0000 'to determine equality with initial code (step 6), the random number for determining is equal A row is obtained. Since the random number sequence obtained as described above can have an arbitrary length N, an absolute value encoder having a resolution N can be realized by using this as a slit to form a code plate. Also,
An encoder provided with an incremental slit having a resolution of N separately from the random number slit can also be realized. Further, by providing a means for generating an incremental pulse of one pulse per rotation on the same code plate or on the same rotation center axis, and a means for counting this with a counter, a multi-rotation type absolute value encoder can be realized. FIG. 4 is a circuit diagram of a random number code generation circuit for generating a 4-bit random number code of Table 2. This circuit comprises a shift register 31 and an exclusive OR circuit 32
And the NOR circuit 33, the inverters 34 and 35, and the AND circuit 36,
7 and an OR circuit 38. Of the patterns generated in the circuit of FIG.
A circuit has been added so that 1000 → 0000 → 0001. That is, when all three bits R 0 to R 2 are 0, R 3
, The next shift input is determined, and otherwise, the circuit of FIG. 7 generates the same pattern. If the adjacent four bits are detected using the code plate of FIG. 3 and the data is shifted until the data and the outputs R 0 to R 3 of the circuit of FIG. 4 coincide with each other, the pulse number of the shift lock is obtained. Determines the position of the code plate uniquely. Thus, an absolute encoder having a resolution of 2 k can be realized. FIG. 5 is a diagram showing a code plate of an absolute value encoder according to a second embodiment of the present invention. As described above, when a black portion is read as “0” and a white portion is read as “1”, a cyclic random number sequence (for one round) of 0001000111110110... Is obtained. If this is read as every other 4-bit sequence R 0 to R 3 as shown in FIG. 5, it can be understood that one round can be divided into 16 different patterns as R 0 to R 3 in Table 4. Therefore, an absolute value encoder can be realized as before using such a code plate. In this case, unlike the first embodiment, the arrangement of the detection elements is every other bit, so that the physical feasibility is significantly improved as compared with the first embodiment. Table 5 shows the process of generating the cyclic random number sequence of Table 4 using the algorithm shown in FIG. Here, N =
In the case of 16, M = 1, P = 4 bits, and right shift, the random number code at the time of step 13 in FIG. 2 is shown each time. First, as the initial code, “1000” in No.1 and No.2 is a sequence 1
And B ′ 1 , “0000” are set as the sequence 2 and B ′ 2 . Several examples 1 Right shift by step 12, the code B '3 of No.3. If this is determined in step 13,
Since there is no equal code, go to step 14, which is N
Since it is not the 16th, the procedure goes to step 15, the sequence 1 and the sequence 2 are exchanged, and the process goes to step 12 again. New sequence 1
Although the code B '4 of Right-Shift No.4 for,
When this is determined in step 13, 4 'code B at step 16, 17 No.5 is equal to 2' is obtained B. When this is determined in step 13, this time 'because although again goes to step 16 equals 1, the most significant bit is 1, and therefore the most significant bit code B of 0' B returns to 2. New B in step 17 'If it is determined in step 13 to make a No.6 as 2, B'
Since it is equal to 1 , go to step 16 again. This time is also the most significant bit is 1, the initial 'because it is 2 No.8 of B as the new code in step 21,22,23,12' coding B make 3 performs the determination again in step 13 simultaneously. Thereafter, this is repeated. In this way, when the determination in Step 20, the 16-th code B '16 at No.120 is obtained, No.121, No.12
Since the initial codes are equal to the initial codes B ′ 1 and B ′ 2 as shown in 2 , the random number sequence to be obtained is obtained. FIG. 6 is a diagram showing a code plate of a third embodiment of the absolute value encoder of the present invention. If a black part is read as "0" and a white part is read as "1" as before, a cyclic random number sequence (for one round) of 0000110100101111 is obtained. If this is read as a 4-bit sequence R 0 to R 3 every two bits as shown in FIG. 6, it can be understood that one round can be divided into 16 different patterns as R 0 to R 3 in Table 6. Therefore, an absolute value encoder can be realized as before using such a code plate. In this case, unlike the second embodiment, the arrangement of the detection elements is every two bits, and therefore, unlike the first embodiment, the arrangement of the detection elements is every two bits. The physical feasibility is significantly improved. Table 7 shows the process of generating the cyclic random number sequence of Table 6 using the algorithm shown in FIG. Here, N =
In the case of 16, M = 2, P = 4 bits and right shift, the random number code at the time of step 13 in FIG. 2 is shown each time. First, “1000” for No.1, ..., No.3 as the initial code
Are set as a sequence 1 and B ′ 1 , “1001” as a sequence 2 and B ′ 2 , and “0000” as a sequence 3 and B ′ 3 . When the sequence 1 is shifted to the right in step 12, the code B'4 of No. 4 is obtained. If this is determined in step 13,
Since there is no equal code, go to step 14, which is N
= Not 16th, so go to step 15. In step 15, the sequence 2 is replaced with the new sequence 1, the sequence 3 is replaced with the new sequence 2, and the sequence 1 is replaced with the new sequence 3. 'Although the 5, which upon determination in step 13, B' code B of the shifted No.5 in the new sequence 1 is equal to 4 at step 16 and 17 the code B '5 of No.6 obtained. When this is determined in step 13, there is no equivalent code, so that the sequences 1, 2, and 3 are exchanged in steps 14 and 15, and the step is performed again.
Go to 12. In this way, when the code B '6 of No.8 is obtained, but goes back to step 16 since the judgment is the same code at step 13, the most significant bit is 0 because the most significant bit is 1 Back to the code B '3. New B in step 17 'make No.9 as 3, if it is determined at step 13, B' again goes to step 16 is equal to 1. This time is also the most significant bit is 1, the initial 'because it is 3 No.12 of B as the new code in step 21,22,23,12' coding B make 4 performs determination again in step 13 simultaneously. Thereafter, this is repeated. When Since the 16 th code B '16 at No.848 in the resulting judgment of step 20, No.849, No.850,
As shown in No. 851, it is equal to the initial codes B ′ 1 , B ′ 2 , B ′ 3 (not shown), so that the random number sequence to be obtained is obtained. In each of the above embodiments, only the rotary type slit system has been described. However, the present invention can also be applied to a linear type slit system, and as shown in FIG. It goes without saying that the absolute position is known within the range. Although the above description is of an optical type, it goes without saying that in the case of a magnetic encoder, 1,0 can be changed to magnetic pole patterns of N and S poles.
以上説明したように本発明は、コードをMビットずつ
シフトして全てのコードが異なるよう0または1を付け
加えるアルゴリズムにより、任意の長さの乱数列が得ら
れ、任意の分解能の絶対値エンコーダを実現でき、また
M系列乱数コードのスリットパターンを用いる場合に
は、M系列乱数コードと0とを組合わせたパターンを発
生する回路を用いることにより、2kの分解能の絶対値エ
ンコーダを実現できる効果がある。As described above, according to the present invention, a random number sequence having an arbitrary length can be obtained by an algorithm of shifting a code by M bits and adding 0 or 1 so that all codes are different, and an absolute value encoder having an arbitrary resolution can be obtained. When a slit pattern of an M-sequence random number code is used, an effect of realizing an absolute encoder having a resolution of 2 k can be achieved by using a circuit that generates a pattern in which the M-sequence random number code and 0 are combined. There is.
第1図は本発明の第1の絶対値エンコーダにおける循環
乱数コードを発生する方法を示すフローチャート、第2
図は本発明の第2の絶対値エンコーダにおける循環乱数
コードを発生する方法を示すフローチャート、第3図は
本発明の第1の実施例の絶対値エンコーダの符号板を示
す図、第4図は表2の4ビットの乱数コードを発生する
乱数コード発生回路の回路図、第5図は本発明の第2の
実施例の絶対値エンコーダの符号板を示す図、第6図は
本発明の第3の実施例の絶対値エンコーダの符号板を示
す図、第7図はM系列乱数を発生する回路の回路図、第
8図はリニアタイプのエンコーダの符号板を示す図であ
る。 1〜6,11〜22……ステップ、 31……シフトレジスタ、 32……排他的オア回路、 33……ノア回路、 34,35……インバータ、 36,37……アンド回路、 38……オア回路。FIG. 1 is a flow chart showing a method for generating a cyclic random number code in a first absolute value encoder of the present invention.
FIG. 4 is a flowchart showing a method for generating a cyclic random number code in the second absolute value encoder of the present invention. FIG. 3 is a diagram showing a code plate of the absolute value encoder of the first embodiment of the present invention. FIG. 5 is a circuit diagram of a random number code generation circuit for generating a 4-bit random number code shown in Table 2, FIG. 5 is a diagram showing a code plate of an absolute value encoder according to a second embodiment of the present invention, and FIG. FIG. 7 is a diagram showing a code plate of an absolute value encoder according to a third embodiment, FIG. 7 is a circuit diagram of a circuit for generating an M-sequence random number, and FIG. 8 is a diagram showing a code plate of a linear type encoder. 1-6,11-22 ... step, 31 shift register, 32 exclusive OR circuit, 33 NOR circuit, 34,35 inverter, 36,37 AND circuit, 38 OR circuit.
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G01D 5/249──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 6 , DB name) G01D 5/249
Claims (2)
個のスリットからなる2進コード値(B1〜BN)が全て異
なる循環乱数列を形成するように各スリットに0または
1のコードが記されている符号板と、該符号板の連続し
たP個のスリットのコードを読み取る検出素子とを用い
て1回転以内の絶対角度を検出する絶対値エンコーダの
符号パターン作成方法において、 1と0で表わされる任意のPビットの乱数コードを初期
設定し、この2進コード値をB′1とし、第1作業段階
においては、この初期乱数コードを1ビット分右シフト
または左シフトし(ここで、左シフトを選んだ場合、以
下( )内の処理を行なうものとする)、あらたに最上
位(または最下位)ビットになる場所に0を配置し、こ
こで得られた第2のPビットの2進コード値B′2が初
期コード値B′1と同一かどうかを判定し、同一でなけ
ればPビットの乱数コードの最上位(または最下位)ビ
ットの左側(または右側)に0を追加し、P+1ビット
の乱数コードとし、第2作業段階ではさらに1ビット分
右シフト(または左シフト)し、この段階での最上位
(または最下位)ビットになる場所に0を配置し、ここ
で得られた第3のPビットの2進コード値B′3がB′
1,B′2と同一かどうかを判定し、同一でなければP+
1ビットの乱数コードの最上位(または最下位)ビット
の左側(または右側)に0を追加し、P+2ビットの乱
数コードとするような連続作業を第N作業段階まで繰り
返しながら、Nビットの乱数コードが求まるまで行なう
と共に、 各作業段階において、それ以前の作業段階で得られた2
進コード値に新たに得られた2進コード値と同一の2進
コード値があったときには、最上位(または最下位)ビ
ットが0となる作業段階まで乱数コードを左シフト(ま
たは右シフト)して戻り、この段階においてあらためて
最上位(または最下位)ビットにある0を1に変換し
て、ここで得られたPビットの2進コード値が初期設定
段階からの2進コード値と同一かどうかを判定し、同一
でなければ、前記右シフト(または左シフト)の作業を
行ない、同一であれば前記左シフト(または右シフト)
の作業を行なうというN個の循環乱数列を発生する方法
を用いてスリットを構成することを特徴とする絶対値エ
ンコーダの符号パターン作成方法。1. A continuous P which is equally divided into N slits
A code plate in which a code of 0 or 1 is written in each slit so that all binary code values (B 1 to B N ) formed of the slits form different cyclic random number sequences; In a method of creating a code pattern of an absolute encoder that detects an absolute angle within one rotation using a detection element that reads codes of P slits, an arbitrary P-bit random number code represented by 1 and 0 is initialized. , and the binary code value B '1 and, in the first working step, the initial random code one bit right shift or left shift (here, when choosing the left shift, the processing in the following () Is performed, and 0 is newly placed at the position of the most significant (or least significant) bit, and the binary code value B ′ 2 of the second P bit obtained here is set to the initial code value B ′. Determine if they are the same as 1. If they are not the same, 0 is added to the left (or right) of the most significant (or least significant) bit of the P-bit random number code to make it a P + 1-bit random number code. Shift (or left shift), and place a 0 at a position where the most significant (or least significant) bit at this stage becomes, and the obtained third P-bit binary code value B ′ 3 is B ′
1, B 'is determined whether 2 and do the same, if not identical P +
While adding 0 to the left (or right side) of the most significant (or least significant) bit of the 1-bit random number code, and repeating the continuous work up to the N + th work stage to form a P + 2 bit random number code, the N-bit random number is repeated. This is done until the code is obtained, and in each work stage, 2
If the binary code value has the same binary code value as the newly obtained binary code value, the random number code is left-shifted (or right-shifted) until the work stage in which the most significant (or least significant) bit becomes 0 At this stage, 0 in the most significant (or least significant) bit is converted to 1 again, and the binary code value of the P bit obtained here is the same as the binary code value from the initialization stage. If they are not the same, the operation of the right shift (or left shift) is performed, and if they are the same, the left shift (or right shift) is performed.
A code pattern generating method for an absolute value encoder, wherein the slit is formed using a method of generating N cyclic random number sequences of performing the above operation.
P個のスリットからなるPビット(ただし、(M+1)
P<N≦2P)の2進コード値(B1〜BN)が全て異なるよ
うな循環乱数列を形成するように各スリットに0または
1のスリットコードが記されている符号板と、該符号板
からM個おきにP個のスリットのコードを読み取る検出
素子とを用いて1回転以内の絶対角度を検出する絶対値
エンコーダの符号パターン作成方法において、 P個の任意の1と0で表わされる相異なるM+1個の数
列1、数列2、・・・、数列M+1を初期設定し、この
2進コード値をそれぞれB′1,B′2,・・・,B′M+1と
し、長さ(M+1)Pの乱数列として数列1、数列2、
・・・、数列M+1の各ビットを数列1、数列2、・・
・,数列M+1の順にビット毎に並べて数列を初期設定
し、第1作業段階においては、数列1の初期コードを1
ビット分右シフトまたは左シフトし(左シフトを選んだ
場合、以下で( )内の処理を行なうものとする)、新
たに最上位(または最下位)ビットに0を配置した数列
を新しい数列1とし、ここで得られた第M+2番目のP
ビットの2進コード値B′M+2がB′1,B′2,・・・,B′
M+1と同一かどうかを判定し、同一でなければ(M+
1)P個の乱数列の最上位(または最下位)ビットの左
側(または右側)に0を追加し、(M+1)P+1個の
乱数列とし、前記の新しい数列1を新しい数列M+1、
数列2を新しい数列1、・・・、数列M+1を新しい数
列Mとする入れ換え作業を行ない、入れ換え後の新しい
数列1について、さらに1ビット分右シフト(または左
シフト)し、この最上位(または最下位)ビットに0を
配置し、ここで得られた第M+3番目のPビットの2進
コード値B′M+3がB′1,B′2,・・・,B′M+2と同一か
どうか判定し、同一でなければ(M+1)P+1ビット
の乱数列の最上位(または最下位)ビットの左側(また
は右側)に0を追加し(M+1)P+2ビットの乱数列
とするような連続作業をN個の乱数コードを求まるまで
繰り返し行なうと共に、 各作業段階において、それ以前の作業段階で得られた2
進コード値に新たに得られた2進コード値と同一の2進
コード値があったときに、現コードの最上位(または最
下位)ビットが0であればあらためて最上位(または最
下位)ビットにある0を1に変換して前記判定段階から
やり直し、現コードの最上位(または最下位)ビットが
1であり、かつ現コードが初期設定コードB′1,B′2,
・・・,B′M+1と同一でなければ、数列1、数列2、・
・・、数列M+1および乱数列を1ビット左シフト(ま
たは右シフト)して戻り、あらためて最上位(または最
下位)ビットの判定を行なうという処理を繰り返し、 現コードが初期設定コードB′1,B′2,・・・B′M+1と
同一であるとき、現コードがPビット2進コードの取り
得る最大値でなければ現コードを1増やしたコードを
B′1,・・・,B′Mと比較し、同一のコードがなければ
新しい初期設定コードB′M+1として前記第1作業段階
からやり直し、B′1,・・・,B′Mと同一のコードがあ
れば前記最大値の判定作業からやり直し、最大値であれ
ば乱数列発生が不可能として終了するという方法を用い
て発生したN個の循環乱数コードによりスリットを構成
することを特徴とする絶対値エンコーダの符号パターン
作成方法。2. A P bit (where (M + 1)), which is equally divided into N slits and includes P slits every M
A code plate having a slit code of 0 or 1 written in each slit so as to form a cyclic random number sequence in which all binary code values (B 1 to B N ) of P <N ≦ 2 P are different; A method for creating a code pattern of an absolute encoder that detects an absolute angle within one rotation using a detection element that reads a code of P slits at every M intervals from the code plate, comprising: different M + 1 pieces of sequence 1 represented, sequence 2,..., a sequence M + 1 initializes, to the binary code value, respectively B '1, B' 2, ..., and B 'M + 1, Sequences 1, 2, as random number sequences of length (M + 1) P
.., Each bit of the sequence M + 1 is represented as a sequence 1, a sequence 2,.
.., The sequence is initially set by arranging each bit in the order of the sequence M + 1, and in the first work stage, the initial code of the sequence 1 is set to 1
Shift right or left by bits (when the left shift is selected, the processing in parentheses will be performed below), and replace the sequence in which 0 is newly arranged in the most significant (or least significant) bit with the new sequence 1 And the (M + 2) th P obtained here
Binary code bits B 'M + 2 is B' 1, B '2, ···, B'
It is determined whether it is the same as M + 1, and if not, (M +
1) 0 is added to the left (or right) of the most significant (or least significant) bit of the P random number sequences to obtain (M + 1) P + 1 random number sequences, and the new sequence 1 is replaced with a new sequence M + 1,
The sequence 2 is replaced with a new sequence 1,..., And the sequence M + 1 is replaced with a new sequence M, and the new sequence 1 after the replacement is further shifted right (or left) by one more bit. 0 located at its lowest position) bit, where the resulting second M + 3 th binary code value B P bit 'M + 3 is B' 1, B '2, ···, B' M + 2 and It is determined whether or not they are the same, and if they are not the same, 0 is added to the left (or right) of the most significant (or least significant) bit of the (M + 1) P + 1 bit random number sequence to form a (M + 1) P + 2 bit random number sequence. The continuous operation is repeated until N random number codes are obtained.
When the binary code value has the same binary code value as the newly obtained binary code value, if the most significant (or least significant) bit of the current code is 0, the most significant (or least significant) bit is newly set. The 0 in the bit is converted into 1 and the process is restarted from the above-mentioned determination step, and the most significant (or least significant) bit of the current code is 1 and the current code is the initialization code B ′ 1 , B ′ 2 ,
..., B ' M + 1 , if not identical, Sequence 1, Sequence 2, ...
.., The sequence M + 1 and the random number sequence are left-shifted (or right-shifted) by one bit and returned, and the process of again determining the most significant (or least significant) bit is repeated, and the current code is initialized to B ′ 1 , B ′ 2 ,..., B ′ M + 1 , when the current code is not the maximum value of the P-bit binary code, the code obtained by incrementing the current code by 1 is represented by B ′ 1 ,. 'compared to M, if there is the same code the new initialization code B' B again from the first working step as M + 1, B '1, ···, B' if the same code and M wherein The absolute value encoder code characterized in that the slit is constituted by N cyclic random number codes generated by using a method in which the process of determining the maximum value is redone, and if it is the maximum value, the random number sequence cannot be generated and the process is terminated. Pattern creation method.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1174121A JP2785349B2 (en) | 1988-07-25 | 1989-07-07 | Absolute encoder code pattern creation method |
| US07/651,387 US5117105A (en) | 1989-07-07 | 1990-01-23 | Absolute encoder |
| EP19900901883 EP0441963A4 (en) | 1989-07-07 | 1990-01-23 | Absolute value encoder |
| PCT/JP1990/000072 WO1991000984A1 (en) | 1989-07-07 | 1990-01-23 | Absolute value encoder |
| KR1019910700256A KR950010385B1 (en) | 1989-07-07 | 1990-07-07 | Absolute encoder |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18343988 | 1988-07-25 | ||
| JP63-183439 | 1988-07-25 | ||
| JP1174121A JP2785349B2 (en) | 1988-07-25 | 1989-07-07 | Absolute encoder code pattern creation method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02132324A JPH02132324A (en) | 1990-05-21 |
| JP2785349B2 true JP2785349B2 (en) | 1998-08-13 |
Family
ID=26495837
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1174121A Expired - Fee Related JP2785349B2 (en) | 1988-07-25 | 1989-07-07 | Absolute encoder code pattern creation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2785349B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04114327A (en) * | 1990-09-05 | 1992-04-15 | Mitsubishi Electric Corp | Objective lens cleaning device for optical disc devices |
| US5841274A (en) * | 1997-01-29 | 1998-11-24 | Mitutoyo Corporation | Induced current absolute position transducer using a code-track-type scale and read head |
| US9182943B2 (en) * | 2013-03-08 | 2015-11-10 | Qualcomm Incorporated | Methods and devices for prime number generation |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5099564A (en) * | 1973-12-28 | 1975-08-07 |
-
1989
- 1989-07-07 JP JP1174121A patent/JP2785349B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02132324A (en) | 1990-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR950010385B1 (en) | Absolute encoder | |
| JP2004529344A5 (en) | ||
| JP3179493B2 (en) | Absolute encoder | |
| JPS582614A (en) | Increment optical encoder device having index which can be addressed | |
| CN102203562B (en) | Absolute Angle Measuring Device | |
| EP1296457A3 (en) | Data processing method, circuit, and apparatus with increased accuracy | |
| JP2785349B2 (en) | Absolute encoder code pattern creation method | |
| KR20050014739A (en) | Absolute angle detection apparatus | |
| JPS63278190A (en) | Method and apparatus for encoding pseudo random code | |
| RU2645880C1 (en) | Absolute optical single-turn angular encoder | |
| DE19509420B4 (en) | absolute encoder | |
| JPH08508836A (en) | Digitizer tablet that uses relative phase detection | |
| Mäkinen | Left distance binary tree representations | |
| JP3454907B2 (en) | Absolute encoder | |
| JP3171485B2 (en) | Creating a high-resolution absolute signal | |
| JP3449794B2 (en) | Absolute encoder | |
| JP3053710B2 (en) | Absolute position detector | |
| JPH0869372A (en) | Binary multiplier | |
| US11204265B2 (en) | Rotary coding disc and method for designing the same | |
| JP3449793B2 (en) | Absolute encoder | |
| JP3490759B2 (en) | Absolute encoder | |
| JP2000298577A (en) | Random number generator | |
| CN109163743B (en) | A Coding and Decoding Algorithm for Two-Dimensional Absolute Position Measurement Sensors | |
| JPH07229762A (en) | Absolute value encoder | |
| JPH0257846B2 (en) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |