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


von Michael (Gast)


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

von Bustle (Gast)


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.

von Michael (Gast)


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

von Dirk (Gast)


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

von Jürgen Schuhmacher (Gast)


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.

von Michael (Gast)


Lesenswert?

Was meinst Du denn mit LV-Treiber

von Falk S. (Gast)


Lesenswert?

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

Gruß
Falk S.

von Jürgen Schuhmacher (Gast)


Lesenswert?

LV? Lo-Voltage Baustein.

von Martin Kohler (Gast)


Lesenswert?

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

Müssen die Ports bidirektional sein?

von breti (Gast)



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

von Jürgen Schuhmacher (Gast)


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.

von Michael (Gast)


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/sn74alvc164245.html

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

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
Noch kein Account? Hier anmelden.