Polyphase DC motors are used in applications, such as disk drives of personal computers, where a high accuracy in position and speed control is required. Such motors are controlled by phase commutation, i.e. by switching off the current on one phase while switching on the current on another phase.
A schematic diagram of a typical DC motor system of this kind is shown in FIG. 1. The system includes a DC motor 12 having a permanent magnet rotor 14 and a stator 16 with three phases 26a, 26b, 26c. A commutator 20 controls the timing and the sequencing of excitation of the three phases in a manner known in the art. Rotor position detectors 103, such as Hall sensors, optical encoders or sensors of back electromotive force, are used for determining commutation instances. A driver 22 controlled by the commutator 20 and connected to a voltage supply 24 provides current flow to the phases. The phase commutation produces electrical transients due to the inductance of the motor coils. Therefore, torque ripples and other undesirable nonlinearities are generated, which result in acoustical noise produced by the motor, motor wear and electromagnetic interference. To ensure a uniform and noise-free operation the driver must be designed to accurately control the turn-on and turn-off slew-rate at the motor coils during commutation.
A known technique to reduce the electric transients from commutation and thus reduce torque ripple and electromagnetic interference is disclosed in U.S. Pat. No. 5,191,269 assigned to SGS-THOMSON Microelectronics, Inc. In this technique, a current integrator is used to control the gates of field-effect drive transistors in such a manner as to reduce the slew-rate at a stator coil when the drive transistor for that coil is turned off.
An application of such technique is shown schematically in FIG. 2. Three half-bridge driver circuits 30a, 30b, 30c drive corresponding coils 26a, 26b, 26C of a three-phase DC motor connected in the Y configuration. Only one driver circuit is shown in some detail, the other two driver circuits being identical to it. In this example, driver circuit 30a has an output stage which comprises two power n-channel MOS field-effect transistors M1 and M2 connected as shown between the positive and negative terminals, V.sub.M and ground, of a power supply. The transistor connected directly to the positive supply terminal, as is M1, is usually referred to as the "high-side driver" and the other transistor, connected directly to the negative supply terminal, as is M2, is usually referred to as the "low-side driver". The source of M1 and the drain of M2 are connected together at a node OUT which is the output terminal of the driver circuit 30a and is connected to stator coil 26a. Each transistor M1, M2 has a diode D1, D2 connected between source and drain in the direction of reverse conduction relative to the supply terminals. Typically, transistors M1 and M2 are formed on a common semiconductor substrate and diodes D1 and D2 are intrinsic diodes. If transistors are used which have no intrinsic diodes, corresponding separate diodes should be provided to implement the current recirculation function, as known to any person skilled in the art. Two operational transconductance amplifiers A1, A2 have their outputs connected to a respective gate terminal of transistors M1, M2. The non-inverting input of amplifier A1 and the inverting input of amplifier A2 are connected to ground. The inverting input of amplifier A1 is connectable to a constant current generator G.sub.SLEW through a first electronic switch S1 and the non-inverting input of amplifier A2 is connectable to the current generator G.sub.SLEW through a second electronic switch S2. The inverting input of A1 and the non-inverting input of A2 are connected to the output node OUT of the output stage 30a through a respective capacitor C1 and C2. A sequencer 31 generates switching signals s1, s2 for opening and closing electronic switches S1 and S2, as well as switching signals s3, s4 and s5, s6 for opening and closing corresponding switches in the driver circuits 30b, 30c, according to a predetermined timing. The sequencer 31 and the electronic switches together form a commutator as shown at 20 on FIG. 1.
In operation, a current integrating function is provided to reduce voltage transients at node OUT during commutation. These transients are due to the inability to instantaneously change the current through an inductor, such as through stator coils 26a, 26b, 26c. The current integrating function is implemented by current generator G.sub.SLEW and by capacitor C1 or C2 when the corresponding switch S1 or S2 is turned on, with the effect of limiting the voltage slew-rate at output node OUT when transistors M1 and M2 are alternatively turned off and on.
When the motor current is controlled in the Pulse Width Modulation (PWM) mode, the commutation timing is affected by an appropriate signal as represented at input PWM to sequencer 31 in FIG. 2. Typically, only the high side drivers (M1 in FIG. 2) are pulse width modulated while the low side drivers (M2 in FIG. 2) are fully switched on or off according to their commutation sequence timing. In this operating mode a problem arises when the voltage at the output node OUT turns from "low" to "high" with outgoing motor current, as shown by an arrow I.sub.Mout in FIG. 2, or from "high" to "low" with incoming motor current, as shown by an arrow I.sub.min in in FIG. 2. In this condition a voltage spike appears at the output node which causes perturbances in the supply rails and electromagnetic interference.
To better explain this malfunction reference is made to FIG. 3 where a portion of the arrangement of FIG. 2 is represented in a particular operating condition. More particularly, the situation is considered when switch S1 is turned on and a transition from "low" to "high" must be initiated to cause the motor current to flow from the output node OUT, as shown by arrow I.sub.Mout. It is important to consider the operating phases which are immediatly preceding this situation. When transistor M1 is on and transistor M2 is off, the inductance of coil 26a is charged. Transistor M1 is then switched off while transistor M2 is still off: this causes output node OUT to go to a voltage lower than ground, which in turn results in diode D2 to be forward biased and the coil inductance to begin to discharge through the diode. Transistor M2 is then turned on while transistor M1 is off: the coil inductance is now discharged through the conducting transistor M2 more efficiently than through the diode (in fact the power dissipated through M2 is Ron.times.I.sup.2, where Ron is the resistance of transistor M2 in conduction, and is lower than V.sub.Dfwd.times.I, where V.sub.Dfwd is the voltage across diode D2 in forward conduction). Next, transistor M2 is turned off while transistor M1 is still off. This is the starting condition considered above when the voltage at node OUT should turn from "low" to "high". It should be noted that in this condition a charge is stored into a parasitic capacitor C.sub.D2 associated to the diode D2.
When transistor M1 starts conducting, current flows not only to the coil 26a but also to the capacitor C.sub.D2 which was charged during the previous current flow from the coil inductance to a negative voltage with respect to ground. As soon as capacitor CD.sub.2 is completely discharged, the output node OUT is subjected to a rapid positive voltage transient before the feedback loop comprising capacitor C1 starts a slew-rate control.
FIGS. 4a and 4b show plots shows a plot of the voltage V.sub.OUT at output node OUT as a function of time in two different operating conditions: FIG. 4a) in a low-current condition and FIG. 4b) in a high-current condition. The time interval from t.sub.o to t.sub.1 corresponds to the phase of charging of capacitor C.sub.D2 and the time t.sub.2 corresponds to the start of a slew-rate control. The voltage transient starting at t.sub.1 can be high enough to cause severe disturbances as mentioned above. The above explanations apply also when the voltage at the output node OUT turns from "high" to "low" with incoming motor current I.sub.Min. In this case, however, transistor M2 is involved in controlling the output current, the capacitor to be discharged is the parasitic capacitor C.sub.D1 associated with diode Di and the voltage spike is negative.