Skip to content

Commit e9e0f37

Browse files
authored
Techpubs/25q4p3 edits (#7)
Revised the content to conform to techpubs standards
1 parent dde96b9 commit e9e0f37

1 file changed

Lines changed: 47 additions & 58 deletions

File tree

sld272-bluetooth-system-performance/link-layer-scheduler.md

Lines changed: 47 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -10,55 +10,51 @@ A *task* is any Link Layer radio activity that must occur at scheduled intervals
1010
- Advertising
1111
- Scanning
1212
- 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
1515

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.
1717

1818
## Anchor Concept
1919

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.
2121

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:
2323

24-
Why anchors matter:
25-
26-
- Anchor placement affects throughput, latency, and coexistence between tasks.
24+
- It affects throughput, latency, and coexistence between tasks.
2725
- 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.
2927

3028
## Scheduling Algorithms
3129

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.
3431

3532
### Basic Scheduling
3633

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.
3835

3936
Basic scheduling does not attempt to optimize latency or throughput. It ensures tasks share the radio and resolves conflicts only when overlaps occur.
4037

41-
Best for:
38+
Use Basic Scheduling for:
4239

43-
- Advertising / Peripheral lowthroughput applications
40+
- Advertising or Peripheral low-throughput applications
4441
- Applications where latency is not critical
4542
- PAwR synchronizers
46-
- Designs requiring lowest RAM, flash, and power usage
43+
- Designs that require the lowest RAM, flash, and power usage
4744

4845
### Even Anchor Selection Algorithm
4946

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.
5148

52-
Best for:
49+
Use Even Anchor Selection for:
5350

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
5753

5854
Behavior:
5955

6056
- 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
6258

6359
Tradeoffs:
6460

@@ -68,87 +64,80 @@ Tradeoffs:
6864

6965
### Empty Center Anchor Selection Algorithm
7066

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.
7268

73-
Best for:
69+
Use Empty Center Anchor Selection for:
7470

7571
- 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
7873

7974
Behavior:
8075

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.
8478

8579
Multiple PAwR trains:
8680

87-
- Each train is treated as a separate task
88-
- Developers must ensure **system‑level timing** prevents PAwR response slot overlap
81+
- Each train is treated as a separate task.
82+
- Developers must ensure **system‑level timing** prevents PAwR response slot overlap.
8983

9084
## Task Runtime Considerations
9185

92-
Scheduling quality depends on the relationship between task runtimes and
93-
their intervals:
86+
Scheduling quality depends on the relationship between task runtimes and their intervals:
9487

95-
- When total runtime is small compared to the interval, anchors can be spaced optimally
88+
- When total runtime is small compared to the interval, the scheduler can space anchors optimally.
9689
- As total runtime approaches the interval:
97-
- Anchor placement becomes constrained
98-
- Throughput and latency may degrade
99-
- PAwR slot alignment becomes more difficult
100-
- Lowerpriority tasks may lose airtime
90+
- Anchor placement becomes constrained.
91+
- Throughput and latency can degrade.
92+
- PAwR slot alignment becomes more difficult.
93+
- Lower-priority tasks can lose airtime.
10194

10295
A full PAwR use‑case example is available internally.
10396

10497
## Configuration Parameters
10598

106-
The *Bluetooth Low Energy Controller* component provides parameters affecting scheduling.
99+
The **Bluetooth Low Energy Controller** component provides parameters that affect scheduling.
107100

108101
### Bluetooth Controller Minimum Connection Event Duration
109102

110-
Hints the scheduler to reserve a minimum runtime for each connection.
111-
112-
Example:
103+
Hints to the scheduler to reserve a minimum runtime for each connection.
113104

114-
Transmitting + receiving 251byte packets on 1M PHY requires ~4.3 ms.
105+
Example: Transmitting and receiving 251-byte packets on a 1M PHY requires ~4.3 ms.
115106

116107
If the Host sets a larger minimum event length, the scheduler uses the larger value.
117108

118109
### Bluetooth Controller Connection Event Extension
119110

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.
121112

122113
### Bluetooth Controller Scanner Reception Early Abort
123114

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.
127116

128117
## Choosing a Scheduling Algorithm
129118

130119
Choose **Basic Scheduling** when:
131120

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.
136125

137126
Choose **Even Anchor Selection** when:
138127

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.
143131

144132
Choose **Empty Center Anchor Selection** when:
145133

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.
149137

150138
## Summary
151139

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.
153141

154142
The anchor selection algorithms allow improved radio‑time distribution when needed, while Basic Scheduling provides the lowest resource footprint.
143+

0 commit comments

Comments
 (0)