mikrocontroller.net

Forum: FPGA, VHDL & Co. µP an FPGA anschließen


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo @ all

Ich wille einen µP (Atmel Mega32) am FPGA anschließen. Der µP wird an
eine Versorgungsspannung von 5V angeschlossen. Der µP steuert ein
Display an, dass ebenfalls an der Versorgungsspannung von 5V
angeschlossen ist. Ich weiß man hätte auch vom FPGA das Diplsay
ansteuern können, aber mein Chef möchte es so haben.

Nun zu meiner Frage: Wie bekomme ich die unterschiedlichen
Spannungspegel in den Griff. Zwischen µP und Display gibt es keine
Probleme, da beide mit 5V Pegeln laufen. Jedoch zwischen dem Spartan 3
(der Logikpegel von 3,3V für High) und dem µP können Probleme
auftauchen. Der µP kann als minimalen Pegel 0,6 VCC erkennen. --> 0,6
*5V = 3V. Dies ist nicht besonders gut, denn wenn die 5V
Versorgungsspannung nicht besonders stabil ist, dann kann es zu
Problemen kommen, denn 0,6 * 4,5V = 3V.

Ich benötige 14 Ports zwischen FPGA und µP. Was kann ich machen, damit
es funktioniert?

Grüsse

Michael

Autor: Bustle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du immer Signalbündel?

Wenn ja kannst du einen Bus Transceiver dazwischen schalten. Die
Richtung könnte dann z.B. der FPGA bestimmen.

Z.B. den 74LVC4245A

Ich sehe nicht das Problem bei der High-Pegel erkennung. Sondern darin
das der Spartan 3 offiziell keine 5 Volt an einem USER IO toleriert.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Spartan muss nur senden. Die 1 Handshakeleitung zum Spartan hint
kann ich mit einem Transitor regelen. Wenn die Spannung am µP 5,2V ist,
dann benötigt der µP als minimalen High-Pegel 3,12V (0,6 * 5,2V) Da der
FPGA einen unter Worst Case einen minimalen High-Pegel von 3,0V
ausgeben kann, wird der µP diesen dann nicht als High-Pegel erkennen.
Ich weiß das kann nur unter absoluten schlimmen Bedingungen auftreten.
Aber wir wollen unsere Geräte Weltweit verkaufen. Da kann man sich
keine Fehler erlauben. In Thailand und Umgebung ist das Klima halt sehr
extrem.

Ich werde mir mal den Baustein anschauen

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ganz einfach waere es so:

µC (5V) -> --- R --- FPGA(3,3V) und dann noch einen Pull Up bzw.
Pulldown mit ran.

Eine andere Alternative waere ein 74LCV244 oder ST2378.


Gruß,
Dirk

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen R würde ich da nicht nehmen, der bildet mit den
Eingangskapazitäten einen tiefpass und verhindert hohe
Datenübertragungsraten. Das Pegelproblem wird damit auch nur
unzureichend gelöst. Ich würde einen Levelshifter nutzen. Ich hatte da
mal einen bidirektionalen Bustreiber von TI im Einsatz. Der hiess
CBT3245 oder so, wobei er sich verhält wie ei normaler "245"
allerdings in beiden Richtungen mit verschiedenen Spannungen betrieben
werden kann. An die 5V-Seite kommen dann eben die 5V und der uC und an
die 3,3V-Seite die LV-Peripherie. Die Schltverzögerungen liegen im
Bereich von nS und erlauben einen hohen Bustakt.´

Unidirektional würde ich einfach einen LV-Treiber nutzen und mit
geringerer Spannung betreiben. Bei TTl-Pegeln HCT-Bausteine.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst Du denn mit LV-Treiber

Autor: Falk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein bus-switch kann als Pegelwandler genommen werden. Gibt es z.b. als
8fach version. Einfach dazwischen schalten.

Gruß
Falk S.

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LV? Lo-Voltage Baustein.

Autor: Martin Kohler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich benötige 14 Ports zwischen FPGA und µP.
>Was kann ich machen, damit es funktioniert?

Müssen die Ports bidirektional sein?

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

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hatte letztens ein ähnliches Problem. Wenn Du auf Nummer sicher
gehen willst, so würde ich Dir auch einen Pegelwandler mit 2
Versogungsspannungen empfehlen. Bei meiner Suche bin ich auf die TI
Seite gestoßen. Auf der Website gab es recht viel. Ich hab mal ein
"Voltage Translation Guide" angehängt, welches ich dort auch gefunden
habe.

Gruß,
Thomas

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gutes Dok! Die von mir oben erwähnten Bausteine in CBT (cross bar
technology) sind genau die empfohlenen für das 5.0 <-> 3.3 - Problem.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht schlecht werde es mir mal am Montag durchlesen. Ich persönlich
habe mich für den folgenden Baustein entschieden:


http://focus.ti.com/docs/prod/folders/print/sn74al...

Dies ist ein IC von Texas Instrument (www.ti.com)

Es ist ein Dual Supply Translater. Dual da es 2 mal 8 Ports hat, also
insgesamt 16 Ports wandeln kann. Der Baustein ist bidirektional. Er
besitzt 48 Pins und der Preis liegt bei 1,5€.

Grüsse Michael

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.