Seite 1 von 4

AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 14:13
von jp112sdl
Mahlzeit!

Wake on radio funktioniert nun und kann getestet werden.
Einfach den neuesten WOR-Branch der AskSinPP laden und den darin enthaltenen example-Sketch HM-LC-SW1-BA-PCB.ino probieren.

Es wäre nun toll, wenn jemand mit ensprechendem Mess-Equipment mal Vergleichsmessungen vorher (mit BurstDetector) und nachher mit WoR anfertigen könnte, um zu sehen, ob bzw. welche Stromersparnis sich nun ergibt ( oder auch nicht :roll: ).

credits to @deimos, @stan23, @papa

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 14:24
von deimos
Hi,

Thumps Up! Freut mich, dass ihr meinen PoC sauberziehen konntet.

Viele Grüße
Alex

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 15:04
von stan23
Ich weiß nicht welche Registersettings du benutzt hast, aber jetzt sind es einfach die gleichen Einstellungen wie sie eQ-3 im HM-LC-Sw1-Ba-PCB benutzt.

Code: Alles auswählen

> sigrok-cli.exe -i cc1101-read-write.sr -P spi:clk=CLK:mosi=MOSI:miso=MISO:cs=CS,cc1101

cc1101-1: Status = "0x16"; STATE is RX, 0 bytes available in RX FIFO
cc1101-1: Status read: PKTSTATUS (0x38) = "0x30"

cc1101-1: STROBE "SIDLE"
cc1101-1: Status = "0x31"; STATE is RX, 15 bytes free in TX FIFO

cc1101-1: Status = "0x15"; STATE is IDLE, 15 bytes free in TX FIFO
cc1101-1: Write: PKTCTRL1 (0x07) = "0x4C"

cc1101-1: Status = "0x0"; STATE is IDLE, 0 bytes available in RX FIFO
cc1101-1: Read: PKTCTRL1 (0x07) = "0x4C"

cc1101-1: Status = "0x15"; STATE is IDLE, 15 bytes free in TX FIFO
cc1101-1: Write: MCSM2 (0x16) = "0x1C"

cc1101-1: Status = "0x0"; STATE is IDLE, 0 bytes available in RX FIFO
cc1101-1: Read: MCSM2 (0x16) = "0x1C"

cc1101-1: Status = "0x15"; STATE is IDLE, 15 bytes free in TX FIFO
cc1101-1: Write: WOREVT1 (0x1E) = "0x2F"

cc1101-1: Status = "0x0"; STATE is IDLE, 0 bytes available in RX FIFO
cc1101-1: Read: WOREVT1 (0x1E) = "0x2F"

cc1101-1: Status = "0x15"; STATE is IDLE, 15 bytes free in TX FIFO
cc1101-1: Write: WOREVT0 (0x1F) = "0x65"

cc1101-1: Status = "0x0"; STATE is IDLE, 0 bytes available in RX FIFO
cc1101-1: Read: WOREVT0 (0x1F) = "0x65"

cc1101-1: Status = "0x15"; STATE is IDLE, 15 bytes free in TX FIFO
cc1101-1: Write: WORCTRL (0x20) = "0x78"

cc1101-1: Status = "0x0"; STATE is IDLE, 0 bytes available in RX FIFO
cc1101-1: Read: WORCTRL (0x20) = "0x78"

cc1101-1: STROBE "SWORRST"
cc1101-1: Status = "0x15"; STATE is IDLE, 15 bytes free in TX FIFO

cc1101-1: STROBE "SWOR"
cc1101-1: Status = "0x15"; STATE is IDLE, 15 bytes free in TX FIFO
PulseView_CC1101_WoR.png
Ich fände es total interessant, wenn ATMega und CC1101 separat gemessen werden könnten.

Meine Erwartung:
ATMega:
  • Strom in Aktivphase: bleibt gleich
  • Strom in Sleepphase: bleibt gleich
  • in Summe geht der Gesamtstrom runter, weil er seltener aufwacht
CC1101:
  • Strom in Aktivphase: bleibt gleich
  • Strom in Sleepphase: geht hoch, weil der RC Oszillator for WoR anbleiben muss
  • in Summe geht der Gesamtstrom hoch, weil der Sleepstrom höher ist und er öfter aufwachen muss
Insgesamt sollte die Ersparnis beim ATMega höher sein als die Kosten beim CC1101.

Wer mag nachmessen? :)

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 15:15
von papa
Das ist doch aber im WOR Branch. Ist auch noch nicht ganz fertig. Ich will noch das Idle/WOR Verhalten automatisch ändern, wenn im Sketch USE_WOR definiert ist. Derzeit wird im WOR Branch immer WOR gemacht.

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 17:59
von jp112sdl
papa hat geschrieben:
28.03.2019, 15:15
Das ist doch aber im WOR Branch.
Ich bin jetzt verwirrt.

Code: Alles auswählen

pa-pa merged 3 commits into pa-pa:master from stan23:WoR-stan23 6 hours ago

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 18:42
von papa
So, jetzt bin ich voll durcheinander. Ich habe bei mir im WOR Branch getestet. Das war dann also gar nicht der geänderte Code. Ich bin davon ausgegangen, dass der PR gegen den extra angelegten Branch für die WOR Entwicklung war. Puhhh - das ist doch alles noch gar nicht fertig. Da müssen wir den Commit nochmal zurück nehmen.

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 18:51
von papa
Habe den Master jetzt wieder zurück gefahren. Wer WOR testen will, muss den WOR Branch nehmen.

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 18:54
von jp112sdl
papa hat geschrieben:
28.03.2019, 18:51
Habe den Master jetzt wieder zurück gefahren. Wer WOR testen will, muss den WOR Branch nehmen.
Ok. Habe es oben geändert

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 28.03.2019, 22:05
von papa
So - habe jetzt mal alles unnötiges rausgeschmissen. Um den WOR-Mode zu aktivieren wird nur noch das

Code: Alles auswählen

#define USE_WOR
am Sketchanfang benötigt. Der eventuell vorhandene BurstDetector ist zu entfernen.
Bitte mal ausgiebig testen und messen.

Danke

Re: AskSin++ Wake On Radio (WoR)

Verfasst: 29.03.2019, 10:19
von papa
Hm - also irgendwas ist noch nicht so richtig. Mein Testssystem ist immer noch einiger Zeit (10-15min) nicht mehr erreichbar.