www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Einfaches Parallel-Interface


Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich muss eine Kommunikation zwischen dem FPGA und einem µC aufbauen, um 
vom µC zum FPGA, Steuerbefehle senden zu können. Für die Ausgabe möchte 
ich ein 8-bit paral. Leitung verwenden. Jetzt überlege ich mir, wie ich 
das Ganze realisiere und bin schon bei 4 Steuerleitungen angekommen, die 
nötig wären.
Kennt ihr vielleicht ein 8-bit paralleles Interface, was recht einfach 
ist und leichter als z.B. ser. I²C in FPGA zu emplementieren ist?

Autor: Cheru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum 4 Steuerleitungen? einfach Data_Valid, dieses Signal sync. du im 
FPGA ein und übernimmst, sobald es gesetz wurde, einfach einmal die 
Daten.

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muß es denn schnell gehen? Und in beide Richtungen? Vielleicht reicht ja 
auch was serielles, wie SPI.

http://www.ibrtses.com/electronics/fpgabasic.html

Rick

Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ cheru: Na ja, es ist einfach aber so einfach ist das auch nicht

@ Rick: Danke für deinen Vorschlag, ich habe es mir angeguckt.


So gesehen habe ich mein Kommunikationskonzept fertig, habe nun 8 
Datenleitungen und 3 Steuerleitungen.

Danke euch.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich brauche nur 2.

1. Leitung ist für den Interrupt beim µp
2. Für Handshake (BUSY FLAG) zwischem FPGA und µP

Und so funktioniert das ganze:

Du legtst die Daten an dan 8 Bit breiten Datenbus an (FPGA) Anschließend 
setzt Du das Interruptflag. Ein Interrupt wird bei µP ausgelöst. Die 
Interruptserviceroutine setzt zuerst das BUSY FLAG übernimmt die Daten 
und verarbeitet diese. Wenn Du mit der Verarbeitung fertig bist, nimmst 
Du das BUSY-FLAG wieder zurück. Somit weiß der FPGA das er neue Daten 
auf den Datenbus anlegen kann und erneut das Interruptflag setzen kann.

Fast hätte ich es vergessen. Das Interruptflag, das vom FPGA gesetzt 
wird, wird zurückgesetzt sofern das BUSYFLAG '1' ist.

Ich habe dies vor kurzem auch programmiert. Ist eigentlich ganz einfach

Grüsse

Sebastian

Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Leitung könnte ich theoretisch noch auslassen (die enable-leitung), 
da hätte ich auch nur noch 2 Steuerleitungen: CLK und R/W.

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.