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.
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.
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
@ 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.
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???
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?
Laut Datenblatt ist ATMega32L von 2.7V bis 5.5V lauffähig. Wenn ich alles soweit hab, kriegt die fertige Platine einen ATMega256...
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.