When inline configuration is enabled during RX, further configuration of the AoA/AoD procedures is performed based on the values of the CP bit and the CTEInfo octet within the packet. This is enabled by setting CTEINLINECONF.CTEINLINECTRLEN. The CTEInfo octet is present only if the CP bit is set. The position of the CP bit and CTEInfo octet depends on whether the packet has a Data Channel PDU (CTEINLINECONF.CTEINFOINS1=InS1), or an Advertising Channel PDU (CTEINLINECONF.CTEINFOINS1=NotInS1).
Data channel PDU
For Data Channel PDUs, PCNF0.S0LEN must be 1 byte, and PCNF0.LFLEN must be 8 bits. To determine if S1 is present, the registers CTEINLINECONF.S0MASK and CTEINLINECONF.S0CONF forms a bitwise mask-and-test for the S0 field. If the bitwise AND between S0 and S0MASK equals S0CONF, then S1 is determined to be present. When present, the value of PCNF0.S1LEN will be ignored, as this is decided by the CP bit in the the following figure.
When encrypting and decrypting Bluetooth Low Energy packets using the CCM
peripheral, it is also required to set PCNF0.S1INCL=1. The
CCM mode must be configured to use an 8-bit length field. The value of the CP bit is included
in the calculation of the MIC, while the S1 field is ignored by the CCM calculation.
Advertising channel PDU
For advertising channel PDUs, the CTEInfo Flag replaces the CP bit. The CTEInfo Flag is within the extended header flag field in some of the advertising PDUs that employ the common extended advertising payload format (i.e. AUX_SYNC_IND, AUX_CHAIN_IND). The format of such packets is shown in the following figure.
The CTEINLINECONF.S0CONF and CTEINLINECONF.S0MASK fields can be configured to accept only certain advertising PDU Types. If the extended header length is non-zero, the CTEInfo extended header flag is checked to determine whether CTEInfo is present. If a bit before the CTEInfo flag within the extended header flags is set, then the CTEInfo position is postponed 6 octets.
CTEInfo parsing
The CTEInfo field is shown in the following figure.
The CTETIME field defines the length of the CTE in 8 µs units. The valid upper bound of values can be adjusted using CTEINLINECONF.CTETIMEVALIDRANGE, including allowing use of the RFU bit within this field. If the CTETIME field is an invalid value of either 0 or 1, the CTE is assumed to be the minimum valid length of 16 µs. The slot duration is determined by the CTEType field. In RX mode this determines whether the sample spacing as defined in CTEINLINECONF.CTEINLINERXMODE1US or CTEINLINECONF.CTEINLINERXMODE2US is used.
| CTEType | Description | TX switch spacing | RX sample spacing during reference period | Sample spacing RX during reference period |
|---|---|---|---|---|
| 0 | AoA, no switching | - | TSAMPLESPACING1 | TSAMPLESPACING2 |
| 1 | AoD, 1 µs slots | 2 µs | TSAMPLESPACING1 | CTEINLINERXMODE1US |
| 2 | AoD, 2 µs slots | 4 µs | TSAMPLESPACING1 | CTEINLINERXMODE2US |
| 3 | Reserved for future use | |||