www.mikrocontroller.net

Forum: FPGA, VHDL & Co. SPI Schnittstelle


Autor: Sebastian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe soeben für mein derzeitiges Projekt (Leiterplattenentwicklung;
zentrale Steuereinheit: FPGA APA075 von Actel) die Anforderung bekommen,
hardwaremäßig eine Standardschnittstelle für eventuelles Monitoring,
Dateneingaben oder vieles mehr, was man momentan noch nicht absehen
kann, am FPGA vorzusehen. Das heißt, ich brauche, wenn ich z.B. eine
SPI Schnittstelle wähle, doch nur die 4 Signalleitung (also 2x Daten
und 2xSteuerleitung) als Eingänge in den FPGA führen?

Was gibt es noch zu beachten?

Ist es überhaupt wirklich sinnvoll? - ist ja doch noch einmal ein ganz
schöner Programmieraufwand im Nachhinein (denn das VHDL Design steht
und funktioniert)

Hm, ich würd mich freuen, wenn sich ein paar Leute finden, die damit
schon Erfahrungen haben, also SPI in Zusammenhang mit nem FPGA und mir
da ein paar allgemeine Hinweise geben können.

Wenn meine kurzen Erläuterungen Fragen aufwerfen bevor man überhaupt
etwas dazu sagen kann, einfach stellen :o)

Vielen Dank schon vorab!

Gruß Sebastian

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mein FPGA(XC2S30) hat eine solche Schnittstelle, die wird JTAG
genannt.

Feadi

Autor: fpgaküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mein FPGA(XC2S30) hat eine solche Schnittstelle, die wird JTAG
genannt.

JTAG und SPI sind schon was anderes oder?
Und kann man JTAG im Design zur Steuerzwecken verwenden?

SPI cores (also fertiges VHDL, das funzt) gibts bestimmt für lau im
Netz, z.B. www.opencores.org . Überlicherweise verwendet man einen UART
im FPGA. Muss zwar auch erst in VHDL geschrieben werden, (gibbets aber
auch im Netz) und kann mit jeder seriellen schnittstelle kommunizieren.

Autor: Sebastian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Feadi: ...mein FPGA hat auch eine solche schnittstelle namens JTAG. Ist
nicht aber der Vorteil einer SPI Schnittstelle, dass ich keine
programmierumgebung benötige. ich möchte ja nicht das eigentliche
programm über die SPI Schnittstelle laden sondern kommunizieren, d.h.
monitoring oder senden/empfangen ...

@FPGAKüchle:wegen der software werd ich mal schauen, was mich noch
interessiert hat, benötige ich wirklich nur diese 4Leitungen (CS, SCKL,
SDI, SDO) ?

Gruß Sebastian

Autor: alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>was mich noch
>interessiert hat, benötige ich wirklich nur diese 4Leitungen (CS,
SCKL,
>SDI, SDO) ?

Ja.

Autor: Sebastian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde fpgaküchle's Rat befolgen. Mit einem UART bist Du besser
bedient. Notfalls kannst Du mit jedem x-beliebigen Computer mit
serieller Schnittstelle debuggen. Zudem solltest Du beachten, daß bei
SPI jedes 'Endgerät' ein CS bekommen sollte. Bei nur 4 genutzten
Leitungen des FPGA (Clock, Select, DIN, DOUT) hast Du keine
Erweiterungsmöglichkeit.

Autor: Ines (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei SPI aber mit einem (deutlich) geringeren Hardware-Aufwand
verbunden ist.

Autor: Sebastian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Problem ist, dass ich den gesamten Stromlaufplan der Leiterplatte
bereits fertig habe. Da ich das Projekt "nur" übernommen habe, gab es
gewisse Vorgaben, z.b. Package TQFP 100... an dem FPGA sind gerade noch
5 I/O's frei. Da auch ein gewisser Zeitdruck besteht möchte natürlich
niemand etwas von Umbau, sprich 144 oder 208 Pins, hören, was ich als
sehr nachteilig empfinde. Also versuche ich irgendwie mit meinen
5freien Pins hin zu kommen, da bietet sich SPI schon an ... ?!

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK ich hab mal nachgezählt wieviel Strippen zwischen FPGA und ser.
Schnittstelle liegen: eins, zwei, DREI. Drei Strippen reichen aus.
beachten solltest Du die allerdings die unterschiedlichen Pegel
zw. FPGA und PC (ser. Schnittstelle), die einen Transceiver Chip
erfordern.z.B. LT1785. Denn bekommt man bequem in den Stecker rein der
das ser. Kabel mit der FPGA Platiene verbindet.

Software und Beschreibung gibts für den Dinosaurier ser. Schnittstelle
wie Sand am Meer.

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ines:
Wieso 'deutlich' geringerer Hardwareaufwand bei SPI? Seriell bedeutet
nicht unbedingt +12V/-12V, sondern kann auch auf TTL-Level geschehen.
Wie FPGAküchle schon sagt, muß man nur die Verbindung zum PC mit
Pegelwandlern bestücken. Ich sehe da keinen Mehraufwand.

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@FPGAküchle:
RXD und TXD sollten doch reichen. Wieso 3? GND oder Hardwarehandshake?

Autor: Ines (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ André:
Das mit den Hardwareaufwand war auf die FPGA-Resourcen bezogen.

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<@FPGAküchle:
<RXD und TXD sollten doch reichen. Wieso 3? GND oder
<Hardwarehandshake?

GND,RXD,TXD, kein HW-shaking(Buadrate: 115200 reicht).

Autor: Sebastian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja super, dann werd ich mal los legen ...

DANKE :o)

Autor: high_speed (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian

Lege dann aber alle 5 freien Leitungen auf den Stecker.
Man weiß ja nie, wofür man die noch gebrauchen kann.

MfG
Holger

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.