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ć?