USB
USB (Universal Serial Bus) forbinder en vært, typisk en computer, med enheder som mikrocontrollere, tastaturer og lagermedier. USB beskriver både forbindelsens signalering og reglerne for, hvordan enheder opdages og udveksler data.
USB-hastighed som byte-rate
USB-hastigheder angives normalt som rå overførsel på forbindelsen. Tabellen omregner dem til byte/s, så størrelsesordenen er lettere at sammenligne. Tallene er ikke den mængde applikationsdata, man altid får leveret.
| USB-tilstand | Omtrentlig rå byte-rate | Typisk brug |
|---|---|---|
| Low-Speed | Ca. 188 kB/s | Enkle enheder som visse mus og tastaturer. |
| Full-Speed | Ca. 1,5 MB/s | USB 1.1/USB 2.0 full-speed-enheder; mange mikrokontrolleres USB-forbindelser. |
| High-Speed | Ca. 60 MB/s | USB 2.0 high-speed-enheder og hurtigere lagermedier. |
kB/s og MB/s her er decimal: 1 kB = 1.000 byte og 1 MB = 1.000.000 byte. Rå hastighed bruges også til pakkeoverskrifter, kontrol, pauser og busdeling, så den faktiske fil- eller programdatahastighed er lavere.
Hastighed og stik er to forskellige ting
USB-C beskriver formen på stikket, ikke hvor hurtigt USB-forbindelsen er. Et USB-C-stik kan føre forskellige USB-generationer og hastigheder. Man skal derfor kende både enhedens USB-tilstand og stikkets type.
Vært og enhed
- Vært: starter og styrer kommunikationen på bussen.
- Enhed: svarer på værtens forespørgsler og stiller funktioner til rådighed via endpoints.
- USB-seriel: mange udviklingskort fremstår for computeren som en virtuel seriel port, selv om data transporteres gennem USB.
USB på udviklingskort
USB bruges ofte både til programmering og seriel dataudveksling. Den maksimale byte-rate afhænger af USB-controlleren, firmware, driver, overførselsform og det tilsluttede kabel; den kan ikke udledes af stikkets udseende alene.
Kilder
- USB Implementers Forum: USB 2.0 Specification – USB 2.0-tilstande og protokol.
- Arduino Uno R4 WiFi-brugervejledning – eksempel på USB og seriel kommunikation på et udviklingskort.