Forum: Analoge Elektronik und Schaltungstechnik einfacher logikinverter 3,3v


von Florian T. (florian_t)


Lesenswert?

Hallo, ich möchte gerne einen Logikinverter für eine 3,3v Serielle 
Schnittstelle bauen. Das Problem sieht so aus: Ich habe einen Baustein, 
der ein 3,3v serielles Signal erzeugt welches invertiert ist. Ich möchte 
dieses Signal nun invertieren, um es am Raspberry Pi (ebenfalls 3,3v) zu 
lesen.

Ich habe etwas gestöbert und gesehen dass man für sowas einen Transistor 
in Emitterschaltung nehmen kann. Ich finde nur irgendwie keine Schaltung 
mit der ich etwas anfangen könnte. Denn meistens sind die Schaltungen 
gleich Pegelwandler, was ich nicht brauche und für einen einfachen 
Inverter finde ich meist nur ein Schaltbild mit nicht näher ausgeführten 
Werten für die Widerstände.

Was sind also sinnvolle Werte für einen 3,3v Inverter? Mir ist klar, 
dass ich auf der Ausgangsseite einen PullUp brauche, habe aber keine 
Ahnung was ein guter Wert wäre. Sind da 10k schon zu groß gewählt, oder 
nimmt man besser einen starken PullUp mit 4,7k? Was für einen Widerstand 
sollte ich an die Basis anklemmen? Sollte ich da 1,8k nehmen, oder mehr 
oder weniger?

Über eine kleine Hilfestellung wäre ich dankbar.

Viele Grüße und Dank im Voraus.

von Joe F. (easylife)


Lesenswert?

Die Dimensionierung der Widerstände hängt von der Frequenz des Signals 
und die an den Pullup angeschlossene Eingangskapazität ab. Langsame 
Signale erfordern weniger steile Flanken -> weniger Strom nötig.

Welche Frequenz hat dein Signal denn maximal?

: Bearbeitet durch User
von Alexxx (Gast)


Lesenswert?

nimm einen Inverter, der die 3,3V kann.
entweder 74LVC04AD oder ein single-Gatter NC7SZ04, dann kannst du dir 
den inverter sparen.
Eventuell reicht es den µC-Portpin auf invertierend zu stellen.
Oder in µC-Software invertieren.

von Invertiererfrager (Gast)


Lesenswert?

Florian T. schrieb:
> Ich habe einen Baustein,
> der ein 3,3v serielles Signal erzeugt welches invertiert ist.

Warum sollte ein Baustein auf eine solche Idee kommen (ein
invertiertes serielles Signal zu liefern)?

von Joachim B. (jar)


Lesenswert?

Florian T. schrieb:
> Das Problem sieht so aus: Ich habe einen Baustein,
> der ein 3,3v serielles Signal erzeugt welches invertiert ist.

wer macht sowas?

alle µC sind invertiert weil jeder RS232 Levelkonverter selber 
invertiert, also 2x MAX3232 an die µC um z.B. 3,3V an 5V zu koppeln oder 
ohne Invertierung nur mit nichtinvertierenden Pegelkonverter zu 
arbeiten, im einfachsten Fall Spannungsteiler von 5V nach 3,3V oder 
Serien R mit Ableitdiode von 5V zu 3,3V. Wer mag kann auch 74HC4050 
einen pro Richtung nehmen oder Transistoren

von Joe F. (easylife)


Lesenswert?

Hier mal meine Daumenregel für Transistor Inverter an "normalen" 
uC/Logic Inputs (bei VCC=3.3V):
1
Signal Frequenz        Pullup
2
  0  Hz ...   1 KHz    10K
3
  1 KHz ... 100 KHz:   4.7K
4
100 KHz ... 400 KHz:   2.2K
5
6
> 400 KHz - nicht mehr mit Pullup & Transistor invertieren, sondern push-pull Ausgang verwenden.

Da ein Transistor verstärkt, braucht der Basisstrom nicht größer sein, 
als der Strom durch den Pullup.
1/10 davon ist mehr als ausreichend.

Für einen NPN kann man daher generell irgendwas zwischen 10K und 47K 
nehmen. Hochohmiger macht das ganze anfällig für Störungen.
Ein Pulldown an der Basis kann auch nicht schaden (47K .. 100K).

Es gibt auch fertige "Digital-Transistoren", bei denen der 
Basiswiderstand und der Pulldown an der Basis bereits eingebaut sind. 
Man benötigt also nur noch den Pullup.
z.B. BCR148S, DTC114 etc.

Man kann auch einen "LogicLevel" N-Channel MosFET benutzen, dann 
entfällt der Basiswiderstand.
z.B. RE1C002UNTCL, RK7002B, SSM3K15FS
in vielen Fällen funktioniert auch ein stinknormaler 2N7002 bzw. 2N7000 
sehr gut bei 3.3V.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Joachim B. schrieb:
> Florian T. schrieb:
>> Das Problem sieht so aus: Ich habe einen Baustein,
>> der ein 3,3v serielles Signal erzeugt welches invertiert ist.
>
> alle µC sind invertiert weil jeder RS232 Levelkonverter selber
> invertiert

Für komische Werte von "invertiert". Tatsächlich sind die Pegel bei 
RS-232 so festgelegt, daß die negative Spannung einer logischen 1 
entspricht und die positive Spannung einer logischen Null. Wenn man auf 
die logischen Signale schaut, dann invertiert ein RS-232 Treiber also 
keineswegs.

Mehr noch, der RS-232 Empfänger macht die spannungsmäßige Invertierung 
wieder rückgängig, so daß der Logikpegel am Ausgang des RS-232 
Empfängers genau der gleiche ist wie der am Eingang des RS-232 Treibers.

Oder noch anders ausgedrückt: wenn man keine große Entfernung 
überbrücken muß, dann kann man bei RS-232 ganz auf Treiber und Empfänger 
verzichten und die beiden UART direkt mit Logikpegeln verbinden. Da muß 
gar nichts invertiert werden.

von Florian T. (florian_t)


Lesenswert?

Joe F. schrieb:
> Signal Frequenz        Pullup
>   0  Hz ...   1 KHz    10K
>   1 KHz ... 100 KHz:   4.7K
> 100 KHz ... 400 KHz:   2.2K
>
>> 400 KHz - nicht mehr mit Pullup & Transistor invertieren, sondern push-pull
> Ausgang verwenden.

Hallo Joe F.,
vielen Dank für diese äußerst hilfreiche Antwort. Genau das habe ich 
gesucht! Endlich mal jemand der verstanden hat was ich will. :)
Grundsätzlich gebe ich allen hier recht und wenn ich Sonntags eines 
dieser exotischen Bauteile da gehabt hätte, dann hätte ich diese Frage 
definitiv nicht gestellt. Da ich aber nur "normale" Transistoren und 
Widerstände rumliegen hatte sollte es ein einfacher diskreter Inverter 
werden.

Invertiererfrager schrieb:
> Warum sollte ein Baustein auf eine solche Idee kommen (ein
> invertiertes serielles Signal zu liefern)?

Keine Ahnung, ich hab den Hersteller nicht gefragt. Im Datenblatt steht 
halt dass die TX Leitung invertiert ist. RX gibt es keine, weil der 
Baustein nicht konfigurierbar ist.

Bei einer µC Schaltung wäre das auch überhaupt kein Problem gewesen. Da 
hätte ich die Bytes einfach im Code invertiert, aber beim RPI wollte ich 
das nicht unbedingt machen wenn ich einfach nur nen Transistor und 2 
Widerstände brauche.

von Arduinoquäler (Gast)


Lesenswert?

Florian T. schrieb:
> Keine Ahnung, ich hab den Hersteller nicht gefragt. Im Datenblatt steht
> halt dass die TX Leitung invertiert ist. RX gibt es keine, weil der
> Baustein nicht konfigurierbar ist.

Dann kannst du den TX Ausgang üblicherweise direkt auf einen
RS232-RX Pin geben um Daten zu übertragen. Die Pegelspezifikation
erlaubt diese Möglichkeit. Das hat man früher öfters gemacht
um z.B. von einem MIDI-Optokoppler (MIDI -> Musikinstrument)
Daten auf die RS232 zu bringen (man hat sich die negative
Versorgungsspannung sowie den RS232-Pegelwandler gespart).

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.