Kommunikation Mikrocontroller <-> FPGA

Gast #721349
Habe hier gerade mehrere beispiele gelesen, dass ich meine IC's
zerstören kann, wenn z.B. zwei miteinander verbundene Pins wegen
Programmierfehler einen Kurzschlüss machen (beide als Ausgang, "0" und 
"1").
Deswegen habe ich zwischen FPGA und Mikrocontroller 470 ohm Widerstände
gesetzt. Jetzt habe ich aber sehr viele Probleme mit meiner Schaltung:
Signale von FPGA zum Kontroller werden nicht richtig bzw. zu Spät 
erkannt.
Hat jemand paar Tipps für mich??

Wie wird's sowas in der Regel gemacht???

p.S. Spartan-3AN und ATMega32L, beide 3.3V
Pins am Spartan als LVTTL definiert.
Gast
470 Ohm sind ein bischen fett für hohe Frequenzen. 50 Ohm sind eher 
passend. Meist ist das aber nicht nötig. Natürlich sollte dafür Sorge 
getragen werden, daß die Pins richtig gegeneinander verschaltet sind und 
sich vertragen.
Gast
Bringt's was, wenn ich zwischen FPGA und Mikrocontroller einen 
3-state-buffer (74HC245) einsetze für 8-bit bidirectional Bus.
Das ganze läuft mit 14MHz Takt. BUS-Richtungsänderung muss innerhalb 2-3 
Takten erfolgen.
@ Koblenzer (Gast)

>Bringt's was, wenn ich zwischen FPGA und Mikrocontroller einen
>3-state-buffer (74HC245) einsetze für 8-bit bidirectional Bus.

Nein. Lass den Mist einfach weg und mach es direkt. So schnell stirbt 
kein FPGA. Und wenn doch, dann nennt man das Lehrgeld. Mussten wir alle 
zahlen.

MFG
Falk
Gast
@ Falk:
Lehrgeld, das Wort muss ich mir merken :)

@  Koblenzer:
schaue dir diesen Beitrag: 
Beitrag "Bidirektionale Pins in Quartus II (Altera)"
Da gehts prinzipiell um das gleiche Problem. Und wenn du alles richtig 
machst, kannst du nichts kaputt machen. Würde an deiner Stelle inout-Bus 
durchsimulieren und schauen, dass du keine undefinierten Zustände hast.
Die Pins von einem Virtex z.B. haben alle clamp dioden, da kannst du wie 
Falk schon sagte nicht so schnell was kaputt machen.

Die 470 Ohm sind sicherlich zu groß ausgelegt, eigentlich läuft meine 
Schaltung auch prima ohne die Widerstände.

> Signale von FPGA zum Kontroller werden nicht richtig bzw. zu Spät erkannt.
Hast die Die Masse des FPGAs mit der Masse vom Atmega verbunden? Das 
kann auch eine Ursache für gestörte Übertragung sein, wenn die keine 
gemeinsame Masse haben.
Gast
Danke!

Und noch'ne Frage:
wie muss ich im .ucf FPGA-Pins konfigurieren?? LVTTL oder LVCMOS???
Gibt's da welche Unterschiede für Kommunikation mit Mikrocontroller???
@ Koblenzer (Gast)

>wie muss ich im .ucf FPGA-Pins konfigurieren?? LVTTL oder LVCMOS???
>Gibt's da welche Unterschiede für Kommunikation mit Mikrocontroller???

Die Unterschiede sind bei 3,3V minimal (1,4V vs. 1,65V Schaltschwelle).

MFG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.