Abstract:
A control circuit comprises a first counter for counting up stepping pulses and counting down the number of steps of a stepping motor, a memory for storing therein a drive timing of the stepping motor, a variable timer for converting a data in the memory to a real time, a second counter for counting up an output signal of the variable timer when a count of the second counter is smaller than a count of the first counter and counting down the output signal of the variable timer when the count of the second counter is equal to or larger than the count of the first counter, and a drive circuit for driving the stepping motor in accordance with the output signal of the variable timer. 
     Signals to set the first counter in the count-up mode and the count-down mode are synchronized with two clock signals having the same frequency and different phases. The control circuit drives the stepping motor immediately after the control pulse signal was applied to accelerate or decelerate the stepping motor so that a velocity pattern of the stepping motor is controlled in a pedestal pattern.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a control circuit for a stepping motor for positioning a transducer used in a magnetic disk unit or an optical disk unit, and more particularly to a control circuit for a stepping motor which enables positioning of a transducer in a short time. 
     A stepping motor has been widely used in a magnetic disk unit or an optical disk unit as a relatively inexpensive positioning mechanism. As drive method for the stepping motor, a constant velocity control method and a pedestal type velocity control method have been known by such as Japanese Patent Application Laid-Open No. 55-136896.  Those drive methods are explained with reference to FIG. 1. 
     In the constant velocity control method, a control pulse signal having a substantially constant pulse interval T C  is supplied to the control circuit for the stepping motor from a high level controller so that a stepping pulse P C  shown in FIG. 1(a) is supplied to the stepping motor. As a result, the stepping motor is rotated at a substantially constant speed W C  from time t o  to time t e  as shown by a line a&#39; in FIG. 1. At time t s , a transducer driven by the stepping motor is positioned at a desired position. If the interval T C  of the stepping pulse is sufficiently large, the stepping motor is intermittently driven. 
     In the pedestal type velocity control method, a plurality of control pulse signals are successively supplied to the stepping motor control circuit from the higher level controller during time period T B . The stepping motor control circuit accelerates the stepping motor in accordance with the number of applied control pulse signals from time t 1  to time t 2  as shown by b&#39; in FIG. 1, rotates the stepping motor at a maximum speed W T  from time t 2  to time t 3  and decelerates the stepping motor after time t 3 . Since the rotating speed W T  is sufficiently higher than the rotating speed W C , the transducer driven by the stepping motor is positioned to the desired position at time t 4  which is earlier than time t s . A data for producing the stepping pulses to be supplied to the stepping motor to perform the pedestal type velocity control is usually stored in a read-only memory (ROM). 
     In the prior art control circuit for the stepping motor, one of the above two velocity control methods has been used. 
     Referring to FIG. 2, the prior art control method for the stepping motor is explained. In a step S 1 , a count of a pulse counter of the control circuit is set to an initial count N=1. In a step S 2 , the control circuit checks if the control pulse has been supplied. If it has not been supplied, the step S 2  is again repeated. If the control pulse signal is supplied to the control circuit, a time interval T I  between the applied control pulse and the next input pulse is measured in a step S 3 . If the time interval T I  is T I  ≧X (where X is a predetermined time period), that is, if the next control pulse signal is not applied within the time period X, the stepping motor is driven by one step in a step S 4 . In a step S 5 , the count N of the counter is set to N-1. In a step S 6 , the count N of the counter is checked. If N=0, the process returns to the step S 1 . Through the steps S 1 , S 2 , S 3 , S 4 , S 5  and S 6 , the constant velocity control method is performed. By repeating the steps S 1  to S 6 , the constant velocity control is attained. In the step S 3 , if the time interval T I  of the input control pulse signal is T I  &lt;X, the count N of the counter is set to N+1 in a step S 7 . While the control pulse signals having the time interval T I  (T I  &lt;X) are applied to the steps S 2 , S 3  and S 7 , the count N of the counter is incremented by &#34;1&#34; each time. In the step S 3 , if the next pulse is not supplied within the time period X, the stepping motor is driven by one step in the step S 4 . In the step S 5 , the count N of the counter is decremented by one, and in the step S 6 , the count N of the counter is checked. If N≠0, stepping pulses for the pedestal type velocity control are generated in steps S 8  and S 9 . In the step S 8 , a time interval T(N) of the stepping pulses to be supplied to the stepping motor is read out of the read-only memory (ROM) in accordance with the count N of the counter. In the step S 9 , the stepping pulses having the pulse interval T(N) are produced based on the data read in the step S 8 . Then, the process returns to the step S 4  in which the stepping pulses are supplied to the stepping motor. The steps S 4 , S 5 , S 6 , S 8  and S 9  are repeated until the count N of the counter reaches zero. The pedestal type velocity control is attained by the steps S 1 , S 2 , S 3 , S 7 , . . . , S 2 , S 3 , S 7 , . . . , S 4 , S 5 , S 6 , S 8 , S 9 , . . . , S 4 , S 5 , S 6 , S 8 , S 9 , . . . , S 4 , S 5 , S 6 . The time interval T(N) of the stepping pulses is a function of N. When the count N is larger than a first predetermined value P 1 , the pulse interval T(N) gradually decreases, when the count N is between the first value P 1  and a second value P 2 , the pulse interval T(N) is constant, and when the count N is smaller than the second value P 2 , the pulse interval T(N) gradually increases. By the change of the pulse interval T(N), the pedestal type velocity control is attained. 
     As described above in the prior art pedestal type velocity control method for the stepping motor, the drive of the stepping motor is started after the reception of all control pulse signals sent from the higher level controller to the control circuit. Therefore, a long time is required to position the transducer. This time increases as the number of control pulse signals or the number of stepping pulses increases. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a control circuit for a stepping motor which can quickly start the stepping motor and position a transducer in a short time, and more particularly a control circuit which can position the transducer in a short time even in a pedestal type velocity control. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a velocity control pattern of a stepping motor, 
     FIG. 2 is a flow chart showing a control procedure of a stepping motor in a prior art control circuit, 
     FIG. 3 is a block diagram of a control circuit of the present invention, 
     FIG. 4 is a timing chart for signals in the control circuit of the present invention, 
     FIG. 5 shows data and their addresses stored in a ROM of the control circuit of the present invention, 
     FIGS. 6, 8 and 9 show velocity control patterns of the control circuit of the present invention, and 
     FIG. 7 is a flow chart showing a control procedure of a stepping motor in the control circuit of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     One embodiment of the present invention is explained with reference to FIGS. 3 and 4. Symbols a-m on signal lines in FIG. 3 correspond to symbols (a)-(m) in FIG. 4, respectively. 
     A control pulse signal (c) supplied from a higher level controller (not shown) is applied to a terminal 1. An oscillator 2 generates two clock signals ACLK (a) and BCLK (b) which are of the same frequency and have a phase difference of π/2 (radian) from each other. The control pulse signal (c) applied to the terminal 1 and the clock signal (a) are supplied to a D flip-flop (delayed flip-flop) 3 in which the control pulse signal (c) is synchronized with the clock signal (a), and a synchronized control pulse signal (d) from the D flip-flop 3 is supplied to a monostable multivibrator 4 which is a wave shaper and generates a count-up signal (e) at a negative-going edge of the synchronized control pulse signal. The signal (e) is supplied to a first counter 5 which is an up/down counter and counts up when the signal is applied to its U-terminal and counts down when the signal is applied to its D-terminal. The up/down counter 5 generates an output signal when a count A thereof is 0. The count of the counter 5 is supplied to a comparator 6 to which a count B of a second counter 7 is also applied. The comparator 6 compares the count A of the counter 5 with the count B of the counter 7 and generates a signal (k) which is of high level (e.g., 1) when the count A of the counter 5 is larger than the count B of the counter 7 and of low level (e.g., 0) when the count A of the counter 5 is no larger than the count B of the counter 7. The signal (k) is supplied to an U/D terminal of the counter 7, which counts up signals applied to a CK terminal when the signal applied to the U/D terminal is high level and counts down signals applied to the CK terminal when the signal applied to the U/D terminal is low level. When the count of the counter 7 reaches a predetermined count, it is held at that count or a maximum count. The counter 7 is reset by an output signal from a Min terminal of the counter 5. The count of the counter 7 is supplied to a ROM 8 in which data are stored at addresses corresponding to the counts of the counter 7. A data stored at the address corresponding to the count of the counter 7 is read out of the ROM 8. When the count of the counter 7 is small, a data of a large value is read from the ROM 8, and when the count of the counter 7 is large, a data of a small value is read from the ROM 8. The data is supplied to a timer 9 to which the clock signal (b) from the oscillator 2 is also supplied. The frequency of the clock signal (b) is same as that of the clock signal (a) and the phase of the clock signal (b) is different from that of the clock signal (a) by π/2. The timer 9 counts the clock signals (b) in accordance with the data supplied fromm the ROM 8, and produces an output signal (l) when the count thereof reaches the data value. Accordingly, a time interval of the output signals (l) of the timer 9 changes with the data supplied from the ROM 8. The output signal (l) from the timer 9 is supplied to a driver 10 in which the output signal (l) is power-amplified, and the output signal from the driver 10 is supplied to a stepping motor 11 which is driven by the power-amplified output signal (l). The output signal (l) of the timer 9 is also applied to an inverter 13 which phase-inverts the signal (l) to produce a signal (f), which is supplied to the counter 5, the counter 7 and an OR gate 12. The count of the counter 5 is decremented by one by the signal (f). The count of the counter 7 is incremented by one or decremented by one by the signal (f). The selection of the incrementation or the decrementation in the counter 7 is determined by the state of the signal (k). The output signal from the Min terminal of the counter 5 is supplied to the OR gate 12, and an output signal (h) of the OR gate 12 is supplied to the timer 9 to reset the timer 9. The timer 9 is reset when the count of the counter 5 is 0 or when the timer 9 generates the output signal (l). 
     The function of the circuit is next explained under the condition that the count of the counter 5 is 0 and the counter 7 and the timer 9 are in the reset state, the control pulse signal (c) is applied to the terminal 1 at time t 0 . The control pulse signal (c) is synchronized with the clock signal (a) by the D flip-flop 3 at times t 11 , t 12 , t 14 , t 15 , t 18 , t 19  and t 21  to produce the signal (d), which is supplied to the multivibrator 4. The multivibrator 4 generates the count-up signals at times t 11 , t 12 , t 14 , t 15 , t 16 , t 18 , t 19  and t 21 , which are supplied to the counter 5. When the counter 5 counts the signal (e) at time t 11 , the output signal at the Min terminal of the counter 5 extinguishes and the resetting of the counter 7 and the timer 9 is released. At time t 11 , the count of the counter 5 reaches &#34;1&#34; and at time t 12 , it reaches &#34;2&#34;. Since the count of the counter 5 is &#34;1&#34; and the count of the counter 7 is &#34;0&#34; at time t 11 , the output signal (k) of the comparator 6 is high level at time t 11 . As a result, the counter 7 operates in the count-up mode. When the resetting of the timer 9 is released at time t 11 , the timer 9 starts to count the clock signal (b). When the count of the counter 7 is &#34;0&#34;, the data &#34;1&#34; stored at the address &#34;0&#34; of the ROM 8 is read and it is supplied to the timer 9. FIG. 5 shows a relation between the data and the addresses stored in the ROM 8. If the data supplied to the timer 9 is &#34;1&#34;, the timer 9 generates the output signal (l) at time t 13  after it has counted one clock signal (b). The output signal (l) is supplied to the stepping motor 11 through the driver 10 so that the stepping motor 11 is rotated by one step. The output signal (l) of the timer 9 is supplied to the inverter 13 which produces the signal (f), which in turn is supplied to the counter 7, the counter 5 and the OR gate 12. The count of the counter 7 reaches &#34;1&#34; at time t 13 . The count of the counter 5 is decremented by one by the signal (f) and reaches &#34;1&#34; at time t 13 . The signal (f) supplied to the OR gate 12 becomes the signal (h) by which the timer 9 is reset. When the count of the counter 7 reaches &#34;1&#34;, the data &#34;3&#34; stored at the address &#34;1&#34; of the ROM 8 is supplied to the timer 9 after time t 13 . The timer 9 resumes to count the clock signal (b). At time t 13 , the count of the counter 5 is equal to the count of the counter 7. Accordingly, the output signal (k) of the comparator 6 is low level. When the count-up signal (e) is supplied to the counter 5 at times t 14 , t 15  and t 16 , the count of the counter 5 assumes 2 at time t 14 , &#34;3&#34; at time t 15  and &#34;4&#34; at time t 16 . The output signal (k) of the comparator 6 is again high level at time t 14 . As the timer 9 counts three clock signals (b), the timer 9 again produces the output signal (l) at time t 17 . As a result, the count of the counter 5 is decremented by one at time t 17  and the count of the counter 7 is incremented by one to &#34;2&#34; and the timer 9 is again reset. The data &#34;2&#34; corresponding to the count &#34;2&#34; of the counter 7 is supplied from the ROM 8 to the timer 9. At time t 17 , the stepping motor 11 makes a second step. When the count-up signal (e) is supplied to the counter 5 at times t 18  and t 19 , the count of the counter 5 is incremented and at time t 19  the count reaches &#34;5&#34;. When the output signal (l) is again produced by the timer 9 at time t 20 , the count of the counter 5 reaches &#34;4&#34;, the count of the counter 7 reaches &#34;3&#34; and the timer 9 is reset. The data &#34;1&#34; stored at the address &#34;3&#34; of the ROM 8 is supplied to the timer 9. When the count-up signal (e) is supplied to the counter 5 at time t 21 , the count of the counter 5 again reaches &#34;5&#34;. When the timer 9 produces the output signal (l) at time t 22 , the count of the counter 5 again reaches &#34;4&#34; and the timer 9 is reset. A maximum count of the counter 7 is predetermined. In the present embodiment, the maximum count is &#34;3&#34;. Accordingly, where the output signal (l) is supplied to the counter 7 at time t 22 , the count of the counter 7 is held at &#34;3&#34;. When the timer 9 produces the output signal (l) at time t 23 , the count of the counter 5 reaches &#34;3&#34; and the timer 9 is reset. The count of the counter 7 is held at &#34;3&#34; at time t 23 . As a result, the output signal (k) of the comparator 6 is low level. When the timer 9 produces the output signal (l) at time t 24 , the counter 7 counts down as the counter 5 does and their counts reach &#34;2&#34;. A similar operation occurs at times t 25  and t 26 . As the count of the counter 5 reaches &#34;0&#34; at time t 26 , the output signal continuously appears at the Min terminal and the timer 9 is reset. At time t 24 , the data &#34;2&#34; at the address &#34;2&#34; of the ROM 8 is supplied to the timer 9, and at time t 25  the data &#34;1&#34; at the address &#34;2&#34; of the ROM 8 is supplied to the timer 9. At times t 13 , t 17 , t 20 , t 22 , t 23 , t 24 , t 25  and t 26 , the stepping motor 11 is driven by the driver 10 in accordance with the output signal (l) of the timer 9. A time interval T 2  between times t 17  and t 20  is shorter than a time interval T 1  between times t 13  and t 17 , and a time interval T 3  between times t 20  and t 26  is shorter than the time interval T 2 . A time interval between times t 22  and t 23  and a time interval between times t 23  and t 24  are equal to the time interval T 3 . A time interval between times t 24  and t 25  is equal to the time interval T 2  and a time interval between t 25  and t 26  is equal to the time interval T 1 . Accordingly, as shown by a line 20 in FIG. 6, the stepping motor 11 is accelerated between times t 13  and t 20 , and between times t 20  and t 24 , the stepping motor 11 is rotated at a constant speed as shown by a line 21, and the stepping motor is decelerated between times t 24  and t 26  as shown by a line 22. After time t 26 , the stepping motor 11 is stopped to rotate. 
     FIG. 7 shows a flow chart in the control circuit of the present invention. In a step S 10 , the count N of the counter 5, the counter M of the timer 9 and the count I of the counter 7 are set to the initial state &#34;0&#34;. In a step S 11 , the data T(I) to be supplied to the timer 9 from the ROM 8 is set in accordance with the count I=0 of the counter 7. In a step S 12 , the control pulse signal is applied to the terminal 1, and the counter 5 starts to count is a step S 13 . As the count of the counter 5 changes from &#34;0&#34;, the resetting of the counter 7 and the timer 9 is released in a step S 14 . In a step S 15 , the timer 9 starts to count the clock signals (b). In a step S 16 , if the count M of the counter 9 reaches or exceeds the data T(I) supplied from the ROM 8 to the timer 9, the timer 9 produces the output signal (l) in a step S 17  and the stepping motor 11 is rotated by one step. In a step S 18 , the counts of the counters 5 and 7 are compared by the comparator 6. In steps 19 and 20, if the count of the counter 7 is not equal to the maximum count, the count of the counter 7 is incremented by one. In a step S 21  , the count of the counter 5 is decremented by one. In a step S 22 , the timer 9 is reset. If the count of the counter 5 is no larger than the count of the counter 7, the count of the counter 7 is decremented by one in a step S 24 . In a step S 23 , the data T(I) corresponding to the count of the counter 7 is again supplied from the ROM 8 to the timer 9. Then, the steps S 12  to S 23  are repeated again. In the above explanation, the addresses and the data shown in FIG. 5 are diagramatically shown. 
     FIG. 8 shows a pattern of speed change of the stepping motor 11 when only four control pulse signals (c) are supplied after time t 10 . When the number of control pulse signals (c) is small, the rotating speed of the stepping motor 11 is accelerated and then decelerated before it reaches the maximum speed as shown by a line 23. 
     FIG. 9 shows a velocity pattern of the stepping motor 11 when ten control pulse signals (c) are applied after time t 10  and then four control pulse signals are further supplied after time T 30 . As shown by a line 24 in FIG. 9, the control circuit of the present invention again accelerates the stepping motor 11 after time t 30  by the control pulse signals (c) applied to the terminal 1. The prior art control circuit could not drive the stepping motor by the control pulse signals supplied after time t 30 . 
     The count-up signal (e) in the control circuit of the present invention is synchronized with the first clock signal (a), and the count-down signal (f) is synchronized with the second clock signal (b). The phase of the first clock signal (a) is different from that of the second clock signal (b) by π/2. Accordingly, it does not happen that the count-up signal (e) and the count-down signal (f) are simultaneously supplied to the counter 5. Accordingly, when the control pulse signal (c) is supplied to the terminal 1 at any time t 30 , the counter 5 can exactly count the pulse signal (c) and the stepping motor 11 is correctly controlled. 
     If the time interval between the control pulse signals (c) applied to the terminal 1 is longer than the time interval between the output signals (l) of the timer 9, the count of the counter 5 returns to &#34;0&#34; before the second control pulse signal (c) is supplied to the counter 5 so that the stepping motor 11 is not accelerated but intermittently driven by the output signals (l) in synchronism with the control pulse signals (c). 
     The phase difference between the clock signal (a) and the clock signal (b) of the oscillator 2 need not be π/2. 
     In the present embodiment, the acceleration pattern and the deceleration pattern of the stepping motor 11 are shown symmetrically. The acceleration pattern and the deceleration pattern may be changed by designing the circuit such that the addresses of the ROM 8 in the count-up mode of the counter 7 and the addresses of the ROM 8 in the count-down mode of the counter 7 are different. 
     As described hereinabove, according to the present invention, the stepping motor is driven immediately after the control pulse signal was supplied from the higher level controller. Accordingly, the time required to position the transducer is shortened. The stepping motor is correctly rotated in whatever state the control pulse signal is supplied.