BleLab spojení je kalendář

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Propustnost: pilovitá křivka

Propustnost BLE je počet výměn na schůzku krát objem dat v jedné výměně děleno intervalem. Všechny tři členy jsou celá čísla nebo pevné konstanty, a proto ta křivka není hladká — je pilovitá a chová se způsobem, který překvapí každého.

850100150200interval (ms)0212424636848kb/sstrop 771 kb/spropustnost651 kb/spaketů na schůzku10jedna výměna2532 µszbyde nevyužito1680 µsKřivka je pilovitá: zbytek každého intervalu se nevyužije, dokud se do něj nevejde další výměna.
Táhni intervalem přes celý rozsah. Křivka skáče: jakmile se do intervalu vejde další výměna, propustnost povyskočí, a mezi skoky klesá. Přepni DLE a sleduj strop.

Kratší interval nemusí být rychlejší

Nejkratší možný interval je 7,5 ms. Jedna výměna na 1M PHY s plným paketem trvá 2 532 µs, takže se jich do něj vejdou dvě a zbude 1 700 mikrosekund, které nikdo nevyužije. Při intervalu 30 ms se vejde deset výměn a zbude 1 700 — relativní ztráta je pětkrát menší.

PHYbez DLE (27 B)s DLE (251 B)strop
1M~90 kb/s~650 kb/s771 kb/s
2M~170 kb/s~1 170 kb/s1 371 kb/s
Coded S=2~45 kb/s~330 kb/s386 kb/s
Coded S=8~12 kb/s96 kb/s

Ten „strop“ je stav, kdy výměny jdou beze zbytku za sebou. Reálný interval se k němu blíží, ale nikdy ho nedosáhne — a to je poctivá verze údaje „až 1,4 Mb/s“ z katalogu.

Dvě věci, které propustnost zabijí

  1. Vypnuté DLE. Sedmkrát méně, protože režie je konstantní. Viz předchozí kapitola.
  2. Potvrzované operace. Zápis s odpovědí čeká na odpověď, která přijde až v příští schůzce — takže na jednu operaci připadá celý interval, bez ohledu na rychlost PHY. To je kapitola 8.

A jedna past specifická pro kódované PHY: plný paket na S=8 trvá 17 ms. Do intervalu 30 ms se s odpovědí nevejde, takže spojení existuje a nepřenese nic. Tahle labka to hlásí; skutečný zásobník to většinou vyřeší tím, že paket rozdělí, ale propustnost už tím nezachrání. S=8 a DLE se navzájem vylučují na krátkých intervalech.

Vzorce v této kapitole

R — propustnost BLE
R = výměn · data / interval [bit/s] kap. 6