Úloha D: Universal Serial Bus

VypracovalDavid Šafránek
SpolupracovaliJan Doležel, Jaroslav Baláš, Ondřej Havlák
Datum měřenístředa, 4.5.2005, 12:45

Zadání

Cílem této úlohy je prostudovat mechanismus práce USB a napsat program, který bude přijímat data z této sběrnice.

Práce bude probíhat pod OS GNU Linux

 a) zprovoznit SW pro přístup na sběrnici

 b) přečíst údaje o jednotlivých zařízeních

 c) identifikovat obsah přijímaných datových paketu

Průběh měření

Měli jsme k dispozici počítač s volným USB portem, USB myš s rozlišením 400dpi, která sloužila jako vstupní periferní zařízení a CD s OS Knoppix. Po nabootování do systému jsme pomocí textového editoru a překladače gcc spustili diagnózu a námi upravený program.

Příprava měření

  1. Nabootovat bez myši
  2. Připojit myš
  3. Odstranit ovladače zařízení mousedev, hid
  4. Zkompilovat a spustit usbtest.c/usb.c

Výsledky měření

Ze souboru test.txt jsme zjistili následujíci:

bus003
device002
idVendor045E
idProduct0040
ManufacturerMicrosoft
ProductMicrosoft 3-Button Mouse with IntelliEye(TM)
wTotalLength34
bNumInterfaces1
bConfigurationValue1
iConfiguration0
bmAttributesa0h
MaxPower50
bInterfaceNumber0
bAlternateSetting0
bNumEndpoints1
bInterfaceClass1
bInterfaceSubClass1
bInterfaceProtocol2
iInterface0
bEndpointAddress81h
bmAttributes03h
wMaxPacketSize4
bInterval10
bRefresh0
bSynchAddress0

Příprava programu

Upravený program pro měření

Naměřená data v textové a html podobě.

Významy sloupců jsou následující:
  1. Stav tlačítek myši (0-bez stisku, 1-stisknuto levé, 2-stisknuto pravé, 4-stisknuto prostřední a jejich kombinace)
  2. Posun v ose x (minus vlevo, plus vpravo)
  3. Posun v ose y (minus nahoru, plus dolu)

Závěr

V této laboratorní úloze jsme se naučili pracovat s knihovnou pro USB, a vstupním periférním zařízením. Problémy způsobilo jen odstranění USB driveru myši (myš přestala být aktivní - snímací led dioda byla zhaslá), které se povedlo až na druhý pokus. Měření proběhlo bez problémů, použití programu bylo snadné.


Created 2005-05-09 18:50:14  valid-html40