Wicked Minds Electronics Posted June 24, 2012 Report Share Posted June 24, 2012 NET "ServoY" LOC = "P58" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ; This works... anything wrong with it or suggested changes? Link to comment Share on other sites More sharing options...
alvieboy Posted June 25, 2012 Report Share Posted June 25, 2012 It's hard to give you advice without more context. 8mA is enough for your servo ? Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 25, 2012 Author Report Share Posted June 25, 2012 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 More sharing options...
Jack Gassett Posted June 25, 2012 Report Share Posted June 25, 2012 Wicked, 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. Jack. Link to comment Share on other sites More sharing options...
alvieboy Posted June 25, 2012 Report Share Posted June 25, 2012 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 ? Álvaro Link to comment Share on other sites More sharing options...
Wicked Minds Electronics Posted June 26, 2012 Author Report Share Posted June 26, 2012 Just a quick update, I went back to the stock Papilio UCF settings and the servo works great with no level conversion The jitter I was seeing when I attempted this before is no longer present since I am now using a separate 5v supply for the servos. Thanks for the great info on how those settings work Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.