In a laser printer, methods and apparatus include commutating a brushless
dc motor having three windings. A controller receives discrete motor
position signals, such as from hall-effect or FG sensors, and
extrapolates motor position between the signals. It commutates the motor
based on the extrapolated motor position and updates motor position
whenever an actual discrete signal is received. Drive signals from the
controller to the motor are such that a current flowing in any of the
three windings follows a generally sinusoidal waveform. High and low
switches are provided per each winding of the three windings and are
cumulatively switched according to an extrapolated motor position based
multiplier applied to a pulse width modulation duty cycle. In this
regard, lookup tables, counters, registers and the like are provided. An
engine card of the printer includes an ASIC with a power driver for use
with generally off-the-shelf brushless dc motors.