Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C - VUSB - Urządzenie nie jest wykrywane

22 Maj 2013 21:25 1332 5
  • Poziom 2  
    Witam.

    Jako, że to mój pierwszy post na tym forum, chciałbym wszystkich powitać.

    Zrobiłem układ na płytce stykowej wg. schematu (ze strony Code and Life)
    C - VUSB - Urządzenie nie jest wykrywane.
    Źródłem napięcia jest port USB, czyli ~5V, więc do D+ i D- dodałem diody Zenera 3V3 podłączoną katodą do tych linii i anodą(?) do masy. Nie podłączyłem tylko rezystora 1M, ale z nim i tak nie działało. Jako uC zastosowałem Atmega8A z zewnętrznym kwarcem 12MHz.

    D+ podłączyłem do PD2, a D- do PD3.

    Kombinowałem w programie, ale nic to nie dało.

    Korzystam z Linuxa, z dmesg dostaję
    Cytat:
    usb 2-1: new low-speed USB device number 23 using ohci_hcd
    hub 2-0:1.0: unable to enumerate USB device on port 1
    usb 2-1: new low-speed USB device number 24 using ohci_hcd
    usb 2-1: device descriptor read/all, error -62
    usb 2-1: new low-speed USB device number 25 using ohci_hcd
    usb 2-1: device descriptor read/all, error -62
    usb 2-1: new low-speed USB device number 26 using ohci_hcd
    usb 2-1: device descriptor read/8, error -62
    usb 2-1: device descriptor read/8, error -62
    usb 2-1: new low-speed USB device number 27 using ohci_hcd
    usb 2-1: device descriptor read/8, error -62
    usb 2-1: device descriptor read/8, error -62
    hub 2-0:1.0: unable to enumerate USB device on port 1


    Jestem początkującym, więc nie mam pojęcia, czy błąd jest po stronie układu, czy programu. Prosiłbym o pomoc. Nie wiem, jakie informacje mogą się jeszcze przydać, więc w razie czego pytajcie.

    Pozdrawiam.
  • Poziom 12  
    Jak długi przewód usb zastosowałeś? Jest on ekranowany?
  • Poziom 2  
    Przyznam, że chciałem zaoszczędzić i sam go sobie wykonałem. Użyłem przewodu ze skrętki. Jest długi na ~40cm. Wygląda tak:
    C - VUSB - Urządzenie nie jest wykrywane
    Nie myślałem, że "rodzaj" kabla może mieć na to jakiś wpływ. Można jeszcze ten jakoś poprawić, czy lepiej zaopatrzyć się w kabel z prawdziwego zdarzenia?
  • Pomocny post
    Poziom 12  
    I jak pomogło skrócenie lub zastosowanie lepszego przewodu?
  • Poziom 2  
    Zastosowałem lepszy przewód USB o takiej samej długości i działa. Bardzo dziękuję za pomoc :)
  • Poziom 2  
    Jednak wciąż jest coś nie tak. Przy normalnym kablu działa jak chce.

    Czasami, nawet jeśli system wykryje poprawnie urządzenie, program na PC ładnie się z nim połączy, ale nie może wysłać żadnych danych. Z dmesg dostaję:
    Cytat:
    usbfs: USBDEVFS_CONTROL failed cmd usb rqt 192 rq 1 len 256 ret -62

    a z programu, że upłynął czas stopera, cokolwiek to znaczy.

    "Dobrze" wykryte urządzenie:
    Cytat:
    usb 3-2: USB disconnect, device number 59
    usb 3-2: new low-speed USB device number 60 using ohci_hcd
    usb 3-2: New USB device found, idVendor=16c0, idProduct=05dc
    usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 3-2: Product: USBTest
    usb 3-2: Manufacturer: xyz


    Często muszę się nakombinować, żeby komputer mi go wykrył, jak nie wykryje, to dostaję w dmesg to samo, co w moim 1 poście.

    Co dziwne, po takiej zabawie, dołączyłem kondensator elektrolityczny 100uF, po tym nagle zaczęło wszystko ładnie działać, mogłem odłączać, resetować uC, program na PC normalnie działał. Nawet kurczę przez kabel, który sam zrobiłem. Myślałem, że właśnie to go bolało. Jednak potem odłączyłem go na chwilę dłużej, zmieniłem coś w programie na PC i chciałem sobie sprawdzić. No i po tym znowu zaczął się cyrk.

    Dociskałem do płytki mikrokontroler, ale też to nic nie dało (jest nawet w podstawce, ponieważ ona ma grubsze "nóżki").

    Nie mam pojęcia co jest z tym nie tak. Działa dobrze tylko pod windowsem? Nawet jeśli to to bez sensu przecież.

    Bardzo proszę o pomoc.

    Pozdrawiam.