Forum: FPGA, VHDL & Co. STM32 mit FPGA unterstützen


von SukApx (Gast)


Lesenswert?

Hallo Forum,

ich habe mich bisher mit STM32'ern und auch schon mit FPGA's u.A. dem 
DE0-Nano Board beschäftigt.

Wie müsste die minimale Schaltung aussehen, um eine Platine zu 
entwickeln, auf der ich die FPGA Firmware aus dem STM32 lade?
Gibt es in der Richtung offene Projekte, bei denen man sich etwas Ideen 
holen könnte?


Vielen Dank für eure Ideen!

von Frank (Gast)


Lesenswert?

Naja, so ein üblicher Ladebaustein (z.B EPCS bei Altera) hat 1,4,16 oder 
64 MBit!
Wenn das dein STM32 neben deinem normalen Programm auf den uC nicht 
gerade noch übrig hat, brauchst du ein externes Flash.

von SukApx (Gast)


Lesenswert?

oha, doch so viel ... Wäre schon knapp bei nem STM32 der max 2MB Flash 
hat

von Frank (Gast)


Lesenswert?

Naja, wenn du evtl. sowieso ne SD-Card am STM32 hast wäre das ja kein 
Problem.
Aber 1xSDIO und 1xSPI (oder 2x SPI) brauchst du auch noch.

Nachteil ist halt auch noch das es etwas länger dauert wenn der STM den 
FPGA lädt wie wenn der direkt an einem EPCS/Q hängt.

von Disco (Gast)


Lesenswert?

Es gibt aber auch kleinere FPGAs die mit 2 MBit auskommen. Ein Spartan 3 
oder so. Natürlich ist das Teil recht alt. Nichts für neue Designs.

von Toni (Gast)


Lesenswert?

Am beispiel Altera wäre das dann im einfachsten Fall "Figure 8–13. 
Single-Device PS Configuration Using an External Host".
Am Ende ist nicht mehr als dem FPGA den Konfigurationsspeicher 
vorzugaukeln wie in "Figure 8–16. PS Configuration Timing Waveform".
( 
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyclone-iv/cyiv-51008.pdf 
)

Es geht auch noch simpler - mit einem CPLD. Sie sind nicht-flüchtig, das 
Konfigurieren (zur Laufzeit) entfällt. Allerdings stellt Dich die 
Implementierung je nach Umfang dann vor eine echte Aufgabe.

von Frank (Gast)


Lesenswert?

Toni schrieb:
> Es geht auch noch simpler - mit einem CPLD.

Oder halt ein MAX10.
Die Frage ist, ob man dann noch nen STM braucht oder ob dann ein NIOS 
reicht.

von Toni (Gast)


Lesenswert?

Frank schrieb:
> Oder halt ein MAX10.

Ich hoffe Du sitzt gerade - die laufen auch unter CPLD.

von Frank (Gast)


Lesenswert?

Toni schrieb:
> Frank schrieb:
> Oder halt ein MAX10.
>
> Ich hoffe Du sitzt gerade - die laufen auch unter CPLD.

Na dann sag das mal Alters:
https://www.altera.com/products/fpga/max-series/max-10/overview.smartphone.highResolutionDisplay.html

Aber lassen wir die Haarspalterei.

von Frank (Gast)


Lesenswert?

Altera

von Dimi S. (ilovespeccy)


Lesenswert?

Ich wollte auch mal den DE0-nano Board in einem Projekt verwenden, habe 
aber eine eigene Platine entwickelt.
Das problem bei der Sache ist folgendes:
Um FPGA auf dem DE0-nano Board von einem Microcontroller zu 
konfigurieren (in meinem Fall so genannte "Passive Serial" Mode), 
braucht man bestimmte PINS, die nicht rausgeführt sind. Auf dem 
Schaltplan des DE0-nano Boards ist auch nicht zu erkennen (genau diese 
Seite ist leer!), wie ich an diese Pins kommen könnte. Altera's Support 
hat sich geweigert diese seite zu veröffentlichen. Also, schade...

MfG

von Fitzebutze (Gast)


Lesenswert?

Nur so am Rande:
Andere Mütter haben auch schöne Töchter, wie z.B. die Lattice 
MACHXO2-Mädels.
Sind prima von aussen zu konfigurieren, externes Flash entfällt, und die 
SlaveSerial-Prozedur ist gut dokumentiert und funktioniert auch 
entsprechend. Nur, falls es bei Altera an der Geheimniskrämerei 
scheitern sollte...

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

> Wie müsste die minimale Schaltung aussehen, um eine Platine zu
> entwickeln, auf der ich die FPGA Firmware aus dem STM32 lade?
> Gibt es in der Richtung offene Projekte, bei denen man sich etwas Ideen
> holen könnte?

Minmale Schaltung:  STM32(Master) an den JTAG vom FPGA(Slave) legen.

Als herstellerübergreifend würde ich dann auf SVF gehen und einen 
SVF-Player in deinem ARM als Software schreiben.

Einstieg für deine Software:
http://www.clifford.at/libxsvf/

von Andreas B. (Firma: www.collion.de) (bergy) Benutzerseite


Angehängte Dateien:

Lesenswert?

Fitzebutze schrieb:
> Nur so am Rande:
> Andere Mütter haben auch schöne Töchter, wie z.B. die Lattice
> MACHXO2-Mädels.

für den beschriebenen Einsatz kleiner uC + CPLD hab ich gerade eine 
kleine Adapterplatine designd, welche einen 1200er MACH XO2 in einen 
schmalen 24 poligen DIP Baustein (30,6 * 10mm) verwandelt.
Verfügbar sind 18 IOs, zwei IO-Bänke (z.B.) zur Verwendung als 
Levelshifter.

Der MACH XO2 lässt sich über I2C oder SPI reprogrammieren und hat beide 
Schnittstellen sowie einen Timer in Hardware integriert und spart 
"Fabrik".

Gruß

Bergy

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas Bergmann schrieb:
> spart "Fabrik".
Die deutsche Übersetzung des englischen "Fabric" wäre "Geflecht" oder 
"Gewebe"...

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.