
Hintergrund war das papa in seinem neuen HB-SEC-RHS-3 Design die Abschaltung des CC1101 über einen Mosfet vorgesehen hatte, bei jedem Zuschalten des CC1101 war jedoch leider ein AVR Reset zu beobachten.
Ich habe darauf hin ein paar Messungen und Experimente für papa durchgeführt.
Und Stefan designt gerade die STM32L151-RF Platine, bei der auch der CC1101 abschaltbar gemacht werden soll.
-----
In den Oszi Messungen im Anhang:
Ch1 Blau: D6
Ch2 Rot: VDC
Ch3 Grün: VCC
Bild "Bad" war meine erste Messung in dem Moment wenn der CC1101 eingeschaltet werden sollte. Irgendwie glaubte ich zunächst der Mosfet verursacht einen hohen Strom weil er ein Defekt am Gate hat o.ä. und habe den darauf gegen einen Si2365 von mir getauscht. Das brachte aber gar nichts.
Dann nochmal die Schaltung und Platine studiert und dann habe ich es gesehen. Der Puffer-Elko an der Batterie, C14 war nicht bestückt, dafür wird aber C15 durch Q1 geschaltet. Man sieht gut im grünen Graph wie das VCC für ein paar us runterzieht was zu einem Reset führt.
Dann habe ich für C14 testweise 47uF eingeführt und C15 sowie C3 entfernt, dabei ist C15 natürlich der Haupttäter wegen seinem Wert.
Das ergibt dann das Bild "Good" und der Code im Sketch läuft durch. Man sieht auch da noch einen kleinen Spike auf VCC, aber der tut nichts mehr.
Empfehlung: Für ein Konzept mit CC1101 Abschaltung sollte man keine großen C in der An/Abschaltung drin haben, wie zu sehen ist, weiterhin kostet das jedes mal extra Energie. Der 4,7u an sich ist schon ok, aber macht ihn an Source von Q1, nicht an Drain. Ein paar 100n am CC1101 sind ok.
Um es noch mal deutlich zu sagen, wenn man z.B. 5x100nF hinter dem Mosfet-Schalter hat würde ich z.B. das 10fache direkt vor dem Schalter machen, also an Source, so nahe wie möglich.
Außerdem, wenn der CC1101 abgeschaltet wird und der AVR in den Deep sleep geht sollte in der SW dafür gesorgt werden dass alle SPI Pins inkl. /CS sowie GDO0 entweder hochohmig oder low sind, sonst ist das a) ein unerlaubter Zustand für den CC1101 und b) wird vermutlich extra Ruhestrom kosten.
-----
Fazit:
Prinzipiell finde ich das Abschalten ein nettes Feature um flexibler zu sein, auch wenn die Strom-Einsparung nicht groß ist.
Nur wegen dem Ruhestrom wird es nicht viel ausmachen, laut Datenblatt 0,2 oder 0,5uA, je nach CC1101 Sleep Mode den man verwendet.
Ich sehe aber das Potential, einen Babbling Idiot (BI) damit zu verhindern, wenn man hier den Abschnitt über Jeromes BI Simulation ließt:
https://github.com/TomMajor/SmartHome/t ... april-2020
würde genau dieser BI verhindert werden da der AVR im Reset den D6 Pin nicht mehr auf Low halten kann und der CC1101 abgeschaltet wird.
Gerade bei Batterien mit kleiner Kapazität wie der CR2032 könnte das interessant sein.
Der "große" Kondensator auf fertigen CC1101 Modulen hat nach meinen Messungen ca. 3,3uF.
Wahrscheinlich reichen dann z.B. auch 10..20uF am Mosfet, wichtig ist das der Einschaltstrom genau aus diesem C genommen wird und nicht woanders her, deswegen muss der direkt am Source Pin sitzen, im Pfad, also Vcc -> C -> Source-Pin.