Forum: FPGA, VHDL & Co. Spartan3 400k (PQ208) wird im Betrieb warm


von Ssss S. (sssssss)


Lesenswert?

Hi!

Ich habe auf einer Platine einen Spartan3 (400k, PQ208) verbaut.
Auf ihm "läuft" folgendes:
- mit 25mhz zugriff auf ein sram und ausgabe als 6bit vga
- mit 25mhz zugriff auf ein sram und eine vga cmos kamera auslesen und
dort reinschreiben
- 12.5mhz an einem pin ausgeben
- kleiner counter auf einem 7seg display
- systemtakt 50mhz
- alle IOs auf LVCMOS 3.3V

Wenn das ganze 10min läuft wird der fpga warm (schätze 40-50°C).
Auf meinem Evaluation Board (200k, BGA) wird der fpga bei einem
ähnlichen Programm (nur 3bit vga) nicht spürbar warm.

Versorgungsspannungen sind alle genau wie auf dem Eval board.
(alles andere ist auch genau so angeschlossen, also selbe Rs zu dioden
etc)

Ist das normal ?
Klar dass das hin und herschalten bei 50Mhz einiges an Energie
in Wärme verbrät aber warum spürt man die beim BGA nicht ?
Leiten die soviel besser die Wärme ab ?

Wobei das PQ208 Gehäuse auch etwas komisch ist, man kann im
eingelöteten Zustand
unterm fpga durchgucken (~0.5mm Luft).

Gruss,
Simon

von Antti (Gast)


Lesenswert?

ich wurde sagen sollte eigentlich nicht so warm sein.

antti

von Tobias O. (Gast)


Lesenswert?

50° bis 60° geht doch noch :) aber Scherz beiseite. Es scheint die Pins
des FPGA treiben irgendwie Strom nach Masse oder gegen VCC stell doch
mal alle unbenutzten Pins über die ISE auf float und beobachte ob es
dann besser wird.

von Ssss S. (sssssss)


Lesenswert?

Hi!

Ich habe jetzt mal alle 4 CMOS Kameras angeschlossen und
einmal alles genau gemessen.

Stromverbrauch des gesamten Boards liegt bei 9V bei exakt 200mA
(512K sram, fpga, 04er platform flash, 4 cmos kameras, 7led)

Aus den 9V macht ein Stepdown Regler 5V und daran hängen dann 3
Linearregler (3.3V, 2.5V, 1.2V und 2.8V).

Nach 20 Minuten messe ich mit einem IR Thermometer folgende Werte:
- FPGA: 43°C (steigt auch nicht weiter)
- SRAM: 37°C
- Sreg 3.3/2.5V: 50°C (das ist bei dem normal, in dem 3.3V zweig hängt
auch noch der 1.2V reg)
- Sreg 1.2V : 36°C
- Sreg 2.8V : 37°C (da hängen die 4 Cams dran)

>stell doch
>mal alle unbenutzten Pins über die ISE auf float
geht nicht, hab alle bis auf 3 Pins belegt :-X
Und die 3 Pins sind nicht verdrahtet.

Meint ihr echt das ist nicht normal ?
Ich meine der fpga ist ja fleissig am Datenschaufeln (50Mhz zum sram
hin und her).

Das einzige was zum eval board anders ist:
Ich habe halt nun einen 512K Sram (ISSI) und der hat 8ns (evalboard:
10ns)
Mein Timing beim lese/schreibzugriff ist aber bei 20ns geblieben
(50mhz). Das sollte ja nichts ausmachen.

Und wie gesagt, das ganze Board arbeitet sonst so wie es soll.

von Thomas Pototschnig (Gast)


Lesenswert?

Ich hab einen VHDL-Pal-Encoder gebaut, an dem 1MB SRAM dranhängt, das
Ding wird mit 45MHz getaktet und hat eigentlich genug zu tun (Spartan 3
mit 200kGates, 40% voll) - der wird überhaupt nicht warm.

Möglicherweise gibt es Konflikte zwischen mehreren Signalen - z.B. das
SRAM schaltet nicht schnell genug um oder ähnliches ... Aber da was
rauszufinden ist nicht ganz einfach. Da müsstest du dir die ganzen
Timings im Datenblatt deines RAMs anschauen und überprüfen, ob du da
möglicherweise kurzzeitig illegale, timingbedingte Zustände erzeugst,
die z.B. Kurzschlüsse zwischen Signalen macht. Du meintest ja, dass du
bidirektional hin und herschaufelst. Die 8ns geben nur an, wann man die
Daten kriegt nachdem man die Adresse angelegt hat. Aber es gibt noch
Wartezeiten die zwischen lesen/schreiben eingehalten werden müssen,
weil das RAM die Daten nicht schnell genug wegnehmen kann.

Nur so eine Idee ...

Mfg
Thomas Pototschnig

von Ssss S. (sssssss)


Lesenswert?

Hi!

Hmm auf dem Evalboard ist ja ein ähnliches RAM (nur halb so gross, und
2ns langsamer)
verbaut und dort wird der BGA fpga nicht so warm.

Das (a)SRAM auf meiner eigenen Platine ist ein 61LV512 8ns von ISSI:
http://www.issi.com/pdf/61LV51216.pdf
Auf dem evalboard ist ein 10ns 61LV256.

Aber wo du jetzt Timings sagtest hab ich mir das Datenblatt angesehen
und
festgestellt dass ich die THZWE (max 3.5ns) nicht beachte, dh ich gebe
adresse und daten
beim schreiben sofort auf das sram.
Dann habe ich für 3.5ns evtl einen Kurzschluss :-X
Wobei ich das beim evalboard genauso habe und dort passiert nichts...
komisch...

Das würde es natürlich erklären.
Ich versuche jetzt mal meinen memory mux umzucoden dass er sich daran
hält.
Mal sehen obs was bringt ;)

Danke schonmal! Ich melde mich wieder sobald ich näheres weiss.

von Ssss S. (sssssss)


Lesenswert?

Hmm hab jetzt mal die write requests ans sram abgeschaltet.

Stromaufnahme & Temperaturverhalten ist genau gleich...
Jedenfalls ist kein unterschied Messbar.
Das wars wohl nicht :-\

von Thomas Pototschnig (Gast)


Lesenswert?

Hast du schonmal dein "programm" simuliert?

von Ssss S. (sssssss)


Lesenswert?

Hi!

Ja, die einzelnen Teile sind einzeln simuliert und die waveform
Diagramme habe ich geprüft, die sehen ok aus.

Das Gesamtsystem habe ich allerdings noch nicht simuliert...

Vorhin habe ich die WE/OE Signale für das SRAM konstant auf lesen
gesetzt, also konnten kamera und vga nur noch lesen.
Das Temperatur/Stromverhalten hat sich nicht geändert.

Gruss,
Simon

von Thomas Pototschnig (Gast)


Lesenswert?

Es scheint zwar seltsam, aber es wird dann wohl wirklich normal
sein?!?!

Tut mir leid - da weiß ich dann auch keinen Rat mehr :-(

Mfg
Thomas

von Michael Werner (Gast)


Lesenswert?

HAllo,
darf man mal Fragen, welche Kameras Du daran angeschlossen hast?
Ich bin nämlich noch auf der Suche nach Sensoren für mein FPGA Board,
sowie den passenden Optiken.

von Ssss S. (sssssss)


Lesenswert?

Hi!

Ja, sind Kameramodule aus Motorolahandys (V525 / V300) ;)
Achtung: die verbauen mindestens 3 verschiedene: Agilent Adcm2700,
Micron MT9V111 und Phillips OM6802 (zumindest waren die in 3 gekauften
alten Handys verbaut ;) ).

Für die Micron gibt es das Datenblatt frei im inet:
http://download.micron.com/pdf/datasheets/imaging/MT9V111.pdf

Das Agilent Datenblatt haben wir an der Uni. Das darf ich aber nicht
rausgeben,
wir mussten alle einen NDA unterschreiben.
Ich benutze bei mir momentan die Agilent Kameras, sind einfach besser
zu konfigurieren als die Micron Dinger.

Zu den Phillips Dingern habe ich kein Datenblatt gefunden und meine
Anfrage
ist (noch) unbeantwortet.

Aber Vorsicht, alle diese Module liefern keine sooo tollen Bilder und
brauchen relativ viel Licht (kein Wunder bei der Minioptik).

von Michael Werner (Gast)


Lesenswert?

Hi,
danke für die Info, ich werde mir wohl die Micron Teile zulegen,
MT9V011.
Liegt unter zehn Euro, ich suche nur noch nach halbwegs passablen
Optiken.
Hast Du denn mittlerweile Dein Problem gelöst?

von Ssss S. (sssssss)


Angehängte Dateien:

Lesenswert?

Hi!

Nein, ich bin noch nicht weiter.
Wobei das ganze ja vernünftig funktioniert. Und eine Stromverbrauch von

ca 400mA bei 5V (vor den linearreglern) ist auch noch im Rahmen (4
Kameras mit je 40-80mA, und dann noch sram + fpga).

Ich werde morgen erstmal die Anbindung DSP <-> FPGA testen.
Danach gucke ich weiter...

Ich wollte den Sram Multiplexer nochmal komplett neu überarbeiten und
die Taktzuteilung
exakt nach Datenblatt machen.
Dafür brauche ich aber 100mhz (geht ja per dcm).
Hab das auch schon gecodet, muss das nur noch mit der dcm
zusammenstricken.
Wobei es daran ja eigentlich nicht liegen kann da ich gestern bei
meinem test nur aus dem sram gelesen habe, dabei kann es ja zu keinen
kollisionen bzw kurzschlüssen kommen.

Wegen der Optik:
Ich weiss nicht wie gut die optik ist, aber bei ebay gibts die labtec
webcam pro relativ günstig.
Ich hab mal ein Bild des Sensors angehängt.
Davor hängt eine optik mit einer größeren Linse.
Musst du evtl mal gucken ob das passt ;)

Woher willst du die Micron Dinger beziehen ? Hast du da schon
eine Quelle ? Würde mich mal interessieren ;)

von Michael Werner (Gast)


Lesenswert?

Quelle ist www.framos.de
Ich bin dort registriertes Mitglied.

von Ssss S. (sssssss)


Lesenswert?

Ah cool ;)

Achja, ganz vergessen:
Die Micron Module die ich hatte können im rgb mode nur RGB565, ich hab
jetzt nicht geguckt was das kann was du rausgesucht hattest aber guck
lieber nochmal nach ;)
Die Agilent Cams können rgb888, aber ich glaub die werden nicht mehr
hergestellt bzw agilent hat die Abteilung verkauft oder so.
Irgendwas hatte ich dazu mal irgendwo gelesen...

von Ssss S. (sssssss)


Lesenswert?

Hi!

Nachdem ich letztes WE das zweite Board gelötet habe das genau
dieselben Temperaturen verursachte war ich davon ausgegangen dass das
normal sei.
Jetzt klicke ich gerade im neuen 8.1er Webpack rum und aufeinmal föllt
mir was auf:

WebPack hat irgendwie mein IO Standard LVCMOS33 ueberall "vergessen"
Hab gerade mit den neuen 8.1 Pack rumexperimentiert und es dort
zufällig entdeckt!
Der war definitiv zu beginn mal eingestellt worden für jeden pin, hab
mich noch geärgert dass das nicht automatisch für alle setzbar ist und
ich 144 mal den wert wählen musste.

Hab das jetzt gerade mal wieder eingetragen und nun habe ich nur noch
38°C.
Konnte aber nur 10min testen, danach war das IR Thermometer leer :(

von FPGAküchle (Gast)


Lesenswert?

<Ich habe auf einer Platine einen Spartan3 (400k, PQ208) verbaut.
<Auf ihm "läuft" folgendes:
<- mit 25mhz zugriff auf ein sram und ausgabe als 6bit vga
<- mit 25mhz zugriff auf ein sram und eine vga cmos kamera auslesen
und
<dort reinschreiben
<- 12.5mhz an einem pin ausgeben
<- kleiner counter auf einem 7seg display
<- systemtakt 50mhz
<- alle IOs auf LVCMOS 3.3V

<Wenn das ganze 10min läuft wird der fpga warm (schätze 40-50°C).
<Auf meinem Evaluation Board (200k, BGA) wird der fpga bei einem
<ähnlichen Programm (nur 3bit vga) nicht spürbar warm.

in der ug102.pdf beschreibt xilinx die thermischen widerstände der
Gehäuse. Es gibt davon gute die 20K pro Watt weniger heiss werden als
PQ208. Ansonsten kannst du mit XPower den Stromverbrauch abschätzen.

FPGAküchle

von FPGAküchle (Gast)


Lesenswert?

sorry es ist die ug112.pdf

von FPGAküchle (Gast)


Lesenswert?

<Nachdem ich letztes WE das zweite Board gelötet habe das genau
<dieselben Temperaturen verursachte war ich davon ausgegangen dass das
<normal sei.
<Jetzt klicke ich gerade im neuen 8.1er Webpack rum und aufeinmal
föllt
<mir was auf:

<WebPack hat irgendwie mein IO Standard LVCMOS33 ueberall
"vergessen"
<Hab gerade mit den neuen 8.1 Pack rumexperimentiert und es dort
<zufällig entdeckt!

Das Pins ohne Angabe des IO Standards auv LVCMOS33 gesetzt werden
machen nur alte ISE's. Versionen 6.3 und 7.* setzten wohl auf 2V5.
Also im UCF File
für jedes genutztes pin den Standard manuell setzten und in der Report
datei *.pad checken. In dieser steht für jedes Pin, was nach
Implentierung wirklich drin ist.
Das gleiche gilt für die treiberstärke (DRIVE), Standard is 12 mA,
gebraucht werden oft weniger.

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.