Issue getting temp or voltage reading from SAR_READING

I am using the DWM3000EVB with Cheetah SPI Host Adapter (bit rate: 4 MHz) to directly read and write to the registers of the DWM3000. I am trying to get the temperature of the device through the DW3000 internal temperature sensor but I am only reading back all 0s in the SAR_READING register (ID 0x08:08).

Here is the sequence of commands that I am doing after applying power to the DWM3000:

  • Read DEV_ID register (ID 0x00:00, 4 octets): SPI command: 0x4000 0000 0000, Response: 0x00 00 02 03 CA DE → sanity check to make sure I can communicate over SPI

  • Read SAR_CTRL register (ID 0x08:00, 1 octet): SPI command: 0x5000 00, Response: 0x00 00 00

  • Write 1 to SAR_START field in SAR_CTRL register: SPI command: 0xD000 01

  • Readback SAR_CTRL register to confirm the write: SPI command: 0x5000 00, Response: 0x00 00 01

  • Read SAR_TEST register (ID 0x07:34, 1 octet): SPI command: 0x4ED0 00, Response: 0x00 00 00

  • Write 1 to SAR_RDEN field in SAR_TEST register: SPI command: 0xCED0 04

  • Readback SAR_TEST register to confirm the write: SPI command: 0x4ED0 00, Response: 0x00 00 04

  • Read SAR_STATUS register (ID 0x08:04, 1 octet): SPI command: 0x5010 00, Response: 0x00 00 41 → data is ready to be read

  • Read SAR_READING register (ID 0x08:08, 3 octets): SPI command: 0x5020 0000 00, Response: 0x00 00 00 00 00 → not seeing voltage or temperature reading. why?

I’m not modifying any other registers so the device should not be doing TX/RX. To confirm:

  • Read SYS_STATE register (ID 0x0F:30, 4 octets): SPI command: 0x5EC0 0000 0000, Response: 0x00 00 00 00 01 00 → TX_STATE = IDLE, RX_STATE = IDLE, PMSC_STATE = IDLE_RC