KR100550971B1 - Encoder direction detection apparatus using gray code - Google Patents

Encoder direction detection apparatus using gray code Download PDF

Info

Publication number
KR100550971B1
KR100550971B1 KR1020030096387A KR20030096387A KR100550971B1 KR 100550971 B1 KR100550971 B1 KR 100550971B1 KR 1020030096387 A KR1020030096387 A KR 1020030096387A KR 20030096387 A KR20030096387 A KR 20030096387A KR 100550971 B1 KR100550971 B1 KR 100550971B1
Authority
KR
South Korea
Prior art keywords
encoder
output
terminal
multiplier
signal
Prior art date
Application number
KR1020030096387A
Other languages
Korean (ko)
Other versions
KR20050064794A (en
Inventor
엄덕형
Original Assignee
두산엔진주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 두산엔진주식회사 filed Critical 두산엔진주식회사
Priority to KR1020030096387A priority Critical patent/KR100550971B1/en
Publication of KR20050064794A publication Critical patent/KR20050064794A/en
Application granted granted Critical
Publication of KR100550971B1 publication Critical patent/KR100550971B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/247Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains using time shifts of pulses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/245Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains using a variable number of pulses in a train

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Indicating Or Recording The Presence, Absence, Or Direction Of Movement (AREA)

Abstract

그레이코드를 이용한 엔코더 방향 검출장치는 엔코더의 회전방향을 정확하게 검출하여 속도측정의 정확도를 높이기 위한 것이다. 본 발명은 엔코더의 두 출력펄스에 대해서 각각 상승 및 하강에지를 검출하여 4-체배 신호를 만들고, 이를 클럭으로 사용하여 엔코더의 두 출력펄스에 대해 2비트 그레이코드로 하여 임의 위치에서 엔코더의 출력펄스가 바뀔 때에 정방향인지 역방향인지 검출하도록 구성된다. 따라서, 본 발명은 엔코더의 두 출력펄스의 상승 및 하강에지에서 방향검출을 할 수 있어 엔코더의 방향이 변경될 수 있는 모든 경우에서 정확하게 회전방향을 검출하여 엔코더의 위치 및 속도측정 정확도를 높일 수 있는 효과를 제공한다.The encoder direction detecting device using the gray code is to accurately detect the rotation direction of the encoder to increase the accuracy of the speed measurement. The present invention generates a 4-multiplied signal by detecting rising and falling edges of the two output pulses of the encoder, respectively, and uses the clock as a 2-bit gray code for the two output pulses of the encoder. Is configured to detect whether it is forward or reverse when is changed. Therefore, the present invention can detect the direction at the rising and falling edges of the two output pulses of the encoder to accurately detect the direction of rotation in all cases where the direction of the encoder can be changed to improve the position and speed measurement accuracy of the encoder Provide effect.

그레이코드, 엔코더, 회전방향, 4-체배Gray code, encoder, direction of rotation, 4-multiply

Description

그레이코드를 이용한 엔코더 방향 검출장치{Encoder direction detection apparatus using gray code}Encoder direction detection apparatus using gray code}

도 1은 종래 엔코더의 속도 측정장치를 나타낸 블록도,1 is a block diagram showing a speed measuring device of a conventional encoder;

도 2는 도 1의 엔코더펄스 측정부를 나타낸 상세도,Figure 2 is a detailed view showing the encoder pulse measuring unit of FIG.

도 3은 본 발명에 따른 엔코더의 방향 검출장치를 나타내는 블록도,3 is a block diagram showing an apparatus for detecting an orientation of an encoder according to the present invention;

도 4 및 도 5는 도 3의 4-채배부를 나타내는 상세 회로도 및 동작 타이밍도,4 and 5 are a detailed circuit diagram and an operation timing diagram showing the four-drain portion of FIG.

도 6은 도 3의 방향검출부를 나타내는 상세 회로도.6 is a detailed circuit diagram illustrating a direction detection unit of FIG. 3.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10 : 엔코더 50 : 4-체배부10: encoder 50: 4-multiplication

60 : 방향검출부 DFF1∼DFF5 : D-플립플롭60: direction detection part DFF1-DFF5: D-flip flop

XOR1∼XOR4 : 배타논리합소자 OR : 논리합소자XOR1 to XOR4: Exclusive logic element OR: Logic element

NOT : 반전소자 AND : 논리곱소자NOT: Inverting element AND: Logic element

본 발명은 엔코더의 방향 검출장치에 관한 것으로서, 특히 그레이코드(Gray Code)를 이용하여 엔코더 분해능의 4-체배 위치측정시 정확하게 회전방향을 검출할 수 있도록 한 엔코더의 방향검출장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encoder direction detecting device, and more particularly, to an encoder direction detecting device capable of accurately detecting a rotation direction when measuring a multiplication position of encoder resolution using a gray code.

일반적으로 엔코더(Encoder)는 모터등과 같이 회전체의 축에 연결되어 회전하는 슬릿회전판과 광원으로부터 투사되는 광을 통과시키는 슬릿고정판 및 슬릿을 통해 입사되는 광을 전기적인 신호로 변환하는 광전소자 등으로 구성된다. 엔코더는 회전체의 회전방향 및 회전속도에 따라 소정의 A 및 B 펄스를 발생하는 바, 발생된 A 및 B펄스를 사용하여 회전체의 속도 즉, 엔코더 슬릿회전판의 속도를 측정하는 용도로 많이 응용되고 있다. 이러한 엔코더를 이용한 종래의 속도측정방식을 도 1 및 도 2를 통해 간략하게 설명한다.In general, an encoder is a slit rotating plate connected to a shaft of a rotating body such as a motor, a slit fixing plate for passing light projected from a light source, and an optoelectronic device for converting light incident through the slit into an electrical signal. It consists of. The encoder generates predetermined A and B pulses according to the rotational direction and the rotational speed of the rotating body. The encoder is used for measuring the speed of the rotating body, that is, the speed of the encoder slit rotating plate using the generated A and B pulses. It is becoming. A conventional speed measurement method using such an encoder will be briefly described with reference to FIGS. 1 and 2.

도 1은 종래 엔코더의 속도측정장치를 나타낸 블록도로서, 회전방향과 회전속도에 따라 소정의 펄스(A,B)를 출력하는 엔코더(10)와, 엔코더의 출력펄스를 카운트하여 측정하는 엔코더펄스 측정부(20), 엔코더(10)의 출력에 따라 소정의 시간클럭(clk)을 카운터하여 시간펄스를 측정하는 시간측정부(30), 및 측정된 엔코더펄스의 수와 측정된 시간펄스의 수를 독출하여 엔코더(10)의 속도를 산출하는 마이컴(40)으로 이루어진다.1 is a block diagram showing a speed measuring device of a conventional encoder, the encoder 10 for outputting a predetermined pulse (A, B) according to the rotation direction and rotation speed, and the encoder pulse to count and measure the output pulse of the encoder Measuring unit 20, the time measuring unit 30 for measuring a time pulse by counting a predetermined time clock (clk) in accordance with the output of the encoder 10, and the number of encoder pulses measured and the number of measured time pulses Read out is made of a microcomputer 40 to calculate the speed of the encoder (10).

도 2는 도 1의 엔코더펄스 측정부(20)를 나타낸 상세도로서, 엔코더(10)의 A단자의 출력을 데이타단자(D)로 입력하고 엔코더(10)의 B단자 출력을 클럭단자(Clk)로 입력하여 /Q단자로 출력하는 D-플립플롭(22)과, 엔코더(10)의 A단자출력을 클럭(clk)단자로 입력하고 D-플립플롭(22)의 출력(/Q)을 업/다운단자(U/D)로 입력하며 리셋신호에 따라 클리어(Clear)되고 출력인에이블단자(OE)에 따라 카운트된 값을 데이타 라인(D0∼D15)으로 출력하는 업/다운 카운터(24)로 구현된다.FIG. 2 is a detailed view of the encoder pulse measuring unit 20 of FIG. 1. The output of the A terminal of the encoder 10 is input to the data terminal D, and the output of the B terminal of the encoder 10 is the clock terminal Clk. D-flip flop 22 which is inputted to the / Q terminal and outputs to the / Q terminal, and the A terminal output of the encoder 10 is input to the clock clk terminal, and the output (/ Q) of the D-flip flop 22 is inputted. The up / down counter (24) which inputs to the up / down terminal (U / D) and clears according to the reset signal and outputs the counted value according to the output enable terminal (OE) to the data lines D0 to D15. Is implemented as

엔코더(10)는 회전방향에 따라 다른 펄스를 출력한다. 엔코더(10)가 정방향으로 회전시 B단자의 출력 펄스가 A단자의 출력 펄스보다 선행되어 D-플립플롭(22)은 클럭단자(Clk)로 인가되는 엔코더(10)의 B단자 출력펄스의 상승에지에 동기하여 /Q단자로 "하이(High)"레벨의 정방향 회전을 나타내는 신호를 출력한다. 엔코더(10)가 역방향으로 회전시 A단자의 출력 펄스가 B단자의 출력 펄스보다 선행되어 D-플립플롭(22)은 /Q단자로 "로우(Low)"레벨의 역방향 회전을 나타내는 신호를 출력한다. 이렇게, D-플립플롭(22)은 엔코더(10)의 회전방향을 검출하여 업/다운카운터(24)의 업/다운단자(U/D)로 출력한다. 이에 따라, 업/다운 카운터(24)는 엔코더(10)가 양(Positive)의 방향으로 회전하면 클럭단자(clk)로 인가되는 엔코더(10)의 A단자 출력펄스의 상승에지에 동기하여 카운터값을 증가시키고, 음(Negative)의 방향으로 회전하면 카운터값을 감소시킨다. 즉, 업/다운카운터(24)는 D-플립플롭(22)으로부터 "하이(High)"레벨신호가 입력되면 카운터값을 증가시키고, "로우(Low)"레벨신호가 입력되면 카운터값을 감소시킨다.The encoder 10 outputs different pulses according to the rotation direction. When the encoder 10 rotates in the forward direction, the output pulse of the B terminal precedes the output pulse of the A terminal, so that the D-flip flop 22 rises of the B terminal output pulse of the encoder 10 applied to the clock terminal Clk. In synchronism with the edge, a signal representing the "high" level forward rotation is output to the / Q terminal. When the encoder 10 rotates in the reverse direction, the output pulse of terminal A is preceded by the output pulse of terminal B, and the D-flip flop 22 outputs a signal indicating reverse rotation of the "low" level to the / Q terminal. do. In this way, the D-flip flop 22 detects the rotational direction of the encoder 10 and outputs the up / down terminal U / D of the up / down counter 24. Accordingly, the up / down counter 24 counter value in synchronization with the rising edge of the output terminal A of the encoder 10 applied to the clock terminal clk when the encoder 10 rotates in the positive direction. Increase the value and rotate it in the negative direction to decrease the counter value. That is, the up / down counter 24 increases the counter value when the "high" level signal is input from the D-flip flop 22 and decreases the counter value when the "low" level signal is input. Let's do it.

이와 같이 업/다운 카운터(24)에는 엔코더(10)의 펄스 카운터값이 누적되어 있으므로, 마이컴(40)이 펄스카운터리드신호를 출력하여 데이타버스(D0∼D15)를 통해 엔코더 펄스의 카운터값을 읽어갈 수 있다. In this way, since the pulse counter value of the encoder 10 is accumulated in the up / down counter 24, the microcomputer 40 outputs a pulse count signal to obtain the counter value of the encoder pulse through the data buses D0 to D15. You can read it.

또한, 시간측정부(30)는 리셋신호에 따라 클리어되며 시간클럭(clk)을 클럭단자로 입력하여 카운트하고, 카운트값을 엔코더(10)의 A단자 출력에 따라 래치하고, 마이컴(40)이 시간펄스리드신호로 카운트값을 요구하면 데이타라인을 통해 출 력한다. 즉, 엔코더(10)의 A단자출력에 의해 업/다운 카운터(24)와 동기되어 시간펄스 카운터값을 래치하여 마이컴(40)에서 래치된 카운트값과 업/다운 카운터(24)의 카운트값으로 속도를 계산한다.In addition, the time measuring unit 30 is cleared according to the reset signal and counts the time clock clk by inputting the clock terminal, latches the count value according to the output of the A terminal of the encoder 10, and the microcomputer 40 If a count value is requested as a time pulse lead signal, it is output through the data line. In other words, by synchronizing with the up / down counter 24 by the A terminal output of the encoder 10, the time pulse counter value is latched to the count value latched by the microcomputer 40 and the count value of the up / down counter 24. Calculate the speed.

이처럼, 종래의 엔코더 속도측정방식은 엔코더의 출력펄스 수와 시간펄스를 동시에 카운트한 후 엔코더의 회전속도를 구한다. 이때, 엔코더의 출력펄스 수를 카운트하기 위해 회전방향을 검출하는데 클럭으로 사용되는 엔코더의 B단자 출력 펄스의 상승에지때만 방향을 검출할 수 있다. 그러나, 실제 엔코더의 방향은 B단자 출력 펄스의 상승, 하강, A단자 출력 펄스의 상승, 하강 에지에서 변경이 일어날 수 있으므로 4-체배 엔코더 위치 측정시 약 75%정도 1∼3펄스 오차가 일어날 수 있어 정확도가 떨어지는 문제점이 있다.As described above, in the conventional encoder speed measuring method, the number of output pulses and time pulses of the encoder are simultaneously counted, and the rotation speed of the encoder is obtained. At this time, the direction can be detected only when the rising edge of the B terminal output pulse of the encoder which is used as a clock to detect the rotation direction to count the number of output pulses of the encoder. However, the actual encoder direction may change at the rising and falling edges of the B terminal output pulse, the rising and falling edge of the A terminal output pulse, so that 1 to 3 pulse errors may occur when measuring 4-multiplier encoder position. There is a problem of falling accuracy.

따라서, 본 발명의 목적은 전술한 점을 감안하여 안출된 것으로 4-체배 엔코더 위치 측정시 그레이코드를 이용하여 엔코더의 4배 분해능으로 정확하게 회전방향을 검출하여 위치 및 속도측정의 정확도를 높일 수 있는 그레이코드를 이용한 엔코더의 방향 검출장치를 제공함에 있다.Therefore, the object of the present invention was devised in view of the above-mentioned point, and it is possible to increase the accuracy of position and speed measurement by accurately detecting the rotation direction with four times the resolution of the encoder using gray code when measuring the position of 4-multiplied encoder. An object of the present invention is to provide an encoder detecting direction using a gray code.

이와 같은 목적을 달성하기 위한 본 발명의 그레이코드를 이용한 엔코더의 방향 검출장치는, 엔코더의 회전방향 검출장치에 있어서, 회전방향과 회전속도에 따라 소정의 펄스를 출력하는 엔코더와, 상기 엔코더의 출력펄스로부터 4-체배된 신호를 만들어내는 4-체배부, 및 상기 4-체배 신호를 클럭으로 입력받아 상기 엔코 더의 출력펄스로부터 엔코더의 회전방향을 검출하는 방향검출부를 포함한다.In order to achieve the above object, an encoder direction detecting device using a gray code according to the present invention includes an encoder for outputting a predetermined pulse according to a rotation direction and a rotation speed in an encoder rotation direction detection device, and an output of the encoder. And a four-multiplier for generating a four-multiplied signal from a pulse, and a direction detector for receiving the four-multiplied signal as a clock and detecting a rotation direction of the encoder from the output pulse of the encoder.

이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 기술하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 엔코더의 방향 검출장치의 블록도를 나타낸다. 도 3에 나타낸 방향 검출장치는 회전방향과 회전속도에 따라 소정의 펄스(A,B)를 출력하는 엔코더(10), 엔코더(10)의 출력펄스(A,B) 각각에 대해 에지(Edge)를 검출하고 이것을 합하여 4-체배 신호를 출력하는 4-체배부(50), 및 엔코더(10)의 출력펄스(A,B)와 4-체배부(50)의 출력을 입력받아 엔코더(10)의 방향을 검출하는 방향검출부(60)를 구비한다. 이러한 구성을 갖는 도 3의 엔코더 방향 검출장치에 대한 동작을 도 4 내지 도 6을 통해 구체적으로 설명한다.3 shows a block diagram of an apparatus for detecting the direction of an encoder according to the present invention. The direction detecting apparatus shown in FIG. 3 has an edge for each of the encoder 10 and the output pulses A and B of the encoder 10 which output predetermined pulses A and B according to the rotation direction and the rotation speed. The multiplier 50 detects the sum and outputs a 4-multiplier signal, and receives the output pulses A and B of the encoder 10 and the outputs of the 4-multiplier 50 and the encoder 10. A direction detecting unit 60 for detecting the direction of the direction is provided. An operation of the encoder direction detecting device of FIG. 3 having such a configuration will be described in detail with reference to FIGS. 4 to 6.

엔코더(10)는 회전방향과 회전속도에 따라 소정의 펄스(A,B)를 출력한다. 4-체배부(50)는 엔코더(10)의 출력펄스(A,B) 각각에 대해서 상승 및 하강 에지를 검출하고, 이것을 합하여 4-체배 신호를 생성한다. 4-체배부(50)에 대해서는 도 4에 구체적으로 도시하였다. The encoder 10 outputs predetermined pulses A and B in accordance with the rotation direction and the rotation speed. The 4-multiplier 50 detects rising and falling edges for each of the output pulses A and B of the encoder 10 and adds them to generate a 4-multiply signal. The 4-sieve 50 is shown in detail in FIG.

도 4는 도 3의 4-체배부(50) 상세 회로도를 나타낸다. 도 4에 나타낸 4-체배부(50)는 엔코더(10)의 출력펄스(A,B) 각각을 데이타단자(D)로 입력하고 외부의 소정 클럭(Clk)을 클럭단자로 입력하여 Q단자로 출력하는 D-플립플롭(DFF1,DFF2)과, 엔코더(10)의 출력펄스(A,B) 및 D-플립플롭(DFF1,DFF2)의 출력을 입력받아 각각에 대하여 배타논리합연산을 수행하여 2-체배 신호를 생성하는 배타논리합소자(XOR1,XOR2)를 구비한다. 여기서, D-플립플롭(DFF1,DFF2)의 출력은 엔코더(10) 출력펄스(A,B)가 1클럭 지연된 펄스에 해당하며, 배타논리합소자(XOR1,XOR2)의 출력은 엔코더(10) 출력펄스(A,B)의 각 에지부분에 해당한다. 도 4의 4-체배부(50)는 또한, 배타논리합소자(XOR1,XOR2)에서 출력되는 2-체배 신호를 논리합연산을 통해 합하여 4-체배 신호를 생성하는 논리합소자(OR)를 구비한다. 4 is a detailed circuit diagram of the 4-multiplier 50 of FIG. 3. The 4-multiplier 50 shown in FIG. 4 inputs each of the output pulses A and B of the encoder 10 to the data terminal D, and inputs an external predetermined clock Clk to the clock terminal as the Q terminal. The output of the output D-flip flops (DFF1, DFF2), the output pulses (A, B) and the D-flip flops (DFF1, DFF2) of the encoder 10 is subjected to exclusive logic operation for each -Exclusive logic elements XOR1 and XOR2 for generating a multiplication signal. Here, the output of the D-flip-flop (DFF1, DFF2) corresponds to the pulse delayed by one clock of the encoder 10 output pulses (A, B), and the output of the exclusive logic elements (XOR1, XOR2) is the encoder 10 output. Corresponds to each edge portion of the pulses (A, B). The 4-multiplier 50 of FIG. 4 also includes a logic multiplier OR for generating a 4-multiplied signal by summing up the 2-multiplied signals output from the exclusive logic summation elements XOR1 and XOR2 through a logic sum operation.

이러한 구성을 갖는 4-체배부(50)의 제 1D-플립플롭(DFF1)은 도 5의 (가)에 보여진 바와 같은 엔코더(10)의 A단자 출력을 데이터단자(D)로 입력받고, 외부로부터 인가되는 소정 주파수의 클럭(Clk)에 동기하여 데이타단자(D)로 입력되는 엔코더(10)의 출력펄스(A)를 1클럭 지연시켜 출력한다. 제 2D-플립플롭(DFF2)도 도 5의 (다)에 보여진 바와 같은 엔코더(10)의 B단자 출력을 데이터단자(D)로 입력받고 제 1D플립플롭(DFF1)의 클럭과 동일한 클럭(Clk)에 동기하여 데이타단자(D)로 입력되는 엔코더(10)의 출력펄스(B)를 1클럭 지연시켜 출력한다. 제 1배타논리합소자(XOR1)는 도 5의 (가)에 보여진 바와 같은 엔코더(10)의 A단자 출력과 제 1D-플립플롭(DFF1)에서 1클럭 지연되어 출력되는 엔코더(10)의 A단자 출력을 서로 배타논리합연산하여 제 5의 (나)에 보여진 바와 같은 2-체배 신호(A′)를 만들어낸다. 제 2배타논리합소자(XOR2)도 도 5의 (다)에 보여진 바와 같은 엔코더(10)의 B단자 출력과 제 2D-플립플롭(DFF2)에서 1클럭 지연되어 출력되는 엔코더(10)의 B단자 출력을 서로 배타논리합연산하여 제 5의 (라)에 보여진 바와 같은 2-체배 신호(B′)를 만들어낸다. 즉, 제 1 및 제 2배타논리합소자(XOR1,XOR2)의 출력(A′,B′)은 엔코더(10)의 출력펄스(A,B) 각각에 대해서 상승 및 하강에지 를 검출하여, 각각에 대하여 2배된 신호를 만들어낸다. 이들 신호는 90도의 위상차를 가지고 있으므로, 서로 합하면 4배된 신호를 만들어낼 수 있다. 그래서, 논리합소자(OR)는 제 1 및 제 2배타논리합소자(XOR1,XOR2)에서 출력되는 도 5의 (나) 및 (라)에 보여진 바와 같은 2-체배 신호(A′,B′)를 서로 논리합연산하여 도 5의 (마)에 보여진 바와 같은 4-체배 신호(A′+B′)를 만들어낸다. 즉, 4-체배부(50)는 엔코더(10)의 출력펄스(A,B)에 대해서 4배 분해능을 갖는 4-체배 단일 펄스신호(도 5의 (마) 펄스)를 만들어낸다. The first D-flip flop DFF1 of the 4-multiplier 50 having such a configuration receives the output of the terminal A of the encoder 10 as the data terminal D as shown in FIG. The output pulse A of the encoder 10 input to the data terminal D is delayed by one clock in synchronism with the clock Clk of the predetermined frequency applied by the clock signal Clk. The clock Clk which is the same as the clock of the first D flip-flop DFF1 by receiving the output of the terminal B of the encoder 10 as the data terminal D as shown in (c) of FIG. 5. In synchronism with A1), the output pulse B of the encoder 10 input to the data terminal D is delayed by one clock and output. The first exclusive logic element XOR1 outputs the terminal A of the encoder 10 as shown in FIG. 5A and the terminal A of the encoder 10 which is delayed by one clock from the first D-flip flop DFF1. The outputs are subjected to exclusive logic operation with each other to produce a 2-multiplied signal A 'as shown in Fifth (B). Terminal B output of encoder 10 and output B terminal of encoder 10 which are delayed by one clock from 2D flip-flop DFF2 as shown in (c) of FIG. The outputs are subjected to exclusive logic operation with each other to produce a 2-multiplied signal B 'as shown in Fifth (D). That is, the outputs A 'and B' of the first and second exclusive logic elements XOR1 and XOR2 detect rising and falling edges with respect to the output pulses A and B of the encoder 10, respectively. Produces a signal doubled. Since these signals have a 90-degree phase difference, the signals can be quadrupled when added together. Thus, the logical sum element OR receives the 2-multiplied signals A 'and B' as shown in FIGS. 5B and 5D output from the first and second double logic logic elements XOR1 and XOR2. Logical operation of each other produces a 4-multiplied signal (A '+ B') as shown in FIG. That is, the 4-multiplier 50 generates a 4-multiplied single pulse signal ((e) pulse of FIG. 5) having four times the resolution of the output pulses A and B of the encoder 10. FIG.

한편, 방향검출부(60)는 엔코더(10)의 출력펄스(A,B)와 4-체배부(50)의 4-체배신호를 입력받아 엔코더(10)의 회전방향을 검출한다. 방향검출부(60)에 대해서는 도 6에 도시하였다.On the other hand, the direction detection unit 60 receives the output pulses (A, B) of the encoder 10 and the 4-multiplier signal of the 4-multiplier 50 detects the rotation direction of the encoder (10). The direction detection unit 60 is illustrated in FIG. 6.

도 6은 도 3의 방향검출부(60) 상세 회로도를 나타낸다. 도 6에 나타낸 방향검출부(60)는 엔코더(10)의 출력펄스(A,B)를 각각 데이터단자(D)로 입력받고 4-체배부(50)의 출력신호를 클럭단자로 입력받아 Q단자로 출력하는 D-플립플립(DFF3,DFF4)과, 제 3D-플립플롭(DFF3)의 출력신호를 상태반전하기 위한 반전소자(NOT)를 구비한다. 도 6의 방향검출부(60)는 또한, 엔코더(10)의 A단자 출력과 제 4D-플립플롭(DFF4)의 출력을 배타논리합연산하고, 반전소자(NOT)의 출력과 엔코더(10)의 B단자 출력을 배타논리합연산하기 위한 배타논리합소자(XOR3,XOR4)를 구비한다. 배타논리합소자(XOR3,XOR4)의 출력단에는 논리곱소자(AND)가 연결된다. 한편, 도 6의 방향검출부(60)는 논리곱소자(AND)의 출력을 데이터단자(D)로 입력받고 4-체배부(50)의 출력신호를 클럭단자로 입력받아 Q단자로 출력하는 D-플립플롭(DFF5)을 구비한다.6 is a detailed circuit diagram of the direction detection unit 60 of FIG. 3. The direction detecting unit 60 shown in FIG. 6 receives the output pulses A and B of the encoder 10 as the data terminals D, and receives the output signal of the 4-multiplier unit 50 as the clock terminals. D-flip flips (DFF3, DFF4) for outputting a signal, and an inverting device (NOT) for inverting the state of the output signal of the third D-flip flop (DFF3). The direction detecting unit 60 of FIG. 6 further performs exclusive logic operation on the output of the terminal A of the encoder 10 and the output of the fourth D-flop flop DFF4, and the output of the inverting device NOT and the B of the encoder 10. Exclusive logic summation elements XOR3 and XOR4 are provided for exclusive logic summation of terminal outputs. The logical AND device AND is connected to the output terminal of the exclusive logic elements XOR3 and XOR4. Meanwhile, the direction detection unit 60 of FIG. 6 receives the output of the AND product AND as the data terminal D, receives the output signal of the 4-multiplier 50 as the clock terminal, and outputs the same as the Q terminal. -Flip-flop (DFF5).

이러한 구성을 갖는 방향검출부(60)는 2비트 그레이코드를 이용하여 엔코더(10)의 회전방향을 검출한다. 그레이코드(Gray Code)는 한 숫자에서 다음숫자로 증가할 때 한 비트만 변하는 특성을 가진다. 즉, 2진수를 그레이코드로 변환할 경우 최상위 비트값은 그대로 변환하고 다음부터는 인접한 값끼리 배타논리합(Exclusive-OR)연산을 하고, 그레이코드를 2진수로 변환할 경우 최상위 비트값은 그대로 변환하고 다음부터는 결과값과 다음에 있는 수와 배타논리합연산을 한다. The direction detection unit 60 having such a configuration detects the rotation direction of the encoder 10 by using a 2-bit gray code. Gray code has the property of changing only one bit when increasing from one number to the next. In other words, when converting a binary number to gray code, the most significant bit value is converted as it is, and afterwards, an exclusive-OR operation is performed on adjacent values.If a gray code is converted to binary number, the most significant bit value is converted as it is. From now on, the result value, the next number, and the exclusive logic operation are performed.

엔코더(10)가 정방향으로 회전시 엔코더(10)의 B단자 신호가 A단자 신호보다 선행되므로, 엔코더(10)의 출력펄스(A,B)는 "(0,0)→(0,1)→(1,1)→(1,0)"의 순으로 값이 바뀌게 되어 2비트 그레이코드값은 0→1→3→2가 된다. 엔코더(10)가 역방향으로 회전시 엔코더(10)의 A단자 신호가 B단자 신호보다 선행되므로, 엔코더(10)의 출력펄스(A,B)는 "(0,0)→(1,0)→(1,1)→(0,1)"의 순으로 값이 바뀌게 되어 2비트 그레이코드값은 0→2→3→1이 된다. 방향검출부(60)는 임의 위치에서 엔코더(10)의 현 출력펄스값이 새로운 값으로 바뀔 경우 정방향인지를 검출한다. 즉, 엔코더(10)의 A단자 출력이 "0", B단자 출력이 "0"에서 각각 "0"과 "1"로 변할 경우 정방향으로, "1"과 "0"으로 변할 경우 역방향으로 검출한다. 이를 정리하면 다음의 표 1과 같다.When the encoder 10 rotates in the forward direction, since the B terminal signal of the encoder 10 precedes the A terminal signal, the output pulses A and B of the encoder 10 are " (0, 0) → (0, 1). → (1,1) → (1,0) ”changes the value so that the 2-bit gray code value becomes 0 → 1 → 3 → 2. When the encoder 10 rotates in the reverse direction, since the A terminal signal of the encoder 10 precedes the B terminal signal, the output pulses A and B of the encoder 10 are " (0,0) → (1,0) → (1,1) → (0,1) ”changes the value so that the 2-bit gray code value becomes 0 → 2 → 3 → 1. The direction detecting unit 60 detects whether the current output pulse value of the encoder 10 is in a forward direction at an arbitrary position. That is, when the terminal A output of the encoder 10 changes from "0" and the B terminal output from "0" to "0" and "1" respectively, it is detected in the forward direction and in the reverse direction when the "1" and "0" changes. do. This is summarized in Table 1 below.

정방향(D)Forward direction (D) 이전값Previous value 현재값Current value A′A ′ B′B ′ AA BB 00 00 00 1One 00 1One 1One 1One 1One 1One 1One 00 1One 00 00 00

위의 표 1을 부울(Bool)식으로 나타내면 다음과 같다.Table 1 above is expressed as a Boolean expression as follows.

D = (B xor not A′) and (A xor B′)D = (B xor not A ′) and (A xor B ′)

D = 0 →정방향, D = 1 →역방향D = 0 → forward, D = 1 → reverse

방향검출부(60)의 제 3 및 제 4D-플립플롭(DFF3,DFF4)은 엔코더(10)의 현재 출력펄스값(A,B)을 데이타단자(D)로 각각 입력받고 4-체배부(50)의 출력을 클럭으로 입력받는다. 즉, 제 3 및 제 4D-플립플롭(DFF3,DFF4)은 엔코더(10)의 출력펄스(A,B)의 상승 및 하강에지마다 엔코더(10)의 현재 출력펄스값(A,B)를 입력받아 저장하고 이전 입력받은 엔코더(10)의 출력펄스값(A′,B′)을 출력한다. 예를 들어, 엔코더(10)의 현재 출력펄스값(A,B)이 "(0,1)"이고 이전 출력펄스값(A′,B′)이 "(0,0)"인 경우, 제 3 및 제 4D-플립플롭(DFF3)은 제 5도의 (마) 펄스에 동기하여 현재 출력펄스값(A,B) "(0,1)"을 입력받아 저장하고 저장하고 있던 이전 출력펄스값(A′,B′) "(0,0)"을 출력한다. 제 3D-플립플롭(DFF3)에서 출력되는 엔코더(10) A단자의 이전값(A′)은 반전소자(NOT)에 의해 상태반전된다. The third and fourth D flip-flops DFF3 and DFF4 of the direction detecting unit 60 receive the current output pulse values A and B of the encoder 10 as the data terminals D, respectively, and receive a multiplication unit 50. Receive the output of) as a clock. That is, the third and fourth D flip-flops DFF3 and DFF4 input current output pulse values A and B of the encoder 10 for each rising and falling edge of the output pulses A and B of the encoder 10. It receives and stores and outputs the output pulse values A 'and B' of the encoder 10 previously received. For example, when the current output pulse value (A, B) of the encoder 10 is "(0, 1)" and the previous output pulse value (A ', B') is "(0, 0)", 3 and 4D flip-flop (DFF3) is the previous output pulse value (A, B) "(0, 1)" received and stored in synchronization with the (e) pulse of FIG. A ', B') outputs "(0,0)". The previous value A 'of the terminal A of the encoder 10 output from the 3D flip-flop DFF3 is inverted state by the inversion element NOT.

제 3배타논리합소자(XOR3)는 제 4D-플립플롭(DFF4)에서 출력되는 엔코더(10) B단자의 이전값(B′)과 엔코더(10) A단자의 현재값(A)를 입력받아 배타논리합연산(A xor B′)을 수행한다. 제 4배타논리합소자(XOR4)는 반전소자(NOT)에 의해 상태 반전된 엔코더(10) A단자의 이전값(A′)과 엔코더(10) B단자의 현재값(B)를 입력받아 배타논리합연산(B xor not A′)을 수행한다. 즉, 엔코더(10)가 정방향으로 회전하여 출력펄스가 "(0,1)"에서 "(1,1)"로 바뀌면, 제 3 및 제 4배타논리합소자(XOR3,XOR4)는 각각 "(0,0)"을 출력한다. 반대로, 엔코더(10)가 역방향으로 회전하여 출력펄스가 "(0,1)"에서 "(0,0)"으로 바뀌면, 제 3 및 제 4배타논리합소자(XOR3,XOR4)는 각각 "(1,1)"을 출력한다.The third exclusive logic element XOR3 receives the previous value B ′ of the B terminal of the encoder 10 output from the 4D flip-flop DFF4 and the current value A of the A terminal of the encoder 10. Perform logical sum operation (A xor B '). The fourth exclusive logic element XOR4 receives the exclusive value A of the previous value A 'of the terminal A of the encoder 10 inverted by the inversion element NOT and the current value B of the terminal B of the encoder 10. Perform the operation (B xor not A '). That is, when the encoder 10 rotates in the forward direction and the output pulse changes from "(0,1)" to "(1,1)", the third and fourth double logic elements XOR3 and XOR4 are each "(0). , 0) " On the contrary, if the encoder 10 rotates in the reverse direction and the output pulse changes from "(0,1)" to "(0,0)", the third and fourth double logic elements XOR3 and XOR4 are each "(1). , 1) "

논리곱소자(AND)는 제 3 및 제 4배타논리합소자(XOR3,XOR4)의 출력을 논리곱연산하여 엔코더(10)의 회전방향을 나타내는 신호를 출력한다. 즉, 논리곱소자(AND)는 제 3 및 제 4배타논리합소자(XOR3,XOR4)의 출력이 모두 "하이(High)"레벨의 이진수 "1"이면 "하이(High)"레벨의 이진수 "1"을 출력하여 엔코더(10)의 회전방향이 역방향임을 나타낸다. 그리고, 논리곱소자(AND)는 제 3 및 제 4배타논리합소자(XOR3,XOR4)의 출력이 모두 "로우(Low)"레벨의 이진수 "0"이면 "로우(Low)"레벨의 이진수 "0"을 출력하여 엔코더(10)의 회전방향이 정방향임을 나타낸다. 논리곱소자(AND)의 출력을 데이타단자(D)로 입력받는 제 5D-플립플롭(DFF5)은 4-체배부(50)의 출력에 동기하여 데이타단자(D)로 입력받은 엔코더(10)의 회전방향 검출신호를 뒷단의 미도시된 엔코더펄스측정부의 위치측정카운터로 보내 엔코더펄스 수를 카운터하여 속도를 측정할 수 있도록 한다. The AND product AND performs an AND operation on the outputs of the third and fourth exclusive logic elements XOR3 and XOR4, and outputs a signal indicating the rotation direction of the encoder 10. That is, if the output of the third and fourth exclusive logic elements XOR3 and XOR4 are all "high" binary "1", the AND logic "1" is binary "1" of the "high" level. "To indicate that the rotation direction of the encoder 10 is reverse. In addition, if the outputs of the third and fourth exclusive logic elements XOR3 and XOR4 are both "Low" level binary "0", the AND logic "0" is binary "0". "To indicate that the rotation direction of the encoder 10 is the positive direction. The fifth D flip-flop DFF5, which receives the output of the AND product, as the data terminal D, is an encoder 10 that is input to the data terminal D in synchronization with the output of the 4-multiplier 50. The direction of rotation detection signal is sent to the position measuring counter of the encoder pulse measuring unit (not shown) so that the speed can be measured by counting the number of encoder pulses.

상술한 바와 같이, 본 발명의 그레이코드를 이용한 엔코더 방향 검출장치는, 엔코더 분해능의 4-체배 위치측정시 그레이코드를 이용하여 엔코더의 A단자와 B단 자 신호의 상승 및 하강에지의 모든 경우에서 아주 정확하게 방향을 검출할 수 있는 효과를 갖는다.As described above, the encoder direction detecting apparatus using the gray code of the present invention is used in all cases of rising and falling edges of the A and B terminal signals of the encoder by using the gray code when measuring the multiplication position of the encoder resolution. It has the effect of detecting the direction very accurately.

Claims (5)

엔코더의 회전방향 검출장치에 있어서,In the rotation direction detection device of the encoder, 회전방향과 회전속도에 따라 소정의 펄스를 출력하는 엔코더;An encoder for outputting a predetermined pulse according to the rotation direction and the rotation speed; 상기 엔코더의 출력펄스로부터 4-체배된 신호를 만들어내는 4-체배부; 및A 4-multiplier for generating a 4-multiplied signal from the output pulses of the encoder; And 상기 4-체배 신호를 클럭으로 입력받아 상기 엔코더의 출력펄스로부터 엔코더의 회전방향을 검출하는 방향검출부를 포함하며,A direction detecting unit which receives the 4-multiplied signal as a clock and detects a rotation direction of the encoder from an output pulse of the encoder, 상기 방향검출부는 2비트 그레이코드를 이용하여 엔코더의 회전방향을 검출함을 특징으로 하는 엔코더 방향 검출장치.And the direction detecting unit detects the rotation direction of the encoder using a 2-bit gray code. 제 1항에 있어서, 상기 4-체배부는 상기 엔코더의 출력펄스 각각에 대해서 상승 및 하강에지를 검출하여 2-체배된 신호를 만들어내고, 이들을 합하여 4-체배된 신호를 만들어냄을 특징으로 하는 엔코더 방향 검출장치.4. The multiplier according to claim 1, wherein the 4-multiplier detects rising and falling edges for each of the output pulses of the encoder to produce a 2-multiplied signal, and adds them to produce a 4-multiplied signal. Encoder direction detection device. 제 2항에 있어서, 상기 4-체배부는 The method of claim 2, wherein the four-multiplying portion 상기 엔코더의 출력펄스 각각을 데이타단자로 입력받고, 외부로부터 인가되는 클럭에 동기하여 데이타단자로 입력되는 엔코더의 출력펄스 각각을 1클럭 지연시켜 출력하는 복수개의 D-플립플롭;A plurality of D-flip flops for receiving each output pulse of the encoder as a data terminal and delaying each output pulse of the encoder input to the data terminal in synchronization with a clock applied from the outside; 상기 엔코더의 출력펄스값과 상기 D-플립플롭에서 1클럭 지연된 엔코더의 출력펄스값을 각각 배타논리합연산하여 2-체배된 신호를 만들어내는 복수개의 배타논리합소자; 및A plurality of exclusive logic elements for generating a two-multiplied signal by performing an exclusive logic operation on the output pulse value of the encoder and the output pulse value of the encoder delayed by one clock in the D-flip flop; And 상기 배타논리합소자의 출력을 논리합연산하여 2-체배된 엔코더의 출력펄스 를 합산하여 4-체배된 신호를 만들어내는 논리합소자를 구비함을 특징으로 하는 엔코더 방향 검출장치.And a logic sum element for generating a four-multiplied signal by summing the outputs of the exclusive logic sum elements and summing output pulses of the 2-multiplied encoder. 삭제delete 제 1항 내지 제3항 중 어느 한 항에 있어서, 상기 방향검출부는The direction detecting unit according to any one of claims 1 to 3, wherein the direction detecting unit 상기 4-체배부의 4-체배 신호에 동기하여 상기 엔코더의 현재 출력펄스 각각의 값을 입력받아 저장하고 이전 출력펄스 값을 출력하기 위한 복수개의 D-플립플롭;A plurality of D flip-flops for receiving and storing a value of each of the current output pulses of the encoder in synchronization with the four-multiplier signal of the 4-multiplier and outputting a previous output pulse value; 상기 D-플롭플롭에서 출력되는 엔코더 A단자의 이전값을 상태반전하기 위한 반전소자;An inverting device for inverting the state of the encoder A terminal output from the D-flop flop; 상기 엔코더 A단자의 현재값과 상기 D-플립플롭에서 출력되는 엔코더 B단자의 이전값을 배타논리합연산하고, 상기 엔코더 B단자의 현재값과 상기 반전소자에서 상태반전된 엔코더 A단자의 이전값을 배타논리합연산하기 위한 복수개의 배타논리합소자;Exclusive logical operation is performed on the current value of the encoder A terminal and the previous value of the encoder B terminal output from the D-flip flop, and the current value of the encoder B terminal and the previous value of the encoder A terminal whose state is reversed in the inverting device. A plurality of exclusive logic elements for exclusive logic operation; 상기 배타논리합소자의 출력을 논리곱연산하여 엔코더의 회전방향 검출신호를 출력하기 위한 논리곱소자; 및A logical AND element for performing an AND operation on the output of the exclusive logic element to output a rotation direction detection signal of the encoder; And 상기 4-체배부의 4-체배 신호에 동기하여 상기 논리곱소자에서 출력되는 엔코더 회전방향 검출신호를 출력하는 D-플립플롭을 구비함을 특징으로 하는 엔코더 방향 검출장치.And a D-flip-flop for outputting an encoder rotation direction detection signal output from the logical multiplication element in synchronization with the 4-multiplier signal of the 4-multiplier.
KR1020030096387A 2003-12-24 2003-12-24 Encoder direction detection apparatus using gray code KR100550971B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030096387A KR100550971B1 (en) 2003-12-24 2003-12-24 Encoder direction detection apparatus using gray code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030096387A KR100550971B1 (en) 2003-12-24 2003-12-24 Encoder direction detection apparatus using gray code

Publications (2)

Publication Number Publication Date
KR20050064794A KR20050064794A (en) 2005-06-29
KR100550971B1 true KR100550971B1 (en) 2006-02-13

Family

ID=37256351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030096387A KR100550971B1 (en) 2003-12-24 2003-12-24 Encoder direction detection apparatus using gray code

Country Status (1)

Country Link
KR (1) KR100550971B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102167695B1 (en) 2019-11-01 2020-10-19 한국생산기술연구원 Apparatus and method for measuring encoder resolution

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596421A (en) * 2020-11-27 2021-04-02 山东省蔚仪进出口有限公司 Counting device and control method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102167695B1 (en) 2019-11-01 2020-10-19 한국생산기술연구원 Apparatus and method for measuring encoder resolution

Also Published As

Publication number Publication date
KR20050064794A (en) 2005-06-29

Similar Documents

Publication Publication Date Title
JP2868266B2 (en) Signal phase difference detection circuit and signal phase difference detection method
KR101243627B1 (en) Time measurement using phase shifted periodic waveforms
Fries et al. High-precision TDC in an FPGA using a 192 MHz quadrature clock
SE519816C2 (en) Phase digitization with accumulator
CN110069009B (en) Multichannel time-to-digital converter and photoelectric detection device
CN209821604U (en) Multichannel time-to-digital converter and photoelectric detection device
KR100550971B1 (en) Encoder direction detection apparatus using gray code
KR920002022B1 (en) Count error detecting device for count type measuring instruments
JP3203909B2 (en) A / D converter
CN109104168B (en) Circuit for measuring fine time
KR100667154B1 (en) Frequency lock detector
CN107112999A (en) Frequency synthesizer output cycle rate counter including ring encoder
US6999006B2 (en) Rotation position detecting device
CN217847107U (en) Quantum random number generator based on avalanche effect and integrated circuit comprising quantum random number generator
CN217847108U (en) Quantum random number generator and integrated circuit comprising same
CN217847106U (en) Quantum random number generator based on tunneling effect and integrated circuit comprising quantum random number generator
JP3372860B2 (en) Signal phase difference detection circuit and signal phase difference detection method
CN112506029B (en) TDC circuit system adopting multiple annular delay chains
WO2017134023A1 (en) Resistive interpolation mesh circuit for time-to-digital converters
US4939756A (en) Two-phase encoder circuit
WO2022104613A1 (en) Voltage monitoring circuit and chip
KR960007196Y1 (en) Apparatus for measuring speed in incremental encoder
RU187313U1 (en) DIGITAL FREQUENCY METER FOR LOW POWER INTEGRAL CIRCUITS
JPH0644756B2 (en) Synchronous clock generation circuit
JP4189729B2 (en) Asynchronous readout method of timer count value and timer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130109

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee