I am currently working on a localization system using the UWB technology. Up to now, the system can localize a tag inside a two-dimensional environment using 3 anchors. On the tag-side, the DecaWave used to perform the UWB communicates with a PSoC through a SPI. At this point, the data sent from an anchor to the tag can be completely transferred to the PSoC using the SPI, which shows that the master-slave communication is working.
However, in order to implement a single-anchor localization, the CIR from the tag is needed. I tried to get it from the register 0x25 as stated in the User Manual from DW, but none of my attempt was a success.
Different verifications have been done.
- The order sent from the PSoC to the DW were analyzed using an oscilloscope and where coherent.
- The flags needed to allow the reading of the accumulator are all set:
- AMCE = 1 (0x36, reg0, bit15)
- FACE = 1 (0x36, reg0, bit6)
- RXCLKS = 10 (0x36, reg0, bit23)
- The 0x15 (Receive Time Stamp) has been used to find the leading edge.
Despite to different tries, the only received response is a byte with the values being: “0x00”. Those values are pushed by the DW into its buffer since when storing those values in a pre-initialized vector, those are erased and replaced with “0x00”
I am completely stuck at this point. If anyone has a clue or knows what I’m doing wrong, please let me know.
PS : I already checked the forum multiple times and found this topic : [Accessing Accumulator data (CIR)], but it did not helped me to get my stuff do the job.