Samozasilające się urządzenie peryferyjne USB zapewnia własną moc, więc czy dobrze jest podłączyć tylko D +, D- i GND do portu hosta, czy też zawsze musisz podłączyć + 5 V, a następnie zaczekaj na fazę negocjacji urządzenia powiedzieć gospodarzowi, że jest samozasilający i dlatego nie chce żadnej mocy, dziękuję bardzo?
Konkretne urządzenie peryferyjne, na które patrzę, oparte jest na adapterze USB-to-serial FTDI FT4232H, ale naprawdę mam nadzieję na ogólną odpowiedź na to pytanie.
usb
usb-device
kbro
źródło
źródło
Odpowiedzi:
Ogólna odpowiedź na to pytanie brzmi: tak, VBUS (+ 5 V z kabla) musi być podłączony do urządzenia, nawet jeśli jest ono samozasilające. Powód tego jest następujący:
Aby rozpocząć proces łączenia po stronie hosta, urządzenie musi podciągnąć D + (w przypadku trybu FS / HS) lub D- (w przypadku urządzenia LS).
Jednak specyfikacje USB mają obowiązkowy wymóg, aby żadne urządzenie USB nie było źródłem prądu na żadnym styku interfejsu, chyba że jest podłączone do kabla, patrz rozdział 7.1.5.1, który brzmi:
Jeśli urządzenie USB nie ma tej kontroli, jedna z linii danych będzie źródłem prądu. Przedwczesne stwierdzenie pull-upów było źródłem problemów dla niektórych starszych hostów USB. Właśnie dlatego wprowadzono tę zasadę i jest to specjalny test w programie certyfikacji USB-IF.
Dlatego USB VBUS jest ważnym sygnałem „pasma bocznego” w protokole połączenia USB. W związku z tym normalne układy scalone urządzeń USB mają osobne styki wejściowe do wykrywania obecności hosta USB. Niektórzy producenci układów scalonych (np. FT232H, MCP2221 itp.) Pomijają ten wymóg, zakładając, że ich układ będzie wykorzystywany wyłącznie w konfiguracji zasilanej z magistrali, gdzie wymóg kontroli podciągania jest automatycznie spełniony. Jednak przy projektowaniu tych układów w układy z własnym zasilaniem konieczne są dodatkowe wysiłki w obwodzie, aby połączyć włączanie podciągania z obecnością VBUS na porcie USB.
Jeśli chodzi o protokół „handshake” połączenia USB, USB nie polega na prądzie pobieranym z VBUS. Protokół jest następujący: Port hosta musi mieć aktywny VBUS; VBUS jest podłączony do urządzenia; urządzenie widzi VBUS i podciąga 1,5k na jednym z przewodów D + / D-; host widzi to połączenie, a po 100 ms opóźnienie potwierdza sygnalizację USB_RESET (SE0 itp.).
źródło
W przypadku urządzenia z własnym zasilaniem nie podłączaj jego 5 V do 5 V hosta, możesz uszkodzić oba zasilacze.
GND
aD+
,D-
zrobi grzywny.Pamiętaj, że poziomy dla
D+
iD-
są oceniane dla + 3.6 V max, a nie do 5 V, jak można się spodziewać!źródło