www.mikrocontroller.net

Forum: FPGA, VHDL & Co. 5V Logik an 3,3V FPGA


Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte gerne eine 5V-TTL-Logik (LCD-Display mit HD-Controller) an
einen 3,3V FPGA anschliessen.
Was für Bausteine gibt es da? Geht es möglicherweise auch bidirektional
(ohne Richtung angeben zu müssen)?

Ausserdem möchte ich weitere 3,3V-I/O-Pins gegen versehentliches
anlegen von 5V schützen.
Auf den Dev-Boards von Altera sind Bus-Switches (Pericom PI5C3384) zum
Schutz gegen 5V-Pegel verbaut. Die Switches sind permanent aktiviert
und werden durch eine 1N4001 mit 5V versorgt. Wie funktioniert das?
Ich brauche einen zuverlässigen Schutz, da die Boards im Unterricht
eingesetzt werden sollen.

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ThreadHochHol

Da hat wohl was mit der Serverzeit nicht gestimmt. Ich habe den Thread
gestern gestartet und nicht 2004...

Autor: TobiFlex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sascha,
dieses Problem hat mich auch schon beschäftigt. Um diese Problematik zu
umgehen, habe ich mich dann für nicht mehr aktuelle ACEX-Familie
entschieden. Wenn VIO mit 3,3V gespeist wird sind die Eingänge 5V
tolerant. Ausgänge  haben  einen maximalen H-Pegel von 3,3V. Das reicht
für normale TTL-ICs. Bauteile die einen CMOS-TTL-Pegel verlangen müssen
noch mit einem Pullup Widerstand gegen 5V beschaltet werden.
Inzwischen weiß ich auch wie die Cyclone (nicht Cyclone II) Familie 5V
verträglich beschaltet werden. VIO=3,3V und in die Leitung einen 150
Ohm Widerstand einfügen. Im Design müssen an den betreffenden Pins die
internen Clampingdioden aktiviert werden.
Ob das bei den Cyclone II und Stratix -Familien auch so geht weiß ich
nicht. Für Cyclone II hab ich nichts gefunden und für Stratix nicht
geguckt.
Viele Grüße
TobiFlex

Autor: T-Brox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sascha!

Ich weiß nicht, wie flexibel du mit deinem Board zwischen FPGA und TTL
bist. Falls du noch ein wenig Platz hast, kannst du diese Anpassung mit
einem einfachen Transistor und zwei Widerständen vornehmen.
Sowohl Kollektor wie auch Emitter des Transistors werden über
Pullup-Widerstände auf 3,3V bzw. 5V gezogen. Der Transistor selbst wird
voll durchgeschaltet. Vorteil dieser Variante ist u.a. auch die
Bidirektionalität. Der Transistor wird dann zwar in eine Richtung
invers betrieben, aber es sollen ja Signale und keine Leistungen
übertragen werden.

Gruß
Torsten

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das gleiche Problem habe ich auch, und beim loesen habe ich das
gefunden:
http://www.analog.com/UploadedFiles/Application_No...
Im Prinzip genau das was Torsten auch vorschlaegt.
Cheers!
Zen

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: T-Brox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Zen:
Sehr schöne AN's. Die kannte ich noch nicht. Top Tip.

CU
Torsten

Autor: Falk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Will gerade einen Spartan 3 (3,3V I/O) an ein 5V Device über einen
bididrektionalen Bus anschließen und habe daher ein ähnliches Problem.

Habe mal bei COnrad und Reichelt nach den Teilen von Pericom (Bus
switches) gesucht, aber  nichts gefunden. Woher bezieht ihr die Teile?

Könnte man auch einen GAL/PAL dazwischen packen, der 5V tolerant ist?

Gruß
Falk

Autor: Falk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ginge auch folgender bus Switch:

http://www.farnell.com/datasheets/14144.pdf?

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gah, Namen vergessen => von vorne schreiben (mal wieder). Koennte mann
das vielleicht mal aendern?

Also, nochmal:
Schau mal hier, TI hat auch fuer fast alles freie Samples:
http://focus.ti.com/paramsearch/docs/parametricsea...

Analog hat sowas auch, ist aber nicht ganz so grosszuegig mit freien
Samples.

Wenn dir da nichts passt, kannst du die Dinger wahrscheinlich auch noch
wo anders bekommen. Such mal nach "voltage level translator".
Viel Erfolg!
Zen

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, das war der falsche Link.
Versuch's mal hier:
http://focus.ti.com/paramsearch/docs/parametricsea...

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ADG3308 sieht eigentlich ganz gut aus, ist allerdings nicht als DIP
erhaeltlich, sondern nur als TSSOP.
Wenn jemand einen aehnlichen mit DIP sieht, bitte melden!
Zen

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und noch einmal ;)

Der ADG3300 scheint identisch mit dem ADG3308 zu sein(?), ist aber im
TSSOP bei Analog auch als freies Sample zu haben.

Autor: Falk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
folgenden Bus switch gibt es im DIP Gehäuse...das sieht zumindest aus
wie ein DIL:

http://www.farnell.com/datasheets/14144.pdf

weiß jedoch nicht ob er geeignet ist... Hat einer Ahnung?

gruß´
Falk

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das koennte auch gehen, ist aber nicht als Level-Switch gedacht, sondern
dafuer, einen Bus fuer Hotplugging zu isolieren.
Das schoenne am ADG3300 ist, dass er keine weiteren externen
komponenten braucht.
Der FST3244 wuerde zumindest noch pull-up Wiederstaende brauchen, siehe
die A-Notes oben.
Zen

Autor: Falk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Zen:

Guter Einwand! Ich versuch mich mal an dem ADG3300!

Gruß
Falk

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viel Spass beim Loeten ;)
Ich hab ihn mir auch bestellt. Mal schauen ob er schneller eingeloettet
oder eingeatmet ist...
Gibt es irgenwelche Tricks dazu, kleine IC's per hand zu loeten?
Cheers!
Zen

Autor: TobiFlex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wollt ihr denn alle Eure eigenen Boards bauen? Ich löte mir auch gerade
einen Prototypen zusammen. Irgendwie gibt es nichts passendes. Das
Board soll vor allem flexibel sein. Deshalb nutze ich einen ATMEGA162
und eine SD-Karte zur Konfiguration. D.h. SD-Karte mit einem anderen
Config-File eingesteckt und schon macht das Board beim Einschalten was
anderes. Das macht einen Flashspeicher und einen Konfigurationsspeicher
auf dem Board überflüssig. Und nach der Konfiguration kann der FPGA die
SD-Karte nutzen. Vielleicht solle man sich zusammen tuen???
Viele Grüße
TobiFlex

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke ich kaufe mir von XESS ein Evaluation-Board, und bau mir dann
dazu meine eigene Platine um anzubauen was ich brauche, sprich Video
eingang und Motorsteuerung fuer 'nen Roboter. Die meisten (alle?)
moderenen FPGA's kommen als Ball-Grid-Array verpackt, was leider nicht
per hand zu loeten ist, daher ein E-Board kaufen.

Mir gefaellt deine Idee von wegen SD-Karte sehr. Die XESS-Boards
benutzen fuer aehnlichen Zweck einen Xilinx CPLD, der unter anderem
auch dafuer zustaendig ist ein Xilinx JTAG-Kabel zu emulieren. Kann
aber auch beliebig umprogramiert werden. Im normalen Betrieb koennen
auf dem Flash bis zu 4 Konfigurationen fuer den FPGA gespeichert
werden, wovon dann eine per DIP-Switch ausgesucht werden kann.

ei dem zusammen tuen (zumindest was eine gemeinsame Hardware betrifft)
ist doch immer das Problem, dass jeder etwas anderes moechte. Ich zum
Beispiel brauche ein moeglichst kleines Board um auf den Robo zu
passen, und ausserdem eins das moeglichst wenig Strom verbraucht da
Batterie-betrieb. Andere brauchen vielleicht USB, RS232, Ethernet oder
aehnliche anschluesse mit denen ich nichts anfangen kann.
Generell sind Evaluation-Boards dafuer gemacht, moeglichst flexibel zu
sein. Aber wie du schon sagst, es ist trotzdem nicht leicht (oder sogar
unmoeglich) genau das zu finden was man gerne haben moechte. Daher
selbst bauen, und ich fuerchte daher auch jeder selbst bauen...
Ich nehme jedenfalls stark an dass das so kommt.

Ideen austauschen ist aber auf alle Faelle immer eine gute Idee!
Zen

Autor: Falk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde die Starter Kits von Xilinx haben ein ganz gutes
Preis/Leistungsverhältnis (Coolrunner bord für 40€, Spartan3 für 80€)
und die alle Pins sind an Steckerleisten angeschlossen.

Ich möchte nun ja ein 5V Device anschließen und werde mal so einen
Busswitch ausprobieren. Flexibler wäre natürlich ein GAL/PAL, da man
hier PINs vertauschen kann (wenn ich ein Peripherie board am CPLD und
FPGA betreibe ist zwar der Stecker gleich, beim FPGA sind nur ein par
Pins reserviert).

Frage: Kann ich einen GAL/PAL als Level shifter benutzen?

@Zen: Löten von so kleinem Kram: falls Platine Lötstopplack hat
Lötpaste drauf und IC auflöten indem man einfach die Beinchen mit dem
Lötkölben Heiß macht...hab ich so gehört ;o)

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, und ohne Loetstopp? Na, mal sehen, dauert sowieso noch ein bischen
bevor ich damit auch wirklich anfange.

Der Grund fuer's XESS Board ist bei mir: klein, viel RAM, wenig
ueberfluessige Peripherie, VIELE (1 Mio.) Gatteraequivalenten.

Ein GAL/PAL ist doch einfach ein ganz kleiner "FPGA" oder? Wenn der
5-Volt Tolerant ist und selbst nur mit 3.3V funktioniert dann ja,
kannst du so was fuer diesen Zweck auch benutzen.

Der Trick bei einem Levelshifter ist, dass man ohne DIR Pin in beide
Richtungen senden kann. Das geht bei einem GAL wiederum nicht.

Zen

Autor: Falk S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Zen:

Der Punkt mit dem Problem des richtungumschalten beim GAL ist ein guter
Punkt... also doch der Levelshifter.
Ich werde fürs rumprobieren das Ding vielleicht mal auf eine DIL
Präzisionsfassung löten...irgendwie...

Falk

Autor: TobiFlex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Vorhin bin ich auf ein sehr interessantes Board gestoßen:
http://www.terasic.com/english/fpga_01.htm
Da scheint das Preis- Leistungsverhältnis auch zu stimmen.
Für $149 ist es ein gutes Rundumpaket mit einem Altera EP1C6.
Da sind auch 2X40 Pins auf Steckverbinder geführt. Einer ist allerdings
auch mit Komponenten auf dem Board verbunden.
Aber jetzt zum eigendlichen Thema:
Vor den Steckverbindern sind die oben von mir angesprochenen
Widerstände in den Leitungen. D.h. wenn in dem Design die internen
Clampingdioden aktiviert wurden, sind die Anschlüße 5V kompatibel.
Ich schätze bei diesem Board werde ich schwach.

Kennt jemand schon dieses Board?
- Aber halt - das sollte vielleicht in einen neuen Thread.
TobiFlex

Autor: Lanny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum benutzt Ihr nicht einfach zum vorschalten einen mit 3.3V
versorgten 74AC245. Ist ein Bustreiber der mit 3.3V funktioniert und 5V
tolerant ist. Den gibts in verschiedenen Gehäusen und kostet quasi fast
gar nichts weil es absoluter Standard ist.

Bis denne

Autor: Jochen Pernsteiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ist ein Bustreiber der mit 3.3V funktioniert und 5V
>tolerant ist.


Im Datenblatt steht aber was anderes:

DC Input Voltage (VI): −0.5V to VCC + 0.5V

Autor: Jochen Pernsteiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
letzte Zeile nochmal:

DC Input Voltage (VI): -0.5V to VCC + 0.5V

Autor: Lanny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So noch mal dazu, der Baustein macht es. Setze ihn schon ne Zeit lang
ein. Sitzt als Level-Transformer vor nem Spartan 3 und nem Blackfin
DSP.
Gab noch nie Ausfälle. Mit 3,3V gespeist verträgt er aber trotz dem 5V
als Eingangsspannung ohne zu sterben. Von da her eignet er sich ganz
gut ohne viel Aufwand. Wenn man es natürlich übertreiben möchte kann
man auch einen Xilinx Cool Runner xpla3 nehmen der wird auch mit 3.3V
gespeist und hat eine IO-Tolleranz von 5V. Gibt dann aber auch schön
3.3V aus. Kann man ja dann mit dem ISE Web Pack programmieren.
Nachteil,  ist der doch höhere Preis im Gegensatz zu den Cent Artikeln
der 74er Reihe. Wie gesagt war nur ein Tip aus der Praxis, und teurer
gehts immer :-).

cu

Autor: Zennehoy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Allerdings geht es mit dem 74AC245 nicht in beide richtungen! Jedenfalls
nicht ohne "dir"-Signal (T/!R). Mit einem Levelshifter geht das auch
ohne!
Zen

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich setze jetzt die
TI SN74CB3T3245 8-BIT FET BUS SWITCH 2.5-V/3.3-V LOW-VOLTAGE WITH
5-V-TOLERANT LEVBL SHIFTER ein.

Funktioniert wunderbar. Ich habe von TI ohne Probleme 10 freie Samples
davon erhalten und werden demnächst mehrere davon bestellen.

Ich habe einen davon als Versuchskaninchen verbraten. Bei 5V kein
Problem: 3,3V an der anderen Seite. Selbst bei knapp 13V kamen am
anderen Ende nur 3,3V raus. Bei so ca. 14V hat sich der Switch dann
gegrillt. Allerdings scheint die Spannung aber nicht zum anderen Ende
durchgekommen zu sein. Jedenfalls hats mein Multimeter nicht
registriert.

Die TIs bekommen als Versorgungsspannung 3,3V. Die Pericom Switches
werden über eine 1N4001 mit 5V (also ca. 4,2V) versorgt. In der Appnote
steht da müssten dann so ca. 3,3V am Ausgang rauskommen.
Die Ti-Dinger scheinen mir persönlich da sicherer.

Weiss jemand einen Händler, die die SN74CB3T3245 im Programm hat? Ich
habe da nur digikey.com in den USA gefunden. Die liefern auch weltweit
(haben auch ne deutsche Webseite und einen deutschen Katalog).

Autor: olli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

habe auch das gleiche Problem, will aber auf Level-Shift-ICs verzichten.
Möchte von 5V TTL (Ausgang) auf 3.3 CMOS Pegel (Eingang).

Der FPGA ist ein Spartan 3A DSP 3600k Gates.

Ist es möglich anstatt einem Level Shift einen Vorwiderstand zu nehmen 
der den Strom begrenzt damit der Eingangspin des FPGAs nicht überlastet 
wird.

Wäre die etwas günstigere und einfachere Variante.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
olli schrieb:
> Ist es möglich anstatt einem Level Shift einen Vorwiderstand zu nehmen
> der den Strom begrenzt damit der Eingangspin des FPGAs nicht überlastet
> wird.
Das ging noch bei den ursprünglichen S3. Aber beim S3A ist dieser Trick 
"not recommended"... :-/
-S3A Generation (A/AN/A DSP) use a different I/O structure than S3/S3E so 
the current limiting resistor trick to interface to 5V input signals isn't 
recommended. See the applicable user guide.
Aus 
http://forums.xilinx.com/t5/Spartan-Family-FPGAs/S...

Autor: Stuntman Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe genau für denselben Zweck diesen Baustein hier benutzt:

SN74CBTD3384C

http://de.farnell.com/texas-instruments/sn74cbtd33...

Ich habe noch 23 Stück davon übrig und keine Verwendung mehr dafür. Für 
40 Cent/Stück kannst du sie haben. Du kannst auch mit Netzwiderständen 
arbeiten aber das verzögert unter Umständen die Schaltzeit ein wenig und 
du verbrätst mehr Strom dabei.

Autor: enan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fürs lvl shifting zwischen 3.3 und 5V benutze ich einen txb0108 von TI.
Er hat 2 Versorungs-Pins also einern für 5V und einen für 3.3V. Arbeitet 
bidirektional und ohne direction Pin. Es gibt eine interne Logik, die ab 
einem bestimmten Strom die Richtung schaltet und damit die 
flankensteilheit im ersten Moment sichergestellt wird gibts noch einen 
schnellen internen FET der dafür sorgt. Wird noch getestet sobald die 
Platine da ist. Scheint aber auf den ersten Blick vielversprechend zu 
sein.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende einen FST3245 MTC, der jeweils mit 3.3V gespiesen wird. Er 
funktioniert ohne Richtungsumschaltung, passiv.

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.