mikrocontroller.net

Forum: FPGA, VHDL & Co. LED an FPGA DONE


Autor: Felix (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo in die Runde. Ich habe eine Frage zur Bestückung des FPGA_DONE 
Pins mit einer LED.

Ich nutze einen Spartan 6, Spannungen von 5V/3,3V/1,2V und eine LED, die 
bei 3,3V@20mA ihr Optimum hat.

Da der DONE Pin des FPGAs ein Open-Drain ist,muss es logischerweis mit 
einem Pull-Up Widerstand an Vcc angebracht werden (s. Bild).

Meine Kenntnis scheitert an dem Punkt,wo ich eine entsprechende Spannung 
Vcc und einen passenden Widerstan R wählen muss.Ich habe bis jetzt zwei 
Möglichkeiten durchdacht und möchte euch nach der "richtigen" Wahl 
fragen.Vielleicht bin ich ja aber auch auf dem Holzweg und möchte mich 
gerne belehren lassen;).

Meine zwei Optionen:

1)Wenn Vcc 3,3V und der DONE Pin High ist, dann sollten ja,damit die LED 
bekommt,was sie braucht, die kompletten 3,3V an der LED abfallen. Ergo 
soll kein Pull-Up Widerstand verwendet werden. Was aber wiederrum 
entgegen der Open-Drain Schaltung geht.

2)Wenn Vcc 5V ist muss der Widerstand R 85Ohm betragen, um der LED 
3,3V@20mA zu liefern. In diesem Falle habe ich einen Pull-Up Widerstand 
eingesetzt, bei dem ich mir jedoch Sorgen mache,ob er nicht zu klein 
gewählt ist und dadurch Open-Drain-Pin zuviel Strom gibt.

Welche der beiden Optionen hällt ihr für die bessere bzw. habt ihr 
weitere Ideen?

Grüße,
Felix

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> die kompletten 3,3V an der LED abfallen.
Welche Farbe hat deine LED?
Rote LEDs haben 1,5V Uf, Grüne etwa 2,3V.
Und LEDs brennen dir heutzutage mit 20mA das Auge raus... :-o

Also gehen wir mal von einer grünen LED aus ("alles im grünen Bereich"). 
Dann hast du noch 3,3-2,3V = 1V für den Widerstand.
Bei 2mA macht das dann einen Vorwiderstand von 1V/2mA = 500 Ohm.
Mit 470 Ohm bist du auf der sicheren Seite.

Autor: ein_unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab von Open-Drain nicht so viel Ahnung, also weiss ich auch 
nicht wie das mit dem Pull-Up aussieht. (Gibts nicht auch manchmal 
zuschaltbare Pull-Ups?)

Jedoch würde ich an einem Output-Pin grundsätzlich keinen Pull-Up 
anschließen, außer es wird im Datenblatt verlangt.

Die LED sollte einen Serienwiderstand bekommen, den du so auslegst, dass 
der Strom auf 10 - 20 mA festgelegt wird.

Ausrechnen tut man das so: Du benötigst den Spannungsabfall an der LED 
in Vorwärtsrichtung, z.B. 2,4V (steht im Datenblatt)

Dann: Spannung insgesamt über LED und Vorwiderstand = 3.3V.
Am Widerstand fallen dann 3.3V - 2.4V ab = 0.9V. Bei einem gewünschten 
Strom von 20mA rechnest du also Widerstandswert R = 0.9V/20mA = 45 Ohm.

Ich würde etwas weniger als 20mA durch die LED schicken, die leuchtet 
auch bei 10mA, halt etwas dunkler....

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich nutze einen Spartan 6, Spannungen von 5V/3,3V/1,2V und eine LED,
> die bei 3,3V@20mA ihr Optimum hat.
Die 5V solltest du auch nicht ansatzweise in die Nähe des FPGAs bringen. 
Also auch kein Pullup auf 5V. Denn sonst ist dein FPGA gleich mit 
kaputt, wenn mal die LED abfackelt (oder bloß eine schlechte Lötstelle 
hat)...

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also zunächst mal ist der DONE Pin ein open Drain. Willst du damit ein 
High treiben, musst du das explizit beim Erstellen des Bitfiles als 
Option angeben.

Als nächstes....VCC 5V wird überhaupt nix, wenn wenn DONE Low ist, 
fließt kein Strom durch die LED, folglich hast du nahezu die gesamten 5V 
auf dem DONE Pin stehen, das macht der nur einmal mit. Dann musst du mit 
der VCCAUX Spannung an sich aufpassen:
If VCCO_2 is 1.8V, VCCAUX must be 2.5V. If VCCO_2 is 2.5V, VCCAUX can be either 2.5V or 3.3V.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wenn DONE Low ist ... hast du die gesamten 5V auf dem DONE Pin
Krasse Logik. Mein Glückwunsch... ;-)

Wenn DONE low ist, das ist überhaupt der unkritische Fall (gegeben: 
high-aktive Logik, Low=0V).
Gefährlich wird es nur, wenn die LED kaputt oder absent, und 
gleichzeitig der DONE-Pin hochohmig ist.

Autor: ein_unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich versteh das auch so, dass 5 Volt nicht unbedingt gut tuen an 
einem 3.3V I/O PIN....

Über Low und Hochohmig usw. brauchen wir da gar nicht zu reden. Alles 
Käse...

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach Gott....das Wochenende muss kommen. Ich war in Gedanken einem Pullup 
nach +5V da haben wir schon manchen Pin zerschossen.

Ich geh wohl besser nach Hause für heute :)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  ein_unwissender
> Über Low und Hochohmig usw. brauchen wir da gar nicht zu reden.
Hast du das verstanden, was ich geschrieben habe? Es geht gar mir 
nicht darum, was man nicht tun sollte, sondern darum, dass man versteht, 
warum man es nicht tun sollte.
Zusammengefasst:
Die Schaltung vom OP wird mit einer LED bis zu einer Uf=3,3V (z.B. blau 
& weiß) an 5V ganz problemlos funktionieren. Jede Spezifikation des 
DONE-Pins wird eingehalten. Aber wenn die LED fehlt, kommen die 5V 
direkt an den DONE-Pin... :-/

> Alles Käse...
Na bitte, wenigstens nicht das trocken Brot alleine... ;-)

Autor: ein_unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja klar hab ichs verstanden, ich wollte nur dem OP nochmals versichern, 
dass 5V keine gute Idee sind.

ich empfehle noch Butter ;-)

Autor: Felix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Faszinierend, wie schnell hier geantwortet wird :-D!

Zur LED: Es ist eine grünleuchtende von Kingbright, PN: AA3020AZGC. Laut 
Datasheet hat sie eine Vorwärtsspannung von 3,3V bei einen Vorwärtsstrom 
von 20mA.
Da ich keine LED Vorkenntnisse habe und mich einfach an die Datasheets 
halte, gehe ich davon aus, dass die LEDs NUR bei den gegebenen Werten so 
leuchten werden,wie es der Hersteller sich gedacht hat.

Zur Versorgungsspannung: Ich werde auf alle I/O Banks 3,3V legen, weil 
alle an das FPGA angeschlossenen Bauteile mit 3,3V arbeiten.
Deswegen viel meine LED-Wahl auch auf das Modell,welches ich benutzen 
möchte.Wenn ich diese 3,3V@20mA LEDs an FPGA Pins lege,die ja alle mit 
3,3V arbeiten, so umgehe ich die Notwendigkeit hier Vorwiderstände 
einzusetzen. Habe es mir jedenfalls so gedacht^^.

@lkmiller:
1)Das 5V für den FPGA Pin schlecht sind, hätte ich selber wissen müssen. 
Wer Datenblätter lesen kann,ist von Vorteil^^. Danke für den Hinweis.
2)Was ich noch nicht ganz nachvollziehen konnte ist,dass bei Vcc 3,3V 
und dem Einsatz eines Pull-Up Widerstandes meine LED ja nicht das 
bekommt,was sie haben möchte,weil ein Teil der Spannung bereits am 
Pull-Up Widerstand abfällt. Ich denke noch strikt, dass die LED nur bei 
3,3V@20mA funktionieren wird.

Danke für die schnelle Beantwortung:)

Grüße,
Felix

Autor: ein_unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grundsätzlich bitte UNBEDINGT Vorwiderstand an die LED, da nur über den 
Widerstand der maximale Strom eingeprägt wird. Die LED hat eben nur eine 
feste Spannung und es würde sich ohne Vorwiderstand ein undefinierter 
Strom einstellen, der möglicherweise zur Zerstörung führen könnte. Ich 
meine übrigens keinen Pull-Up, sondern einen seriellen Widerstand.

In Datenblättern gibt es meistens Absolut max. Werte und typische Werte. 
Dass 20mA erlaubt sind bei den meisten LEDs ist ja richtig, jedoch nicht 
unbedingt ökonomisch sinnvoll. Ist halt ein typischer Wert. Der geneigte 
Ingenieur/Entwickler hat halt auch Erfahrungswerte.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Laut Datasheet hat sie eine Vorwärtsspannung von 3,3V
> bei einen Vorwärtsstrom von 20mA.
Und sie hat eine kleinere Vorwärtsspannung bei einem kleineren Strom. 
Ein kleinerer Strom bringt aber eine geringere Helligkeit mit sich. Ob 
dir die Helligkeit dann noch ausreicht, steht auf einem anderen Blatt. 
Aber wie gesagt: aktuelle LEDs sind mit 2mA schon recht hell. Auf solche 
Status-LEDs wie die DONE-LED kommt bei mir nicht mehr drauf.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die LED ist Abfallprodukt. Wichtig ist das Timeingverhalten

http://www.xilinx.com/support/answers/35002.htm

Autor: ein_unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Vorwärtsspannung der LED ist unabhängig vom Strom immer (annähernd) 
gleich... natürlich nur innerhalb des normalen Arbeitspunktes.

Schaut euch mal die Kennlinie einer typischen Diode an:

http://de.wikipedia.org/w/index.php?title=Datei:Di...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> Die Vorwärtsspannung der LED ist unabhängig vom Strom immer (annähernd)
> gleich...
Im für die angegebene LED sinnvollen Bereich (1mA...50mA) haben wir da 
immerhin 2,5V bis 3,5V.


> Wichtig ist das Timeingverhalten
Hoppla, das ist neu  :-o

Autor: ein_unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schmunzel natürlich schwankt die Spannung, aber beim Entwickeln einer 
simplen Diode-Schaltung benutzt man üblicherweise ganz einfache 
Abschätzungen. Dazu gehören nunmal simple Regeln und dass die Spannung 
von der Diode im Arbeitspunkt stabil gehalten wird ist ja wohl allgemein 
anerkannt. Übrigens: Du hast noch vergessen, dass die Temperatur noch 
einen gewaltigen Einfluss hat, und schon wirds noch komplizierter.

Autor: Rudolph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uwe Bonnes schrieb:
> Die LED ist Abfallprodukt. Wichtig ist das Timeingverhalten
>
> http://www.xilinx.com/support/answers/35002.htm

300 Ohm, gutes Stichwort. X empfiehlt außerdem LEDs nicht direkt mit 
DONE zu treiben.

http://www.xilinx.com/support/answers/18644.htm

Auf den Eval-Kits wird die LED mit einem kleinen FET geschaltet.

Autor: Felix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Durch die Gedankenkette Weniger Spannung->weniger Strom->weniger 
Lichtintensität habe ich mir mal die LED Verschaltung eines Spartan-3 
Ev-Boards angeschaut. Die LEDs dort werden mit 7mA versorgt und liefern 
ungefähr 0,4 mCd. Diese Helligkeit reicht nach meinem Geschmack aus.

Beim Durchschauen des Datenblattes meiner LED, habe ich erst jetzt 
erkannt, dass sie mit mindestens 180mCd und max 500mCd daherkommt! Ich 
kann jedoch nicht beurteilen,ob 180mCd viel zu stark wahrgenommen werden 
und so eher störend wirken.

Einen Vorwiderstand werde ich folglich auf jedenfall einsetzen,wenn 
nicht sogar das LED Modell wechseln.

Da sich die LED preislich im üblichen Rahmen befindet,wäre die starke 
Helligkeit der einzige Grund, das LED Modell zu wechseln.Hat jemand 
Erfahrungen mit solch hohen Werten?

@Rudolph
Die Xilinx Empfehlung betrachtet den Fall, dass man mit dem DONE Pin 
eine LED UND einen Pin eines Xilinx Proms ansteuert. Ist bei mir jedoch 
nicht der Fall

@Uwe Bonnes
Danke für den hinweisenden Link.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.