DW1000 User Manual
© Decawave Ltd 2017
Version 2.12
Page 13 of 242
Figure 5: Example short-indexed read of 3
rd
and 4
th
octets of register 0x00
2.2.1.2.2
SPI transaction with a 3-octet header
Figure 6 shows the fields within the three octet transaction header of a long-indexed SPI transaction. Bit-6 of
the first octet is 1 indicating that a sub-index is present. The register (file) ID in the first octet selects the top
level addressing of the DW1000 parameter or parameter block being accessed. In the second transaction
header octet bit-7 is set indicating the long form of indexed addressing is to be employed and thus the
remaining seven bits of the second octet along with all of the third transaction header octet form a 15-bit
sub-index into the selected register file.
Figure 6: Three octet header of the long indexed SPI transaction
The octets of transaction body which immediately follow the transaction header are read from (or written
to) the selected register file beginning at the selected sub-index address 0 to 32767.
Figure 7: Example long-indexed write of one octet to index 310 of the TX buffer
Figure 7 shows an example of an indexed write that uses the longer the three octet header. This example is a
write to the transmit data buffer at sub index 0x136. The TX buffer has register file ID of 0x09. Octet 1 of
transaction header is thus 0xC9 as bit-7 is 1 to signal a write and bit-6 is 1 indicating a sub-address follows.
The 15-bit sub-address has the binary value 000-0001-0011-0110. In octet 2 of the transaction header, bit 7
is set to indicate an extended sub-index and the remaining bits contain 0110110, the low 7 bits of the sub-
address. Octet 3 of the transaction header then contains 00000010, the remaining eight high order bits of
the sub-address index, which is 0x02 in hex.
7
6
5
4
3
2
1
0
Operation:
0 = Read
1 = Write
Bit = 1, says
sub-index is
present
Register file ID – Range 0x00 to 0x3F (64 locations)
Extended
Address:
1 = yes
Low order 7 bits of 15-bit Register file sub-address
range 0x0000 to 0x7FFF (32768 byte locations)
High order 8 bits of 15-bit Register file sub-address
range 0x0000 to 0x7FFF (32768 byte locations)
Bit number:
Meaning:
Transaction Header
Octet 1
Octet 2
Octet 3
MOSI
MISO
SPICSn
0
xC
9
0
xB
6
0
x
02
0
xA
5
Long sub indexed write of octet value
0
xA
5
to the transmit buffer
(
Reg ID
0
x
09
)
at index
310
(
0
x
136
in hex
)
MOSI
MISO
SPICSn
0
x
40
0
x
02
0
xCA
0
xDE
Short sub
-
indexed read
2
-
octets beginning at
index
2
in register file ID
0
x
00
.
This reads the
high two octets of this
32
-
bit register
,
the
result is
0
xDECA
.