Is it possible to drive a stepper motor greater than 1000 rpm?
How can I drive a stepper motor greater than 1000 rpm?
A 200 step per revolution motor, running at 1,000 RPM must have a stepper drive capable of doing full steps at 3.4kHz, which is well within the range of most motor drive circuits.
However, keep in mind that if you start out the motor at 3.4kHz, it will merely vibrate due to inertia - you don't start a car at 60 miles per hour, you start at 0 and ramp up to 60 MPH, otherwise you just spin your tires.
So you have to design your circuit to ramp the frequency up from 0 to 3.4kHz slowly enough that the motor can keep up. This means you'll also have to take into account the whole drive train - stepper motor, gears, belts, and anything else the stepper motor is moving. This may be a large platform if you're doing CNC, and the inertia may require a very slow ramp up to avoid skipping steps.
Lastly, if the motor isn't powerful enough to move the load at 1,000RPM, then you'll need a more powerful stepper motor. Torque falls as speed increases due to internal motor losses.
What are the stepper motor facts and principless that I have to keep in mind to design a circuit to achive this goal?
Gecko has a decent basic introduction to stepper motors. Power supply design, matching the drive with the motor so you don't lose too much power in mismatch problems, etc are covered in very basic terms there. Once you understand the basics, ask more detailed questions for specific answers.
Are there any readymade/open source alternatives and circuits available to achieve this task?
If you are running a low power design, the RepRap project has some reasonable stepper motor drivers. Alternately, a simple google search gives a lot of open source stepper driver information.
Since you don't provide any more detail as to what you're driving, and what motor you're using, I can't suggest anything specific.
Do I have to approach design for geared and non-geared stepper motors?
Not in terms of driver design - the only difference is that a gear train adds more mass to the drive line, requiring a slower ramp-up time.
However, the larger the gear train, the more backlash you might experience, so there's a lot more to the mechanical design if you require speed and accuracy.
But the stepper driver design is the same in either case.
If you want more speed and/or power, you should consider looking at CNC servo motors rather than steppers.
If you're trying to drive a stepper motor at high speed, you should really use a constant-current driver circuit, since the voltage required to operate at high speeds will be much greater than that required at low speeds, and since driving enough voltage for high-speed operation into a stalled motor would quickly destroy it if the current weren't limited. If a current-limited supply is used, the motor should continue to supply the expected torque until it's running fast enough that the compliance voltage of the supply is reached.