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.

Víc spojení najednou

Centrála může držet desítky spojení současně — a protože je BLE plánované, není to soutěž o médium jako u Wi-Fi. Je to rozvrh, a rozvrh má pevnou kapacitu.

jeden interval — a do něj se musí vejít všechna spojení30,0 ms0jedna schůzka1,48 msobsazeno30 %vejde se spojení20propustnost každého11 kb/sVejde se to. Každé spojení má svůj slot a o médium se nesoutěží.
Modré proužky jsou schůzky jednotlivých spojení uvnitř jednoho intervalu. Přidávej spojení, dokud se přestanou vejít.
Nmax = interval / doba jedné schůzkya nic víc se tam nevejde

Jedna schůzka s dvěma pakety trvá kolem 1,2 ms. Do třicetimilisekundového intervalu se tedy vejde asi dvacet pět spojení — a to je opravdový strop, ne odhad. Nad ním centrála buď spojení odmítne, nebo některým prodlouží interval, aniž by se koho ptala.

Tři důsledky pro návrh

  1. Krátký interval je drahý dvakrát. Nejen na baterii periferie, ale i na kapacitě centrály. Šest zařízení po 7,5 ms zabere centrálu úplně.
  2. Vyjednaný interval se může změnit. Periferie požádá o 30 ms, dostane 30 ms, a při připojení dalších deseti zařízení jí ho centrála prodlouží na 120. Aplikace o tom musí vědět — zpoždění se právě zečtyřnásobilo.
  3. Míchat rychlá a pomalá spojení jde dobře. Rychlé zařízení s intervalem 15 ms a deset pomalých po sekundě se vejdou snadno; deset rychlých ne. Rozvrh se plní součtem podílů, ne počtem zařízení.

Co dělá skutečný řadič

Rozvrhování je jediná část BLE, kterou specifikace nepředepisuje — každý výrobce si ho dělá po svém a nikdo ho nezveřejňuje. Proto se strop v datasheetech uvádí jako „až 20 spojení“ a v praxi to znamená „dvacet, pokud jsou pomalá“.

Tahle labka počítá ideální rozvrh bez rezerv. Reálný řadič si nechává místo na inzerci, skenování a na vlastní režii, takže skutečná kapacita bývá o třicet až padesát procent nižší. Je to řečeno nahlas, protože přesnější číslo by bylo vymyšlené.

A jedna věc, která překvapí: spojení se nemusí vejít do téhož intervalu — každé má svůj vlastní. Centrála je skládá tak, aby se schůzky nepřekrývaly, a když se to nedaří, posune některým „kotvu“. Proto se občas stane, že se latence jednoho spojení skokem změní, aniž by se cokoli nastavovalo: rozvrh se přeskládal kvůli někomu jinému.

Vzorce v této kapitole

N_max — kolik spojení se vejde
N = interval / t_schůzky [—] kap. 11