www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Kommunikation Mikrocontroller <-> FPGA


Autor: Koblenzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jens Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Koblenzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Artur Funk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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.

Autor: Koblenzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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???

Autor: Koblenzer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Bild noch :)

Autor: Artur Funk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LVTTL, wenn dein Atmega im L-Package ist.

Autor: Artur Funk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HHmm, habe mir das Bild angeschaut, scheint ein ein Atmega im DIP zu 
sein. Sicher, dass der mit 3,3 Volt und nicht mit 5 V läuft?

Autor: Koblenzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut Datenblatt ist ATMega32L von 2.7V bis 5.5V lauffähig.
Wenn ich alles soweit hab, kriegt die fertige Platine einen ATMega256...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

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.