JPH02132324A - Absolute value encoder - Google Patents

Absolute value encoder

Info

Publication number
JPH02132324A
JPH02132324A JP1174121A JP17412189A JPH02132324A JP H02132324 A JPH02132324 A JP H02132324A JP 1174121 A JP1174121 A JP 1174121A JP 17412189 A JP17412189 A JP 17412189A JP H02132324 A JPH02132324 A JP H02132324A
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.)
Granted
Application number
JP1174121A
Other languages
Japanese (ja)
Other versions
JP2785349B2 (en
Inventor
Koichi Azuma
浩一 東
Takashi Nagase
喬 長瀬
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Manufacturing 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 Yaskawa Electric Manufacturing Co Ltd filed Critical Yaskawa Electric Manufacturing Co Ltd
Priority to JP1174121A priority Critical patent/JP2785349B2/en
Priority to US07/651,387 priority patent/US5117105A/en
Priority to PCT/JP1990/000072 priority patent/WO1991000984A1/en
Priority to EP19900901883 priority patent/EP0441963A4/en
Publication of JPH02132324A publication Critical patent/JPH02132324A/en
Priority to KR1019910700256A priority patent/KR950010385B1/en
Application granted granted Critical
Publication of JP2785349B2 publication Critical patent/JP2785349B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

PURPOSE:To detect an absolute angle in one turn by using a code detecting element in addition to a code plate which is divided equally into N slits and given 0 or 1 in the respective slits so that all binary-coded values B1-BN forming P continuous slits form different cyclic random number sequences. CONSTITUTION:A P-bit random number code of 1 and 0 is set and this binary- coded value is denoted as B'1. The code value is shifted right by one bit and 0 is added to generate a code value B'2; when B'2not equal to B'1, a (P-1)-bit random code which has 0 added on the left side of the most significant digit bit is generated. Further, the code is shifted right by one bit and 0 is arranged at the most significant digit bit position to obtain a code value B'3; when B'2not equal to B'1 and B'2, 0 is added at the most significant digit bit of the code to generate a (P+2)-bit random code and N-bit random codes are generated similarly. When the code is equal, the code is shifted and 1 is added at the most significant return digit. Thus, the absolute angle is found by P slit detecting elements.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は循環乱数コードを用いた絶対値エンコーダに関
する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an absolute value encoder using a cyclic random number code.

[従来の技術] 従来、絶対値エンコーダは、スリット数の異なる複数の
トラックを半径方向に並べて所望のビット数のパイナリ
コードやグレイコードを構成する符号板を用いた方式が
一般的である。ところが、この方式では、ビット数に応
じてトラック数が増えるので小型で高分解能の絶対値エ
ンコーダを実現するのが困難である。
[Prior Art] Conventionally, an absolute value encoder generally uses a code plate in which a plurality of tracks having different numbers of slits are arranged in a radial direction to constitute a pinary code or a gray code having a desired number of bits. However, in this method, the number of tracks increases in accordance with the number of bits, making it difficult to realize a compact, high-resolution absolute value encoder.

この点を解決する方式の1つとしてM系列乱数を用いた
絶対値エンコーダが提案されている。
As one method for solving this problem, an absolute value encoder using M-sequence random numbers has been proposed.

M系烈乱数は、公知のように、シフトレジスタを用いて
できる最大長の数列で、kビットのシフトレジスタでO
以外の2k−1個の循環パターンが発生する。例えば4
ビットの場合、第7図に示すようなシフトレジスタを用
いた回路で、表1のようなコートが発生する。ただし、
第7図でR。〜R3は同時にOにならないものとする。
As is well known, an M-based random number is a sequence of maximum length that can be created using a shift register.
2k-1 cyclic patterns other than 1 are generated. For example 4
In the case of bits, a code as shown in Table 1 occurs in a circuit using a shift register as shown in FIG. however,
R in Figure 7. ~R3 shall not become O at the same time.

表1 このようにしてできたM系列乱数は、2k−1個の相異
なるコードの循環パターンであるので、例えば、不透明
部を0、透明部を1としてこれを円周上に配置した符号
板を作り、隣接するkビット分のパターンを読み取れば
、そのパターンは円周上に1ケ所しか存在しないので円
周上の絶対位置が判別できる。
Table 1 The M-sequence random numbers generated in this way are a cyclic pattern of 2k-1 different codes, so for example, a code plate with 0 in the opaque part and 1 in the transparent part placed on the circumference. If you create a pattern and read the pattern of adjacent k bits, the absolute position on the circumference can be determined because that pattern exists only at one location on the circumference.

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

さて、絶対値エンコーダは、パイナリコードやグレーコ
ードを用いた2kの分解能のものが一般的である。しか
し、前記のM系列乱数を用いた絶対値エンコーダの場合
2k−1の分解能しか実現できず、一般的なものとの互
換性がないという欠点がある。
Now, the absolute value encoder generally has a resolution of 2k using a pinary code or a gray code. However, the above-mentioned absolute value encoder using M-sequence random numbers can only achieve a resolution of 2k-1, and has the disadvantage that it is not compatible with general encoders.

本発明の目的は、任意の分解能を持つ絶対値エンコーダ
を提供することである。
The purpose of the invention is to provide an absolute value encoder with arbitrary resolution.

[課題を解決するための手段] 本発明の第1の絶対値エンコーダは、N個のスリットに
等分割され、連続したP個のスリットからなる2進化コ
ード値(B1〜BN)が全て異なる循環乱数列を形成す
るように各スリットにOまたは1のコードが記されてい
る符号板と、該符号板の連続したP個のスリットのコー
ドを読み取る検出素子を用いて1回転以内の絶対角度を
検出するものである。
[Means for Solving the Problems] The first absolute value encoder of the present invention is a cyclic encoder that is equally divided into N slits and has different binary code values (B1 to BN) made up of P consecutive slits. Absolute angle within one rotation is measured using a code plate in which each slit is marked with a code of O or 1 to form a random number sequence, and a detection element that reads the codes of P consecutive slits on the code plate. It is something to detect.

第1図は第1の絶対値エンコーダにおける循環乱数コー
ドを発生する方法を示すフローチャートである。
FIG. 1 is a flowchart illustrating a method of generating a cyclic random number code in a first absolute value encoder.

まず、ステップlで、Pビットの0または1からなる初
期コードB゜1を設定する。このPビットが乱数列の最
初のP個分になる。次に、ステップ2で初期コードB’
rを1ビット右シフト(または左シフト)する。ここで
、左シフトした場合は、以下のかっこ内に示す方の処理
を行なうものとする。右シフト(または左シフト)した
後の最上位ビット(または最下位ビット)にはOをおく
。このビットが乱数列のP+1個目となる。ここで新し
くできたPビットのコードB’2と初期コードB’+を
ステップ3にて比較する。両者が異なる場合はステップ
4へ、等しい場合はステップ5へ行く。ステップ4では
、乱数列が長さNになったか、すなわち、新しいコード
がN個目のコートかどうか判定し、Nのときはステップ
6へ、そうでない時はステップ2へ行く。このようにし
て、ステップ4でi個目のコードB’+まで生成してス
テップ2へ行ったとする。ステップ2では、このコード
を1ビット右シフト(または左シフト)して、最上位(
または最下位)ビットにOをおき、新しいコードをB’
+++とする。さらに、ステップ3でB’+〜B’+に
B ’141と同じコードがあるか調べる。同じコード
がない場合はステップ4へ行くが、同じコードがある場
合ステップ5で最上位(または最下位)ビットのOを1
に変えて再びステップ3へ行く。ここでも新しいコード
B’l+1とB’+〜B″1に同じコードがある場合再
びステップ5へ行くが、この場合最上位(または最下位
)ビットはすでに1である。したがって、乱数列の最上
位(または最下位)ビットが0となるまで左シフト(ま
たは右シフト)、すなわち、最上位(または最下位)ビ
ットが0のコードB’pまで逆のぼり、その最上位(ま
たは最下位)ビットを1としたコードを新しくB″pと
して再びステップ3へ行くという処理を繰り返す。
First, in step 1, an initial code B°1 consisting of P bits of 0 or 1 is set. These P bits become the first P bits of the random number sequence. Next, in step 2, the initial code B'
Shift r to the right (or left) by 1 bit. Here, in the case of a left shift, the processing shown in parentheses below is performed. O is placed in the most significant bit (or least significant bit) after the right shift (or left shift). This bit becomes the P+1st bit in the random number sequence. In step 3, the newly created P-bit code B'2 and the initial code B'+ are compared. If they are different, go to step 4; if they are equal, go to step 5. In step 4, it is determined whether the length of the random number sequence has reached N, that is, whether the new code is the Nth code. If N, the process goes to step 6; otherwise, the process goes to step 2. Assume that in this way, up to the i-th code B'+ is generated in step 4 and the process goes to step 2. In step 2, this code is right-shifted (or left-shifted) by 1 bit and the most significant (
or the least significant bit) and write the new code as B'
+++. Furthermore, in step 3, it is checked whether B'+ to B'+ have the same code as B'141. If there is no same code, go to step 4, but if there is the same code, set the most significant (or least significant) bit O to 1 in step 5.
Change it to , and go to step 3 again. Again, if the new code B'l+1 and B'+~B''1 have the same code, go to step 5 again, but in this case the most significant (or least significant) bit is already 1. Therefore, the most significant bit of the random number sequence is Shift left (or shift right) until the most significant (or least significant) bit is 0, i.e. work backwards to code B'p where the most significant (or least significant) bit is 0, and its most significant (or least significant) bit The process of returning to step 3 again with the new code B″p set to 1 is repeated.

以上のようにして、ステップ4でN個目のコートB’s
まで生成したとすると、ステップ6て、B’Nを1ビッ
ト右シフト(または左シフト)したコードが初期コード
B′1になり得るかどうか判定し、等しくなれば終了、
等しくならない場合、ステップ5へ行くようにすれば循
環乱数コードが得られることになる。
As described above, in step 4, the Nth coat B's
In step 6, it is determined whether the code obtained by shifting B'N to the right (or left) by 1 bit can become the initial code B'1, and if they are equal, the process ends.
If they are not equal, proceed to step 5 and a cyclic random number code will be obtained.

なお、ステップ2において左シフト(または右シフト)
した後の最上位ビット(または最下位ビット)に1をお
いても同じ循環乱数列が得られる。この場合、以後の処
理において、Oを1、1を0に変えればよい。
In addition, in step 2, shift left (or shift right)
The same cyclic random number sequence can be obtained by adding 1 to the most significant bit (or least significant bit) after In this case, O may be changed to 1 and 1 to 0 in subsequent processing.

本発明の第2の絶対値エンコーダは、N個のスリットに
等分割され、M個おきのP個のスリットからなるPビッ
トの2進化コード値CB,〜BN)がすべて異なるよう
な循環乱数列を形成するように各スリットにOまたは1
のコードが記されている符号板と、該符号板からM個お
きにP個のスリットのコードを読み取る検出素子とを用
いて1回転以内の絶対角度を検出するものである。
The second absolute value encoder of the present invention is a cyclic random number sequence that is equally divided into N slits and has a different P-bit binary code value CB, ~BN) consisting of every M slits and P slits. O or 1 in each slit to form
The absolute angle within one rotation is detected using a code plate on which a code is written and a detection element that reads codes from every M slits and P slits from the code plate.

第2図は第2の絶対値エンコーダの循環乱数コードを発
生する方法を示すフローチャートてある。
FIG. 2 is a flowchart illustrating a method of generating a cyclic random number code for a second absolute value encoder.

第2図では、M個おき長さNの乱数列を発生する方法を
示している。
FIG. 2 shows a method of generating a random number sequence of length N every M numbers.

まず、ステップl1でNを2進数で表わすことができる
PビットのOまたは1からなる数列1.2,・・・,数
列M+1を初期設定し、これの2進化コードをそれぞれ
B ’1, B ’2.・・・+ B ’Ma1とする
。また、乱数列として数列1.2.・・・.数列M+1
の各ビットについて数列1,2.・・・.数列M+1の
順にビット毎に並べた長さ(M+1)Pの数列を初期乱
数列とする。次に、ステップl2で、数列1について1
ビット右シフト(または左シフト)する。ここで、左シ
フトした場合には以後かっこ内の処理の方を行なうもの
とする。右シフト(または左シフト)した後の最上位(
または最下位)ビットにOをおき、これの2進化コード
なB’M+2とする。次に、ステップ13で、新しくで
きたPビットのコードB″M+2がそれ以前のコードB
 ’1, B ’2,・・・+ B’M+1に等しいか
どうか比較する。等しいコードがなければステップ14
へ、等しいコードがあればステップl6へ行く。ステッ
プ14では乱数列の最上位(または最下位)ビットの左
側(または右側)に数列1の最上位(または最下位)ビ
ットを置いて(M+1)P+1ビットの乱数列とすると
ともに、新しいコードがN個目のコードかどうか判定し
、N個目のコードのときはステップ20へ、そうでない
時はステップ15へ行く。ステップ15では数列2を新
しい数列1、・・・数列M+1を新しい数列M、数列1
を新しい数列M+1とする入れ換えを行ない、新しい数
列1について再びステップl2の作業を行ない新しいコ
ードB ’M+3を探索することになる。また、ステッ
プ16へ行く場合には、数列1の最上位(または最下位
)ビットがOかどうか判定し、0の場合はステップl7
へ、そうでない場合はステップ18へ行く。ステップl
7では最上位(または最下位)ビットを1に変更して再
びステップl3の判定へ行くことになる。一方、ステッ
プ18では、現在のコードが初期コードB ’1, B
 ”2,・・・,B″Ma1かどうか判定し、等しい場
合はステップ2lへ、そうでない場台はステップ19へ
行く。ステップ19では数列1数列2,・・・.数列M
+1をそれぞれ1ビット左シフト(または右シフト)し
て1段階前へ戻り、再びステップ16へ行く。この時、
乱数列はM+1ビット分戻ることになる。以上のステッ
プ1618. 19のループでは数列1の最上位(また
は最下位)ビットが0となるか、数列1が初期コードと
なるまで、数列1を左シフト(または右シフト)するこ
とになる。また、ステップ21では現在のコードがPビ
ット2進数の取り得る最大値かどうか判定し、最大値で
ない場合はステップl2へ行き、最大値の場合には本ア
ルゴリズムでは乱数列が発生できないとして処理を中止
する。ステップ22では現コードを1増やしたコードを
新しい初期コードとして再びステップ13へ行く。
First, in step l1, a sequence 1.2, . '2. ...+B'Ma1. Also, as a random number sequence, sequence 1.2. .... Sequence M+1
For each bit of sequence 1, 2 .・・・. A sequence of length (M+1)P arranged bit by bit in the order of sequence M+1 is an initial random number sequence. Next, in step l2, 1 for sequence 1
Shift bits to the right (or left). Here, in the case of a left shift, the processing in parentheses will be performed thereafter. The topmost position after right shift (or left shift) (
Or the least significant) bit is set to O, and its binary code is B'M+2. Next, in step 13, the newly created P-bit code B″M+2 is changed to the previous code B″M+2.
'1, B'2,...+ Compare whether it is equal to B'M+1. If there are no equal codes, step 14
If there is an equal code, go to step l6. In step 14, the most significant (or least significant) bit of sequence 1 is placed to the left (or right) of the most significant (or least significant) bit of the random number sequence to create a random number sequence of (M+1)P+1 bits, and a new code is created. It is determined whether or not it is the Nth code. If it is the Nth code, the process goes to step 20; otherwise, the process goes to step 15. In step 15, sequence 2 is changed to new sequence 1, ... sequence M+1 is changed to new sequence M, sequence 1.
is replaced with a new sequence M+1, and step 12 is performed again for the new sequence 1 to search for a new code B'M+3. Also, when going to step 16, it is determined whether the most significant (or least significant) bit of sequence 1 is O, and if it is 0, step l7
If not, go to step 18. step l
In step 7, the most significant (or least significant) bit is changed to 1 and the process returns to step 13. On the other hand, in step 18, the current code is the initial code B'1, B
It is determined whether “2, . In step 19, sequence 1 sequence 2, etc. Sequence M
+1 is shifted to the left (or right) by 1 bit, and the process returns to step 16 again. At this time,
The random number sequence will be returned by M+1 bits. Above step 1618. In loop 19, sequence 1 is shifted left (or right) until the most significant (or least significant) bit of sequence 1 becomes 0 or sequence 1 becomes the initial code. Also, in step 21, it is determined whether the current code is the maximum value that a P-bit binary number can take, and if it is not the maximum value, the process goes to step 12, and if it is the maximum value, it is assumed that a random number sequence cannot be generated by this algorithm and processing is performed. Abort. In step 22, the current code is incremented by 1 and the code is set as a new initial code, and the process goes to step 13 again.

このようにしてi個目のコードB’+まで生成してステ
ップ12へ行ったとする。ステップl2では新しい数列
lについて1ビット右シフト(または左シフト)して最
上位(または最下位)ビットに0をおき新しいコートを
B′lや、とする。さらに、ステップl3でB”1,・
・・.B゜1にB’I+1と等しいコードがあるかどう
か調べる。等しいコードがない場合はステップ14へ行
くが、等しいコードがある場合、ステップl6および1
7で最上位(または最下位)ビットのOを1に変えて再
びステップ13へ行く。ここでも新しいB ’l+Iと
B″1,・・・,B′1に等しいコードがある場合、再
びステップ16へ行くが、この場合、最上位(または最
下位)ビットはすでに1であるので、数列1の最上位(
または最下位)ビットがOとなるまで左シフト(または
右シフト)、すなわち最上位(または最下位)ビットが
OのコードB′4まで戻り、ステップl7でその最上位
(または最下位)ビットを1に変えたコードを新しいB
’Jとして再びステップl3へ行くという処理を繰り返
す。
Assume that up to the i-th code B'+ is generated in this way and the process goes to step 12. In step l2, the new sequence l is shifted to the right (or left) by 1 bit, and the most significant (or least significant) bit is set to 0, making the new code B'l. Furthermore, in step l3, B”1,・
・・・. Check whether B゜1 has a code equal to B'I+1. If there are no equal codes, go to step 14, but if there are equal codes, go to steps l6 and 1.
At step 7, the most significant (or least significant) bit O is changed to 1, and the process goes to step 13 again. Again, if there is a code equal to the new B'l+I and B''1,...,B'1, we go to step 16 again, but in this case the most significant (or least significant) bit is already 1, so The top of sequence 1 (
Shift left (or shift right) until the most significant (or least significant) bit becomes O, i.e. go back to code B'4 where the most significant (or least significant) bit is O, and in step l7 change that most significant (or least significant) bit. Change the code changed to 1 to a new B
The process of going to step l3 again as 'J' is repeated.

以上のようにしてステップ14でN個目のコードB’N
まで生成したとすると、ステップ20でB’N−M,・
・・,B′8、すなわち数列2,・・・,数列M+1お
よび数列1とを1ビット右シフト(または左シフト)し
て最上位(または最下位)ビットに?または1をおいた
コードB’N+++・・・+ B ’lJ+ll+■が
初期設定コードB゜1,・・・,B’u++に等しくな
るかどうか判定し、等しくなれば探索終了、等しくなら
ない場合、再びステップ16へ行くようにすればMビッ
トおきの長さNの循環乱数列が得られることになる。
As described above, in step 14, the Nth code B'N is
Suppose that up to B'N-M, ·
..., B'8, that is, sequence 2, ..., sequence M+1 and sequence 1 are shifted to the right (or left) by 1 bit to the most significant (or least significant) bit? Or, determine whether the code B'N+++...+B'lJ+ll+■ with 1 is equal to the initial setting code B゜1,...,B'u++, and if they are equal, the search ends; if they are not equal, If the process goes to step 16 again, a cyclic random number sequence of length N every M bits will be obtained.

なお、ステップ12において左シフト(または右シフト
)した後の最上位ビット(または最下位ビット)に1を
おいても同じ循環乱数列が得られる。この場合、以後の
処理において、0を1、1をOに変えればよい。
Note that the same cyclic random number sequence can be obtained even if 1 is placed in the most significant bit (or least significant bit) after the left shift (or right shift) in step 12. In this case, 0 may be changed to 1 and 1 may be changed to O in subsequent processing.

以上のように、本発明によれば、任意の分解能の絶対値
エンコーダが実現できる。
As described above, according to the present invention, an absolute value encoder with arbitrary resolution can be realized.

[実施例] 次に、本発明の実施例について図面を参照して説明する
[Example] Next, an example of the present invention will be described with reference to the drawings.

第3図は本発明の絶対値エンコーダの第1の実施例の符
号板を示す図である。
FIG. 3 is a diagram showing a code plate of the first embodiment of the absolute value encoder of the present invention.

これは、黒い部分を「O」、白い部分を「1」として読
むと、 という循環数列が得られる。これを検出素子で、隣りあ
った4ビットの数列R0〜R3として読み取れば表2の
R。〜R3のように1周を16個の相異なるパターンに
分割できることがわ力)る。
If we read the black part as ``O'' and the white part as ``1'', we get the following cyclic sequence. If this is read by a detection element as a sequence of 4 adjacent bits R0 to R3, it will be R in Table 2. It is worth noting that one round can be divided into 16 different patterns like ~R3).

表2 表3は表2の循環乱数列を第1図に示したアルゴリズム
を用いて発生する過程を示している。ここでは、N=1
6、P=4ビット、右シフトの場合で、第1図のステッ
プ3の所へきたときの乱数コートを各回毎に示している
Table 2 Table 3 shows the process of generating the cyclic random number sequence in Table 2 using the algorithm shown in FIG. Here, N=1
6, P=4 bits, right shift, and the random number code when reaching step 3 in FIG. 1 is shown each time.

まず、初期乱数コードB’lとして゜’oooo゜゜を
設定する(ステップ1)。これを1ビット右シフトして
最上位ビットをOとすると、歯,2のコードB’2=”
oooo゜゜となる(ステップ2)。B゛1とB’2は
等しいので、最上位ビットを1にして、歯.3のコード
B ’2= ’1000゜が得られる(ステップ3.5
)。
First, ゜'oooo゜゜ is set as the initial random number code B'l (step 1). If we shift this to the right by 1 bit and set the most significant bit to O, then the code for tooth 2 is B'2=”
It becomes ooooo゜゜ (step 2). Since B'1 and B'2 are equal, set the most significant bit to 1 and set the tooth. 3 code B '2 = '1000° is obtained (step 3.5
).

No. 3のコードB’2はNo. 2のコードB’2
と異なり、またN=16でないので、1ビット右シフト
して最上位ビットをOとし、歯.4のコードB ’3”
 ’0100’が得られる(ステップ3,4.2)。以
下、同様にして、歯.5のコードB ’4= ’001
0゜、歯.6のコードB ’5= ’0001’、No
. 7 (7) :l−ドB ’,= ’oooo’が
得られる。コードB’aはNo. 1のコードB’+と
等しいので、最上位ビットを1にして、No...8の
コードB ’6= ’+000”が得られる(ステップ
3,5)。このNo. 8のコードB’aはNo. 3
のコードB’3と等しく、かつ最上位ビットはすでに1
であるので、最上位ビットが0となるまで左シフトし、
すなわち最上位ビットがOのコードB’5まで逆のぼり
、その最上位ビットを1としたコード゜l001゜を新
しくコードB’sとする(ステップ3.5)。このコー
ドB ’.= ’1001’には前に同じものがなく、
またN=16でないので、1ビット右シフトして最上位
ビットをOとし、N010のコードB ’t,= ’0
100゜が得られる(ステップ3,4.2)。このよう
に、歯.36で16番目のコードB’+6=’0001
”が得られるので、陽.37のコード゛圓圓゜が初期コ
ードと等しいかどうか判定すると(ステップ6)、等し
いので求める乱数列が得られたことになる。
No. 3 code B'2 is No. 2 code B'2
, and since N=16, the most significant bit is shifted to the right by 1 bit, and the tooth . 4 code B '3''
'0100' is obtained (step 3, 4.2). Hereafter, in the same way, teeth. 5 code B '4 = '001
0°, teeth. 6 code B '5 = '0001', No
.. 7 (7) :l-doB', = 'oooo' is obtained. Code B'a is No. Since it is equal to the code B'+ of 1, the most significant bit is set to 1 and No. .. .. Code B'a of No. 8 is obtained as No. 3.
is equal to code B'3, and the most significant bit is already 1
Therefore, shift to the left until the most significant bit becomes 0,
That is, the code goes backwards up to the code B'5 with the most significant bit being O, and the code 〈l001〉 with the most significant bit set to 1 is set as the new code B's (step 3.5). This code B'. = '1001' does not have the same item before,
Also, since N=16, shift it to the right by 1 bit, set the most significant bit to O, and code B't, = '0 for N010.
100° is obtained (steps 3, 4.2). In this way, teeth. 36, 16th code B'+6='0001
'' is obtained, so it is determined whether the code ゛゛゜゜゜゛゛゜゜゜゛゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜゜〾.

以上のようにして得られる乱数列は任意の長さNとする
ことができるので、これをスリットにして符号板を作れ
ば分解能Nの絶対値エンコーダが実現できる。また、乱
数スリットとは別に分解能Nのインクリメンタルスリッ
トを設けたエンコーダも実現できる。さらに、同一符号
板上または同一回転中心軸に1回転1パルスのインクリ
メンタルパルスを発生する手段を設け、これをカウンタ
にて計数する手段を備えることにより、多回転式絶対値
エンコーダを実現できる。
Since the random number sequence obtained as described above can have any length N, an absolute value encoder with resolution N can be realized by making a code plate by using this as a slit. Furthermore, an encoder can be realized in which an incremental slit with a resolution of N is provided in addition to the random number slit. Furthermore, a multi-rotation type absolute value encoder can be realized by providing means for generating one pulse per rotation on the same code plate or on the same rotation center axis, and by providing means for counting the incremental pulses with a counter.

第4図は表2の4ビットの乱数コートを発生する乱数コ
ード発生回路の回路図である。
FIG. 4 is a circuit diagram of a random number code generation circuit that generates the 4-bit random number code shown in Table 2.

この回路は、シフトレジスタ31と、排他的オア回路3
2と、ノア回路33と、インバータ3435と、アンド
回路36,’ 37と、オア回路38からなり、第7図
の回路で発生するパターンのうち、1000→0001
となるところにOを追加して1000→0000→00
0lとになるように回路が追加されている。すなわち、
RO−R2の3ビットが全てOの時に、R,の値に従っ
て、次のシフト入力を決定し、それ以外は、第7図の回
路と同じパターンを発生するようになっている。
This circuit consists of a shift register 31 and an exclusive OR circuit 3.
2, a NOR circuit 33, an inverter 3435, an AND circuit 36,' 37, and an OR circuit 38. Among the patterns generated in the circuit shown in FIG. 7, 1000→0001
Add O to 1000 → 0000 → 00
A circuit is added so that it becomes 0l. That is,
When all three bits of RO-R2 are O, the next shift input is determined according to the value of R, and otherwise the same pattern as the circuit of FIG. 7 is generated.

第3図の符号板を用いて隣あった4ビットを検出し、そ
のデータと、第4図の回路の出力R。〜R3とが一致す
るまでシフトさせれば、そのシフトクロツクのパルス数
によって符号板の位置が一意に決められる。このように
して、2kの分解能を持った絶対値エンコーダが実現で
きる。
Adjacent 4 bits are detected using the code plate shown in FIG. 3, and the data and the output R of the circuit shown in FIG. 4 are obtained. .about.R3 until they match, the position of the code plate is uniquely determined by the number of pulses of the shift clock. In this way, an absolute value encoder with a resolution of 2k can be realized.

第5図は本発明の第2の実施例の絶対値エンコーダの符
号板を示す図である。
FIG. 5 is a diagram showing a code plate of an absolute value encoder according to a second embodiment of the present invention.

これは、前と同じように、黒い部分を「0」、白い部分
を「1」として読むと、 1周分 という循環乱数列が得られる。これを第5図のように1
つおきに4ビットの数列Ro”R3として読み取れば表
4のR。−R3のように1周を16個の相異なるパター
ンに分割できることがわかる。
As before, if you read the black part as ``0'' and the white part as ``1'', you will get a circular random number sequence for one round. 1 as shown in Figure 5.
If it is read as a 4-bit number sequence Ro''R3 every third time, it can be seen that one round can be divided into 16 different patterns as shown in R.-R3 in Table 4.

したがって、このような符号板を用いても前と同様に絶
対値エンコーダが実現できる。この場合、第1の実施例
と違い検出素子の配置は1ビットおきとなるため、第1
の実施例に比べて物理的な実現性が著しく向上する。
Therefore, even if such a code plate is used, an absolute value encoder can be realized as before. In this case, unlike the first embodiment, the detection elements are arranged every other bit.
The physical feasibility is significantly improved compared to the embodiment.

表4 表5は表4の循環乱数列を第2図に示したアルゴリズム
を用いて発生する過程を示している。ここでは、N=1
6、M=1、P=4ビット、右シフトの場合で、第2図
のステップ13の所へきたときの乱数コードを各回毎に
示している。
Table 4 Table 5 shows the process of generating the cyclic random number sequence in Table 4 using the algorithm shown in FIG. Here, N=1
6, M=1, P=4 bits, right shift, the random number code when reaching step 13 in FIG. 2 is shown each time.

まず、初期コードとしてNo. 1、No.2で゜’+
000゜゛を数列1およびB’+、” o o o o
 ”を数列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’a
が得られる。これをステップ13で判定すると、今度は
B’+に等しいので再びステップ16へ行くが、最上位
ビットが1なので最上位ビットがOのコードB’2に戻
る。
First, as an initial code, No. 1.No. 2゜'+
000゛ as sequence 1 and B'+," o o o o
” is set as number sequence 2 and B゜2. Number sequence 1 is shifted to the right by step 12, and code No. 3 is set as B'3.
shall be. When this is determined in step 13, there is no equal code, so the process goes to step 14, but this is N=16
Since it is not the number, go to step 15, swap sequence 1 and sequence 2, and go to step 12 again. new sequence 1
Shift to the right for No. 4 court B'4, but when this is determined in step 13, it is equal to B'2, so step 16. No. 17. 5 code B'a
is obtained. When this is determined in step 13, this time it is equal to B'+, so the process goes to step 16 again, but since the most significant bit is 1, the code returns to code B'2 where the most significant bit is O.

ステップl7で新しいB’2としてNo.6を作りステ
ップ13で判定すると、B’+に等しいので再びステッ
プl6へ行く。今度も最上位ビットが1であるが、同時
に初期コードB’2であるのでステップ21. 22に
より新しいコードとしてNo. 7のB’2を作り、再
びステップ13で判定を行なう。以後これを繰り返す。
In step 17, No. 2 is selected as the new B'2. 6 is made and judged in step 13, it is equal to B'+, so the process goes to step 16 again. This time too, the most significant bit is 1, but at the same time the initial code is B'2, so step 21. No. 22 as a new code. B'2 of 7 is made and the determination is made again in step 13. Repeat this from now on.

このようにして、NO.120で16番目のコードB’
+6が得られるのでステップ20の判定を行なうと、歯
.121 、歯.l22のように、初期コードB’+B
’2と等しいので求める乱数列が得られたことになる。
In this way, NO. 120 and 16th code B'
+6 is obtained, so when the judgment in step 20 is made, the tooth. 121, teeth. Like l22, initial code B'+B
' Since it is equal to 2, the desired random number sequence has been obtained.

第6図は本発明の絶対値エンコーダの第3の実施例の符
号板を示す図である。
FIG. 6 is a diagram showing a code plate of a third embodiment of the absolute value encoder of the present invention.

これは前と同じように黒い部分を「0」、白い部分を「
1」として読むと、 1周分 という循環乱数列が得られる。これを第6図のように2
個おきに4ビットの数列R。〜R3として読み取れば表
6のR。〜R3のように1周を16個の相異なるパター
ンに分割できることがわかる。
As before, this sets the black part to "0" and the white part to "
1", you will get a cyclic random number sequence for one round. 2 as shown in Figure 6.
A sequence R of 4 bits every other piece. R in Table 6 if read as ~R3. It can be seen that one round can be divided into 16 different patterns as shown in ~R3.

したがって、このような符号板を用いても前と同様に絶
対値エンコーダが実現できる。この場合、第2の実施例
と違い、検出素子の配置は2ビットおきとなるため第1
の実施例に比べて物理的な実現性が著しく向上する。
Therefore, even if such a code plate is used, an absolute value encoder can be realized as before. In this case, unlike the second embodiment, the detection elements are arranged every two bits, so the first
The physical feasibility is significantly improved compared to the embodiment.

表7は表6の循環乱数列を第2図に禿したアルゴリズム
を用いて発生する過程を示している。ここでは・、N=
16、M=2、P=4ビット、右シフトの場合で、第2
図のステップl3の所へきたときの乱数コードを各回毎
に示している。
Table 7 shows the process of generating the cyclic random number sequence in Table 6 using the algorithm shown in FIG. Here..., N=
16, M=2, P=4 bits, right shift case, second
The random number code when reaching step l3 in the figure is shown for each time.

まず、初期コードとしてNo. 1 .・・・,No.
3で”1000゜゜を数列1およびB’+、“’100
1“゜を数列2およびB゜2、”oooo゜゜を数列3
およびB’3と設定する。
First, as the initial code, No. 1. ..., No.
3, "1000°" is the sequence 1 and B'+, "'100
1"゜ as sequence 2 and B゜2,"oooo゜゜ as sequence 3
and B'3.

数列1をステップ12によって右シフトすると、隔4の
コードB’4となる。これをステップ13で判定すると
、等しいコードがないのでステップ14へ行くが、これ
はN=16番目ではないのでステッフ゜l5へ行く。ス
テップl5では数列2を新しい数列1、数列3を新しい
数列2、数列1を新しい数列3とする入れ替えを行ない
、再びステップ12へ行く。
Shifting the sequence 1 to the right in step 12 results in a code B'4 with an interval of 4. If this is determined in step 13, there is no equal code, so the process goes to step 14, but since this is not N=16th, the process goes to step l5. In step 15, sequence 2 is replaced with a new sequence 1, sequence 3 is replaced with a new sequence 2, sequence 1 is replaced with a new sequence 3, and the process returns to step 12.

新しい数列1について右シフトすると、歯,5のコード
B’5となるが、これをステップ13で判定すると、B
’4に等しいのでステップ16. 17でNo. 6の
コードB’sが得られる。これをステップ13で判定す
ると、今度は等しいコードがないので、ステップ14.
 15で数列1.数列2.数列3の入れ替えを行なって
再びステップ12へ行く。このようにしてNo. 8の
コードB’6が得られた時、ステップl3の判定で同じ
コードがあるので再びステップ16へ行くが、最上位ビ
ットが1であるので最上位ビットがOのコードB’sへ
戻る。ステップ17で新しいB’3として歯.9を作り
、ステップl3で判定すると、B’+に等しいので再び
ステップ16へ行く。今度も最上位ビットが1であるが
、同時に初期コードB’3であるのでステップ21. 
22により新しいコードとしてNo.10のB’3を作
り、再びステップ13で判定を行なう。以後これを繰り
返す。
Shifting the new sequence 1 to the right results in the code B'5 for teeth, 5, which is determined in step 13.
' Since it is equal to 4, step 16. No. 17. 6 code B's is obtained. When this is determined in step 13, there is no equal code this time, so step 14.
Number sequence 1 with 15. Sequence 2. Replace the sequence 3 and go to step 12 again. In this way, No. When code B'6 of 8 is obtained, it is determined in step 13 that there is the same code, so the process goes to step 16 again, but since the most significant bit is 1, the process returns to code B's where the most significant bit is 0. Tooth as new B'3 in step 17. 9 is made and judged in step 13, it is equal to B'+, so the process goes to step 16 again. This time too, the most significant bit is 1, but at the same time the initial code is B'3, so step 21.
No. 22 as a new code. B'3 of 10 is created and the determination is made again in step 13. Repeat this from now on.

このようにしてNo. 8 4 8で16番目のコード
B゜16が得られるのでステップ20の判定の判定を行
なうと、No. 849, No. 850, No.
 851のように初期コードB ’1、  B ’i 
 B ’3(図示せず)と等しくなるので求める乱数列
が得られたことになる。
In this way, No. Since the 16th code B°16 is obtained at 8 4 8, when the determination in step 20 is made, No. 849, No. 850, No.
Initial code B'1, B'i like 851
Since it is equal to B'3 (not shown), the desired random number sequence has been obtained.

なお、以上のいずれの実施例においてもロークリタイプ
のスリット方式についてのみ述べたが、リニアタイプに
も応用が可能であり、第8図に示すように、この場合に
はN−P個のスリットの範囲内で絶対位置がわかること
は言うまでもない。
In each of the above embodiments, only the low-rise type slit system has been described, but it can also be applied to a linear type, and as shown in Fig. 8, in this case, N-P slits Needless to say, the absolute position can be determined within the range of .

また、以上の説明は光学式の場合であるが、磁気式エン
コニダの場合には、L,OをN.S極の磁極パターンに
変更できることは言うまでもない。
Furthermore, although the above explanation is for an optical encoder, in the case of a magnetic encoder, L and O are N. Needless to say, the magnetic pole pattern can be changed to the S pole.

[発明の効果] 以上説明したように本発明は、コードをMビットずつシ
フトしてすべてのコードが異なるようOまたは1をつけ
加えるアルゴリズムにより、任意の長さの乱数列が得ら
れ、任意の分解能の絶対値エンコーダを実現でき、また
M系列乱数コードのスリットパターンを用いる場合には
、M系列乱数コードとOとを組合わせたパターンを発生
する回路を用いることにより、2kの分解能の絶対値エ
ンコーダを実現できる効果がある。
[Effects of the Invention] As explained above, the present invention uses an algorithm to shift codes by M bits and add O or 1 so that all codes are different. When using the slit pattern of the M-sequence random number code, an absolute-value encoder with a resolution of 2k can be realized by using a circuit that generates a pattern that combines the M-sequence random number code and O. It has the effect of realizing

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の第1の絶対値エンコーダにおける循環
乱数コードを発生する方法を示すフローチャート、第2
図は本発明の第2の絶対値エンコーダにおける循環乱数
コードを発生する方法を示すフローチャート、第3図は
本発明の第1の実施例の絶対値エンコーダの符号板を示
す図、第4図は表2の4ビットの乱数コードを発生する
乱数コード発生回路の回路図、第5図は本発明の第2.
3 5 の実施例の絶対値エンコーダの符号板を示す図、第6図
は本発明の第3の実施例の絶対値エンコーダの符号板を
示す図、第7図はM系列乱数を発生する回路の回路図、
第8図はリニアタイプのエンコーダの符号板を示す図で
ある。 1〜6.11〜22・・・・・・ステップ、3l・・・
・・・シフトレジスタ、 32・・・・・・排他的オア回路、 33・・・・・・ノア回路、 34. 35・・・・・・インバータ、36. 37・
・・・・・アンド回路、38・・・・・・才ア回路。
FIG. 1 is a flowchart showing a method for generating a cyclic random number code in the first absolute value encoder of the present invention;
The figure is a flowchart showing a method of generating a cyclic random number code in the second absolute value encoder of the present invention, FIG. 3 is a diagram showing the code plate of the absolute value encoder of the first embodiment of the present invention, and FIG. FIG. 5 is a circuit diagram of a random number code generation circuit that generates the 4-bit random number code shown in Table 2.
FIG. 6 is a diagram showing the code plate of the absolute value encoder according to the third embodiment of the present invention, and FIG. 7 is a circuit for generating M-sequence random numbers. circuit diagram,
FIG. 8 is a diagram showing a code plate of a linear type encoder. 1~6.11~22...Step, 3l...
...Shift register, 32...Exclusive OR circuit, 33...NOR circuit, 34. 35...Inverter, 36. 37・
...AND circuit, 38...A circuit.

Claims (1)

【特許請求の範囲】 1、N個のスリットに等分割され、連続したP個のスリ
ットからなる2進化コード値(B_1〜B_N)が全て
異なる循環乱数列を形成するように各スリットに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ま
たは1を追加し、P+2ビットの乱数コードとするよう
な連続作業を繰り返しながら、Nビットの乱数コードが
求まるまで行なうと共に、 各作業段階において、同一2進コード値があった時には
、最上位(または最下位)ビットが0となる作業段階ま
で乱数コードを左シフト(または右シフト)して戻り、
この段階においてあらためて最上位(または最下位)ビ
ットにある0を1に変換して、初期設定段階からの2進
コード値と同一かどうかを判定し、同一でなければ、前
記右シフト(または左シフト)の作業を行ない、同一で
あれば前記左シフト(または右シフト)の作業を行なう
というN個の循環乱数列を発生する方法を用いてスリッ
トが構成されていることを特徴とする絶対値エンコーダ
。 2、絶対値エンコーダにおいて、N個のスリットに等分
割され、各スリットには0または1のコードが、連続し
たP個(N=2^P)のスリットからなるN個の乱数コ
ードがM系列乱数コードと全て0のコードとを組み合わ
せた循環乱数コードを形成するように記されている符号
板と、該循環乱数コードと同一構成のデータを発生する
シフトレジスタ回路とを備えることを特徴とする絶対値
エンコーダ。 3、N個のスリットに等分割され、M個おきのP個のス
リットからなるPビットの2進化コード値(B_1〜B
_N)がすべて異なるような循環乱数列を形成するよつ
に各スリットに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個の乱
数列とし、数列2を新しい数列1、・・・、数列M+1
を新しい数列M、数列1を新しい数列M+1とする入れ
換え作業を行ない、新たな数列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進コード値があった時に、
現コードが初期設定コードB’_1、B’_2、・・・
、B’_M_+_1と同一でなければ、数列1の最上位
(または最下位)ビットが0となる作業段階まで数列1
、数列2、・・・、数列M+1および乱数列を左シフト
(または右シフト)して戻り、あらためて最上位(また
は最下位)ビットにある0を1に変換して、ここで得ら
れた2進化コード値が初期設定段階からの2進化コード
値と同一かどうかを判定し、同一でなければ前記右シフ
ト(または左シフト)の作業を行ない、同一であれば前
記左シフト(または右シフト)の作業を行なうという処
理を繰り返し、 現コードが初期設定コードB’_1、B’_2、・・・
、B’_M_+_1と同一である時、現コードがPビッ
ト2進コードの取り得る最大値でなければ現コードを1
増やしたコードを新しい初期設定コードとして前記判定
段階からやり直し、最大値であれば乱数列発生が不可能
として終了するという方法を用いて発生したN個の循環
乱数コードによりスリットが構成されていることを特徴
とする絶対値エンコーダ。 4、N個の循環乱数コードの一部が切りはなされ、符号
板が直線状であるリニアタイプの絶対値エンコーダ。
[Claims] Each slit is divided equally into 1.N slits, and each slit is set with 0 or In an absolute value encoder that detects an absolute angle within one rotation using a code plate on which a code of 1 is written and a detection element that reads the codes of P consecutive slits of the code plate, An arbitrary P-bit random number code to be represented is initialized, this binary code value is set to B'_1, and in the first work step, this initial random number code is shifted to the right or left by one bit (here, If you select left shift, perform the processing in parentheses below)
, place 0 in the place that will become the new most significant (or least significant) bit, and check whether the binary code value B_'2 of the second P bit obtained here is the same as the initial code value B'_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, making it a P+1-bit random number code, and in the second work step, 0 is added to the left (or right) of the most significant (or least significant) bit of the P-bit random number code. Shift (or left shift) and place a 0 where it will be the most significant (or least significant) bit at this stage, and the resulting binary code value of the third P bit, B'_3, becomes B' Determine whether they are the same as _1 and B'_2, and if they are not the same, add 0 or 1 to the left (or right) of the most significant (or least significant) bit of the P+1 bit random number code, and create a P+2 bit random number code. This process is repeated until an N-bit random number code is obtained, and at each step, when the same binary code value is found, the most significant (or least significant) bit becomes 0. Shift the random number code left (or right) until
At this stage, 0 in the most significant (or least significant) bit is converted to 1 again, and it is determined whether the binary code value is the same as the one from the initialization stage. If not, the right shift (or left shift) is performed. The absolute value is characterized in that the slit is configured using a method of generating a sequence of N cyclic random numbers, in which the operation of shifting to the left (or shifting to the right) is performed if they are the same. encoder. 2. In the absolute value encoder, it is equally divided into N slits, each slit has a code of 0 or 1, and N random number codes consisting of P consecutive slits (N = 2^P) are M sequences. It is characterized by comprising a code plate written to form a cyclic random number code that is a combination of a random number code and a code of all 0s, and a shift register circuit that generates data having the same configuration as the cyclic random number code. Absolute encoder. 3. P bit binary code value (B_1 to B
A code plate in which a slit code of 0 or 1 is written on each slit to form a cyclic random number sequence in which all _N) are different, and a code of P slits every M is read from the code plate. In an absolute value encoder that detects an absolute angle within one rotation using a detection element, M+1 different number sequences 1, number sequence 2, ..., number sequence M+1, which are represented by P arbitrary 1's and 0's, are initialized. Set these binary code values as B'_1, B'_2,...
, B'_M_+_1, and each bit of sequence 1, sequence 2, ..., sequence M+1 is arranged bit by bit in the order of sequence 1, sequence 2, ..., sequence M+1 as a random number sequence of length (M+1)P. Initialize the sequence, and in the first work step, shift the initial code of sequence 1 by 1 bit to the right or left (if you select left shift, perform the processing in parentheses below). , the number sequence in which 0 is newly placed in the most significant (or least significant) bit is set as the new number sequence 1, and the binary code value of the Mth+2nd P bit obtained here is B'_M
___+_2 is B'_1, B'_2, ..., B'_M_+
Determine whether it is the same as __1, and if it is not (M+1
) Add 0 to the left (or right) of the most significant (or least significant) bit of P random number sequences, making (M+1)P+1 random number sequences, and make sequence 2 a new sequence 1, ..., sequence M+1
Perform a swapping operation to make the new sequence M and sequence 1 the new sequence M+1, shift the new sequence 1 to the right (or left) by 1 bit, and place 0 in the most significant (or least significant) bit. Then, the Mth obtained here
+3rd P bit binary code value B'_M_+_3
is the same as B'_1, B'_2, ..., B'_M_+_2, and if not (M+1), the left side (or
(or on the right side) to create a random number sequence of (M+1)P+2 bits, is repeated until N random number codes are obtained, and when the same binary code value is found at each step,
The current code is the initial setting code B'_1, B'_2,...
, B'_M_+_1, sequence 1 until the working stage where the most significant (or least significant) bit of sequence 1 becomes 0.
, sequence 2, ..., shift the sequence M+1 and the random number sequence to the left (or shift right) and return, convert the 0 in the most significant (or least significant) bit to 1, and the obtained 2 Determine whether the evolved code value is the same as the binary code value from the initial setting stage, and if not, perform the right shift (or left shift), and if the same, perform the left shift (or right shift). The current code is the initial setting code B'_1, B'_2, etc.
, B'_M_+_1, if the current code is the maximum possible value of the P-bit binary code, set the current code to 1.
The slit is configured by N cyclic random number codes generated using a method in which the increased code is used as a new initial setting code and the process starts over from the above-mentioned determination step, and if the value is the maximum value, generation of a random number sequence is deemed impossible and the process ends. An absolute value encoder featuring: 4. A linear type absolute value encoder in which a part of the N cyclic random number codes is cut off and the code plate is linear.
JP1174121A 1988-07-25 1989-07-07 Absolute encoder code pattern creation method Expired - Fee Related JP2785349B2 (en)

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
PCT/JP1990/000072 WO1991000984A1 (en) 1989-07-07 1990-01-23 Absolute value encoder
EP19900901883 EP0441963A4 (en) 1989-07-07 1990-01-23 Absolute value encoder
KR1019910700256A KR950010385B1 (en) 1989-07-07 1990-07-07 Absolute valve encoder

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP63-183439 1988-07-25
JP18343988 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 true JPH02132324A (en) 1990-05-21
JP2785349B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
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 disk device
US5841274A (en) * 1997-01-29 1998-11-24 Mitutoyo Corporation Induced current absolute position transducer using a code-track-type scale and read head
JP2016514315A (en) * 2013-03-08 2016-05-19 クアルコム,インコーポレイテッド Method and device for prime number generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5099564A (en) * 1973-12-28 1975-08-07

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5099564A (en) * 1973-12-28 1975-08-07

Cited By (3)

* Cited by examiner, † Cited by third party
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 disk device
US5841274A (en) * 1997-01-29 1998-11-24 Mitutoyo Corporation Induced current absolute position transducer using a code-track-type scale and read head
JP2016514315A (en) * 2013-03-08 2016-05-19 クアルコム,インコーポレイテッド Method and device for prime number generation

Also Published As

Publication number Publication date
JP2785349B2 (en) 1998-08-13

Similar Documents

Publication Publication Date Title
KR950010385B1 (en) Absolute valve encoder
JP2754422B2 (en) Absolute encoder
JP2004529344A5 (en)
JPS5958558A (en) Parallel cyclic redundant checking circuit
CN107314780B (en) Decoding device and decoding method for positioning absolute code
US20110208475A1 (en) Absolute angle coding and angle measuring device
GB2059701A (en) Apparatus for producing digital electrical signals representative of position
JPH02132324A (en) Absolute value encoder
RU2645880C1 (en) Absolute optical single-turn angular encoder
US5565864A (en) Absolute encoder
JP3171485B2 (en) Creating a high-resolution absolute signal
JP3053710B2 (en) Absolute position detector
JP3454907B2 (en) Absolute encoder
GB2180083A (en) Non-volatile electronic counters
JPH0257846B2 (en)
US11204265B2 (en) Rotary coding disc and method for designing the same
JP3241894B2 (en) Absolute encoder
JPS6129176B2 (en)
JP2691943B2 (en) 1-track type absolute encoder
SU824200A1 (en) Adding device
Kythe et al. Digital Arithmetic
JP2591164B2 (en) Parity operation circuit
JP3449794B2 (en) Absolute encoder
SU783786A1 (en) Coder
JPH0259612A (en) Absolute encoder

Legal Events

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