µP an FPGA anschließen

Gast #389925
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
Gast #389926
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.
Gast #389927
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
Gast #389929
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.
Gast #389934
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
Gast #389936
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren