Data Sheet

15
Version 1.1
y
g
ate
go invent
1:Read start_addr and
lenght
2:Retrieve Packet from
data buffer
Data buffer
Modem address
Modem data
HOST address
HOST data
Access FIFO
Data...
(start_addr1,
lenght1)
11.3
11.3.1
Figure 8 – Access FIFO and Data Buffer
P
acket Engine and Data Buffers
Receiver Packet
Engine
Each time any of the demodulators decodes a
packet, it is tagged with some additional
information and stored in a shared data buffer (the
data buffer size is 1024 bytes). For this purpose a
specific data buffer management block reserves a
segment with the necessary length in the data
buffer and at the same time, stores the start
address and the length of the packet field in a small
FIFO
type structure (named the access FIFO). The
FIFO
can contain up to 16
(start_addr, length) pairs.
A status register contains at any moment the
number of packets currently stored in the data
buffer
(and in the access FIFO).
To retrieve a packet, Pycom module (host) first
advances 1 step in the access FIFO by writing 1 to
the ‘next’ bit. Then reads the (start_addr, length)
information. Now Pycom module can retrieve in
one SPI burst operation the entire packet and
associated meta-data by reading ‘length’+16 bytes
starting at address ‘start_addr’ in the data buffer ..
To do so, first position the HOST address pointer to
‘start-addr’, then read ‘length’ + 16 bytes from the
‘packet_data’ register. At the end of each byte the
HOST address pointer is automatically incremented.