Jump to content
  • 0

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


Adriann

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 .

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

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.

Link to comment
Share on other sites

@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.

Link to comment
Share on other sites

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).

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

    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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...