Chciałbym zadać dość szczegółowe pytanie dotyczące zarządzania energią USB.
Przede wszystkim przedstawię projekt mojego urządzenia. Jest to symetryczny sterownik linii sygnałowej z wbudowanym kodekiem audio dla mojego zestawu głośnikowego DIY. Urządzenie jest wewnętrznie podzielone na dwa w większości niezależne bloki: sam sterownik liniowy ze sterującym MCU i kodekiem audio (PCM2706 TI). Oba wymagają połączenia USB (przez FT232R dla bloku sterownika), a całe urządzenie powinno być zasilane z magistrali. Dwa bloki zostaną połączone ze sobą za pomocą układu koncentratora USB, co zapewni jedno połączenie USB połączenia ładującego z komputerem. Spodziewam się, że zużycie stopnia sterownika będzie wynosić od 100 do 200 mA (zdecydowanie więcej niż jedna jednostka obciążenia).
Pojawia się problem: zgodnie ze specyfikacją USB koncentrator zasilany z magistrali może zapewnić tylko jedną jednostkę na port wyjściowy, jednocześnie pobierając maks. 5 jednostek z wyjściowego. Chciałbym wiedzieć, co zrobiłby hub, gdybym poprosił o dwie jednostki za pośrednictwem FT232 na etapie sterownika. Limit 5 jednostek wysyłania nie zostanie osiągnięty (1 jednostka dla koncentratora, 1 jednostka dla kodeka i dwie dla sterownika), więc komputer powinien fizycznie być w stanie dostarczyć ten prąd.
W przypadku układu koncentratora sprawdzałem http://www.ti.com/lit/ds/symlink/tusb2036.pdf . Istnieje opcja „zasilanego” trybu zasilania, czy byłoby to pomocne? A może chip po prostu odmówiłby przyznania kierowcy dwóch jednostek? A w tym przypadku, czy jest jakieś brudne obejście?
Zdaję sobie sprawę z wymogu, że urządzenia dużej mocy muszą również pobierać maks. 100 mA podczas zliczania; nie stanowi to problemu, ponieważ FT232 jest w stanie włączyć sterownik tuż po wyliczeniu. Hub włączy również etapy niezależnie.
Mam nadzieję, że mój problem jest wystarczająco jasny i dziękuję za poświęcony czas :)
AKTUALIZACJA:
Zrobiłem trochę więcej badań nad układem TUSB2036. Zabezpieczenie nadprądowe można wyłączyć za pomocą styku / OCPROT. Koncentrator następnie zgłasza kontrolerowi root, że nie jest w stanie wykryć przetężenia. W arkuszu danych znajduje się ostrzeżenie, że wymagana jest ochrona OC zgodnie ze specyfikacją USB 2.0 - to nie ma dla mnie znaczenia, potrzebuję tylko 1.1 Full-speed. Główny hub komputera powinien następnie dostarczyć IMO 500 mAmps do całego urządzenia. Tak więc mogłem ustawić FT232 sterownika tak, aby wymagał tylko 100 mA, a hub nigdy nie wiedziałby, czy przekroczyłbym limit (oczywiście uwzględniając 500 mA z komputera). Czy ktoś może powiedzieć, czy to może zadziałać?
Zaprojektowałem tablicę wokół tego piasty.
W mojej aplikacji umożliwiał dostęp do FT232 i FT245.
Jeśli wszystko jest na twojej płytce drukowanej, poleciłbym całkowicie całkowicie zignorować całe systemy zabezpieczenia nadprądowego. W końcu, jeśli coś na twoim PCB ulegnie awarii, cała sprawa będzie wymagała pracy, więc umożliwienie urządzenia częściowej awarii jest rodzajem spornego punktu.
W mojej sytuacji przypiąłem TUSB, aby zażądać pełnej 500 mA i wyłączyć ochronę nadprądową, i po prostu uruchomiłem wszystko prosto z USB 5.0v. Zrobiłem to, zmuszając hub do zgłaszania się jako samozasilający do nadrzędnego hosta.
Zrobiłem kilka plansz bez żadnych problemów, więc wydaje się, że jest to całkowicie wykonalna strategia. Jest również używany z kilkoma różnymi komputerami, więc czuję się całkiem pewnie, używając go takim, jakim jest.
Oczywiście, jeśli chodzi o urządzenie produkcyjne, a nie osobisty projekt lub uprząż testową (co w moim przypadku jest), jest to zupełnie inny problem.
(Patrz uwaga na schemacie)
Za to, co jest warte, często możesz dość okropnie nadużywać większość nowoczesnych portów USB bez większych problemów. Wiele z nich może dostarczyć znacznie więcej energii niż 500ma, dla których są przeznaczone, bez większych problemów.
Ponadto większość z nich (wszystko, co przetestowałem, z wyjątkiem niektórych laptopów ) z przyjemnością dostarczy pełne 500ma bez urządzenia, którego w ogóle trzeba wyliczyć.
Jednak różni się to w zależności od płyty głównej, w zależności od projektu hosta USB. Twój przebieg może się różnić.
źródło
Może być nieco brudny: TUSB2036 pozwala na wybór portu pobierania (p3 NPINT1-0 ustawiony na 10). Następnie podłącz urządzenie do dwóch (fizycznych) portów, aby móc narysować 2 jednostki równolegle.
źródło