Forum: Analoge Elektronik und Schaltungstechnik Transistor: Forward Transconductance


von Alex (Gast)


Lesenswert?

Hallo,

ich möchte wissen welche Schaltzeiten mein Transistor (BSS123) hat. Ich 
habe folgende Angaben aus dem Datenblatt entnommen:

Was ist Forward Transconductance?

Dieser Wert ist mir doch schon etwas hoch. Schaltzeiten im ns-Bereich 
wären gut.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:

> Was ist Forward Transconductance?

Die Vorwärtssteilheit.  Das ist die Änderung des Drainstroms
bezogen auf eine Änderung der Gate-Source-Spannung.

> Dieser Wert ist mir doch schon etwas hoch.

Er ist für einen heutigen MOSFET OK. :-)

> Schaltzeiten im ns-Bereich
> wären gut.

Hast du ja auch.

Leitwerte (und die Steilheit ist rechnerisch einer) werden in Siemens
gemessen, Abkürzung S.  Zeiten werden in Sekunden gemessen, Abkürzung s.

Ja, die Amis haben damit oftmals so ihre Schwierigkeiten und neigen
zuweilen dazu, Zeiten in Millisiemens anzugeben...

von Alex (Gast)


Lesenswert?

Ah danke. In einem anderem Datenblatt zum selbem Transistor war die 
Angabe in mS. Dachte das sollte Millisekunden heißen. An Siemens habe 
ich garnicht gedacht.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Direkt noch eine kleine Frage.

Wenn ich eine Leitung habe die mittels Pull-Up auf VCC liegt und ich 
diese per N-Channel MOSFET auf GND ziehen will, ist dann der Anschluss 
wie im Bild richtig?

Man merkt vielleicht, dass dies mein erster Versuch an Elektronik ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ist OK so.

von Alex (Gast)


Lesenswert?

Danke.

Nur zur Sicherheit frage ich hier direkt nochmal genau:

Sehe ich das auch richtig das ich mit
1
DDRA &= ~(1 << DDA0);
2
PORTA |= (1 << PA0);
den Pin 0 von PortA eines AVRs über den internen Pull-Up auf VCC (5V) 
ziehe? Wenn ich anschließend diesen Pin wie oben in dem Bild an den 
Transistor anschließe dann kann ich den über die Steuerleitung auf Low 
ziehen?

von Hubert G. (hubertg)


Lesenswert?

Grundsätzlich ja, wenn du ihn aber auf Ausgang schaltest
DDRA|=(1<<DDA0);
dann kannst du mit PORTA|=(1<<PA0); auf high legen oder mit
PORTA&=~(1<<PA0); auf low.
Du brauchst also keine zusätzliche Steuerleitung.
Der interne PullUp ist eigentlich für den Eingang gedacht.

von Alex (Gast)


Lesenswert?

Der Pin soll ein Eingang sein. Wenn von der Steuerleitung ein Signal 
kommt will ich eine 0 am Pin einlesen, wenn kein Signal kommt eine 1.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nur so: kannst du das Signal nicht gleich direkt anschließen und
dann die Negierung in der Software erledigen?

Ansonsten ist in aller Regel ein aktiver Inverter (also ein Gatter
eines 74HC04) die schnellere Lösung im Vergleich zu einem einzelnen
Transistor.   Die Dinger gibt's auch als Einzelgatter in der
Bauform SOT-23-5, falls es klein sein muss.

von Alex (Gast)


Lesenswert?

Ich kann es nicht direkt anschließen, da ich über die Steuerleitung 
nicht genug Spannung bekomme, um einen Highpegel zu erkennen.

Ja, klein soll es sein aber einige Transistoren habe ich hier und daher 
wollte ich auf diesen zurückgreifen. Mir ist eigentlich schon das SOT23 
Gehäuse zu groß.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:
> Ich kann es nicht direkt anschließen, da ich über die Steuerleitung
> nicht genug Spannung bekomme, um einen Highpegel zu erkennen.

Wie viel Pegel hast du denn?

von Alex (Gast)


Lesenswert?

Ich bekomme dort 2,X V (maximal ca. 3V) und bräuchte mindestens 3,5 V. 
Das Ganze brauch ich zwei mal. Da ich die Transistoren hier habe wollte 
ich es über diese realisieren.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ist schon ziemlich knapp mit dem BSS123, bei Ugs = 2,0 V werden
garantiert nur 1 mA Drainstrom erreicht.  Schnell ist das dann
nicht mehr unbedingt.  Auch der interne Pullup ist nicht sehr
kräftig, der hat so ~ 30 kΩ.  Mit 10 pF Schaltungskapazität bist
du dann schon bei 300 ns Zeitkonstante.  Da brauchst du nicht mehr
auf die letzte Nanosekunde in den Schaltzeiten des Transistors
gucken...

Ein 74HCT04 kommt garantiert mit 2,0 V als High-Eingangsspannung
aus.  Damit müsste er sich für deinen Zweck eignen.  Musst mal
gucken, ob du den als Einzelgatter in SOT-23 bekommst.

Ansonsten baut Maxim mit den MAX3372 & Co. eine ganze Reihe an
Pegelwandlern, die man bei Bedarf auch im ``chip-scale package''
bekommen kann (praktisch eine Art Flipchip).  Das stellt dann
allerdings wieder ein wenig höhere Anforderungen an deine
Strukturbreiten...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:

> Ein 74HCT04 kommt garantiert mit 2,0 V als High-Eingangsspannung
> aus.  Damit müsste er sich für deinen Zweck eignen.  Musst mal
> gucken, ob du den als Einzelgatter in SOT-23 bekommst.

Z. B. 74HCT2G04, gibt's aber selbst bei Digikey nur als ganze Rolle.
Den 74HCT1G04 gibt's dafür sogar bei Farnell.

von Alex (Gast)


Lesenswert?

Aber wenn ich eine Spannung von min 2,6 V habe, dann sollte eine 
Schaltfrequenz im MHz Bereich doch noch möglich sein oder?

Wie gesagt würde ungerne weitere Bauteile bestellen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:
> Aber wenn ich eine Spannung von min 2,6 V habe, dann sollte eine
> Schaltfrequenz im MHz Bereich doch noch möglich sein oder?

Der MHz-Bereich geht von 1 MHz bis 999 MHz. ;-)

Ein tau von 300 ns ist schon recht heftig, selbst wenn du nur mit
1 MHz takten willst, und da waren die 10 pF schon nicht gerade sehr
hoch geschätzt.  Du wirst also zumindest nicht um separate Pullup-
Widerständer herum kommen.

Ansonsten kannst du ja ggf. noch die Transistoren auf geringe
Schwellspannung aussuchen.

von Alex (Gast)


Lesenswert?

Also die Spannung beträgt im Minimum 2,6V aber leider kann ich bis jetzt 
noch nicht sagen wie viel es wirklich sein werden. Allerdings wirds wohl 
nicht nennenswert über 3V.

Geschaltet werden soll der Transistor mit geschätzen 4 MHz.

Einen externen Pull-Up Widerstand könnte sogar noch an die Stelle 
passen.
Wie groß sollte der sein? Afaik zwischen 20 und 50 kOhm aber eher 20 
oder eher 50?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:

> Wie groß sollte der sein? Afaik zwischen 20 und 50 kOhm aber eher 20
> oder eher 50?

Damit ist dir nicht geholfen.  Rechne dir doch die Zeitkonstante mal
selbst aus: wenn du zu den internen 30 kΩ noch 20 kΩ parallel
schaltest, ergeben sich 12 kΩ.  Zusammen mit den geschätzten 10 pF
an Schaltungskapazitäten sind das tau = 120 ns.  Du hast f = 4 MHz,
also T = 250 ns, davon je 125 ns für den High- und den Low-Teil
deines Impulses bei 50 % Tastverhältnis.  Das Resultat wird also ein
ziemlicher Sägezahn werden.

Ich würde eher mit 1 kΩ ins Rennen gehen.

von Alex (Gast)


Lesenswert?

Öhm ok hier enden meine Kenntnisse der Elektronik.

Soll ich die internen Pull-Ups verwenden und zusätzlich noch einen 
externen Pull-Up parallel schalten? Bei 1k wären das dann ja gesamt 
weniger als 1k.

Der eingesetzt Controller ist ein mega32.

Was ist im dem Fall tau und wie berechnet sich dies?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:

> Soll ich die internen Pull-Ups verwenden und zusätzlich noch einen
> externen Pull-Up parallel schalten? Bei 1k wären das dann ja gesamt
> weniger als 1k.

Das kannste halten wie ein Dachdecker; die internen Pullups tragen
halt nicht mehr viel zum Ergebnis bei.

> Was ist im dem Fall tau und wie berechnet sich dies?

Die Zeitkonstante des RC-Gliedes, in diesem Falle mit R vom Eingang
nach Vcc und C vom Eingang nach Masse (Schaltungskapazitäten,
Eingangskapazität des AVR).  Der Wert ist das Produkt aus R und C.
Wenn dein FET öffnet (also seine Gatespannung kleiner als die
Schwellspannung wird), dann lädt der Pullup-Widerstand den Kondenstor
auf, wobei der Spannungsverlauf einer e-Funktion folgt.  Die
Zeitkonstante ist dabei ein Maß für den Verlauf der Kurve, nach einer
Zeit von t = tau hat sich der Kondensator auf 63 % von Vcc aufgeladen:

http://de.wikipedia.org/w/index.php?title=Datei:Series_RC_capacitor_voltage.svg

Wenn deine Impulszeit also in die Größenordnung von tau kommt, hast
du bereits eine sehr starke Impulsverformung.

Der Entladeteil ist etwas besser, da der FET bei Ugs = 2,5 V schon so
um die 100 mA Drainstrom bringt.  Dieser Strom ist relativ unabhängig
von der Drain-Source-Spannung (typisches Konstantstromverhalten eines
FET), sodass die Entladung nicht nach einer e-Funktion, sondern als
Gerade erfolgt.  Bei 100 mA und 10 pF (= 10 pAs/V) wären die 5 V
also in theoretisch 0,5 ns bereits wieder entladen.  Allerdings
dürfte in diesem Bereich von Ugs die Exemplarstreuung der FETs halt
recht groß sein, und wenn deine 2,6 V nennenswert weniger werden,
verschlechtert sich das dann rapide.

von kurz (Gast)


Lesenswert?

Was macht denn ein 4 MHz-Signal am Eingangspin ? Zähler bedienen, oder?

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Also wenn ich das richtig verstehe könnte/wird es Probleme geben bei dem 
Wechsel von Steuerleitung High (Transistor schaltet durch) zu 
Steuerleitung Low (Transistor sperrt).

Wenn ich die Beschaltung so mache wie im Bild im Anfang und dann wie 
folgt konfiguriere
1
DDR &= ~(1<<PinNo); // Input
2
PORT &= ~(1<<PinNo); // Kein internen Pull-Up
3
4
// Einlesen
5
var |= PIN & (1<<PinNo);
und entsprechend häufig einlese, dann kann es sein das durch die 
Ladezeit die Leitung immernoch als Low interpretiert wird, obwohl der 
Transistor geschlossen ist und die Leitung somit eigentlich High sein 
sollte?

Die Steuerleitung ist auch recht lang (andere Platine). Könnte das auch 
noch zum Problem beitragen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:

> und entsprechend häufig einlese, dann kann es sein das durch die
> Ladezeit die Leitung immernoch als Low interpretiert wird, obwohl der
> Transistor geschlossen ist und die Leitung somit eigentlich High sein
> sollte?

Ja, für eine gewisse Zeit lang.

> Die Steuerleitung ist auch recht lang (andere Platine). Könnte das auch
> noch zum Problem beitragen?

Nur, wenn die Signalquelle recht hochohmig ist.

Aber: du hast bei 4 MHz (symmetrisches Tastverhältnis) je 125 ns
lang high und low anliegen.  Beim maximalen CPU-Takt von 16 MHz
sind das gerade mal 2 CPU-Takte jeweils.  Wie willst du das denn
noch softwaremäßig pollen?

Vielleicht gehst du ja mal zurück auf ,Los' und erklärst uns, was
du überhaupt vor hast.

von Alex (Gast)


Lesenswert?

Das Einlesen muss ja nicht zwangsläufig durchgehend passieren. Es reicht 
wenn ich zu bestimmten Phasen des Programmablaufs auf diesen Pin achte.

Über einen externen Interrupt sollte es doch auch möglich sein 
durchgehend auf den Pin zu reagieren.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:
> Das Einlesen muss ja nicht zwangsläufig durchgehend passieren. Es reicht
> wenn ich zu bestimmten Phasen des Programmablaufs auf diesen Pin achte.

Trotzdem wirst du Schwierigkeiten bekommen, einen 125 ns lang dauernden
H- oder L-Pegel sicher in einer gepollten Schleife zu erkennen.  Allein
das Abfragen des Ports dauert ja 62,5 ns (einen CPU-Takt) und der
Rücksprung der Schleife dann nochmal 125 ns (zwei Takte).  Da hast
du aber aus den 8 Bits des Ports noch keine Pin-Bits extrahiert,
geschweige denn ihren Wert bewertet.

Nochmal: erzähl die Geschichte ganz von Anfang an, wenn du irgendwelche
sinnvolle Hilfe bekommen willst.

von Alex (Gast)


Lesenswert?

Ich vermute eine Software-SPI. Vielleicht auch nur ein Zähler.

Wollte noch nachfragen aber der "Auftraggeber" ist erstmal nicht zu 
erreichen und irgendwie hat sonst auch keiner Ahnung was der da vorhat.

Ich weiß welche Spannungen ca. auf der Leitung liegen, auf welchen AVR 
das gehen soll und das der Takt wohl recht hoch sein wird. Ich sehe im 
Layout das wenig Platz vorhanden ist und das diese Leitung von Außerhalb 
kommt. Vorsichtshalber wollte ich das Ganze dann auf einen 
Interrupteingang legen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:

> Wollte noch nachfragen aber der "Auftraggeber" ist erstmal nicht zu
> erreichen und irgendwie hat sonst auch keiner Ahnung was der da vorhat.

Nun, dann lässt sich seinen unbekannten Anforderungen auch schlecht
gerecht werden.

> Vorsichtshalber wollte ich das Ganze dann auf einen
> Interrupteingang legen.

Interrupts helfen dir bei den Frequenzen gar nicht.  Bevor der
Interrupt angenommen ist, ist dein Signal schon über alle Berge.

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.