You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: sld272-bluetooth-system-performance/link-layer-scheduler.md
+47-58Lines changed: 47 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,55 +10,51 @@ A *task* is any Link Layer radio activity that must occur at scheduled intervals
10
10
- Advertising
11
11
- Scanning
12
12
- Channel Sounding
13
-
- Periodic Advertising with Responses (PAwR) transmissions and receptions
14
-
- Multiple PAwR trains, each considered a separate task
13
+
- Periodic Advertising with Responses (PAwR) transmissions and receptions
14
+
- Multiple PAwR trains, where each train is considered a separate task
15
15
16
-
Tasks have intervals, required runtime, and anchor points. The scheduler divides radio time between tasks while attempting to avoid overlaps.
16
+
Each task has an interval, a required runtime, and an anchor point. The scheduler divides radio time between tasks while attempting to avoid overlaps.
17
17
18
18
## Anchor Concept
19
19
20
-
An *anchor point* is the reference time for a repeating Link Layer procedure (such as a connection event).
20
+
An *anchor point* is the reference time for a repeating Link Layer procedure, such as a connection event. This is a Bluetooth Core Specification term. For the formal definition, see the Core Spec.
21
21
22
-
This is a Bluetooth Core Specification term; refer to the Core Spec for the formal definition.
22
+
Anchor placement matters for the following reasons:
23
23
24
-
Why anchors matter:
25
-
26
-
- Anchor placement affects throughput, latency, and coexistence between tasks.
24
+
- It affects throughput, latency, and coexistence between tasks.
27
25
- Efficient anchor distribution ensures radio time is used without unnecessary conflicts.
28
-
- Misaligned anchors may reduce available airtime or increase the likelihood of a collision.
26
+
- Misaligned anchors can reduce available airtime or increase the likelihood of a collision.
29
27
30
28
## Scheduling Algorithms
31
29
32
-
The Bluetooth Link Layer supports three selectable scheduling algorithms. Developers may choose the most suitable one based on device role,
33
-
resource needs, and traffic requirements.
30
+
The Bluetooth Link Layer supports three selectable scheduling algorithms. Choose the one that best matches your device role, resource budget, and traffic requirements.
34
31
35
32
### Basic Scheduling
36
33
37
-
Enabled when the *Bluetooth Controller Anchor Selection* component is **not installed**.
34
+
Basic Scheduling is enabled when the **Bluetooth Controller Anchor Selection** component is not installed.
38
35
39
36
Basic scheduling does not attempt to optimize latency or throughput. It ensures tasks share the radio and resolves conflicts only when overlaps occur.
- Advertising or Peripheral low-throughput applications
44
41
- Applications where latency is not critical
45
42
- PAwR synchronizers
46
-
- Designs requiring lowest RAM, flash, and power usage
43
+
- Designs that require the lowest RAM, flash, and power usage
47
44
48
45
### Even Anchor Selection Algorithm
49
46
50
-
Enabled when the *Bluetooth Controller Anchor Selection* component is installed and **Anchor selection is done in an even manner** is selected.
47
+
This algorithm is enabled when the **Bluetooth Controller Anchor Selection** component is installed and **Anchor selection is done in an even manner** is selected.
51
48
52
-
Best for:
49
+
Use Even Anchor Selection for:
53
50
54
-
- Local device acting as **Central** connected to multiple peripherals
55
-
- Central devices performing **Channel Sounding** where the Central is
56
-
the initiator
51
+
- A local device acting as **Central** that is connected to multiple peripherals
52
+
- Central devices that perform **Channel Sounding** as the initiator
57
53
58
54
Behavior:
59
55
60
56
- Tries to maximize airtime for connection events
61
-
- Distributes anchors evenly across the interval for balanced use across connections
57
+
- Distributes anchors evenly across the interval to balance use across connections
62
58
63
59
Tradeoffs:
64
60
@@ -68,87 +64,80 @@ Tradeoffs:
68
64
69
65
### Empty Center Anchor Selection Algorithm
70
66
71
-
Enabled when *Bluetooth Controller Anchor Selection* is installed and **Anchors are placed in alternating manner** is selected.
67
+
This algorithm is enabled when the **Bluetooth Controller Anchor Selection** component is installed and **Anchors are placed in alternating manner** is selected.
72
68
73
-
Best for:
69
+
Use Empty Center Anchor Selection for:
74
70
75
71
- Devices acting as **Central + PAwR Advertiser**
76
-
- Use cases where PAwR subevents and connections share the same
77
-
interval
72
+
- Use cases where PAwR subevents and connections share the same interval
78
73
79
74
Behavior:
80
75
81
-
- Places anchors to reserve "center" airtime for PAwR operations
82
-
- Works best when all task runtimes fit comfortably inside a single
83
-
interval
76
+
- Places anchors to reserve "center" airtime for PAwR operations.
77
+
- Works best when all task runtimes fit comfortably inside a single interval.
Example: Transmitting and receiving 251-byte packets on a 1M PHY requires ~4.3 ms.
115
106
116
107
If the Host sets a larger minimum event length, the scheduler uses the larger value.
117
108
118
109
### Bluetooth Controller Connection Event Extension
119
110
120
-
Allows connection events to extend beyond their scheduled window if they still have data to exchange and have not exceeded the maximum connection event length. This may temporarily overrun lower‑priority tasks.
111
+
Allows connection events to extend beyond their scheduled window if they still have data to exchange and have not exceeded the maximum connection event length. This can temporarily overrun lower‑priority tasks.
121
112
122
113
### Bluetooth Controller Scanner Reception Early Abort
123
114
124
-
Allows the scanner to abort packet reception if continuing would delay a
125
-
higher‑priority task.. Useful for ensuring extended advertisements do not overrun upcoming
126
-
scheduled tasks.
115
+
Allows the scanner to abort packet reception if continuing would delay a higher-priority task. Use this setting to prevent extended advertisements from overrunning upcoming scheduled tasks.
127
116
128
117
## Choosing a Scheduling Algorithm
129
118
130
119
Choose **Basic Scheduling** when:
131
120
132
-
- Peripheral-only roles
133
-
-Low throughput and non‑critical latency
134
-
-PAwR synchronizer use cases
135
-
-Minimal RAM/flash/power usage required
121
+
-The device has Peripheral-only roles.
122
+
-Throughput is low and latency is not critical.
123
+
-The device acts as a PAwR synchronizer.
124
+
-You need minimal RAM, flash, and power usage.
136
125
137
126
Choose **Even Anchor Selection** when:
138
127
139
-
- Central device with multiple
140
-
Peripherals
141
-
- Central performing Channel Sounding
142
-
- Balanced airtime allocation across connections is needed
128
+
- The device is a Central with multiple Peripherals.
129
+
- The Central performs Channel Sounding.
130
+
- You need balanced airtime allocation across connections.
143
131
144
132
Choose **Empty Center Anchor Selection** when:
145
133
146
-
- Central + PAwR Advertiser roles
147
-
- PAwR and connections share intervals
148
-
-Developer can ensure PAwR train timing does not overlap
134
+
-The device acts as Central + PAwR Advertiser.
135
+
- PAwR and connections share intervals.
136
+
-You can ensure that PAwR train timing does not overlap.
149
137
150
138
## Summary
151
139
152
-
Link Layer scheduling determines how radio airtime is shared between tasks. Choosing the correct scheduler depends on device role, task mix, throughput and latency requirements, and resource constraints.
140
+
Link Layer scheduling determines how radio airtime is shared between tasks. Choosing the most appropriate scheduler depends on your device role, task mix, throughput and latency requirements, and resource constraints.
153
141
154
142
The anchor selection algorithms allow improved radio‑time distribution when needed, while Basic Scheduling provides the lowest resource footprint.
0 commit comments