Servo UCF Entry Question

Recommended Posts

This is the constraint for the PWM out to position the servo, the servo is being powered by an external 5v source. I'm sure 8ma is enough to drive the position input of the servo, my concern was the voltage levels and if I will need to define all the I/Os with this level since I recall something about banks having to use the same or something along those lines.

I have seen servos driven by 3.3v AVRs but remember reading that 2.5v devices need level conversion. Maybe I'll try with the stock 2.5v levels and see if it still responds correctly. I attempted this early on but saw a lot of jitter which I thought was due to the signal voltage being too low but later resolved by adding the external power supply for the servos.

Link to comment
Share on other sites


I think for the Spartan 3E the default IOSTANDARD is LVCMOS33 and for the Spartan 6 the default IOSTANDARD is LVTTL, both of which work fine if the Papilio One has the VCCO jumper on the 3.3V setting. I think for the LVCMOS25 setting to work properly you would have to change the VCCO jumper to 2.5V.

If you want your project to work with Spartan 6 and Spartan 3E without having to change the ucf then I would take the IOSTANDARD setting out and let it use the chips default setting. The default setting works fine for the Papilio One and Papilio Plus when the VCCO jumper is set to 3.3V.


Link to comment
Share on other sites

The IO standard is more inportant for input than for output, i.e., a LVTTL (3.3v) and LVCMOS33 will be the same for output, but they will have different "thresholds" for input.

In case you need to drive a 5V rail, consider using a transistor (a simple BC548/2N2222 will do), and invert the output of FPGA (comes at no cost, if you're using a flip-flop).

For 2.5V, a simple voltage divider might do it, in case you need to keep 3.3V on the IO.

What is the required input of your servo ? TTL or CMOS ?


Link to comment
Share on other sites


This topic is now archived and is closed to further replies.