PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : levelshifter mit nand-gatter?



Roboman93
04.10.2009, 12:46
ich brauche einen levelshifter, da ich in einer schaltung ein ic mit 5v, ein anderes mit 3,3v habe. er muss nur unidirektional, vom 3,3v zum 5v, sein. kann ich dafür ein nand-gatter nehmen, einen eingang auf gnd, den anderen an den ausgang des 3,3v-ics und den ausgang an den eingang des 5v-ics?

mfg roboman

021aet04
04.10.2009, 13:07
Du könntest die gleiche Schaltung nehmen, wie sie für den I2C Bus verwendet wird. Hier ist der Link zu meiner I2C-Verteilerplatine, in der ich auch die Schaltung verwendet habe (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=47949&postdays=0&postorder=asc&start=0). hier ist die Schaltung http://www.mikrocontroller.net/attachment/6176/3_3V-I2C.JPG

CowZ
04.10.2009, 13:30
Wenn du Glück hast, ist der 5V-IC kompatibel zu deinen 3V3-Pegeln. Schau mal ins Datenblatt. (Oder sag, um welche ICs es sich handelt...)

Mit einem NAND-Gatter geht es zumindest nicht. Schau dir dazu mal die Logiktabelle eines NAND-Gatters an, das wird nicht so funktionieren wie du meinst.

Gruß
CowZ

Roboman93
04.10.2009, 13:37
das ic ist ein enc28j60. im datenblatt steht, man braucht ein levelshifter für die pins, die zum 5v-controller gehen. im datenblat steht auch, man kann and-gates nehmen, da dachte ich mir, nand's gehen auch.

mfg roboman

uwegw
04.10.2009, 13:46
Wenn du ein NAND so verschaltest, wird das Signal invertiert.

Ob ein Logikgatter von 3,3V auf 5V wandeln kann, hängt von der Baureihe ab. 74HC... geht nicht, 74HCT... geht.


PS. spricht was dagegen, das gesamte System auf 3,3V umzustellen?

Roboman93
04.10.2009, 13:49
so weit ich weiß, läuft der atmega644 bei 16mhz bei 3,3v nicht mehr, oder?

mfg roboman

PICture
04.10.2009, 14:01
Hallo!

@ Roboman93

Es soll normaleweise ohne Levelschifter möglich sein, da die meisten 5 V TTL-Logik-Eingänge eine Spannung höher als 2,4 V als "H" Pegel annehmen.

MfG

Artur
04.10.2009, 14:16
Hallo!

@ Roboman93

Es soll normaleweise ohne Levelschifter möglich sein, da die meisten 5 V TTL-Logik-Eingänge eine Spannung höher als 2,4 V als "H" Pegel annehmen.

MfG

Wenn das nicht gehen sollte - 74er Serie mit "Open Colector" + Wiederstand nehmen

Oder einfach ein Transistor als PegelDingsDa verbauen - wie viele brauchst du da? bei nur einem oder zwei - Transistor wäre evtl einfacher

Roboman93
04.10.2009, 14:27
ich habe jetzt mal nachgemessen. wenn man 2 nand hintereinander schaltet und am eingang 3,3v anlegt, kommen hinten 5 raus. ich werd dann die nand-gatter ald levelshifter nehmen-

mfg roboman

PICture
04.10.2009, 14:32
Man könte auch beide Logikpegel mit einer Diode "erhöhen" (siehe Code).

MfG

VCC=5V
+
|
.-.
| | R
| |
'-'
|
3,3V Logik >-----|<-+-----> 5V Logik

D

CowZ
04.10.2009, 14:36
Was wir dir vorschlagen, ist dir total egal, oder?

Also nochmal zusammengefasst:
- wenn du die NANDs so benutzt wie du vorgeschlagen hast (ein Eingang auf GND, den anderen auf's Signal), wird es nicht funktionieren (siehe Logiktabelle eines NANDs)
- die ATMegas erkennen 3V3 als High. Sollte also auch komplett ohne Wandler funktionieren
- es gibt einfache Transistorschaltungen (sollte auch kleiner werden, je nach Anzahl der Signale)
- es gibt noch einfachere Diodenschaltungen

Gruß
CowZ

Besserwessi
04.10.2009, 21:09
Es Stimmt zwar das ein 3.3 V Signal beim Megaxx4 als high erkannt wird bei VCC=5 V, allerdings ist das schon recht knapp, denn die Grenze dafür leigt bei 3 V. Da wäre es besser den µC mit etwas weniger als 5 V zu betreiben (z.B. 4-4,5 V): das reicht für 16 MHz und auch etwas weniger als 3 V werden sicher als high erkannt. Das mancht dann auch die andere Richting einfacher.

Sonst ist ein HCT IC als Pegelwandler gut. Allerdings eher ein Inverter, bzw. 2 hintereinander oder ein UND bzw. ODER gatter, aber weniger gut ein NAND Gatter.

Für nur 1-2 Leitungen kommt auch eine Schaltung mit Transistoren oder besser MOSFETs in Frage.