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...
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.
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.
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?
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.
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.
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ß.
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?
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.
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...
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.
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.
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.
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?
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.
Ö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?
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.
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?
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.
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.
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.
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.
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.