Product Specs

Table Of Contents
42 NFCT Near field communication tag
Page
420
RXFRAMEND event for the respective ongoing transmit or receive before starting a new receive or transmit
operation.
The MAXLEN register determines the maximum number of bytes that can be read from or written to the
RAM. This feature can be used to secure that the NFC peripheral does not overwrite, or read beyond, the
RAM assigned to a packet. Note that if the RXD.AMOUNT or TXD.AMOUNT register indicates longer data
packets than set in MAXLEN, the frames sent to or received from the physical layer will be incomplete.
In RX, the OVERRUN bit in the FRAMESTATUS.RX register will be set and an RXERROR event will be
triggered in that situation.
Note that RXD.AMOUNT and TXD.AMOUNT define a frame length in bytes and bits excluding SoF, EoF and
parity, but including CRC for RXD.AMOUNT only, make sure to take potential additional bits into account
when setting MAXLEN.
Only sending task ENABLERXDATA ensures that a new value in PACKETPTR pointing to the RX buffer in
Data RAM is taken into account.
If PACKETPTR is not pointing to the Data RAM region, an EasyDMA transfer may result in a HardFault or
RAM corruption. See Chapter Memory on page 23 for more information about the different memory regions.
The NFC peripherals normally do alternative receive and transmit frames. So, to prepare for the next frame,
the PACKETPTR, MAXLEN, TXD.FRAMECONFIG and TXD.AMOUNT can be updated while the receive
is in progress, and, similarly, the PACKETPTR, MAXLEN and RXD.FRAMECONFIG can be updated while
the transmit is in progress. They can be updated and prepared for the next NFC frame immediately after
the STARTED event of the current frame has been received. Updating the TXD.FRAMECONFIG and
TXD.AMOUNT during the current transmit frame or updating RXD.FRAMECONFIG during current receive
frame may cause unpredictable behaviour.
In accordance with NFC Forum, NFC Digital Protocol Technical Specification, the least a significant bit from
the least significant byte is sent on air first. The bytes are stored in increasing order, starting at the lowest
address in the EasyDMA buffer in RAM.
42.4 Collision resolution
The NFC peripheral implements an automatic collision resolution function as defined by the NFC Forum.
The SENSRES and SELRES registers need to be programmed upfront in order for the collision resolution to
behave correctly. Depending on the NFCIDSIZE field in SENSRES, the following registers also need to be
programmed upfront:
NFCID1_LAST if NFCID1SIZE=NFCID1Single (ID = 4 bytes);
NFCID1_2ND_LAST and NFCID1_LAST if NFCID1SIZE=NFCID1Double (ID = 7 bytes);
NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST if NFCID1SIZE=NFCID1Triple (ID = 10
bytes);
Table 98: NFCID1 byte allocation (top sent first on air) on page 420 explains the position of the ID bytes in
NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST, depending on the ID size, and as compared
to the definition used in the NFC Forum, NFC Digital Protocol Technical Specification.
Table 98: NFCID1 byte allocation (top sent first on air)
ID = 4 bytes
ID = 7 bytes
ID = 10 bytes
NFCID1_Q
nfcid1
0
NFCID1_R
nfcid1
1
NFCID1_S
nfcid1
2
NFCID1_T
nfcid1
0
nfcid1
3
NFCID1_U
nfcid1
1
nfcid1
4
NFCID1_V
nfcid1
2
nfcid1
5
NFCID1_W
nfcid1
0
nfcid1
3
nfcid1
6
NFCID1_X
nfcid1
1
nfcid1
4
nfcid1
7
NFCID1_Y
nfcid1
2
nfcid1
5
nfcid1
8
NFCID1_Z
nfcid1
3
nfcid1
6
nfcid1
9
Automatic collision resolution is enabled by default.