Forum: Mikrocontroller und Digitale Elektronik I/O-Pins flexibel Re-Mappen CPLD, FPGA, etc?


von M. Lago (Gast)


Lesenswert?

Hallo, habe folgende Problematik:
- 32 I/O Pins von einem µC müssen auf ein Kontaktfeld welches aus z.b. 
100 Pins besteht beliebig "gemappt" werden können. D.h. der µC soll 
entscheiden können auf welchem Pin des Kontaktfeldes der jeweilige Pin 
des µCs liegt.
- Dabei soll zumindest eine konfigurierbare Bidirektionalität erhalten 
bleiben.
- Zudem wäre es wünschenswert, wenn die Pegel auf Kontaktfeldseite von 
1,8V-5V möglich wären.
- 50MHz sollten damit machbar sein.

Zuerst dachte ich ein FPGA wär ja dafür ideal, aber das braucht doch 
kaum Logikzellen, weshalb auch vorallem wegen Kostengründen und 
Latenzzeiten ein CPLD geeigneter wäre oder?

Aber vielleicht gibt es noch eine ganz andere Möglichkeit, an die ich 
noch garnicht gedacht habe. Hat jemand eine Idee, oder Tips?

von google (Gast)


Lesenswert?

M. Lago schrieb:
> 32 I/O Pins von einem µC müssen auf ein Kontaktfeld welches aus z.b.
> 100 Pins besteht beliebig "gemappt" werden können. D.h. der µC soll
> entscheiden können auf welchem Pin des Kontaktfeldes der jeweilige Pin
> des µCs liegt.

Wie lautet die tatsächliche Aufgabenstellung? Was soll das ganze 
bewirken? Du fragst nach einem Zwischenschritt einer gedachten Lösung 
... U.U. gibt es ganz andere Ansätze für Dein Problem.

von uwe (Gast)


Lesenswert?

> Zuerst dachte ich ein FPGA wär ja dafür ideal, aber das braucht doch
> kaum Logikzellen, weshalb auch vorallem wegen Kostengründen und
> Latenzzeiten ein CPLD geeigneter wäre oder?
Das CPLD hat aber Flash Speicher der je nach Hersteller und Model nur 
ca. 100-1000 mal beschrieben werden kann. Bei einem CPLD wäre es also 
sinnvoll einen (ähm Hundert) Konfigurierbaren 100fach Multiplexer zu 
bauen. Jawohl 100 mal 100fach Multiplexer. Da bruachst du aber nen 
großes CPLD. Nimm lieber nen FPGA.

> 1,8V-5V möglich wären
Für jeden Pin einzeln eine andere Spannung einstellbar?

Wenn für alle Pins das gleiche gilt, dann muss man die Spannung an der 
IO-Bank einstellbar machen.

Nachtigall ich hör dir trapsen: schon mal was von Universal Programmern 
gehört.

von M. Lago (Gast)


Lesenswert?

> Das CPLD hat aber Flash Speicher

Es gibt auch CPLDs mit EEPROM. z.B. ALTERA - EPM3256AQC208-7N 
http://de.farnell.com/altera/epm3256aqc208-7n/cpld-max3000a-256-macrozelle-208pqfp/dp/1742180

Denkst du ein FPGA kriegt nen 100x100-Fach multiplexer hin ohne ein I/O 
delay > 10ns ?

von uwe (Gast)


Lesenswert?

> Denkst du ein FPGA kriegt nen 100x100-Fach multiplexer hin ohne ein I/O
> delay > 10ns ?
bau doch mal einen auf mit Quartus II und guck dir die Timing Analyse 
an. Da kannst du auch gucken ob du sowas noch in ein CPLD reibekommst 
oder wie groß dein FPGA sein muss.

von uwe (Gast)


Lesenswert?

> - Dabei soll zumindest eine konfigurierbare Bidirektionalität erhalten
> bleiben.
Dann brauchst du also einen 100 mal 100fach Multiplexer und die müssen 
auch noch wahlweise Tristate können. Hmm...
Da wär es wohl einfacher dem FPGA für jede Konfiguration halt ne neue 
Konfiguration zu verpasssen.

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.