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
> 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.
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....
> 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)...
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:
1 | 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. |
> 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.
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...
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 :)
@ 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... ;-)
ja klar hab ichs verstanden, ich wollte nur dem OP nochmals versichern, dass 5V keine gute Idee sind. ich empfehle noch Butter ;-)
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
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.
> 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.
Die LED ist Abfallprodukt. Wichtig ist das Timeingverhalten http://www.xilinx.com/support/answers/35002.htm
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:Dioden-Kennlinie_1N4001.svg&filetimestamp=20100504203845
> 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
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.
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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.