Forum: Mikrocontroller und Digitale Elektronik BSS138 Level shifter


von Alex Z. (alexander_z49)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe hier ein Breakout Board mit 4 BSS138 als Bidirectionale 
Levelshifter . Die Schaltung sollte die aus dem Anhang sein. Wenn ich es 
richtig verstanden habe, hat man hier 4 "Quadranten".

A) LV ist die treibende Seite LV --> HV

1. LV1 ist HIGH, somit sperrt der BSS und HV1 wird von R4 auf HIGH 
gezogen.
2. LV1 ist LOW, der BSS wird leitend, HV1 wird auf LOW gezogen und es 
fließt ein Strom zu LV1 (µPin oder was auch immer da schaltet)

B) HV ist die treibende Seite LV <-- HV

3. HV1 ist LOW, die Body-Diode wird leitend und LV1 wird auf 
runtergezogen auf die Durchbruchspannung der Diode (~0,6V)
4. HV1 ist HIGH, der BSS sperrt und die Spannung über R3 liegt am 
Eingang an.

Hab ich das richtig verstanden?

von Falk B. (falk)


Lesenswert?

Alex Z. schrieb:
> 3. HV1 ist LOW, die Body-Diode wird leitend und LV1 wird auf
> runtergezogen auf die Durchbruchspannung der Diode (~0,6V)

Jain, sogar noch weiter runter, denn der MOSFET wird auch bei LOW auf 
der HV-Seite durchgesteuert, schließt also seine Bodydiode kurz. Damit 
ist der LOW Pegel deutlich unter 0,6V.

von Alex Z. (alexander_z49)


Lesenswert?

Falk B. schrieb:
> Damit
> ist der LOW Pegel deutlich unter 0,6V.

OK, sollte aber reichen um bei 3,3V einen L-Pegel zu erzeugen.

Jetzt habe ich nur ein Problem. Ich wollte einen Kanal des Shifters 
verwenden um zu prüfen, ob Spannung anliegt oder nicht. Allerdings wird 
LV1 HIGH, sobald an HV1 nichts mehr angeschlossen ist. Somit Kann es 
sein, dass entweder Spannung anliegt, oder nichts angeschlossen ist. 
Könnte man das mit einem Pull-Down an HV1 kompensieren?

von Der Unwissende (Gast)


Lesenswert?

Alex Z. schrieb:
> mit einem Pull-Down an HV1

Der würde mit dem Pull-Up R4 einen Spannungsteiler ergeben und den Pegel 
an HV1 auf eine Spannung irgendwo zwischen Logisch Low und High bringen 
- also wohl keine sinnvolle Option.

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Alex Z. schrieb:
> Die Schaltung sollte die aus dem Anhang sein.

Mit großer Wahrscheinlichkeit aus der alten Philips Applikation abgemalt 
- Anhang.

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


Lesenswert?

Alex Z. schrieb:
> Hab ich das richtig verstanden?
Nicht ganz.

> Allerdings wird LV1 HIGH, sobald an HV1 nichts mehr angeschlossen ist.
Die Schaltung funktioniert auf ihre billige und einfache Art nur deshalb 
bidirektional(!!), weil der Pullup eine hochohmige Leitung auf '1' 
zieht. Sowas kann man super als Pegelwandler z.B. für einen (relativ 
langsamen) I2C Bus verwenden.

> Ich wollte einen Kanal des Shifters verwenden um zu prüfen, ob Spannung
> anliegt oder nicht.
"Nichts angeschlossen" ist aber was ganz grundlegend anderes als wenn 
"keine Spannung anliegt".

> Jetzt habe ich nur ein Problem.
Beschreib doch mal genau das eigentliche "Problem", das du hast. Und 
nicht nur die "Lösung", die du dir dafür ausgedacht hast...

von Alex Z. (alexander_z49)


Lesenswert?

Der Unwissende schrieb:
> Alex Z. schrieb:
>> mit einem Pull-Down an HV1
>
> Der würde mit dem Pull-Up R4 einen Spannungsteiler ergeben und den Pegel
> an HV1 auf eine Spannung irgendwo zwischen Logisch Low und High bringen
> - also wohl keine sinnvolle Option.

Funktioniert hat es auf dem Breadboard ganz gut.

Lothar M. schrieb:
>> Allerdings wird LV1 HIGH, sobald an HV1 nichts mehr angeschlossen ist.
> Die Schaltung funktioniert auf ihre billige und einfache Art nur deshalb
> bidirektional(!!)

Die Bidirektionalität benötige ich an der Stelle nicht.

Aufgabe:

Vor dem Senden der Daten über SPI vom µC (3,3V) zum SK9822-Stripe soll 
sichergestellt werden, dass das Netzteil eingeschaltet ist. Hierfür soll 
das Vorhandensein der Lastspannung (5V) ermittelt werden.

von Einer K. (Gast)


Lesenswert?

Alex Z. schrieb:
> Aufgabe:
>
> Vor dem Senden der Daten über SPI vom µC (3,3V) zum SK9822-Stripe soll
> sichergestellt werden, dass das Netzteil eingeschaltet ist. Hierfür soll
> das Vorhandensein der Lastspannung (5V) ermittelt werden.

Schönes Problem!
Aber was willst du dann mit einem bidirektionalen Levelshifter?

Alex Z. schrieb:
> A) LV ist die treibende Seite LV --> HV
Nein.
Es ist Bidirektional.
LV == LowVoltage z.B. 3,3V Seite
HV == HighVoltage z.B. 5V Seite

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


Lesenswert?

Alex Z. schrieb:
> Die Bidirektionalität benötige ich an der Stelle nicht.
Dann nimm ganz handelsübliche aktive Pegelwandler. Diese 
BSS-Pegelwandler haben nämlich nur ein lausiges "10k-Pullup-High", das 
wie gesagt für die 400kHz vom I2C grade noch so taugt. Wenn aber mal MHz 
drüber sollen (und dann auch noch über mehr als 10cm), dann taugt die 
Schaltung nicht mehr.

> Aufgabe:
> Vor dem Senden der Daten über SPI vom µC (3,3V) zum SK9822-Stripe soll
> sichergestellt werden, dass das Netzteil eingeschaltet ist. Hierfür soll
> das Vorhandensein der Lastspannung (5V) ermittelt werden.
Lösung:
1k8/3k3 Spannungsteiler vor dem µC-Pin.

von Falk B. (falk)


Lesenswert?

Lothar M. schrieb:
> Alex Z. schrieb:
>> Die Bidirektionalität benötige ich an der Stelle nicht.
> Dann nimm ganz handelsübliche aktive Pegelwandler. Diese
> BSS-Pegelwandler haben nämlich nur ein lausiges "10k-Pullup-High", das
> wie gesagt für die 400kHz vom I2C grade noch so taugt.

Naja, die 10K Pull Ups sind nicht in Stein gemeißelt, das kann man auch 
niederohmiger machen. Sowohl I2C (3mA) als auch One Wire (4mA) können 
schon ganz ordentlich Strom nach LOW schalten. Aber selbst dann ist es 
immer noch reichlich um Faktor 50++ hochohmiger als ein CMOS-Ausgang.

> Wenn aber mal MHz
> drüber sollen (und dann auch noch über mehr als 10cm), dann taugt die
> Schaltung nicht mehr.

In der Tat. Den "one size fits all" Pegelwandler gibt es nicht.

von Alex Z. (alexander_z49)


Lesenswert?

Hallo,

Ich habe die Widerstände jetzt nochmal angepasst auf 4,7k. für die 
500kHz für ein paar SK9288 ist das jetzt so ausreichend.

Jetzt hab ich allerdings dazu eine Theoriefrage:

Mit sinkendem Widerstand auf der HV-Seite, wird der Strom größer der 
fließen kann, sobald das Signal seinen Zustand ändert. Dieser Strom 
bestimmt die Anstiegszeit von Low nach High, wenn ich das richtig 
verstehe. Je größer der Strom ist, desto schneller kann z.B. ein 
angeschlossener MosFet durchschalten, weil die Gateladung schneller 
erreicht wird.

µC kommen auf ca. 50mA für einen Ausgang. Wenn man in der Schaltung aus 
den 10k 100Ohm macht, wäre das ja äquivalent. Dann müsste nur die 
Spannungsquelle so viel Energie liefern können.

Würde es dann helfen, auf der HV-Seite Stützkondensatoren, abgestimmt 
auf die Übertragungsfrequenz, vorzusehen um die Spannung zu 
stabilisieren?

Alex

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


Lesenswert?

Alex Z. schrieb:
> Stützkondensatoren, abgestimmt auf die Übertragungsfrequenz
Stützkondensatoren werden nicht auf die "Übertragungsfrequenz" 
ausgelegt, sondern auf die Flankensteilheit und die darin enthaltenen 
wesentlich höheren Frequenzen.

Aber du kannst es auch anders berechnen:
wenn die Gatekapazität 50pF ist und da gerade 0V/Low anliegt, dann 
brauchst du zum Umschalten auf High theoretisch einen Pufferkondensator 
mit 1000pF wenn die Spannung um weniger als 5% einbrechen darf.

> µC kommen auf ca. 50mA für einen Ausgang.
Das musst du aber nochmal genau nachlesen. Welchen µC hättest du denn da 
angedacht? Und auf wievielen Pins kann der das gleichzeitig?

> Wenn man in der Schaltung aus den 10k 100Ohm macht, wäre das ja
> äquivalent.
Es wäre aber genauso unsinnig, wie wenn du auf einen dicken Trekker 
Slicks machst, weil der ja wie der Formel-1 Renner auch 800PS hat.

Nochmal zur Erinnerung, was
Lothar M. schrieb:
> Alex Z. schrieb:
>> Die Bidirektionalität benötige ich an der Stelle nicht.
> Dann nimm ganz handelsübliche aktive Pegelwandler.
Das gilt nach wie vor.

von Manfred (Gast)


Lesenswert?

Alex Z. schrieb:
> Würde es dann helfen,

eine ordentliche Lösung zu verwenden, wenn es schneller sein muß?
Gucke Dir TXS0108E und seine Schwestern an, die können das ordentlich.

Für meine Einzelbasteleien habe ich China-Boards mit dem TXS0108E, 
bekommt man als 10er-Pack incl. Versand um 7 Euro.

https://www.aliexpress.com/item/1005001373894499.html?spm=a2g0o.cart.0.0.7fdc3c0058fMQM&mp=1

https://www.aliexpress.com/item/32585063732.html?spm=a2g0o.cart.0.0.7fdc3c0058fMQM&mp=1

von (prx) A. K. (prx)


Lesenswert?

Lothar M. schrieb:
> wie wenn du auf einen dicken Trekker
> Slicks machst, weil der ja wie der Formel-1 Renner auch 800PS hat

Mir scheint, du unterschätzt Sinn und Wirkung von Getrieben. ;-)

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


Lesenswert?

(prx) A. K. schrieb:
> Mir scheint, du unterschätzt Sinn und Wirkung von Getrieben. ;-)
So wie Alex Z. die beliebige Skalierbarkeit der Pullups und die 
Leistungsfähigkeit des uC-Ausgangs überschätzt... 😎

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.