Samples: iso_connected_benchmark: Fix invalid latency
The default transport latency was not valid. Set it to a value that is large enough. The minimum possible transport latency is 16580 us, but this assumes the controller ignores the RTN=2. If the controller uses the RTN=2, the transport latency will be slightly larger than 30 ms depending on how the controller chooses to setup the ISO link. Therefore, we set it to 40 ms to ensure the default configuration is valid. How these numbers were found: For unframed PDUs this is defined in Core_v5.4, Vol 6, Part G, Section 3.2.2: Transport_Latency = CIG_Sync_Delay + FT * ISO_Interval - SDU_Interval Because unframed PDUs are being used, the ISO interval needs to be a multiple of SDU interval. If MaxPDU = MaxSDU and the PHY is 2M, this results in that the maximum subevent size is: 2120 * 2 + 2 * 150 = 4540. For 2 CISes this is 9080 us > 7500 Therefore, the controller has to set the ISO interval to a minimum of 15000 us in order to fit the packets. Based upon this info, the controller has the freedom to ignore or use the requested RTN=2. 1. Ignore -> NSE is 2: Minimum ISO interval is 15000 us 2. RTN = 2, Increase NSE: 4 * 4540 = 18160 -> ISO_Interval = 22500 us 3. RTN = 2, Increase the FT to 2, NSE = 2 -> ISO_Interval = 15000 us For (1): Transport_Latency = CIG_Sync_Delay + 15000 - 7500 = CIG_Sync_Delay + 7500 For (2): Transport_Latency = CIG_Sync_Delay + 22500 - 7500 = CIG_Sync_Delay + 15000 For (3): Transport_Latency = CIG_Sync_Delay + 2 * 15000 - 7500 = CIG_Sync_Delay + 22500 As shown in Core_v5.4, Vol 6, Part B, Section 4.5.14, CIG_Sync_Delay needs to be larger than or equal to the length of all ISO events. That is, the sum of the subevents: For (1): CIG_Sync_Delay = 2 * 4540 = 9080 For (2): CIG_Sync_Delay = 4 * 4540 = 18160 For (3): CIG_Sync_Delay = 2 * 4540 = 9080 This results in the following transport latencies: For (1): Transport_Latency = 9080 + 7500 = 16580 For (2): Transport_Latency = 18160 + 15000 = 33160 For (3): Transport_Latency = 9080 + 22500 = 31580 Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
This commit is contained in:
parent
faecdff7a2
commit
9cb339166e
1 changed files with 1 additions and 1 deletions
|
@ -30,7 +30,7 @@ enum benchmark_role {
|
|||
|
||||
#define DEFAULT_CIS_RTN 2
|
||||
#define DEFAULT_CIS_INTERVAL_US 7500
|
||||
#define DEFAULT_CIS_LATENCY_MS 10
|
||||
#define DEFAULT_CIS_LATENCY_MS 40
|
||||
#define DEFAULT_CIS_PHY BT_GAP_LE_PHY_2M
|
||||
#define DEFAULT_CIS_SDU_SIZE CONFIG_BT_ISO_TX_MTU
|
||||
#define DEFAULT_CIS_PACKING 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue