• 0
Sign in to follow this  
Adriann

What is the maximum current the Spartan-3E Starter Board can drive on I/O pins ?

Question

      I have the board from Digilent Spartan 3E Starter Board and i want to know what is the maximum current can be driven from FPGA board to a load . My load will be a seven segment display and i don't know if i can supply my display with 5 -10 ma (on a single pin from the board ) without damage any parts of the FPGA board .

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 1
2 hours ago, xc6lx45 said:

For example, for a red LED assume a fixed voltage drop of 1.2 V. For 6 mA, use (3.3 - 1.2) / 0.006 V/A = 350 ohms.

This analysis is correct. What you should do depends on the display you are using. Get the datasheet for the display part that you are using and make sure that your design meets the specifications for voltage and current. Knowing is always better than guessing. You don't have to drive LEDs at maximum current to make them usable.

I like xcls45's idea of not using a decoder though I like your thought about having an external device supply the drive currents. There are a number of possibilities here ( like an 8-bit bus driver ) though this might be overly cautious and will certainly make breadboarding ( if that's what you're doing ) more time consuming. If you are driving one display that is one thing. If you want to drive 8 displays you may want to think about a way to use fewer FPGA pins.

Edited by zygot

Share this post


Link to post
Share on other sites
  • 1

@Adriann,

As I recall the minimum source/sink current for the Spartan 3 is 12ma ( it might be 6 ma ). But it it up to you to get the datasheet, look in the DC characteristics and verify this. Always take this advice even if someone offers and answer. As to how much current you can safely drive on multiple outputs the answer is more complicated. It depends on a lot of things like which bank they are on, how many IOs are switching simultaneously,  how well the FPGA is connected to a thermal sink, etc.

Again, whether or not you want to set the IO to maximum current requires some knowledge of the specification for your part and analysis.

Edited by zygot

Share this post


Link to post
Share on other sites
  • 1

They are very robust. Xilinx is a bit shy in telling numbers, but their posts indicate that they are short circuit proof.

https://forums.xilinx.com/t5/Virtex-Family-FPGAs/Effect-of-short-circuit-on-V6-outputs/m-p/227493#M13565

https://www.xilinx.com/support/answers/23277.html

I got the impression that reports of failed voltage regulators are more common than busted FPGAs (expect that blowing one pin kills the whole IO bank).

 

Share this post


Link to post
Share on other sites
  • 1

Remember to add current limiting resistors. The drive strength settings for the I/O pins are how much current can be sourced/sunk and still give valid logic voltages. 

Short circuit currents are much higher - 50mA or higher.

Share this post


Link to post
Share on other sites
  • 1
5 hours ago, xc6lx45 said:

They are very robust.

Even though this might be true what's important is the thermal considerations and hence substrate temperature. A large component of overall energy consumption of an FPGA is switching those IOs. Thermal issues cause voltage regulators to fail as well if heat can't be dissipated properly ( since you raise the topic ). There's no on-board temperature sensor for Spartan 3 devices. As a general rule I use an external driver for high current applications; they are certainly cheaper and easier to replace.

Having said all of this I suspect that driving a couple of seven segment displays using the minimum IO current won't be a problem for your board.

 

1 hour ago, hamster said:

Remember to add current limiting resistors

This might not be necessary... but it certainly is a good idea as a prophylactic practice, especially when used in a development/hobby environment and when placed close to the pins or balls using the smallest SMT package that can handle the current. Accidents and static discharge happen. Proper termination is also good practice.

Edited by zygot

Share this post


Link to post
Share on other sites
  • 1

Hi,

for LEDs, you MUST add resistors, otherwise they'll blow.
For example, for a red LED assume a fixed voltage drop of 1.2 V. For 6 mA, use (3.3 - 1.2) / 0.006 V/A = 350 ohms.

You do not need to use an external decoder when your FPGA has enough IOs. You paid for the FPGA, why not use it.

Share this post


Link to post
Share on other sites
  • 0

    Thank you everyone for the answer . After i read your opinions ,I thought about two ideas

1. If the maximum pin voltage is 3.3V , i can add for example a 560 ohm resistor for maximum 6 ma current passing through the wire between the pin form fpga and seven segment display .

2. I can use a bcd to 7 segment decoder , wich only uses the signal provided by fpga ( because the decoder may have another power source ) . 

     Is the approach correct?

Edited by Adriann

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this