Forum: Mikrocontroller und Digitale Elektronik Atmega328PB CLKO abschalten


von Sebastian W. (wangnick)


Angehängte Dateien:

Lesenswert?

Liebe Leute,

bei meiner Bewässerungssteuerung möchte ich vom uC gesteuert die 
Peripherie stromlos schalten können (siehe auch 
Beitrag "VCC oder GND schalten?"). Anbei der 
aktuelle Schaltplan.

Dabei habe ich jedoch ein Problem übersehen: Wenn ich über EXTOFF Z oder 
H die +5VIO-Schiene abschalte, und ebenso MISO, MOSI, SCLK, CANCS und 
CANINT auf Z oder L setze, dann bleibt immer noch CLKO worüber der 
MCP2515 parasitär versorgt wird.

Meine Frage: Kann ich CLKO über einen zweiten IRLML6244 laufen lassen 
und dann zusammen mit +5VIO abschalten? Ich lese im Datenblatt etwas von 
700pF Eingangskapazität -- versaut mir das das CLKO-Signal?

LG, Sebastian

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Sebastian W. schrieb:
> Kann ich CLKO über einen zweiten IRLML6244 laufen lassen

Der würde dann (so wie ich mir die Schaltung vorstelle (weiss nicht wie 
du es dir gedacht hast)) entweder nur den HIGH oder nur den LOW Pegel 
weiter reichen. Du brauchst sicher beides, denn bei so hohen Frequenzen 
nützt dir ein Pull-Up/Pull-Down Widerstand für den jeweils anderen Pegel 
nichts.

Schade dass man den Pin nur per FUSE schalten kann, nicht per Software.

von Sebastian W. (wangnick)


Lesenswert?

Stefan ⛄ F. schrieb:
> Der würde dann (so wie ich mir die Schaltung vorstelle (weiss nicht wie
> du es dir gedacht hast)) entweder nur den HIGH oder nur den LOW Pegel
> weiter reichen. Du brauchst sicher beides

Ich hatte es mir so gedacht wie bei Q3, also EXTOFF an Gate, CLKO an 
Drain und OSC1 an Source.

Aber kann man mit einem IRLML6244 ein Signal von 16MHz abschalten? 
Welche Kapazitäten sind da zwischen Drain und Source involviert? Sollte 
man vielleicht lieber einen Bipolaren nehmen? Oder geht das gar nicht 
mit einem einfachen Transistor?

LG, Sebastian

von Stefan F. (Gast)


Lesenswert?

Sebastian W. schrieb:
> Ich hatte es mir so gedacht wie bei Q3, also EXTOFF an Gate, CLKO an
> Drain und OSC1 an Source.

Das habe ich schon verstanden, ändert nichts an meiner Antwort. Dein 
Problem ist nicht der Transistor, sondern der erforderliche 
Arbeitswiderstand (Pull-Down) für den LOW Pegel.

von HildeK (Gast)


Lesenswert?

Nimm doch einen Tri-State-Buffer, z.B. 741G125.

von Sebastian W. (wangnick)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das habe ich schon verstanden, ändert nichts an meiner Antwort. Dein
> Problem ist nicht der Transistor, sondern der erforderliche
> Arbeitswiderstand (Pull-Down) für den LOW Pegel.

Das verstehe ich immer noch nicht. Transistoren sind nicht so mein Ding 
bisher. Ich dachte, wenn Gate auf GND liegt und der P-FET leitet, dass 
er dann "in beide Richtungen" leitet, also den High-Pegel von CLKO an 
Drain als (push) High-Pegel an Source weiterleitet, und ebenso den 
Low-Pegel von CLKO als (pull) Low-Pegel an Source weitergibt. Stimmt das 
nicht?

LG, Sebastian

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


Lesenswert?

Könntest du den MCP2515 auch mit der halben Taktfrequenz betreiben? Die 
kannst du aus einem normalen Timer-Ausgang (im CTC-Modus) erzeugen. Der 
wiederum lässt sich für den Powerdown dann komplett tristate setzen.

von HildeK (Gast)


Lesenswert?

Sebastian W. schrieb:
> Ich dachte, wenn Gate auf GND liegt und der P-FET leitet, dass
> er dann "in beide Richtungen" leitet, also den High-Pegel von CLKO an
> Drain als (push) High-Pegel an Source weiterleitet, und ebenso den
> Low-Pegel von CLKO als (pull) Low-Pegel an Source weitergibt. Stimmt das
> nicht?

Stimmt nicht ganz.
Damit er leitet, muss das Gate (je nach Typ) so 3-10V negativer sein als 
die Source. Das wäre bei einem Nullpegel nicht mehr der Fall.

von Sebastian W. (wangnick)


Lesenswert?

HildeK schrieb:
> Stimmt nicht ganz.
> Damit er leitet, muss das Gate (je nach Typ) so 3-10V negativer sein als
> die Source. Das wäre bei einem Nullpegel nicht mehr der Fall.

Ok, aber was passiert am IRLML6244 bei Gate auf GND bei der fallenden 
Flanke von CLKO an Drain mit Source? Die Differenz zwischen Drain und 
Gate fällt unter 2-3V und der Transistor sperrt von Drain nach Source. 
Der Pegel an Source kann aber nicht High bleiben, auch ohne 
Pulldown-Widerstand, weil die Body-Diode von Source nach Drain 
"rückwärts" leitend wird bis Source bei ~0,7V liegt. Oder nicht?

In LTSpice funktioniert das mit idealen Transistoren (FET und BJT), aber 
"echte" Transistoren bleiben in LTSpice für den AC-Anteil des 
16MHz-Signals leitend trotz "Abschaltung". Daher meine Bedenken 
bezüglich der Kapazitäten. Insofern wäre ein Tri-State-Buffer (der 5V 
kann) oder ein PWM-Ausgang wohl besser, oder ich vergesse das ganze 
Abschaltgedöns.

LG, Sebastian

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

Sebastian W. schrieb:
> Der
> Pegel an Source kann aber nicht High bleiben, auch ohne
> Pulldown-Widerstand, weil die Body-Diode von Source nach Drain
> "rückwärts" leitend wird bis Source bei ~0,7V liegt. Oder nicht?
Ja, die Bodydiode wird leiten, 0,7V sind aber kein sauberes LOW mehr.
Aber dein Aussage oben war ja etwas anders: "Wenn das Gate auf 0V liegt, 
dann leitet der FET in beide Richtungen ..."
Und das tut er nicht, nur über die Bodydiode. Um den LOW-Pegel zu 
verbessern, kannst du der Bodydiode extern noch eine Schottky parallel 
schalten.

Sebastian W. schrieb:
> In LTSpice funktioniert das mit idealen Transistoren (FET und BJT), aber
> "echte" Transistoren bleiben in LTSpice für den AC-Anteil des
> 16MHz-Signals leitend trotz "Abschaltung". Daher meine Bedenken
> bezüglich der Kapazitäten.

Hänge doch mal den Simulationsfile an. Vermutlich brauchst du eben doch 
auf der abgeschalteten Seite ein geringe Last, ein paar kΩ wären ja auch 
kein Problem. Ich vermute, du hast einen Dreckeffekt gesehen, würde mir 
das aber selbst nochmals anschauen wollen.

von Sebastian W. (wangnick)


Angehängte Dateien:

Lesenswert?

HildeK schrieb:
> Ja, die Bodydiode wird leiten, 0,7V sind aber kein sauberes LOW mehr.
> Um den LOW-Pegel zu
> verbessern, kannst du der Bodydiode extern noch eine Schottky parallel
> schalten.

Ok, aber ich brauch ja auch kein sauberes LOW. Ich muss ja nur den 
Schwingkreis des MCP2515 zum Schwingen bringen.

HildeK schrieb:
> Aber dein Aussage oben war ja etwas anders: "Wenn das Gate auf 0V liegt,
> dann leitet der FET in beide Richtungen ..."
> Und das tut er nicht, nur über die Bodydiode.

Ok, dieser mein Gedanke war falsch, verstanden.

HildeK schrieb:
> Hänge doch mal den Simulationsfile an. Vermutlich brauchst du eben doch
> auf der abgeschalteten Seite ein geringe Last, ein paar kΩ wären ja auch
> kein Problem. Ich vermute, du hast einen Dreckeffekt gesehen, würde mir
> das aber selbst nochmals anschauen wollen.

Simulation von FET und BJT anbei.

LG, Sebastian

von HildeK (Gast)


Angehängte Dateien:

Lesenswert?

Sebastian W. schrieb:
> Simulation von FET und BJT anbei.

Als erstes fiel mir auf, dass unsere Diskussion bez. Schaltplan zeichnen 
im anderen Thread keine Früchte getragen hat 🙄.
Ich musste erst mal umzeichnen, um zu verstehen, was du machst.

Dann fiel mir auf, dass dein Takt 125MHz hatte. Ich glaube nicht, dass 
der Mega328 den bei 16MHz Eingangstakt am CLKO ausgibt.
Dann noch ein Hinweis zu LTSpice: wenn du bei t_rise und t_fall einer 
Signalquelle 'Null' angibst, dann setzt LTSpice einen eigenen Wert ein, 
der von der Periode oder der Pulsdauer abhängt.

Zum Problem: das sind natürlich ordentliche Frequenzen für Transistoren 
und MOSFET. Und das was da noch durchkommt, geht über die internen 
Kapazitäten der Bauelemente. Man kann es einigermaßen klein halten, wenn 
man eine relativ niedrige Last anlegt, also z.B. 1k und nicht nur den 
Eingang eines CMOS-Bausteins. Aber prinzipiell müssten trotzdem beide 
Varianten funktionieren.
Ich hänge mal meine Variante (und brauchbare LT-Spice-Zeichnung) an.

Ich frage mich, ober der CAN-Baustein nicht in der Lage ist, am OSC1-Pin 
nicht mit einem relativ hochohmigen Signal klar kommt? Der Eingang ist 
ja alternativ mit einem Quarz beschaltbar. Versuch doch mal, ganz nahe 
beim OSC1-Pin mit einem Serienwiderstand von 10k oder mehr zu arbeiten. 
Dann könnte man im abgeschalteten Zustand den Clock einfach dran lassen.

Warum käme der genannte Tri-State-Buffer nicht in Frage? Der 
SN74LVC1G125  wäre doch perfekt passend ...

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


Lesenswert?

HildeK schrieb:
> ch frage mich, ober der CAN-Baustein nicht in der Lage ist, am OSC1-Pin
> nicht mit einem relativ hochohmigen Signal klar kommt?

Und ich hatte weiter oben schon mal gefragt, ob man den CAN-Baustein 
denn nicht einfach auch mit dem halben CPU-Takt betreiben könnte. Dann 
wäre die Lösung völlig trivial, da man diesen Takt via GPIO als 
CTC-Ausgang eines Timers erzeugen kann.

von Sebastian W. (wangnick)


Lesenswert?

HildeK schrieb:
> Als erstes fiel mir auf, dass unsere Diskussion bez. Schaltplan zeichnen
> im anderen Thread keine Früchte getragen hat 🙄.
> Ich musste erst mal umzeichnen, um zu verstehen, was du machst.

Oh, das ist hart, ich war auf mein bisheriges Resultat schon so stolz :(
Aber ja, die ICs sind immer noch Beinchenkörper und keine Funktionen.

HildeK schrieb:
> Dann fiel mir auf, dass dein Takt 125MHz hatte. Ich glaube nicht, dass
> der Mega328 den bei 16MHz Eingangstakt am CLKO ausgibt.

Hui, böser Fehler meinerseits, das Kopfrechnen schwächelt im Alter, 8ns 
Periode entsprechen tatsächlich um einen Faktor nicht 16MHz. Aber mit 
62ns Periode tritt der Effekt weiterhin auf, dass die Transistoren auch 
abgeschaltet für AC durchlässig sind.

HildeK schrieb:
> Aber prinzipiell müssten trotzdem beide Varianten funktionieren.
> Ich hänge mal meine Variante (und brauchbare LT-Spice-Zeichnung) an.

Da kommt in der Simulation aber immer noch Schwingung mit ordentlichem 
Hub durch, vor allem bei der FET-Variante, trotz des kleinen 
Serienwiderstand in der CLKO-Leitung vor den Transistoren.

HildeK schrieb:
> Ich frage mich, ober der CAN-Baustein nicht in der Lage ist, am OSC1-Pin
> nicht mit einem relativ hochohmigen Signal klar kommt? Der Eingang ist
> ja alternativ mit einem Quarz beschaltbar. Versuch doch mal, ganz nahe
> beim OSC1-Pin mit einem Serienwiderstand von 10k oder mehr zu arbeiten.
> Dann könnte man im abgeschalteten Zustand den Clock einfach dran lassen.

Das ist eine Idee.

HildeK schrieb:
> Warum käme der genannte Tri-State-Buffer nicht in Frage? Der
> SN74LVC1G125  wäre doch perfekt passend ...

Das ist auch eine Idee.

Jörg W. schrieb:
> ob man den CAN-Baustein
> denn nicht einfach auch mit dem halben CPU-Takt betreiben könnte.

Das ist auch eine Idee.

Danke euch allen so weit.

LG, Sebastian

von HildeK (Gast)


Lesenswert?

Sebastian W. schrieb:
> Oh, das ist hart, ich war auf mein bisheriges Resultat schon so stolz :(
> Aber ja, die ICs sind immer noch Beinchenkörper und keine Funktionen.

Nein, das war auf den Plan in LTSpice gemünzt!
Dein Plan ganz oben ist jetzt sehr gut! Sorry für das Missverständnis.

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.