DW1000 User Manual
© Decawave Ltd 2017
Version 2.12
Page 37 of 242
Status Register
). Reception of a new frame with good CRC will cause the ICRBP bit to increment (or toggle).
In the case that a received frame is rejected by frame filtering or bad CRC the ICRBP will not move on and the
buffer will be reused for the next incoming frame.
Thus, as noted in section 4.3.1 above, before enabling the receiver it is important to align both host and IC
receivers. This is done by reading the SYS_STATUS register 0x0F to checking that the HSRBP and ICRBP status
bits are the same, (i.e. both 1 or both 0), and if not issuing the HRBPT command to toggle HSRBP to be the
same as ICRBP.
4.3.3 Operation of double buffering
In normal operation the IC will receive a frame into the RX buffer (pointed to by ICRBP) and when the frame
is complete the IC will set the RXFCG interrupting the host and move on to receive into the other buffer of
the double-buffered swinging-set. Following this the host system should see this interrupt and service it by
reading the received data from the buffer along with any of the other ancillary registers it wants, and then
issue the HRBPT command to move to point to the other buffer. This HRBPT command also serves as the
mechanism to tell the IC that the host has finished with processing this received buffer (and is moving on to
the next one) essentially allowing the IC to reuse it for follow on frames. Figure 14 below is a flow chart
showing the use of double buffering in the receiver.