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.
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
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.
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)?
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
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.