Dwt_readcarrierintegrator returns zero


I have an issue regarding the carrier integrator, in the two way ranging approach sometimes the dwt_readcarrierintegrator returns zero!

it just happens randomly and I am not sure if the value zero for carrier integrator is normal or it is a bug on my code!

In theory it could be zero if CFO is 0.0

But carrier integrator has high resolution so it is probably unlikely to happen.

Maybe you reads zero preamble detection failed? In that case, carrier is not even started - so could be zero. Do you see any timeouts (see 0x0F, Status register).

It could also have been that preamble was detected initially, and the algorithm decided it was false preamble, so it would reset everything.
In both cases no SFD would be received.

Could you confirm that you read zero in after successful frame reception? Or maybe you’re reading it too late and it has already been cleared.

I suspect you have some errors like time out. Have a look at section 4 Message Reception in the user manual.
Also APS022, our debug application node would be of a help


1 Like

Probably to late, but I had a similar issue. In my case a different process reactivated the RX mode before I have read the value. I think that resets the register.