Hlavní navigace

Universální sériová sběrnice (USB)

15. 1. 2009
Doba čtení: 14 minut

Sdílet

V dnešní části seriálu o architekturách počítačů se budeme zabývat v současnosti velmi populární universální sériovou sběrnicí (USB). Jedná se o externí sběrnici (ovšem s hvězdicovou a nikoli sběrnicovou topologií), která byla navržena s ohledem na co nejsnazší připojení externích zařízení k počítači.

Obsah

1. Universální sériová sběrnice (USB)
2. Způsob propojení a vzájemné komunikace zařízení
3. Rozbočovače
4. Přenosové rychlosti
5. Třídy a podtřídy USB zařízení
6. Podpora USB v Linuxu – příkaz dmesg
7. Podpora USB v Linuxu – příkaz lsusb
8. Literatura a odkazy na Internetu
9. Obsah další části seriálu

1. Universální sériová sběrnice (USB)

V dnešní části seriálu si popíšeme základní charakteristiky takzvané universální sériové sběrnice – USB. Zkratka v názvu této sběrnice vznikla z anglického sousloví Universal Serial Bus. Jedná se o externí sběrnici, která je – kromě svého značného rozšíření – zajímavá především tím, že na fyzické úrovni jsou jednotlivá komunikující zařízení (včetně hubů popsaných dále) propojena systémem point to point (jedním kabelem jsou propojena vždy jen dvě zařízení) a ne skutečnou sběrnicí tvořenou společnými vodiči. Naproti tomu minule a předminule popsaná sběrnice I2C společný vodič pro přenos dat a synchronizačního hodinového signálu obsahuje. Na logické úrovni se však o sběrnici skutečně jedná, neboť komunikace může probíhat i mezi zařízeními mezi nimiž leží i několik hubů, tj. uzlů, ve kterých dochází k větvení. Jak konstrukční provedení konektorů, tak i způsob propojení jednotlivých komunikujících uzlů (včetně možnosti odpojit a znovu připojit nějaký uzel bez nutnosti jeho vypnutí/zapnutí nebo vypnutí a opětovného zapnutí řídicího počítače – hot plug) je navrženo s ohledem na co nejsnazší práci se zařízeními určenými pro tuto sběrnici.

pc4501

Obrázek 1: Logo sběrnice USB připomíná její topologickou strukturu s jedním zařízením pracujícím v režimu master a dvěma rozbočovači. Povšimněte si, že stejné logo se nachází například na některých konektorech; viz obrázek umístěný vlevo od perexu tohoto článku. Pro marketing jsou určena další (vícebarevná) loga, která si můžete prohlédnout například na stránce http://www.us­b.org/. Logo zobrazené na tomto obrázku se v literatuře také nazývá „trident“ (trojzubec).

U externí sběrnice USB byly také do značné míry vyřešeny potíže s neexistencí napájecího napětí se zaručenou proudovou zátěží. V předchozích částech tohoto seriálu jsme si řekli, že například u sériového portu RS-232C či paralelního portu (a s ním souvisejícího rozhraní Centronics) mohly vzniknout dosti závažné problémy v případě, že počítač a připojené zařízení bylo napájeno z odlišné fáze nebo ze zcela jiné napájecí sítě. Mnoho menších zařízení, které se připojují ke sběrnici USB má tak malé výkonové požadavky, že je lze napájet přímo pomocí napájecích vodičů vyvedených z počítače na konektory USB. V posledních několika letech jsme tak svědky vzniku více či méně užitečných zařízení, které se obejdou bez vlastního napájení (baterie či transformátoru), což mj. vede k nižší ceně těchto zařízení. Sběrnice USB díky svým vlastnostem postupně vytlačila prakticky všechny starší technologie sloužící k připojení externích zařízení k počítačům – například port pro klávesnici a myš (původně se na IBM PC jednalo o konektor typu DIN, později PS/2), sériový port RS-232C (v některých oblastech je však sériový port sběrnicí USB jen těžko nahraditelný), paralelní porty atd. Jedinou výjimkou jsou vysokorychlostní externí zařízení, pro které se dnes používá převážně rozhraní FireWire a SCSI, i když i zde může dojít ke změně po přechodu na nejrychlejší verzi USB.

pc4502

Obrázek 2: Miniaturní cestovní myš určená pro sběrnici USB. Přívodní kabel k myši je schován v malém mechanismu vybaveném samonavíjecí pružinou. Sběrnice USB obsahuje kromě dvou datových vodičů i napájecí vodiče, přičemž je normou stanoveno, jaký proud mohou jednotlivá zařízení z počítače odebírat. Díky tomu se k USB mohou připojit různé cestovní lampičky, ohřívače na kávu, nabíječe baterií, větráčky atd., které již nemusí mít vlastní (mnohdy neefektivní) napájecí zdroj.

2. Způsob propojení a vzájemné komunikace zařízení

V úvodní kapitole jsme si řekli, že i přes svůj název není fyzické topologické schéma USB založeno na sběrnicové (lineární) topologii, ale na víceúrovňové hvězdicové či, přesněji řečeno, stromové struktuře (strom je mj. charakteris­tický i tím, že neobsahuje žádný cyklus, tj. na USB není možné vytvořit zařízení zapojená do kruhu). Kořenem tohoto stromu je zařízení, které komunikaci řídí, tj. jedná se o zařízení pracující v režimu master; ostatní zařízení, jichž může být až 127, pracují v režimu slave. Jako master většinou vystupuje počítač, do kterého jsou připojována další zařízení a také rozbočovače (hubs). Existence pouze jednoho zařízení typu master vede ke zjednodušení komunikačního protokolu, na druhou stranu to však také znamená, že bez použití nějakých mezičlánků není možné mezi sebou propojit dvě zařízení typu master, tj. ani dva počítače. Rozdíl mezi oběma typy zařízení je zajištěn i na fyzické úrovni – konektor umístěný v počítači je mechanicky odlišný od konektorů zabudovaných na dalších zařízeních. Existují sice zařízení, které mohou pracovat jako masterslave – například se jedná o digitální fotoaparáty schopné při připojení k počítači emulovat mass storage device a naopak dokáží ovládat k nim připojenou tiskárnu – ovšem v daném okamžiku je aktivní pouze jeden z těchto režimů (nehledě na to, že se používají odlišné konektory či propojovací kabely).

pc4503

Obrázek 3: Konektor typu A určený pro externí sběrnici USB. Tento konektor se připojuje vždy do počítače (přesněji řečeno do zařízení typu master), na druhé straně propojovacího kabelu je umístěn konektor typu B, protože na USB není možné připojit dvě zařízení pracující v režimu master. To mj. znamená, že přes USB nelze přímo (bez nějakého mezičlánku) propojit dva počítače.

3. Rozbočovače

Vzhledem k tomu, že jedním kabelem lze propojit pouze dva uzly, musí existovat způsob, jak celkový počet uzlů (zařízení) zvýšit až na maximální hranici, která činí 127 uzlů připojitelných k jednomu kořenovému uzlu (master). Řešení problému připojení většího množství zařízení spočívá v použití takzvaných rozbočovačů (hubs). Každý rozbočovač, který může být představován buď specializovaným zařízením, jež slouží pouze pro připojení dalších uzlů, nebo má i jinou funkci (rozbočovače na monitorech, klávesnicích atd.) obsahuje vždy jeden konektor (většinou typu B) určený pro připojení buď přímo ke kořenu (počítači) nebo k dalšímu rozbočovači a prakticky libovolný počet konektorů (většinou typu A), na které lze připojit koncová zařízení. Díky tomuto uspořádání je již mechanicky zajištěno, že nevznikne zakázaná topologie obsahující cyklus. Na tomto místě je vhodné upozornit na to, že rozbočovač obsahuje poměrně složité obvody, které zajišťují řízení sběrnice, zesilování signálů, úpravu jejich hran a směrování paketů, tj. nejedná se o pouhé paralelní propojení několika konektorů. Norma stanovuje, že za sebou může být zapojeno maximálně pět rozbočovačů, ovšem díky tomu, že počet rozbočovačů na stejné úrovni již omezen není, lze snadno vybudovat i velmi rozsáhlé sítě, které jsou omezené především maximální povolenou délkou propojovacích kabelů (3m v případě USB 2.0).

pc4504

Obrázek 4: Zařízení poskytující možnost připojení až pěti dalších USB zařízení.

4. Přenosové rychlosti

Zařízení, která jsou připojena na sběrnici USB mohou přenášet data několika rychlostmi. Původní norma, dnes označovaná jako USB 1.0, stanovovala dvě rychlosti. Základní rychlost 1,5 MB za sekundu (12 Mb za sekundu), neboli Full Speed, musí být podporována všemi rozbočovači a většinou i samotným kořenovým uzlem (master), nikoli však nutně koncovými zařízeními, protože některá zařízení, například klávesnice či joysticky, tak vysokou rychlost ke své činnosti nepotřebují. Taková pomalá zařízení pracují na rychlosti 187,5 kB za sekundu (1,5 Mb za sekundu), jež se označuje termínem Low Speed. Při této rychlosti se každý bit přenáší osmkrát pomaleji než při použití základní (plné) rychlosti. V roze 2001 byla v normě USB 2.0 stanovena i vyšší rychlost – High speed – při které lze teoreticky dosáhnout až hodnot 60 MB za sekundu (480 Mb za sekundu), ovšem ne všechna zařízení, která na sobě mají nálepku USB 2.0, skutečně až této rychlosti dosahují. Zařízení dovolující použití High speed může v případě potřeby přejít i na základní rychlost, což je nutné pro udržení zpětné kompatibility.

pc4505

Obrázek 5: Miniaturizace integrovaných obvodů s paměťmi typu Flash umožňuje konstrukci stylových USB disků. Ten, který je zobrazen na pátém obrázku, je možné použít ve stavebnici LEGO (má „kompatibilní“ rozměry).

V současnosti se většinou můžeme setkat se základními deskami a zařízeními, které plně podporují USB 2.0, tedy i všechny tři výše popsané přenosové rychlosti. Ovšem poměrně nedávno, konkrétně v létě minulého roku, byla vydána specifikace USB 3.0, která mj. obsahuje i tzv. SuperSpe­ed, což je označení přenosové rychlosti, jejíž hodnota dosahuje 625 MB za sekundu (5,0 Gb za sekundu). V současnosti se se zařízeními, které by tuto rychlost podporovaly, pravděpodobně nesetkáme, ale firma Intel (jeden z autorů této specifikace) očekává, že by se již koncem tohoto roku mohly na trh dostat základní desky i externí zařízení odpovídající USB 3.0. SuperSpeed již umožňuje práci s videem či s rychlými externími pevnými disky, tj. jedná se o alternativu k externímu SCSI či FireWire (v současnosti například pevné disky připojené přes FireWire pracují rychleji než srovnatelné disky připojené přes USB 2.0). Zajímavé porovnání obou technologií můžete najít pod tímto odkazem: http://www.pcfas­tlane.com/fea­tures/usb-30-vs-firewire-3200/.

pc4506

Obrázek 6: Velmi praktické externí zařízení: USB disk zabudovaný v propisce, který je možné doplnit i o laserové ukazovátko.

5. Třídy a podtřídy USB zařízení

Na universální sériovou sběrnici je možné připojit velké množství různých zařízení, od pomalorychlostních klávesnic, myší a joysticků přes známé paměti Flash (Flash disky) až po tiskárny, webové kamery či skenery. Každému zařízení je podle jeho funkce přiřazen kód nazývaný třída zařízení. Podle třídy zařízení, kterou je možné zjistit ihned po zapojení zařízení do sítě a jeho resetu, operační systém zvolí vhodný ovladač, přičemž – a to je docela důležité, především na Linuxu – zařízení, která spadají do stejné třídy, mohou používat shodný či velmi podobný ovladač, i když se může jednat o zařízení od různých výrobců. Některé třídy zařízení se dále dělí na specializované podtřídy a pod-podtřídy. V následujícím výpisu jsou všechny třídy zařízení vypsány, včetně podtříd (subclasses).

00  (Defined at Interface level)
01  Audio
        01  Control Device
        02  Streaming
        03  MIDI Streaming
02  Communications
        01  Direct Line
        02  Abstract (modem)
                00  None
                01  AT-commands (v.25ter)
                02  AT-commands (PCCA101)
                03  AT-commands (PCCA101 + wakeup)
                04  AT-commands (GSM)
                05  AT-commands (3G)
                06  AT-commands (CDMA)
                fe  Defined by command set descriptor
                ff  Vendor Specific (MSFT RNDIS?)
        03  Telephone
        04  Multi-Channel
        05  CAPI Control
        06  Ethernet Networking
        07  ATM Networking
        08  Wireless Handset Control
        09  Device Management
        0a  Mobile Direct Line
        0b  OBEX
        0c  Ethernet Emulation
                07  Ethernet Emulation (EEM)
03  Human Interface Device
        00  No Subclass
                00  None
                01  Keyboard
                02  Mouse
        01  Boot Interface Subclass
                00  None
                01  Keyboard
                02  Mouse
05  Physical Interface Device
06  Imaging
        01  Still Image Capture
                01  Picture Transfer Protocol (PIMA 15470)
07  Printer
        01  Printer
                00  Reserved/Undefined
                01  Unidirectional
                02  Bidirectional
                03  IEEE 1284.4 compatible bidirectional
                ff  Vendor Specific
08  Mass Storage
        01  RBC (typically Flash)
                00  Control/Bulk/Interrupt
                01  Control/Bulk
                50  Bulk (Zip)
        02  SFF-8020i, MMC-2 (ATAPI)
        03  QIC-157
        04  Floppy (UFI)
                00  Control/Bulk/Interrupt
                01  Control/Bulk
                50  Bulk (Zip)
        05  SFF-8070i
        06  SCSI
                00  Control/Bulk/Interrupt
                01  Control/Bulk
                50  Bulk (Zip)
09  Hub
        00  Unused
                00  Full speed (or root) hub
                01  Single TT
                02  TT per port
0a  CDC Data
        00  Unused
                30  I.430 ISDN BRI
                31  HDLC
                32  Transparent
                50  Q.921M
                51  Q.921
                52  Q.921TM
                90  V.42bis
                91  Q.932 EuroISDN
                92  V.120 V.24 rate ISDN
                93  CAPI 2.0
                fd  Host Based Driver
                fe  CDC PUF
                ff  Vendor specific
0b  Chip/SmartCard
0d  Content Security
0e  Video
        00  Undefined
        01  Video Control
        02  Video Streaming
        03  Video Interface Collection
dc  Diagnostic
        01  Reprogrammable Diagnostics
                01  USB2 Compliance
e0  Wireless
        01  Radio Frequency
                01  Bluetooth
                02  Ultra WideBand Radio Control
                03  RNDIS
        02  Wireless USB Wire Adapter
                01  Host Wire Adapter Control/Data Streaming
                02  Device Wire Adapter Control/Data Streaming
                03  Device Wire Adapter Isochronous Streaming
ef  Miscellaneous Device
        01  ?
                01  Microsoft ActiveSync
                02  Palm Sync
        02  ?
                01  Interface Association
                02  Wire Adapter Multifunction Peripheral
        03  ?
                01  Cable Based Association
fe  Application Specific Interface
        01  Device Firmware Update
        02  IRDA Bridge
        03  Test and Measurement
                01  TMC
                02  USB488
ff  Vendor Specific Class
        ff  Vendor Specific Subclass
                ff  Vendor Specific Protocol 
pc4507

Obrázek 7: Flash disk připojený do počítače se ohlašuje jako zařízení třídy 08, podtřída 06. Stejný flash disk byla použit i pro otestování dále popsaných Linuxových příkazů dmesg a lsusb.

6. Podpora USB v Linuxu – příkaz dmesg

Linux (zde mám na mysli samotné jádro, moduly a základní systémové utility) samozřejmě podporuje jak samotnou universální sériovou sběrnici, tak i velké množství zařízení určených pro USB. Při připojení nového zařízení se přitom Linux chová podobně, jako mnoho dalších operačních systémů. Nejdříve je na nově připojené zařízení poslán příkaz reset a poté je zjištěna třída (a popř. i podtřída) zařízení a jeho výrobce (vendor ID). Na základě těchto informací je zařízení přes nahraný ovladač obsluhováno a je dostupné i uživatelům s příslušnými přístupovými právy – flash disk se například může obsluhovat přes symbolické jméno zařízení /dev/sda1 (lze jednoduše provést fyzickou kopii dat, vhodné například ve chvíli, kdy se poškodí souborový systém Flash paměti pro fotoaparát, na které jsou důležité fotky), kamera jako /dev/video0, USB myš jako /dev/input/mice (zkuste si pro zajímavost cat /dev/input/mice a zahýbejte myší) atd.

pc4508

Obrázek 8: Ohřívač na kávu napájený přímo z počítače přes USB.

Při řešení různých problémů se zařízeními určenými pro USB či jen pro zjištění třídy a výrobce nějakého zařízení je možné použít příkaz dmesg, který při připojení i odpojení zařízení vypíše některé zajímavé informace (pro oddělení nových informací od informací předchozích lze použít dmesg -c a posléze dmesg). Ukážeme si několik příkladů výpisu:

Připojení flash disku

(Viz též obrázek 7, kde jsou informace o stejném disku, ovšem připojeném do půjčeného počítače s Windows XP. Díky dmesg však máme k dispozici i mnohem více informací, například přesný počet a délku sektorů).

[  101.568000] usb 1-1: new full speed USB device using uhci_hcd and address 3
[  101.720000] usb 1-1: configuration #1 chosen from 1 choice
[  101.892000] usbcore: registered new interface driver libusual
[  101.924000] Initializing USB Mass Storage driver...
[  101.928000] scsi0 : SCSI emulation for USB Mass Storage devices
[  101.928000] usb-storage: device found at 3
[  101.928000] usb-storage: waiting for device to settle before scanning
[  101.928000] usbcore: registered new interface driver usb-storage
[  101.928000] USB Mass Storage support registered.
[  106.928000] usb-storage: device scan complete
[  106.932000] scsi 0:0:0:0: Direct-Access     JetFlash TS256MJF110 0.00 PQ: 0 ANSI: 2
[  106.996000] sd 0:0:0:0: [sda] 491520 512-byte hardware sectors (252 MB)
[  107.000000] sd 0:0:0:0: [sda] Write Protect is off
[  107.000000] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
[  107.000000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  107.004000] sd 0:0:0:0: [sda] 491520 512-byte hardware sectors (252 MB)
[  107.008000] sd 0:0:0:0: [sda] Write Protect is off
[  107.008000] sd 0:0:0:0: [sda] Mode Sense: 00 00 00 00
[  107.008000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  107.008000]  sda: sda1
[  107.120000] sd 0:0:0:0: [sda] Attached SCSI removable disk
[  107.148000] sd 0:0:0:0: Attached scsi generic sg0 type 0 

Odpojení flash disku

[  219.012000] usb 1-1: USB disconnect, address 3 

Připojení flash disku, které skončilo s chybou

(může jít buď o vadný kabel či nekompatibilitu mezi základní deskou a daným diskem)

[17187317.880000] ohci_hcd 0000:00:02.0: wakeup
[17187318.264000] usb 1-3: new full speed USB device using ohci_hcd and address 2
[17187318.448000] usb 1-3: device descriptor read/64, error -110
[17187318.736000] usb 1-3: device descriptor read/64, error -110
[17187319.016000] usb 1-3: new full speed USB device using ohci_hcd and address 3
[17187319.200000] usb 1-3: device descriptor read/64, error -110
[17187319.488000] usb 1-3: device descriptor read/64, error -110
[17187319.768000] usb 1-3: new full speed USB device using ohci_hcd and address 4
[17187320.176000] usb 1-3: device not accepting address 4, error -110
[17187320.352000] usb 1-3: new full speed USB device using ohci_hcd and address 5
[17187320.760000] usb 1-3: device not accepting address 5, error -110 

Připojení USB myši

[  510.816000] usb 1-1: new low speed USB device using uhci_hcd and address 4
[  510.988000] usb 1-1: configuration #1 chosen from 1 choice
[  511.008000] input: Logitech Optical USB Mouse as /class/input/input6
[  511.008000] input: USB HID v1.10 Mouse [Logitech Optical USB Mouse] on usb-0000:00:07.2-1 

Odpojení USB myši

[  569.292000] usb 1-1: USB disconnect, address 4 

7. Podpora USB v Linuxu – příkaz lsusb

Dalším užitečným linuxovým příkazem je příkaz lsusb, který – jak asi správně tušíte – provede výpis všech zařízení připojených na universální sériovou sběrnici (pro sběrnici PCI je určen podobně vypadající příkaz lspci atd.). Z níže uvedeného výpisu je i přes absenci podrobnějších informací zřejmé, že jsou připojena tři zařízení – Flash disk, optická myš a klávesnice:

Bus 001 Device 006: ID 0457:0151 Silicon Integrated Systems Corp. Super Flash 1GB Flash Drive
Bus 001 Device 005: ID 046d:c016 Logitech, Inc. M-UV69a Optical Wheel Mouse
Bus 001 Device 002: ID 04f2:0110 Chicony Electronics Co., Ltd KU-2971 Keyboard
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000 

Pokud je zapotřebí získat podrobnější informace o nějakém zařízení (například o flash disku z předchozího výpisu), lze použít modifikátor -v (verbose) a popř. i přímo specifikovat požadované zařízení. Níže ukázaný výpis byl získán příkazem lsusb -v -d 0457:0151 > flash_drive.txt, kde 0457:0151 je identifikace výrobce a zařízení:

Bus 1 Device 4: ID 0457:0151 Silicon Integrated Systems Corp. Super Flash 1GB Flash Drive
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0457 Silicon Integrated Systems Corp.
  idProduct          0x0151 Super Flash 1GB Flash Drive
  bcdDevice            1.00
  iManufacturer           0
  iProduct                2 USB Mass Storage Device
  iSerial                 3 9287b453dc70d6
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               98mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered) 
pc4509

Obrázek 9: Konektory typu A sběrnice USB umístěné na moderní základní desce. Pro starší počítače, které nemají řadič USB umístěný přímo na základní desce je možné použít přídavnou kartu, určenou buď do sběrnice PCI, PCI-X nebo PCI-Express.

Cloud23

8. Literatura a odkazy na Internetu

  1. USB.ORG,
    http://www.us­b.org/
  2. Bit-banging,
    http://en.wiki­pedia.org/wiki/Bit-banging
  3. List of USB ID's,
    http://www.linux-usb.org/usb.ids
  4. EUSB to SPI bus Kit,
    http://www.ei­dusa.com/Elec­tronics_Kits_E­USB_To_SPI_BUS­.htm
  5. Basic USB Configuration,
    http://www.linux-usb.org/USB-guide/c122.html#A­EN124
  6. Linux-USB device overview,
    http://www.qbik­.ch/usb/devices/
  7. USBMan – USB 1, 2, & 3 Help and Information,
    http://www.us­bman.com/linu­xusb.htm
  8. ThinkGeek – Elekronics Gadgets,
    http://www.thin­kgeek.com/gad­gets/electronic/85b6/
  9. HID Information,
    http://www.us­b.org/developer­s/hidpage/
  10. Bit rate,
    http://en.wiki­pedia.org/wiki/Bit_ra­te
  11. USB 3.0 vs. FireWire 3200,
    http://www.pcfas­tlane.com/fea­tures/usb-30-vs-firewire-3200/

9. Obsah další části seriálu

V následující části seriálu o architekturách počítačů si popíšeme komunikační protokol použitý universální sériovou sběrnicí při přenosu dat i řídicích kódů. Také si popíšeme fyzickou a linkovou vrstvu této sběrnice, včetně způsobu kódování jednotlivých bajtů, adresování zařízení atd.

Autor článku

Pavel Tišnovský vystudoval VUT FIT a v současné době pracuje ve společnosti Red Hat, kde vyvíjí nástroje pro OpenShift.io.