Forum: FPGA, VHDL & Co. CPLD Stromaufnahme


von Christof Krüger (Gast)


Lesenswert?

Hi, ich spiele momentan auch etwas mit dem Xilinx XC9536 herum und habe
ein Problem: Der Chip zieht Unmengen an Strom!

Ich habe momentan einen einfachen Zähler hereinprogrammiert. Mittels
drei Eingängen kann man ausserdem ein Bit des Zählers wählen, welches
auf einen Ausgang gelegt wird. Ist also eine Art Clock-Divider.
Wenn ich den Chip laufen lasse, zieht er 200-240mA! Er wird zwar sehr
warm, aber nicht übermäßig heiss dabei und funktioniert ansonsten
tadellos. Da ich mit einem Breadboard experimentiere, habe ich nur die
Pins angeschlossen, die ich benutze. Man sagt ja, dass die unbenutzten
Pins trotzdem auf einem definierten Pegel liegen sollen. Aber hat das
Einfluss auf die Stromaufnahme? Ich habe während der Messung immer mehr
Pins auf masse gelegt, aber es änderte nichts.

Wo könnte das Problem liegen?
Kann es auch ein Defekt des Chips sein? Kann sein, dass ich den einmal
zu heiss gekriegt habe. (Ansonsten funktioniert der Chip ja)

von Thorsten (Gast)


Lesenswert?

Hi,

deine erwähnte Stromaufnahme ist wirklich sehr hoch. Ich hatte vor
kurzem exakt das gleiche Problem, bei mir lag es an folgendem: ich habe
in den Fitter-Optionen versehentlich "never use local constraints"
ausgewählt, was zur Folge hatte, daß meine selbst definierte
Pinbelegung ignoriert wurde. Der Fitter hat also seine eigene
Pinbelegung nach gewissen Regeln benutzt, und so kam es, daß ich ein
externes Taktsignal an einen flaschen Pin, der als Output geschaltet
war, gelegt hatte. Deshalb der sehr hohe Strombedarf, gemerkt hatte ich
das mit dem Scope, der Takt war nämlich komplett zusammen gebrochen.
Naja, der XC9536 war danach hinüber.

Kann es vielleicht auch sein, daß du die 3V-Variante des Chips erwischt
hast?

Übrigens, ich hatte auch mal ein 24-bit Zähler zur Ansteuerung eines
ext. RAM's programmiert und mit 48MHz betrieben. Die Stromaufnahme lag
so bei 70mA.

So, vielleicht hilft das ja etwas.

Gruß
Thorsten

von Jens-Erwin (Gast)


Lesenswert?

Hallo,

ich erinnere mich auch an das Problem.
 Es gibt eine Option irgendwo in der Software -- Low Power Oparation
oder so -- wenn Du diese einstellst, dann bekommst Du das Teil auf 100
- 150mA runter, was auch noch sehr viel ist.

Geht es noch weiter runter???

Ich habe eine ganze Reihe 9536er und 9572 noch da. Würde diese bei
Bedarf auch preiswert abgeben, da ich meine Aufgaben alle mit MC lösen
kann.

Gruß Jens-Erwin

von Peter D. (peda)


Lesenswert?

Moderne CPLDs haben einen Ziehwiderstand an jedem IO-Pin, der den letzen
Pegel hält (Bus friendly).
D.h. man kann sie offen lassen, sofern man diese Option nicht
deaktiviert hat.

Aber alle reinen Input-Pins müssen beschaltet werden.


Standard CPLDs ziehen trotzdem immer einen hohen Strom, man kann aber
verschiedene Stromstufen einstellen je nach gewünschter Frequenz.

240mA kann daher normal sein.
Die alten PAL20V8 können auch 145mA ziehen und das für nur 8
Macrozellen !


Ich benutze allerdings nur die XCR3064 und die ziehen praktisch keinen
Strom (wenige µA), da CMOS. Da wären dann 200mA eindeutig fehlerhaft.


Peter

von Christof Krüger (Gast)


Lesenswert?

Danke erstmal für Eure Antworten.

Ich werde mal nach gut versteckten Optionen in der Software suchen. Der
Chip funktioniert ja sonst. Eigentlich habe ich NICHT die XL-Version.
Daran sollte es auch nicht liegen. Es sind nur 3 Pins explizit als
Eingang spezifiziert und dazu noch ein Clock-Eingang an einem GCLK.
Die Freqenz ist momentan höchstens so bei 4MHz. Genau kann ich das
nicht sagen, ich erstelle sie mit einem Monoflop aus einem alten 5
1/4"-Laufwerk.
Auch wenn ich die Clock verändere oder ganz abklemme, ändert das nichts
am strombedarf. Laut Datenblatt sollte die typisch Stromaufnahme beim
Nichtstun bei 30mA liegen.

von Christof Krüger (Gast)


Lesenswert?

So langsam verstehe ich die Welt nicht mehr...

Ich kann den Chip jetzt nicht mehr programmieren, da der Chip jetzt
immer einen falschen IDCODE liefert.

-------------8<---------------------------
PROGRESS_START - Starting Operation.
Validating chain...
Boundary-scan chain validated successfully.
ERROR:iMPACT:583 - '1': The idcode read from the device does not
match the idcode in the bsdl File.
INFO:iMPACT:1578 - '1':  Device IDCODE :
00101001111100000010000010010011
INFO:iMPACT:1579 - '1': Expected IDCODE:
00101001010100000010000010010011
PROGRESS_END - End Operation.

-------------8<---------------------------


Es ist stets derselbe falsche code, den mein xc9536 liefert. Ist das
Ding nun wirklich kaputt? Es funktioniert sonst ja.
Das macht mir langsam Sorgen, dass alle Devices die ich anfasse, ob
CPLD oder µC, zwar noch funktionieren, sich aber nicht mehr
programmieren lassen :-/

von Thorsten (Gast)


Lesenswert?

Wenn er sich schonmal programmieren ließ, dann würde ich sagen, der ist
im Eimer. Du machst auch "Ease Before Programming" ?

Thorsten

von Christof Krüger (Gast)


Lesenswert?

@Thorsten: ja sicher. Hatte früher auch schon mal Probleme beim
Programmieren, aber da war die ID jedes Mal bisschen anders. Da hat es
gereicht, als ich das Clocksignal ausschaltete, das hat nämlich die
Kommunikation gestört, ich benutze nämlich das Kabel von hier:
http://warmcat.com/milksop/cheaptag.html
Aber jetzt hab ich wie gesagt jedes mal dieselbe falsche ID und
ansonsten ist auch alles abgestöppselt. Naja, pech :(

@Jens-Erwin: Evtl. hätte ich da Interesse dran. Zwar kommen jetzt
erstmal Klausuren und dann Urlaub, aber danach werde ich Zeit haben, um
weiter herumzuspielen.

von Mattias (Gast)


Lesenswert?

Das mit der Stromaufnahme kann ich auch bestätigen. Ich habe den XC9572
im Einsatz und der zieht auch locker 200mA. Ist allerdings bis zum Rand
vollgestopft. Im Datenblatt steht aber, dass das normal ist. Ich
betreibe ihn allerdings mit 30Mhz.

Gruss Mattias

von alex (Gast)


Lesenswert?

Hallo Leute,

dieser Thread ist zwar schon länger her, aber ich habe auch eine 
Schaltung (hobbymäßig) mit einem XC9572 zusammengefrickelt und der wird 
warm... Stromaufnahme der gesamten Schaltung ist etwa 250 mA.
Das ist mein "Fitter Report":
Macrocells Used: 51/72  (71%)
Pterms Used: 304/360  (85%)
Registers Used: 26/72  (37%)
Pins Used: 36/69  (53%)
Function Block Inputs Used: 139/144  (97%)

Abgesehen von "Function Block Inputs" würde ich sagen, der CPLD ist halb 
voll (?)... Der Takt beträgt 20 MHz.

Hat jemand von euch damals vielleicht rausgefunden, woran es bei euch 
gelegen hat?

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

@  alex (Gast)

>Schaltung (hobbymäßig) mit einem XC9572 zusammengefrickelt und der wird
>warm... Stromaufnahme der gesamten Schaltung ist etwa 250 mA.

Und was hängt sonst noch in der Schaltung?

Ein X9572 zieht ca. 125mA im Leerlauf, ziemlich viel. Ist aber auch ein 
altes Eisen. Siehe Anhang.

>Abgesehen von "Function Block Inputs" würde ich sagen, der CPLD ist halb
>voll (?)... Der Takt beträgt 20 MHz.

Die Frage ist auch, wie oft die FlipFlops schalten und wieviele Signale 
dabei mit wechseln.

Viel mehr als 150mA sollte der CPLD alleine nicht ziehen. Wobei man bei 
20 MHz wahrscheinlich die zellen in den LOW Power Modus schalten kann.

MfG
Falk

von alex (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Falk Brunner schrieb:
> Und was hängt sonst noch in der Schaltung?

Da hängt noch einiges drin... soll ein DDS Synthesizer werden aus 
diskreten Bauelementen. Habe ein R-2R Netzwerk (für 16-Bit) mit 16 CMOS 
4007... ein EPROM 27C210 voll mit Sinus Tabelle (CE fest auf Masse), 
vier 74HC574, ein Oszillator "SUNNY SCO-010 20 MHz". Das ganze ist noch 
nicht fertig, soll noch ein ATmega uC drauf... Der XC9572 wird warm, das 
ist Tatsache.

Falk Brunner schrieb:
> Die Frage ist auch, wie oft die FlipFlops schalten und wieviele Signale
> dabei mit wechseln.

Gute Frage, siehe Anhang, im Prinzip ein einfacher Addierer und 
einfacher Zustandsautomat... PHASE_INCREMENT_I ist z.Z. fest auf 0x0000.

von Der Trog (Gast)


Lesenswert?

Also. 30MHz ist nun wirklich gar nichts. Das wichtigste ist erst Mal 
keine offenen Eingaenge zu haben, denn dann beginnt der Chip nun zu 
ziehen. Vorher ist zu beachten, dass der im Datenblatt angegebene Strom 
fuer 10% der geschalteten Gatter gilt. Dh mit etwas Pech reicht der 
eingebaute Spannungsregler nicht. Das bedeutet dann, dass der Chip mehr 
zieht und die geforderte Betriebsspannung nicht erreicht, dadurch 
allenfalls auch nicht mehr neu programmiert werden kann. Dem kann man 
dann abhelfen, indem man mit einem externen Powersupply etwas nachhilft, 
dass die Betriebsspannung erreicht werden kann.

von alex (Gast)


Lesenswert?

Ich sehe gerade im "Timing Report" unter "Performance Summary": Max. 
Clock Frequency (fSYSTEM) 18.182 MHz. ...und ich habe 20 MHz dran. Mein 
CPLD ist ja langsamer XC9572-15.

Ist das schlimm? Wird er deswegen warm, weil einfach übertaktet?

von alex (Gast)


Lesenswert?

Habe nun einen 16.257 MHz Takt angeschlossen - wird trotzdem warm, 
gefühlsmäßig genauso warm wie vorher.

Na gut, dann ist es eben so... :(

von Christian R. (supachris)


Lesenswert?

Also diese alten XC95 ohne XL werden wirklich sau-warm. Auch bei 
niedrigen Frequenzen. Hatte mich da auch oft gewundert....die XL sind 
wesentlich besser, aber immer noch recht bescheiden.

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.