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


von Sascha (Gast)


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.

von Sascha (Gast)


Lesenswert?

ThreadHochHol

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

von TobiFlex (Gast)


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

von T-Brox (Gast)


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

von Zennehoy (Gast)


Lesenswert?

Das gleiche Problem habe ich auch, und beim loesen habe ich das
gefunden:
http://www.analog.com/UploadedFiles/Application_Notes/939424848ee_103.pdf
Im Prinzip genau das was Torsten auch vorschlaegt.
Cheers!
Zen

von Zennehoy (Gast)


Lesenswert?


von T-Brox (Gast)


Lesenswert?

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

CU
Torsten

von Falk S. (Gast)


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

von Falk S. (Gast)


Lesenswert?

ginge auch folgender bus Switch:

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

von Zennehoy (Gast)


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/parametricsearch.tsp?familyId=707&templateId=5985&navigationId=11385&family=logic&paramTable=yes

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

von Zennehoy (Gast)


Lesenswert?


von Zennehoy (Gast)


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

von Zennehoy (Gast)


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.

von Falk S. (Gast)


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

von Zennehoy (Gast)


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

von Falk S. (Gast)


Lesenswert?

@ Zen:

Guter Einwand! Ich versuch mich mal an dem ADG3300!

Gruß
Falk

von Zennehoy (Gast)


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

von TobiFlex (Gast)


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

von Zennehoy (Gast)


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

von Falk S. (Gast)


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)

von Zennehoy (Gast)


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

von Falk S. (Gast)


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

von TobiFlex (Gast)


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

von Lanny (Gast)


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

von Jochen Pernsteiner (Gast)


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

von Jochen Pernsteiner (Gast)


Lesenswert?

letzte Zeile nochmal:

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

von Lanny (Gast)


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

von Zennehoy (Gast)


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

von Sascha (Gast)


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).

von olli (Gast)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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"... :-/
1
-S3A Generation (A/AN/A DSP) use a different I/O structure than S3/S3E so 
2
the current limiting resistor trick to interface to 5V input signals isn't 
3
recommended. See the applicable user guide.
Aus 
http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Spartan-2-XC2S15-end-life/td-p/74303

von Stuntman Bob (Gast)


Lesenswert?

Hallo,

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

SN74CBTD3384C

http://de.farnell.com/texas-instruments/sn74cbtd3384cdw/logik-schalter-bus-fet-10bit-24soic/dp/1753582

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.

von enan (Gast)


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.

von Purzel H. (hacky)


Lesenswert?

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

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.