A method for controlling a polyphase DC motor by controlling current conducted by a plurality of coils of the motor, each coil connected on one end to an associated first drive transistor and an associated second drive transistor, each first drive transistor connected between its associated coil and a first voltage, and each second drive transistor connected between its associated coil and a second voltage, comprising the steps of:
- commutating the first drive transistors and the second drive transistors in a bipolar mode so that current flows between the first and second voltages through one of the first drive transistors and its associated coil and one of the second drive transistors and its associated coil;
- enabling a unipolar mode by biasing a center tap of the motor to a voltage corresponding to the first voltage;
- in the unipolar mode, turning off each of the first drive transistors and biasing a body node of each of the first drive transistors to a reference voltage;
- commutating the second drive transistors in the unipolar mode so that current flows from the center tap through one of the plurality of coils and its associated second drive transistor;
- and
- in the unipolar mode, connecting the body node of one of the first drive transistors to its source at a time corresponding to the commutating of its associated second drive transistor.