We have a system where TCXO is used for both DW1000 and STM32L4 series uC.
The TCXO can be switched ON and OFF via a GPIO pin of the uC.
We have a DW1000 communication task and some other sensor reading tasks. The communication task runs about once per second and the other tasks about once per 100ms. Since the TCXO is somewhat power hungry we’d like to keep DW1000 in DEEPSLEEP and TCXO off when they are not needed, and run on an internal RC of the uC then.

Now, the problem is that when DW1000 is in deep sleep, the TCXO doesn’t seem to start, but if TCXO is kept ON, the sleep-wakeup works fine.

Via a bug I found that TCXO starts fine even if DW1000 was not put into DEEPSLEP before the TCXO was shut down. It looked like DW1000 did lock up in that case, but it didn’t affect the TCXO starting.

I managed to get the TCXO and WD1000 up about 3 times out of 4 by giving DW1000 the wakeup pulse first, then, after about 6 ms later turning ON the TCXO and then starting the uC HSE after about 2 ms from that. And if the startup failed, then DW1000 seemed to get locked and only POR helped.

Any idea what could be the cause of the problem or how to handle that.
From the TCXO point of view, what’s different between DW1000 in DEEPSLEEP and DW1000 running?

Oh, and if it has any meaning, the DW1000 is configured to use the XTI.

Does DEEPSLEEP affect the VDDBAT current? Like bigger current draw compared to, say, IDLE?