Přenosy dat
V tabulkách jsou uvedeny údaje o maximálním počtu transakcí, které mohou být provedeny během jednoho (mikro)rámce. Z těchto údajů lze určit maximální přenosovou rychlost pro jednotlivé druhy přenosů. Každá tabulka ukazuje:
- Informace o režijních nákladech protokolu pro daný typ přenosu (a danou rychlost)
- Pro vybrané velikosti dat:
- Maximální šířku přenosového pásma (bytů za sekundu)
- Využití (mikro)rámce na přenos (v procentech)
- Maximální počet transakcí v (mikro)rámci
- Počet bytů v (mikro)rámci, které v takovém případě zůstanou nevyužité
- Celkové množství dat, přenesené v takovém případě jedním (mikro)rámcem
Transakce většinou vyžadují více paketů. Protokol u každé transakce obsahuje:
- pole SYNC pro každý paket: 8 bitů (full/low speed) nebo 32 bitů (high speed)
- Byte PID pro každý paket. Obsahuje PID a invertovaný PID (kontrolní)
- EOP pro každý paket: 3 bity (full/low speed) nebo 8 bitů (high speed)
- V token paketu číslo endpointu, adresu zařízení a pole CRC5 (celkem 16 bitů)
- V datovém paketu pole CRC16 (16 bitů)
- V každém datovém paketu datové pole (8 bitů na byte)
- Mezipaketovou mezeru nebo čas na dokončení cyklu sběrnice u transakcí s více pakety
V těchto výpočtech není pro zjednodušení uvažováno žádné vkládání bitů (bit stuffing).
Kupříkladu u přerušovacího (interrupt) přenosu low-speed rychlostí směrem do zařízení je v jedné transakci pět paketů:
- Speciální paket PRE
- Token paket
- Speciální paket PRE
- Datový paket
- Handshake paket
Mezi datovým paketem a handshake paketem uplyne jeden cyklus sběrnice (bus turnaround, doslova "obrátka"). Protokol vyžaduje tedy 5 SYNC bytů, 5 PID bytů, endpoint + CRC5, CRC16, 5 EOP a mezeru mezi pakety.
Řídicí přenosy
Limity pro low-speed řídicí přenosy
Režie protokolu (63 bytů) | (15 SYNC bytů, 15 PID bytů, 6 Endpoint + CRC bytů, 6 CRC bytů, 8 bytů Setup dat a 13bytová pauza mezi pakety (EOP, atd.)) | ||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 3000 | 26% | 3 | 40 | 3 |
2 | 6000 | 27% | 3 | 37 | 6 |
4 | 12000 | 28% | 3 | 31 | 12 |
8 | 24000 | 30% | 3 | 19 | 24 |
Max | 187500 | 187 |
Limity pro full-speed řídicí přenosy
Režie protokolu (45 bytů) | (9 SYNC bytů, 9 PID bytů, 6 Endpoint + CRC bytů, 6 CRC bytů, 8 bytů Setup dat a 7bytová pauza mezi pakety (EOP, atd.)) | ||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 32000 | 3% | 32 | 23 | 32 |
2 | 62000 | 3% | 31 | 43 | 62 |
4 | 120000 | 3% | 30 | 30 | 120 |
8 | 224000 | 4% | 28 | 16 | 224 |
16 | 384000 | 4% | 24 | 36 | 384 |
32 | 608000 | 5% | 19 | 37 | 608 |
64 | 832000 | 7% | 13 | 83 | 832 |
Max | 1500000 | 1500 |
Limity pro high-speed řídicí přenosy
Režie protokolu (173 bytů) | Založena na 480Mb/s a osmibitové mezeře mezi pakety, 88 bitů min. cyklus
sběrnice, 32 bit sync, 8 bit EOP: (9x4 SYNC bytů, 9 PID bytů, 6 EP/ADDR+CRC,6 CRC16, 8 Setup data, 9x(1+11) bytů pauza mezi pakety (EOP, etc.)) |
||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití mikrorámce pro přenos | Max. počet přenosů v mikrorámci | Zbývajících bytů | Bytů informace na mikrorámec |
---|---|---|---|---|---|
1 | 344000 | 2% | 43 | 18 | 43 |
2 | 672000 | 2% | 42 | 150 | 84 |
4 | 1344000 | 2% | 42 | 66 | 168 |
8 | 2624000 | 2% | 41 | 79 | 328 |
16 | 4992000 | 3% | 39 | 129 | 624 |
32 | 9216000 | 3% | 36 | 120 | 1152 |
64 | 15872000 | 3% | 31 | 153 | 1984 |
Max | 60000000 | 7500 |
Izochronní přenosy
Limity pro full-speed izochronní přenosy
Režie protokolu (9 bytů) | (2 SYNC byty, 2 PID byty, 2 Endpoint + CRC byty, 2 CRC byty a 1bytová pauza mezi pakety) | ||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 150000 | 1% | 150 | 0 | 150 |
2 | 272000 | 1% | 136 | 4 | 272 |
4 | 460000 | 1% | 115 | 5 | 460 |
8 | 704000 | 1% | 88 | 4 | 704 |
16 | 960000 | 2% | 60 | 0 | 960 |
32 | 1152000 | 3% | 36 | 24 | 1152 |
64 | 1280000 | 5% | 20 | 40 | 1280 |
128 | 1280000 | 9% | 10 | 130 | 1280 |
256 | 1280000 | 18% | 5 | 175 | 1280 |
512 | 1024000 | 35% | 2 | 458 | 1024 |
1023 | 1023000 | 69% | 1 | 468 | 1023 |
Max | 1500000 | 1500 |
Limity pro high-speed izochronní přenosy
Režie protokolu | Založena na 480Mb/s a osmibitové mezeře mezi pakety, 88 bitů min. cyklus
sběrnice, 32 bit sync, 8 bit EOP: (2x4 SYNC bytů, 2 PID byty, 2 EP/ADDR+CRC, 2 CRC16, 2x(1+11) bytů pauza mezi pakety (EOP, atd.)) |
||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na mikrorámec |
---|---|---|---|---|---|
1 | 1536000 | 1% | 192 | 12 | 192 |
2 | 2992000 | 1% | 187 | 20 | 374 |
4 | 5696000 | 1% | 178 | 24 | 712 |
8 | 10432000 | 1% | 163 | 2 | 1304 |
16 | 17664000 | 1% | 138 | 48 | 2208 |
32 | 27392000 | 1% | 107 | 10 | 3424 |
64 | 37376000 | 1% | 73 | 54 | 4672 |
128 | 46080000 | 2% | 45 | 30 | 5760 |
256 | 51200000 | 4% | 25 | 150 | 6400 |
512 | 53248000 | 7% | 13 | 350 | 6656 |
1024 | 57344000 | 14% | 7 | 66 | 7168 |
2048 | 49152000 | 28% | 3 | 1242 | 6144 |
3072 | 49152000 | 41% | 2 | 1280 | 6144 |
Max | 60000000 | 7500 |
Přerušovací přenosy
Limity pro low-speed přerušovací přenosy
Režie protokolu (19 bytů) | (5 SYNC bytů, 5 PID bytů, 2 Endpoint + CRC byty, 2 CRC byty a 5bytová pauza mezi pakety) | ||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 9000 | 11% | 9 | 7 | 9 |
2 | 16000 | 11% | 8 | 19 | 16 |
4 | 32000 | 12% | 8 | 3 | 32 |
8 | 48000 | 14% | 6 | 25 | 48 |
Max | 187500 | 187 |
Limity pro full-speed přerušovací přenosy
Režie protokolu (13 bytů) | (3 SYNC byty, 3 PID byty, 2 Endpoint + CRC byty, 2 CRC byty a 3bytová pauza mezi pakety) | ||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 107000 | 1% | 107 | 2 | 107 |
2 | 200000 | 1% | 100 | 0 | 200 |
4 | 352000 | 1% | 88 | 4 | 352 |
8 | 568000 | 1% | 71 | 9 | 568 |
16 | 816000 | 2% | 51 | 21 | 816 |
32 | 1056000 | 3% | 33 | 15 | 1056 |
64 | 1216000 | 5% | 19 | 37 | 1216 |
Max | 1500000 | 1500 |
Limity pro high-speed přerušovací přenosy
Režie protokolu (13 bytů) | Založena na 480Mb/s a osmibitové mezeře mezi pakety, 88 bitů min. cyklus
sběrnice, 32 bit sync, 8 bit EOP (3x4 SYNC byty, 3 PID byty, 2 EP/ADDR+CRC, 2 CRC16, 3x(1+11) bytů pauza mezi pakety (EOP, atd.)) |
||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 1064000 | 1% | 133 | 52 | 133 |
2 | 2096000 | 1% | 131 | 33 | 262 |
4 | 4064000 | 1% | 127 | 7 | 508 |
8 | 7616000 | 1% | 119 | 3 | 952 |
16 | 13440000 | 1% | 105 | 45 | 1680 |
32 | 22016000 | 1% | 86 | 18 | 2752 |
64 | 32256000 | 2% | 63 | 3 | 4032 |
128 | 40960000 | 2% | 40 | 180 | 5120 |
256 | 49152000 | 4% | 24 | 36 | 6144 |
512 | 53248000 | 8% | 13 | 129 | 6656 |
1024 | 49152000 | 14% | 6 | 1026 | 6144 |
2048 | 49152000 | 28% | 3 | 1191 | 6144 |
3072 | 49152000 | 42% | 2 | 1246 | 6144 |
Max | 60000000 | 7500 |
Hromadné přenosy
Limity pro full-speed hromadné přenosy
Režie protokolu (13 bytů) | (3 SYNC byty, 3 PID byty, 2 Endpoint + CRC byty, 2 CRC byty a 3bytová pauza mezi pakety) | ||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 107000 | 1% | 107 | 2 | 107 |
2 | 200000 | 1% | 100 | 0 | 200 |
4 | 352000 | 1% | 88 | 4 | 352 |
8 | 568000 | 1% | 71 | 9 | 568 |
16 | 816000 | 2% | 51 | 21 | 816 |
32 | 1056000 | 3% | 33 | 15 | 1056 |
64 | 1216000 | 5% | 19 | 37 | 1216 |
Max | 1500000 | 1500 |
Limity pro high-speed hromadné přenosy
Režie protokolu (55 bytů) | (3x4 SYNC byty, 3 PID byty, 2 EP/ADDR + CRC byty, 2 CRC16 byty a 3x(1+11) bytů pauzy mezi pakety (EOP atd.)) | ||||
Velikost dat | Max. přenosová rychlost (bytes per second) | Využití rámce pro přenos | Max. počet přenosů v rámci | Zbývajících bytů | Bytů informace na rámec |
---|---|---|---|---|---|
1 | 1064000 | 1% | 133 | 52 | 133 |
2 | 2096000 | 1% | 131 | 33 | 262 |
4 | 4064000 | 1% | 127 | 7 | 508 |
8 | 7616000 | 1% | 119 | 3 | 952 |
16 | 13440000 | 1% | 105 | 45 | 1680 |
32 | 22016000 | 1% | 86 | 18 | 2752 |
64 | 32256000 | 2% | 63 | 3 | 4032 |
128 | 40960000 | 2% | 40 | 180 | 5120 |
256 | 49152000 | 4% | 24 | 36 | 6144 |
512 | 53248000 | 8% | 13 | 129 | 6656 |
Max | 60000000 | 7500 |
hw@ maly.cz
DOWNLOAD & Odkazy
- USB.ORG - USB.ORG
- Specifikace USB - Dokumentace ke stažení
- MCU.CZ - USB sekce
- ing. Igor Češko - hardware
Předchozí díly