mikrocontroller.net

Forum: FPGA, VHDL & Co. Auswahl von FPGA


Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

für ein aktuelles Projekt soll ich ein passendes FPGA heraussuchen.
Das FPGA bekommt Zeitsignale von 12 Kleine Sensorplatinen, auf jede 
Sensorplatine ist ein µC, der die Daten bzw. das Zeitsignal parallel ( 8 
bit = 8 Pinne ) an das FPGA übermittelt. Das heisst erstmal 96 
Eingangspinne. Die Daten sollen danach im RAM gespeichert werden. und ab 
und zu mal zu einem andren µC übermittelt, damit er die in einem 
Speicher schreibt.
Es gibt auch natürlich Steuerleitungen für die Sensorenplatinen, eine 
SPI Schnittstelle und noch ungefähr 30 andere Leitungen als 
ausgangsleitungen am FPGA.
Die Abtastrate ist bei jede Sensorpatine 100 KHz (mit einem 16 bit ADC 
digitalisiert).
Das FPGA sollte kein BGA-Housing haben, damit man es selber löten kann.

Danke im Voraus!









Kann mir einer von Euch nen passendes FPGA empfehlen?

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spartan 3.

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal.
Aber welche davon (50k,200k..........,5000k)

Autor: Bernd G. (Firma: LWL flex SSI) (berndg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spartan 3: XC 3 S 200 PQG208-4C
Hat genug Beine und hat innen genug Platz bei vertretbarem Preis.
Beine im 0,5-mm-Raster.
Wenn du mehr Beine brauchst, wird es dann doch ein BGA.

Autor: Bärbel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Basil
ich glaube Spartan 3 im TQFP144 mit max. 108 user pins gibt es bis 
XC3S250E (E-Serie) oder XC3S50A (A-Serie). Mit mehr pins nur als BGA.

Autor: Bärbel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldigung, den XC3S500E gibt es im PQ208 mit 158 user pins.

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Bernd,

ich kann das sehr schlecht abschätzen wie viele System Gates ich brauche 
200k oder 400k. Meinst du, dass 200k für die Funktionen, die ich vor 
habe reichen werden.

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Bärbel

ich glaube dass die (E-Serie) Logic optimiert bei 3. sind die I\O auch 
optimiert oder?

Autor: Bernd G. (Firma: LWL flex SSI) (berndg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
200 k Gatter sollten für deine Anwendung locker reichen. Wenn es mehr 
werden sollte, nimmst du eben den nächstgrößeren mit 400 k Gattern.
Das Pinout ist dasselbe.

Also in der ISE den Schaltkreis eben mal entwerfen und sehen, ob es 
passt.
Wenn nicht, nimmst du den XC 3 S 400...

Autor: Matthias G. (mgottke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach der Kürze der Beschreibung scheint mir die Größe der Logikresourcen 
egal zu sein. "Das bißchen" können alle. Die Frage stellt sich eher nach 
der Größe des internen Speichers. Der ist nämlich ziemlich eng bemessen 
bei den ganzen FPGAs.

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es einen Unterschied im Stromverbrauch bei 200k und 400k?
Ausserdem suche ich mir einen ADC der die Daten Parallel und mit einer 
16 bit Auflösung zur µC im Sensorplatinen übermittelt.
Danke noch mal.

Autor: Arndt Bußmann (Firma: Helion GmbH) (bussmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Alternative kämen auch die XP2 von Lattice in Betracht, diese haben 
dann auch das Config-Flash integriert (ansonsten sehr ähnlich zum 
Spartan3) im PQ208 hätte man dann 146 User I/O zur Verfügung.

Viel Erfolg
Arndt

Autor: Bernd G. (Firma: LWL flex SSI) (berndg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> gibt es einen Unterschied im Stromverbrauch bei 200k und 400k?

Wenn die gleiche Anzahl von Gattern bei gleicher Innenschaltung benutzt 
wird - nein.

Wenn du das gesamte Innenleben benutzt, dann ja.

Autor: volltroll.de (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach im ISE Simulieren erstellen und den passenden auswählen.

Autor: Arndt Bußmann (Firma: Helion GmbH) (bussmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basil A. wrote:
> gibt es einen Unterschied im Stromverbrauch bei 200k und 400k?

Der statische Stromverbrauch ist bei den größeren FPGA Bausteinen (die 
SRAM basiert sind, also alle Hersteller außer Actel) immer größer, da 
die Konfigurationszellen (SRAM) einen kleinen Leckstrom haben.

Während der Konfiguration (kurz nach dem Einschalten) ist der 
Spitzenstrom merklich höher. Faktor 2 ist bei doppelter Bausteingröße 
oft üblich. Die richtige Powersequenz und eine stabile 
Versorgungsspannung muss im Einschaltfall beachtet werden. Im Betrieb 
bestimmt sich die Stromaufnahme maßgeblich durch die Beschaltung der 
I/Os und deren dynamische Nutzung.

Viele Grüße
Arndt

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich werde gerne ein Xilinx FPGA nehmen, weil ich eine 
Entwicklungsumgebung davon habe. ich versuch gerade im ISE zu 
Simulieren. Ich habe davon keine Ahnung, aber ich versuche es, und sag 
Bescheid. ;-)
Vielen Dank erst mal an euch alle.

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die Abtastrate ist bei jede Sensorpatine 100 KHz (mit einem 16 bit ADC
> digitalisiert).

Bei der Frequenz kannst du die Daten der verschiedenen Sensoren 
nacheinander auf den selben Leitungen übertragen, dann sinds nur 8 statt 
96 Datenleitungen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Arndt Bußmann (Firma Helion GmbH) (bussmann)

>Während der Konfiguration (kurz nach dem Einschalten) ist der
>Spitzenstrom merklich höher. Faktor 2 ist bei doppelter Bausteingröße
>oft üblich.

Die Zeiten sind lange vorbei. Das Problem wurd bei Spartan 3 schon im 
Vorfeld gelöst, dito alle neueren FPGAs vom grossen X.

>bestimmt sich die Stromaufnahme maßgeblich durch die Beschaltung der
>I/Os und deren dynamische Nutzung.

Die IOs machen in vielen Designs nur einen Bruchteil der Leistung aus. 
Den meist Strom ziehen schnell schaltende Logikzellen.

MFG
Falk

Autor: Arndt Bußmann (Firma: Helion GmbH) (bussmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk

Falk Brunner wrote:

> Die Zeiten sind lange vorbei. Das Problem wurd bei Spartan 3 schon im
> Vorfeld gelöst, dito alle neueren FPGAs vom grossen X.

Du meinst vielleicht ein anderes Thema (als ich im Sinn hatte) die 
Faktor 2 Regel gilt vor allem für ICCINTQ und ICCAUXQ im Ruhestromfall. 
Aber es stimmt schon, die ersten Spartan3 Revisionen waren noch 
schlimmer...

Die Spitzenstromgeschichte hatten wir bei einem XC3S400 Design 
beobachten können. Und ich kenne auch Designer die damit große 
Schwierigkeiten hatten, da die Spannung im Bootfall nicht stabil genug 
war und somit der Bootprozess immer wieder eingeleitet wurde.

>>bestimmt sich die Stromaufnahme maßgeblich durch die Beschaltung der
>>I/Os und deren dynamische Nutzung.
>
> Die IOs machen in vielen Designs nur einen Bruchteil der Leistung aus.
> Den meist Strom ziehen schnell schaltende Logikzellen.

Das ist sehr stark abhängig vom Design. Bei Anwendungen, die mit 
schnellen Videobussen und SRAM-Anbindung arbeiten ist es auf jeden Fall 
anders. Schnell schaltende IO-Zellen müssen die Leitungs- und die 
Eingangskapazität umladen, da kommen schnell einige mA zusammen. Das 
gilt übrigens für alle FPGA Hersteller, kann man auch sehr schön mit den 
Powertools nachrechnen.

Übrigens hier ein Ausschnitt aus dem "Spartan3 Generation FPGA 
userguide":
...A softstart feature that controls output ramp time is useful.
With care, use of overcurrent protection is possible, such as foldback 
or fuses. In this case, apply VCCAUX no later than VCCINT to avoid the 
surplus ICCINT current (see “Surplus ICCINT if VCCINT is Applied before 
VCCAUX,” page 479). Also be aware that capacitors will be charging at 
power-on and might draw a significant amount of current for a short
time. If necessary, slow the supply voltage ramp to control the charge 
current. If foldback is not a design requirement, it is best to avoid 
it, keeping the power supply design simple...
...
To ensure successful power-on, VCCINT, VCCO Bank 2, and VCCAUX supplies 
must rise through their respective threshold-voltage ranges with no 
dips. The FPGA data sheets specify any ramp rate requirements. The 
Spartan-3 family has no ramp rate requirements for the current revision; 
refer to the Spartan-3 FPGA Family Data Sheet (DS099) for specifications 
for earlier versions. The Spartan-3E family has ramp rate requirements 
from
0.2 to 50 ms. The Spartan-3A/3AN/3A DSP device ramp rate requirements 
are from 0.2 to 100 ms...

Ähnliche Dinge findet man bei allen FPGA Herstellern, das ist halt 
bedingt durch die verwendete Technologie.

Viele Grüße
Arndt

Autor: Arndt Bußmann (Firma: Helion GmbH) (bussmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Basil

Wenn Du kannst, dann versuche den ModelSim zu benutzen, ich finde diesen 
Simulator deutlich besser als den in ISE integrierten Simulator.
Auch sehr gut und frei erhältich ist icarus.

Viele Grüße
Arndt

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Arndt Bußmann

ich darf kein neue Software instalieren ;-)

@ Alle

ich bin immer noch auf der suche nach einem passenden FPGA, mir geht es 
darum, dass es über 220 verfügt und von Xilinx sein soll (kann man 
selber löten). Ich möchte für die Adressierung von RAM auch direkt 24 
Leitung (bit) nehmen ohne Latch, geht das überhaupt. es gibt manche 
FPGAs aber als BGA, und ich muss das dann auf der Platine 
demensionieren. Das habe ich noch nie gemacht! gibt es auf der Xilinx 
Seite auch wie man das verbinden kann (in der Platine).

Danke für die Antworte.

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Morin
>Bei der Frequenz kannst du die Daten der verschiedenen Sensoren
>nacheinander auf den selben Leitungen übertragen, dann sinds nur 8 statt
>96 Datenleitungen.

ich kann nicht, das ist sehr wichtig das ich die Sensoren gleichzeitig 
abfrage.

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

Bewertung
0 lesenswert
nicht lesenswert
> das ich die Sensoren gleichzeitig abfrage.
Was ist für dich gleichzeitig?
In der gleichen ns? Die selbe us?
So richtig gleichzeitig gibt es nicht.

> Die Abtastrate ist bei jede Sensorpatine 100 KHz
Muss evtl. nur gleichzeitig abgetastet werden? Der Abtastzeitpunkt hat 
nicht unbedingt was mit dem Übertragungszeitpunkt zu tun.

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Lothar Miller

>Muss evtl. nur gleichzeitig abgetastet werden? Der Abtastzeitpunkt hat
>nicht unbedingt was mit dem Übertragungszeitpunkt zu tun.

kannst du mir dasd einbißchen erklären.

ich habe wie gesagt acht Sensorplatinen  mit jeweils 80kHz Abtastrate 
pro Kanal.
die sollen danach genau über einander in einem Diagramm dargestellt 
werden.

Danke

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

Bewertung
0 lesenswert
nicht lesenswert
> acht Sensorplatinen  mit jeweils 80kHz Abtastrate pro Kanal.
>> mit einem 16 bit ADC digitalisiert...
Du brauchst also "nur" eine S&H Schaltung vor dem AD-Wandler, die bei 
allen 8 Platinen mit einem Signal gleichzeitig getriggert wird. 
Anschliessend kannst du diesen gespeicherten Wert nacheinander auf 
jeder der Platinen wandeln und abholen.
Also:
- gleichzeitig Einlesen
- nacheinander Wandeln und Übertragen

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich Habe 12 verschiedene Platinen (12 ADC) und die Übertragund zur 
Zentralplatine soll schon digital erfolgen.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher ADC genau ist denn auf der Sensorplatine? Und was ist da noch 
drauf?

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe denn ADC nochnicht ausgesucht der soll die Daten parallel 
rausschicken und die 100 kh schafen. kennst du einen. (16 bit)

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

Bewertung
0 lesenswert
nicht lesenswert
> der soll die Daten parallel rausschicken und die 100 kh schafen.
Warum soll der die Daten parallel rausschicken?

Nimm doch sowas Kleines wie den LTC1864 hier:
http://www.linear.com/pc/productDetail.jsp?navId=H...
mit extra Start-Eingang (CONV). Was willst du mehr?

12 ADC, alle gleichzeitig angesteuert, brauchen nur 24+1 = 25 Leitungen 
zum FPGA.

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich weiss nicht ob ein Kabel das schafen kann. (100 kHz X 16 bit) es 
geht um die geschwindigkeit der Daten.

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

Bewertung
0 lesenswert
nicht lesenswert
> ... ob ein Kabel das schafen kann.
Schon mal was von Gigabit-Ethernet gehört?
Das ist auch nur ein Kupferkabel ...

> (100 kHz X 16 bit)
Das ist langsam, da langweilt sich das FPGA zu Tode.

Ich bin dann weg.... :-/

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich nehm mir doch ein BGA gehause, weil die Pinne, die ich brauche mehr 
als 200 sind.

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

Bewertung
0 lesenswert
nicht lesenswert
> die Pinne ...
Einzahl:  Pin
Mehrzahl: Pins

Autor: Basil A. (basil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

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.