Volba sběrnice: co která utne
Užitečná otázka není „která sběrnice je nejlepší“, ale kterou podmínku který kandidát neprojde. To je totiž jediná informace, ze které jde poznat, proč byla ta zřejmá volba špatně — a jestli se dá zadání změnit tak, aby se vešla.
Délka utne dřív než rychlost
Nejčastější překvapení: dvacet metrů k rameni vyřadí všechno nesymetrické — I²C, SPI i UART — a udělá to při pěti stech kilobitech, tedy v rychlosti, kterou zvládne kdeco. Zbydou jen symetrické sběrnice, a to není náhoda: každá sběrnice v tabulce, která umí víc než pár metrů, je symetrická, protože jinak nemá jak odečíst rozdíl potenciálů mezi dvěma konci kabelu.
Latence není rychlost
Druhé překvapení: CAN má na 1 Mb/s dost propustnosti pro šest kloubů (příští kapitola to spočítá), a přesto se do rychlé smyčky nehodí. Ta dvě stě mikrosekund není doba přenosu — je to arbitráž a zásobník, a zvýšení bitové rychlosti s nimi nehne. Proto EtherCAT: čte rámec za jízdy a nečeká, až dojede celý.
Nejjednodušší, ne nejrychlejší
Když vyhoví víc kandidátů, nástroj vybere ten s nejmenším počtem vodičů a pak ten s největší rezervou na nejtěsnější podmínce. Není to estetika: každý vodič navíc je konektor, kus svazku a jeden způsob, jak to zapojit špatně.
Kde ta čtyři čísla nestačí
Nastav si tři metry dlouhý spoj na sedm set kilobitů k osmi uzlům — tedy přesně šestiosý robot ve skříni. Nástroj vybere RS-485, ne CAN, a má pravdu: CAN má strop 1 Mb/s, takže mu na sedmi stech kilobitech zbývá 1,4×, kdežto RS-485 má rezervu desetinásobnou. Podle čtyř čísel to není ani těsné rozhodnutí.
A přesto se staví CAN. Důvod není v žádném z těch čtyř čísel: CAN má arbitráž bez kolize a prioritu zabudovanou ve zprávě, kdežto u RS-485 je linka jen linka a všechno ostatní — kdo kdy smí vysílat, co se stane při kolizi, jak se pozná chyba — si musí návrhář napsat sám. To je práce na měsíce a je to práce, ve které se dělají chyby.
Tenhle nástroj to nepočítá, protože se to spočítat nedá; poznámka u každé sběrnice to aspoň říká slovy. Užitek z toho výběru je jinde: říká, které kandidáty nemá smysl ani zvažovat, a to je většina tabulky.
Past: spoj s jedním procentem rezervy není vyřešený spoj. Nástroj proto počítá rezervu na každé podmínce zvlášť a řadí podle té nejtěsnější.