Interpolation pulse generating device

Abstract: Signals S j and S j-1 that are deviate from each other by a phase value of 2π/M are generated (300) by combining two sinusoidal detection signals (100,200). A reference signal ΔS is generated which represents a difference between the signals S j and S j-1 . An up-pulse (P+) or a down-pulse (P-) is generated every time the signal S j or S j-1 varies by ΔS/n. An n-ary reversible ring counter (60) outputs a first count value and a carry or borrow pulse by counting the up-pulse and the down-pulse, and the first count value is used to control the operation of generating the up-pulse or down-pulse. An M-ary reversible ring counter (70) outputs a second count value by counting the carry pulse or the borrow pulse, and the second count value is used to control the operation of generating the signals S j and S j-1 .

Description: The present invention relates to an interpolation pulse generating device for incorporation in a linear encoder, a rotary encoder, and like devices. Length-measuring devices such as a linear encoder and a rotary encoder are known in which a detector generates sinusoidal signals having the same spatial period and a predetermined spatial phase difference in accordance with relative movement between stationary and moving scales, and pulses of a number corresponding to the distance of the above relative movement are generated on the basis of the sinusoidal signals (detection signals). Length-measuring devices of the above type are commonly used in three-dimensional measuring apparatuses, machine tools, small-sized digital slide calipers, etc. Fig. 8 shows a linear encoder as an example of such length-measuring devices. This linear encoder consists of a scale 1, a detector 2 capable of sliding along the scale 1, an interpolation pulse generating device 3, and a positioning device 4. In actual implementation, the positioning device 4 is replaced by a counter or a NC positioning device including a counter of a three-dimensional measuring device or a NC machine tool. The detector 2 produces two cyclic detection signals (Vsin and Vcos in the example of Fig. 8) in accordance with relative movement between the scale 1 and the detector 2. Detecting a variation of the phase angle  of the two detection signals, the interpolation pulse generating device 3 produces count-up pulses P + or count-down pulses P - . The positioning device 4 recognizes the distance of the movement of the detector 2 relative to the scale 1 by counting the pulses P + or P - . Length-measuring devices of the above type are required to have a resolution that is higher than the resolution that is determined by the mechanical structure of the detector, which is the pitch of a grating formed on the scale in the case of a linear encoder. To this end, i.e., to improve the resolution of the length measurement, a phase angle variation of the detection signals that are output from the detector are detected in angular units that are smaller than one period, i.e., 2π. This operation is hereinafter called "interpolation." In recent years, it is increasingly required that the interpolation be improved in accuracy and processing speed as the need of high-resolution length measurement is increased in the microprocessing technology. In particular, in such fields as semiconductors, length measurements in the order of nanometer or sub-nanometer, not to mention sub-micrometer, are needed increasingly. Usually, in the interpolation of a phase angle variation of the above-described detection signals, computation is performed on a combination of a plurality of input signals that have the same period and amplitude, have a predetermined phase difference, and vary symmetrically with respect to the zero level. Conventionally, the resistive division scheme is mainly used for this computation. The principle of the resistive division scheme will be described with reference to Fig. 9. When signals represented by Vsin and Vcos are respectively input to terminals A and B, a signal represented by C = {V(R A 2 + R B 2 ) 1/2 /(R A + R B )}sin( + ) where  = tan -1 (R A /R B ) is output from terminal C. Therefore, a sine-wave signal that is advanced from the signal A by a predetermined phase angle  can be obtained by properly determining resistances R A and R B . A desired number of circuits having the above configuration are provided. Among those circuits, one having the output signal C that is closest to 0 is selected and its output signal C is detected. For example, to realize an interpolation number 80, 40 circuits are needed to provide sine-wave signals whose  values range from 0 to π with intervals of 2π/80. That is, a large-sized circuit is needed which includes 40 comparators and 80 resistors. (Refer to Japanese Examined Patent Publication No. Sho. 62-33527.) Therefore, to increase the interpolation number in the resistive division scheme, the number of resistors and the circuit scale necessarily increase, to cause problems in the cost, size, power consumption, etc. Japanese Examined Patent Publication No. Hei. 5-25285 discloses an improved version of the resistive division scheme, which consists of a coefficient storing element, a coefficient switching circuit, a multiplication-type D/A converter. According to this scheme, coefficients of cos and -sin with an arbitrary spatial phase  are generated by use of the multiplication-type D/A converter. By performing a computation involving the above coefficients and the input signals Vsin and Vcos, a sine-wave signal that is delayed from the signal Vsin is obtained as follows: Vsin·cos - Vcon·sin = Vsin( - ) The phase angle  of the input signals can be detected by comparing the above computation result with the zero potential (i.e., a reference signal). However, to increase the interpolation number in this scheme, an expensive D/A converter of a large number of bits is needed, whose conversion speed is usually very slow. Due to the limitation of the slow conversion speed, the response speed of the interpolation pulse generating device is much reduced. US-A-5218295 describes a system for processing fine position signals obtained from two magnetic sensors. The system produces sinusoidal wave signals different from each other by a quarter phase cycle. The system switches the phase so as to bring the pair of phase modulated signals in phase with each other and then calculates the weight constants for the pair of pulse with modulated signals. The pulse with modulated signals are then subjected to a weighted means by the use of determined weighted constants with the result that the disorder at the switching point is removed from the pulse with modulated signals. EP-A-0543421 describes a fine positioning detection system which uses an AC output signal having a phase electrically shifted in accordance with the position of the moving object. A counted value of a counter circuit is sampled in response to an electrical phase change at a zero cross time point of the AC output signal. As a result of this the sampled counted value of the counter circuit represents the absolute position data of the moving object. A second absolute position detecting section generates one or more delayed clock signals that are delayed from a clock signal on the basis of which the counter circuit counts up by an amount of time smaller than one period of the clock signal. The system utilizes the one or more delayed clock signals to measure the zero cross time point of the AC output signal in accordance with a unit time smaller than the one period of the clock signal. The absolute position data is then output as the measured time point added to the sample counted values. According to a first aspect of the invention, there is provided an interpolation pulse generating device that receives detection signals of a plurality of phases which signals are produced in accordance with a displacement of relative movement between corresponding members, and generates a count pulse for each predetermined phase angle pitch that is smaller than one period of the detection signals, comprising: selecting means for generating signals S j and S j-1 that are deviate from each other by a phase value of 2π/M by combining the plurality of detection signals, where M is a fixed integer; difference signal generating means for generating a reference signal ΔS that represents a difference between the signals S j and S j-1 ; and comparing means for generating an up-pulse or a down-pulse every time the signal S j or S j-1 varies by ΔS/n where n is a fixed integer in a phase section of 2π/M in which one of the signals S j and S j-1 has positive values and the other has negative values. According to a second aspect of the present invention, there is provided an interpolation pulse generating device that receives detection signals of a plurality of phases which signals are produced in accordance with a displacement of relative movement between corresponding members, and generates a count pulse for each predetermined phase-angle pitch that is smaller than one period of the detection signals, comprising: selecting means for receiving two sinusoidal detection signals that have the same amplitude, the same spatial period, and a predetermined spatial phase difference and that vary symmetrically with respect to a zero level, and for selecting, from M sinusoidal signals S 1 -S m deviating from each other at predetermined intervals, two adjacent sinusoidal signals S j and S j-1 where an integer j = 1,2, ..., M, by combining the two sinusoidal detection signals; difference signal generating means for generating a difference signal Δ sj according to Δ sj = S j-1 - S j and an inverted difference signal -Δ sj ; A/D-converting means for A/D-converting the sinusoidal signal S j-1 using the signals ΔS j and -ΔS j as references; and, comparing means for comparing an output A of an n-ary counting means and an output B of the A/D converting means, and for outputting an up-pulse P + if the output A is smaller than or equal to the output B, and outputting a down-pulse P - if the output A is larger than the output B; the n-ary counting means for decrementing the integer k by 1 when receiving the down-pulse P - and, in the event that a decremented result is smaller than 0, substituting n - 1 into k and outputting a borrow pulse, and for incrementing the integer k by 1 when receiving the up-pulse P + and, in the event that an incremented result is equal to n, substituting 0 into k and outputting a carry pulse, a signal indicating the integer k being supplied to the comparing means as the output A; and M-ary counting means for decrementing the integer j by 1 when receiving the borrow pulse and, in the event that a decremented result is equal to 0, substituting M into j, and for incrementing the integer j by 1 when receiving the carry pulse and, in the event that an incremented result is equal to M + 1, substituting 1 into j, a signal indicating the integer j being supplied to the selecting means. The present invention provides, by using novel equations for computation, an interpolation pulse generating device which operates at high speed with high accuracy and resolution, and which has a smaller number of high-accuracy resistors and smaller high-speed circuits than the conventional device. In the invention, the two kinds of interpolation means, i.e., the M-interpolation means and the n-interpolation means are provided to realize Mxn interpolation. A simple configuration can be obtained without using an unduly large number of resistors, comparators, etc. In a first embodiment, the n-interpolation is performed by using analog circuits. In a second embodiment, it is performed digitally by using an A/D converter. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing a general configuration of an interpolation pulse generating device according to an embodiment of the present invention; Fig. 2 is a circuit diagram of an adjacent two phases selecting means used in the device of Fig. 1; Fig. 3 is a circuit diagram of a difference signal generating means used in the device of Fig. 1; Fig. 4 is a circuit diagram of a judgment signal generating means used in the device of Fig. 1; Fig. 5 is a timing chart of respective signals in the device of Fig. 1; Fig. 6 is a circuit diagram of a kΔS j /n generating means used in the device of Fig. 1; Fig. 7 is a circuit diagram of first and second comparing means used in the device of Fig. 1; Fig. 8 shows a general configuration of a linear encoder; Fig. 9 shows the principle of the resistive division scheme; Fig. 10 is a block diagram showing a general configuration of an interpolation pulse generating device according to a second embodiment of the invention; Fig. 11 is a graph showing a relationship between an input signal and output data of an A/D converter used in the device of Fig. 10; Fig. 12 is a circuit diagram of a damper circuit that may be used in the device of Fig. 10; Fig. 13 is a timing chart showing the operation of the device of Fig. 10; and Fig. 14 shows connection between a comparator and each of the A/D converter and an n-ary counting means, all of which are used in the device of Fig. 10. DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be hereinafter described with reference to the accompanying drawings. Fig. 1 shows a circuit configuration of an interpolation pulse generating device according to an embodiment of the invention. An adjacent two phases selecting means 300 receives a detection signal 100 (Vsin in this embodiment) and a detection signal 200 (Vcos in this embodiment) that is always deviated from the detection signal 100 by a predetermined phase angle. Based on the detection signals 100 and 200, the adjacent two phases selecting means 300 divides one period 2π of the phase angle of the detection signals 100 and 200 into M parts, to produce two signals S j and S j-1 (j = 1, 2, ..., M) that are deviated from each other by a phase angle of 2π/M. In this embodiment, the adjacent two phases selecting means includes means for generating sine-wave signals of M phases and means for selecting adjacent signals. Fig. 2 shows a preferred example of a circuit of the means 300. This circuit generates only one of the signals S j and S j-1 , but a circuit for generating the other signal can be constructed in the same manner with an exception that the orders of resistors (described below) are shifted by one. Referring to Fig. 2, the configuration and operation of the means 300 will be described. The circuit of Fig. 2 consists of an inverting amplifier 303 receiving the detection signal 100, parallel-connected analog switching elements 304-1 to 304-M, resistors 305-1 to 305-M that are connected in series to the respective analog switching elements 304-1 to 304-M, an inverting amplifier 317 receiving the detection signal 200, parallel-connected analog switching elements 318-1 to 318-M, resistors 319-1 to 319-M that are connected in series to the respective analog switching elements 318-1 to 318-M, and inverting amplifiers 307 and 310. One of the resistors 305-1 to 305-M and one of the resistors 319-1 to 319-M (for instance, the resistors 304-1 and 318-1 or the resistors 304-2 and 318-2) are selected by the analog switching elements 304-1 to 304-M and 318-1 to 318-M in accordance with an output signal 80 of an M-ary counting means (M-ary reversible ring counter) 70. The selected resistors and the inverting amplifier 307 constitute a two-input addition type variable gain amplifier. The resistances of the resistors 305-1 to 305-M are represented by R 11 to R 1M and the resistances of the resistors 319-1 to 319-M are represented by R 21 to R 2M . In accordance with the signal 80 supplied from the M-ary counting means 70 and indicating an integer j, analog switching elements 304-j and 318-j are turned on. In this state, an output signal of the inverting amplifier 307 is obtained as follows: R·Vsin/R 1j + R·Vcos/R 2j An output S j of the inverting amplifier 310 is equal to an inverted sum of the output signal of the inverting amplifier 307 multiplied by 2, the output signal of the inverting amplifier 303 (-Vsin), and the output signal of the inverting amplifier 317 (-Vcos). That is, S j = V[{1 - (2R/R 1j )}sin + {1 - (2R/R 2j )}cos] = V[{1 - (2R/R 1j )} 2 + {1 - (2R/R 2j )} 2 ] 1/2 sin( + ) where  = tan -1 {(1 - 2R/R 2j }/(1 - 2R/R 1j )}. Therefore, one of M-phase signals having phase angle intervals of 2π/M can be selected by setting the resistances R 11 to R 1M and R 21 to R 2M so that  values have intervals of 2π/M, i.e., so that (1 - 2R/R 1j ) in Equation (4) becomes equal to a coefficient cos(2πj/M) (j = 1, 2, ..., M) and (1 - 2R/R 2j ) in Equation (4) becomes equal to a coefficient -sin(2πj/M) (j = 1, 2, ..., M). Further, the M-phase signals have the same amplitude as is understood from Equation (4), which includes a square root of a sum of cos 2 and sin 2 . That is, S j = C j sin( - 2πj/M) where C j represents the amplitude and j = 1, 2, ..., M. A signal S j-1 , which is deviated from S j by a phase angle of 2π/M, is obtained by using the same configuration as shown in Fig. 2 with an exception that the orders of the resistors 305 and the resistors 319 are shifted by one and selecting among the analog switching elements 304 and 318 in accordance with the signal 80 that is supplied from the M-ary counting means 70. That is, S j-1 = C j-1 sin{ - 2π(j - 1)/M} where C j-1 represents the amplitude and j = 1, 2, ..., M. When j = 1, S j-1 is made S M . It is noted that in Equations (5) and (6) a relationship C j = C j-1 holds. Fig. 5 is a timing chart of the respective signals. For convenience of description, it is assumed that the input signals 100 and 200 have a spatial phase difference of 90°, that the phase angle  representing the movement distance varies linearly, and that M = 8 and n = 4. It goes without saying that the invention is not limited to such a specific case. In parts (a) to (e) of Fig. 5, the vertical axes represent voltages and the horizontal axes represent the movement distance. As the phases of the signals 100 and 200 advance by 2π/8 (see part (a) of Fig. 5), each of the signal S j- 1 (see part (b) of Fig. 5) and the signal S j (see part (c) of Fig. 5) forms a triangle in the vicinity of the zero level. The signals S j-1 and S j are input to a difference signal generating means 500 (see Fig. 3), which produces a difference signal ΔS j /n according to Equation (7): ΔS j /n = (S j-1 - S j )/n In Fig. 3, nR 0 and R 0 represent resistances and reference numeral 501 denotes an operational amplifier. As shown in part (d) of Fig. 5, the value of ΔS j is almost constant. The difference signal ΔS j /n is input to a kΔS j /n generating means 600. Fig. 4 shows a specific circuit configuration of the means 600. Output signals 90 (9 1 , 9 2 , ..., 9 k , ..., 9 n ) of an n-ary counting means (n-ary reversible ring counter) 60 are supplied to analog switching elements T 1 , T 2 , ..., T k , ..., T n as control signals for determining conduction/non-conduction thereof so that one of the switching elements T 1 -T n is made conductive and the other ones are made non-conductive. In Fig. 4, only the analog switching element T k is in a conductive state. A resistor having a resistance (1/k)q is provided between the analog switching element T k and an operational amplifier 601, which has a resistor having a resistance q. In this state, the operational amplifier 601 produces an output signal -kΔS j /n. The signals -kΔS j /n and S j-1 are input to a judgment signal generating means 700, which performs computation and produces a judgment signal S x according to Equation (8): S x = S j-1 - kΔS j /n = S j-1 - (k/n)(S j-1 - S j ) = {kS j + (n - k)S j-1 }/n Fig. 6 shows a specific circuit configuration of the judgment signal generating means 700. In Fig. 6, r s denotes resistors, and numerals 701 and 702 denote operational amplifiers. Referring to Fig. 1, the signal S x is input to first and second comparing means 800 and 900. The first comparing means 800 compares S x and 0, and the second comparing circuit 900 compares S x and ΔS j /n. Fig. 7 shows specific circuit configurations of the comparing means 800 and 900. In Fig. 7, reference numerals 801 and 901 denote comparators, and F/F1 and F/F2 denote flip-flops. The output of the flip-flop F/F1 or F/F2 changes from "0" to "1" at a rising edge of a 0-to-1 change of the output of the comparator 801 or 901 in response to a change of the signal S x . The n-ary counting means 60 counts up or down at a rising edge of a 0-to-1 change of the output of the flip-flop F/F1 or F/F2. The analog switching elements T 1 -T n of the kΔS j /n generating means 600 are switched in accordance with the output signals 90 of the n-ary counting means 60. Further, by making the CL input of the flip-flop F/F1 or F/F2 negative with a certain delay by use of a delay element, the output thereof changes from "1" to "0." Thus, pulses P + and P - can be generated. By providing a delay, spike noise can be neglected which occurs at switching of the analog switching elements T 1 -T n . Referring to Fig. 1, now consider a case where the detection signals 100 and 200 vary in one direction, S j and S j-1 vary accordingly, and thereby transition is made from a state of S x > 0 to a state of S x < 0. At this time, an output pulse P - is obtained from the first comparing means 800. When the pulse P - is input to the n-ary counting means 60, the analog switching elements T 1 -T n are switched in response to a transition of k → k-1, so that a state of S x > 0 is established. Where the detection signals 100 and 200 vary in the other direction, S j and S j-1 vary accordingly, and thereby transition is made from a state of S x < ΔS j /n to a state of S x > ΔS j /n. At this time, an output pulse P + is obtained from the second comparing means 900. When the pulse P + is input to the n-ary counting means 60, a state of S x < ΔS j /n is re-established in response to a transition of k → k+1. As the transition of k → k+1 or k → k-1 is repeated, a carry pulse 50 or a borrow pulse 51 is generated by the n-ary counting means 60 and input to the M-ary counting means 70, where a transition of j → j+1 or j → j-1 is effected. By constituting a feedback loop so as to change k and j in the above manner, S x can always satisfy S x > 0 and S x < ΔS j /n. Although in the above embodiment the feedback loop is so formed that the signal S x always satisfy S x > 0 and S x < ΔS j /n, a feedback loop may be so formed that the signal S x always satisfy S x < 0 and S x > -ΔS j /n. Part (e) of Fig. 5 shows how S x varies so as to satisfy S x > 0 and S x < ΔS j /n while a pulse P + or P - is generated. Since a sine wave is regarded as approximately straight in the vicinity of a phase 0°, the signal ΔS j = S j-1 - Sj can be regarded as approximately constant in a phase range of 2π/M including 0° if the division number M is sufficiently large. Thus, ΔS j or ΔS j /n can be used as a reference signal for the comparison. Next, an interpolation pulse generating device according to a second embodiment of the invention will be described. While in the above embodiment the division by n is an analog operation, in this embodiment it is performed digitally. Fig. 10 shows the entire configuration of the interpolation pulse generating device of this embodiment. Since the M-ary counting means 70 and the adjacent two phases selecting means 300, which together perform the M-division operation, are the same as those in the above embodiment (see Fig. 1), the following description is dedicated to the digital n-division technique. The signals S j and S j-1 are supplied from the adjacent two phases selecting means 300 to a difference signal generating means 520, which produces a signal ΔS j and an inverted signal -ΔS j according to Equation (9): ΔS j = S j-1 - S j The signals ΔS j and -ΔS j are input to an A/D converter 1100 as positive and negative references, respectively. The A/D converter 1100 constitutes a bipolar A/D converter. Fig. 11 shows a relationship between an input voltage and output data of the A/D converter 1100. For simplicity, only upper 4 bits of output data are shown in Fig. 11. The output signal S j-1 of the adjacent two phases selecting means 300 is converted into a digital code by the A/D converter 1100 according to the relationship of Fig. 11. The digitized signal S j-1 is input to a comparing circuit 1200, where it is compared with the value of a signal supplied from an n-ary counting means 61. Now the inputs from the n-ary counting means 61 and the A/D converter 1100 are represented by A and B, respectively. The comparing circuit 1200 makes the A>B output "true" when A > B, and makes the A≤B output "true" when A ≤ B. The A>B output and the A≤B output are ANDed with a timing signal 1310 from a timing generating circuit 1300, so that a pulse P + or P - is produced. The n-ary counting means 61 is constituted of an up/down reversible counter. When receiving a pulse P + from the comparing circuit 1200, the n-ary counting means 61 changes its count value from k to k+1. The input A of the comparator 1210 is updated accordingly, and compared with the input B at the next timing. When receiving a pulse P - from the comparing circuit 1200, the n-ary counting means 61 changes its count value from k to k-1. As the transition of k → k+1 or k → k-1 is repeated, a carry pulse 50 or a borrow pulse 51 is generated and input to the M-ary counting means 70. As a result, the M-ary counting means 70 changes its count value j to j+1 or j-1. By constituting a feedback loop so as to change k and j in the above manner, the count pulses P + and P - can be generated so as to follow the phase angle variations of the detection signals 100 and 200. It is noted that unnecessary count pulses P + and P - are always generated alternately even if no change occurs in the detection signals 100 and 200. This phenomenon can be prevented by adding a damper circuit as shown in Fig. 12. That is, the damper circuit outputs a count-up or count-down pulse only when pulses P + or P - are produced consecutively. Next, the respective components shown in Fig. 10 will be described with an assumption that the division value n of the n-ary counting means 61 is 4. Further, as mentioned above, Fig. 11 shows only upper 4 bits of output data of the A/D converter 1100 and plots a straight line, though actually the output data are discrete. Since n is equal to 4, it is assumed that the n-ary counting means 61 is constituted of a 2-bit binary reversible counter. It is also assumed that the A/D converter 1100 and the comparator 1210 deal with x+1-bit data. Fig. 14 shows how each of the A/D converter 1100 and the n-ary counting means 61 is connected to the comparator 1210. The bits of the A/D converter 1100 and those of the comparator 1210 (B input bits) are in one-to-one correspondence. As for the input terminals (A input bits) of the comparator 1210 for the n-ary counting means 61, the 2 x bit is always set "true" (has a value "1"), the 2 x-1 bit and the 2 x-2 bit are allocated to the 2-bit input from the n-ary counting means 61, and the remaining lower bits are always set "false" (has a value "0"). The operation of the interpolation pulse generating device will be described with reference to Fig. 13. It is assumed that at first the signal S j-1 as digitized by the A/D converter 1100 is (1000)....) 2 , i.e., 0 V, and the count value k of the n-ary counting means 61 is (00) 2 , and that the phase angles of the detection signals 100 and 200 vary at a constant rate. In this case, as indicated by symbol B in Fig. 13, the output of the A/D converter 1100, i.e., the input B of the comparing circuit 1200 increases with an approximately constant slope in a phase section of 2π/M. The comparing circuit 1200 compares the input B with the input A, i.e., the output of the n-ary counting means 61 in synchronism with the timing signal 1310 that is supplied from the pulse generating circuit 1300. At the first timing, since A < B, a pulse P + is produced and the count value of the n-ary counting means 61 changes from (00) 2 to (01) 2 . At the second timing, since A > B, a pulse P - is produced and the count value of the n-ary counting means 61 changes from (01) 2 to (00) 2 . In this manner, the comparing circuit 1200 outputs a pulse P + or P - based on the result of comparison between the output values of the A/D converter 1100 and the n-ary counting means 61. At the 20th, 22nd or 24th timing, the count value of the n-ary counting means 61 changes from (11) 2 to (00) 2 . At this time, the n-ary counting means 61 produces a carry pulse 50, so that the count value of the M-ary counting means 70 changes from j to j+1. At the 21st or 23rd timing, the count value of the n-ary counting means 61 changes from (00) 2 to (11) 2 . At this time, the n-ary counting means 61 produces a borrow pulse 51, so that the count value of the M-ary counting means 70 changes from j to j-1. If the damper circuit of Fig. 12 is added as described above, alternately-output pulses P + and P - do not take effect. That is, a count-up or count-down pulse is output only when pulses P + or P - are produced consecutively as at the 7th and 8th timings. It is understood that one period obtained by the M-division is further divided into 4 parts. In this embodiment, n is assumed to be 4, and therefore the n-ary counting means 61 is implemented as a 2-bit binary reversible counter. Further, the 2 x bit of the A input bits of the comparator 1210 is always set "true" (has a value "1") and the output of the n-ary counting means 61 is supplied to the 2 x-1 and 2 x-2 bit terminals. The above embodiment can easily accommodate a case where n is larger than 4 by changing the connection for the input A of the comparator 1210 as long as n is a certain power of 2. A description will now be made of why the reference signal is obtained by performing a computation on the input signals, i.e., detection signals Vsin and Vcos. It may be conceived to simply use a constant voltage generator or the like instead of the reference signal ΔS j , which is approximately constant theoretically as shown in part (e) of Fig. 5. However, the amplitude V of the detection signals Vsin and Vcos that are output from the detector may vary due to a temperature variation or a variation in performance of the operational amplifiers. If the reference signal for comparison with the judgment signal S x is so generated as to vary in proportion to the amplitude V of the signals S j and S j-1 as in the case of ΔS j in the above embodiment, the influence on the interpolation pitch error can greatly be reduced, which enables provision of an interpolation pulse generating device having high accuracy and resolution. As described above, according to the invention, the interpolation is performed in two stages, i.e., M-division and n-division, and it is utilized that a sine wave can be regarded as approximately straight in the vicinity of a phase 0°. Therefore, a simple, less expensive interpolation pulse generating device that operates at high speed and has high accuracy and resolution can be provided by using a smaller number of high-accuracy resistors and switching circuits of two stages (M and n).

Claims: An interpolation pulse generating device that receives detection signals of a plurality of phases which signals are produced in accordance with a displacement of relative movement between corresponding members, and generates a count pulse for each predetermined phase-angle pitch that is smaller than one period of the detection signals, comprising: selecting means (300) for generating signals S j and S j-1 that deviate from each other by a phase value of 2π/M by combining the plurality of detection signals, where M is a fixed integer; difference signal generating means (500) for generating a reference signal ΔS that represents a difference between the signals S j and S j-1 ; and comparing means (800,900) for generating an up-pulse or a down-pulse every time the signal S j or S j-1 varies by ΔS/n where n is a fixed integer in a phase section of 2π/M in which one of the signals S j and S j-1 has positive values and the other has negative values. The interpolation pulse generating device according to claim 1, wherein the selecting means (300) receives two sinusoidal detection signals that have the same amplitude, the same spatial period, and a predetermined spatial phase difference and that vary symmetrically with respect to a zero level, and wherein the selecting means selects signals S j and S j-1 where an integer J = 1,2 ..., M, from M sinusoidal signals S 1 -S M which deviate from each other at predetermined intervals, by combining the two sinusoidal detection signals. The interpolation pulse generating device according to claim 1 or claim 2, further comprising: n-ary counting means (60) for outputting a first count value and a carry or borrow pulse by counting the up-pulse and the down-pulse, the first count value being used to control the comparing means; and M-ary counting means (70) for outputting a second count value by counting the carry pulse and the borrow pulse, the second count value being used to control the selecting means. An interpolation pulse generating device according to any of the preceding claims wherein the difference signal generating means (500) generates a difference signal ΔS j /n according to ΔS j /n = (S j-1 - S j )/n where n is a fixed integer. An interpolation pulse generating device according to any of the preceding claims, wherein the device further comprises kΔS j /n generating means (600) for generating a signal kΔS j /n where k is an integer; judgment signal generating means (700) for generating, based on the sinusoidal detection signal S j-1 and the signal kΔS j /n, a judgement signal S x according to S x = {kS j + (n - k)S j-1 }/n; and wherein the comparing means comprises first comparing means (800) for outputting a down-pulse P - if the judgement signal S x is smaller than 0; and second comparing means (900) for outputting an up-pulse P + if the judgement signal S x is larger than ΔS j /n. An interpolation pulse generating device according to any of claims 1 to 4, wherein the device further comprises: kΔS j /n generating means (600) for generating a signal kΔS j /n where k is an integer; judgement signal generating means (700) for generating, based on the sinusoidal detection signal S j-1 and the signal kΔS j /n, a judgement signal S x according to S x = {kS j + (n - k)S j-1 }/n; and wherein the comparing means comprises first comparing means (800) for outputting a down-pulse P - if the judgement signal S x is smaller than -ΔS j /n; and second comparing means (900) for outputting an up-pulse P + if the judgement signal S x is larger than 0. The interpolation pulse generating device according to claim 5 or claim 6, when dependent on at least claim 3, wherein the n-ary counting means (60) is adapted for decrementing the integer k by 1 when receiving the down-pulse P - and, in the event that a decremented result is equal to 0, substituting n into k and outputting a borrow pulse, and for incrementing the integer k by 1 when receiving the up-pulse P + and, in the event that an incremented result is equal to n + 1, substituting 1 into k and outputting a carry pulse, a signal indicating the integer k being supplied to the kΔS j /n generating means; and wherein the M-ary counting means (70) is adapted for decrementing the integer j by 1 when receiving the borrow pulse and, in the event that a decremented result is equal to 0, substituting M into j, and for incrementing the integer j by 1 when receiving the carry pulse and, in the event that an incremented result is equal to M + 1, substituting 1 into j, a signal indicating the integer j being supplied to the selecting means. An interpolation pulse generating device that receives detection signals of a plurality of phases which signals are produced in accordance with a displacement of relative movement between corresponding members, and generates a count pulse for each predetermined phase-angle pitch that is smaller than one period of the detection signals, comprising: selecting means (300) for receiving two sinusoidal detection signals that have the same amplitude, the same spatial period, and a predetermined spatial phase difference and that vary symmetrically with respect to a zero level, and for selecting, from M sinusoidal signals S 1 -S m deviating from each other at predetermined intervals, two adjacent sinusoidal signals S j and S j-1 where an integer j = 1,2, ..., M, by combining the two sinusoidal detection signals; difference signal generating means (520) for generating a difference signal Δ sj according to Δ sj = S j-1 - S j and an inverted difference signal -Δ sj ; A/D-converting means (1100) for A/D-converting the sinusoidal signal S j-1 using the signals ΔS j and -ΔS j as references; and, comparing means (1200) for comparing an output A of an n-ary counting means and an output B of the A/D converting means, and for outputting an up-pulse P + if the output A is smaller than or equal to the output B, and outputting a down-pulse P - if the output A is larger than the output B; the n-ary counting means (61) for decrementing the integer k by 1 when receiving the down-pulse P - and, in the event that a decremented result is smaller than 0, substituting n - 1 into k and outputting a borrow pulse, and for incrementing the integer k by 1 when receiving the up-pulse P + and, in the event that an incremented result is equal to n, substituting 0 into k and outputting a carry pulse, a signal indicating the integer k being supplied to the comparing means as the output A; and M-ary counting means (70) for decrementing the integer j by 1 when receiving the borrow pulse and, in the event that a decremented result is equal to 0, substituting M into j, and for incrementing the integer j by 1 when receiving the carry pulse and, in the event that an incremented result is equal to M + 1, substituting 1 into j, a signal indicating the integer j being supplied to the selecting means. The interpolation pulse generating device according to claim 8, further comprising a damper circuit for generating a count-up pulse only when the up-pulse P + is generated consecutively, and a count-down pulse only when the down-pulse P - is generated consecutively, the count-up pulse and the count-down pulse being supplied to the comparing means instead of the up-pulse P + and the down-pulse P - , respectively.

Inventors: OKAMOTO KIYOKAZU, TERAGUCHI MIKIYA, OKAMOTO, KIYOKAZU, TERAGUCHI, MIKIYA, Okamoto, Kiyokazu, c/o Mitutoyo Corp., Teraguchi, Mikiya, c/o Mitutoyo Corp.
Applicants: MITUTOYO CORP, MITUTOYO CORPORATION
Application year: 1995
Main classification: G01B7
IPC codes: G01D5, H03M1, G06F17