DW1000 User Manual
© Decawave Ltd 2017
Version 2.12
Page 10 of 242
2
Overview of the DW1000
2.1 Introduction
The DW1000 consists of an analog front-end (both RF and baseband) containing a receiver and transmitter
and a digital back-end that interfaces to a host processor, controls the analog front-end, accepts data from
the host processor for transmission and provides received data to the host processor over an industry
standard SPI interface. A variety of control schemes are implemented to maintain and optimize transceiver
performance.
2.2 Interfacing to the DW1000
2.2.1 The SPI Interface
The DW1000 host communications interface is a slave-only Serial Peripheral Interface (SPI) compliant with
the industry protocol. The host system must include a master SPI bus controller in order to communicate
with the DW1000.The SPI bus signals, their voltage levels and signal timings are described in the DW1000
data sheet.
The host system reads and writes DW1000 registers via the SPI. This section describes the format of the SPI
transactions. For details of the SPI physical circuits, operational mode configuration and timing parameters
please refer to the DW1000 data sheet. The SPI-accessible registers of the DW1000 are detailed in section
7
2.2.1.1 SPI operating modes
The operating mode of the SPI is determined when the DW1000’s digital control function is initialised as a
result of a device reset or as it is woken up from a sleep state. At this time GPIO lines 5 and 6 are sampled
and their values act to select the SPI mode.
It is possible to set the SPI mode within the DW1000’s one-time programmable configuration block to avoid
needing any external components and leave the GPIO free for alternative use. This is a one-time activity and
cannot be reversed so care must be taken to ensure that the desired SPI mode is set. Please refer to section
memory for more details of OTP configuration, and
For full details of the SPI operating modes and their configuration, please refer to the DW1000 data sheet.
2.2.1.2 Transaction formats of the SPI interface
Each SPI transaction starts with a one to three octet transaction header followed by a variable number of
octets making up the transaction data. The number of data bytes allowed in an SPI transfer is not limited.
The transaction header selects whether the transaction is a read or a write and specifies the address to read
from or write to. Physically the SPI interface is full duplex in that every transaction shifts bits both into and
out of the DW1000. Logically however each transaction is either reading data from the DW1000 or writing
data to it. As shown in Figure 1, for a read transaction all octets beyond the transaction header are ignored