Forum: FPGA, VHDL & Co. Beschaltung von CPLDs für max. Strom


von Andre (Gast)


Lesenswert?

Hallo,

ich möchte mit einem Xilinx Coolrunner2 Optokoppler ansteuern. Hierzu 
gibt es folgendes interessantes Dokument von Xilinx:

http://www.xilinx.com/support/documentation/application_notes/xapp805.pdf

In den Beispielschaltungen müssen die I/O-Pins auf Low geschaltet 
werden, damit die LEDs leuchten. Meine Frage: Spricht irgendwas dagegen, 
auch mit positiver Logik zu schalten? Das heißt, steht der gleiche 
maximal verfügbare Strom zur Verfügung, wenn ich einen I/O-Pin über den 
Vorwiderstand und die LED mit Masse verbinde, so dass die LED bei einem 
High am I/O-Pin leuchtet?

Vielen Dank im Voraus!
André

von schrieb schrieb schrieb (Gast)


Lesenswert?

Hi,

Die Ausgänge von der XC9500XL Family sind nicht symmetrisch. Der NMOS 
(der nach Masse schaltet) ist stärker als der PMOS (der nach Vcc 
schaltet). Wenn du wirklich den maximalen Strom haben willst, solltest 
du nach Masse schalten, wie im Bild auf der ersten Seite gezeigt. Eine 
grobe Darstellung der Asymmetrie findest du auch Seite 5 des PDFs.

Letztendlich musst aber in dem Datenblatt für deinen CPLD reinschauen, 
dort stehen diese Angaben drin.

von Christian R. (supachris)


Lesenswert?

Das ist auch beim CoolRunner II so: 
http://www.xilinx.com/support/documentation/data_sheets/ds094.pdf Seite 
10.

von Achim S. (Gast)


Lesenswert?

Christian R. schrieb:
> Das ist auch beim CoolRunner II so:
> http://www.xilinx.com/support/documentation/data_sheets/ds094.pdf Seite
> 10.

ich würde die I/V-Kurven auf S.10 genau andersrum lesen: nur bei VCCIO = 
1,5V ist der NMOS stärker, für VCCIO > 1,8V liefert der PMOS mehr Strom 
als der NMOS. (was wohl daran liegen dürfte, dass der NMOS immer mit VCC 
aus der Logik aufgesteuert wird, der PMOS aber Levelshifter braucht und 
daher mit VCCIO gesteuert wird).

Andre schrieb:
> Das heißt, steht der gleiche
> maximal verfügbare Strom zur Verfügung, wenn ich einen I/O-Pin über den
> Vorwiderstand und die LED mit Masse verbinde, so dass die LED bei einem
> High am I/O-Pin leuchtet?

Wenn VCCIO>1,5V ist (was es fürs Treiben einer LED sicher sein sollte) 
solltest du nach meiner Interpretation mehr Strom zur Verfügung haben, 
wenn du die LED mit High-Pegel anschaltest.

von Christian R. (supachris)


Lesenswert?

Hm, die 3,3V Kurve ganz oben hat den meisten Strom bei 0V 
Ausgangsspannung, also Low. So interpretiere ich das.

von Roland E. (roland0815)


Lesenswert?

Low-Seite schalten ist bei ICs fast immer besser, als High-Side:
Fast alle ICs haben als "GND" eine relativ massive Substratplatte. Die 
Versorgung ist meistens nicht so stabil ausgelegt. Daher ist es fast 
immer besser, Leistung über das IC "zu versenken" als zu liefern.

Dazu kommt noch die Option, eine höhere Spannung zu schalten, als das IC 
selbst hat. Viele 3,3V-Controller können zB 5V "versenken" aber eben nur 
3,3V liefern. Spart Strom und Wärme...

Steht auch im Datenblatt.

von Achim S. (Gast)


Lesenswert?

Christian R. schrieb:
> Hm, die 3,3V Kurve ganz oben hat den meisten Strom bei 0V
> Ausgangsspannung, also Low.

wenn der IO high treibt und extern gegen GND kurzgeschlossen wird 
liefert er den maximalen Strom ( > 60mA bei VCCIO=3,3V). Wenn ich z.B. 
nur 50mA ziehe liefert mir der high-Treiber immer noch 2V, es fallen 
also rund 1,3V am PMOS ab.

Wenn ich den Kurzschlussstrom aus dem low-Treiber ziehe (d.h. NMOS 
aktivieren und IO extern fest auf 3,3V schalten) liefert mir der nur 
33mA. Mehr schafft der NMOS nicht (aufgrund der geringeren 
Ansteuerspannung).

von Christian R. (supachris)


Lesenswert?

Hm OK; leuchtet ein.

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
Noch kein Account? Hier anmelden.