Po ostatnich dniach walki z tym ładowaniem, przeglądaniu dokumentacji, postaram się troszkę wyjaśnić (mam nadzieję że dobrze) do czego doszedłem i jak to działa.
Popatrzcie na poniższy schemat blokowy tego TPS2546, który siedzi w moim uchwycie PowerFlex:
Z lewej strony są piny DM_OUT i DP_OUT przechodzą przez układ do pinów DM_IN i DP_IN. Te piny _IN wyprowadza się do urządzenia, które chcemy zasilać, piny _OUT do HUBa usb (kontrolera, komputera itp). Pomijam tutaj zupełnie część zasilania żeby nie mieszać w głowie. Układ po dostarczeniu zasilania czeka na podłączenie urządzenia do portów _IN. Jak zauważycie na schemacie blokowym po drodze jest parę bloków: Auto-Detection, Devider Mode, DCP Detection, CDP Detection oraz Logic control. Są one podłączone do linii sygnałowych USB. Najważniejsze w tym przypadku jest "switch" z sekcji logic controll, który odpowiada za dołączenie linii danych do naszego urządzenia. W zależności od wybranego trybu pracy (ustawienie linii CTLx) załączane są po kolei wymienione przeze mnie bloki, aby poinformować ładowane urządzenie jakim prądem może być ładowane. Gdy zostanie to ustalone sekcja Logic Controll łączy linie danych między urządzeniem a hostem i może być wtedy komunikacja.
I tak, gdy nie ma informacji jaki prąd może być wysterowany, urządzenie przyjmuje że może to być maks 0,5A (0,9A dla USB3.0) (przykład - podpinamy prosto urządzenie do hosta, który nie obsługuje portu w trybie ładowania a zwykły przesył danych; w tym przypadku możemy nawet podać dużo mocniejszy prąd np. 2A ale i tak urządzenie nie będzie z tego korzystać. Ale uwaga - to jest oficjalna dokumentacja, zdarzają się takie urządzenia (ja na przykład mam nawigację z biedronki albo kieszeń na dysk) które mimo to ładują się takim prądem jak dostarczymy).
Kolejne dwa tryby, DCP (Dedicated Charging Post) i CDP (Charging Downstream Port). Ten pierwszy jest portem służącym do ładowania urządzeń i spokojnie może on dać 1,5 - 2A w zależności od możliwości. Ale nie może on przesyłać danych. Najprościej taki port zrobić przez to, że dajemy + i - zasilania a linie danych D+ i D- mostkujemy (zwieramy).
Port CDP może dawać taki sam prąd ale również może przesyłać dane. Taki układ jak tem TPS najpierw informuje urządzenie że może przekazać taki prąd do ładowania a następnie zwiera linie danych umożliwiając już komunikację host <-> urządzenie. Jednocześnie monitoruje linie D+ i D- aby sprawdzać czy są jakieś zakłócenia na liniach, jeśli takie wystąpią zmniejszane jest natężenie prądu do momentu ustąpienia zakłóceń.
Są jeszcze inne tryby (np. Chinese Telecommunications Industry Standard YD/T 1591-2009, 1.2V - Mode) ale one działają na podobnych zasadach i mogą ale też nie muszą mieć możliwości transmisji danych.
Taka funkcjonalność może być wbudowana w niektóre układy hub'ów i wtedy takie układy potrzebne nie są. Taki układ dodatkowo wpięty w szereg zasilanie <-> urządzenie dodatkowo zabezpiecza przed puszczeniem za dużego napięcia/prądu.
Ale jak napisałem wyżej, niektóre urządzenia same badają jaki jest prąd i mimo nie stosowania się do w/w uwag mogą ładować się odpowiednim prądem. Ja w domu mam same Samsungi (S3, S4, S5, S6) i wszystkie trzymają się w/w standardów i nic nie daje dołożenie równolegle prądu.
Dodam taką ciekawostkę. Mam taki niezależny hub USB:
https://www.komputronik.pl/product/2699 ... -hdmi.htmlMa on dedykowany port do ładowania. I on daje 1,2A prądu. Niezależnie czy podłącze kabel usb do gniazda usb2.0 czy 3.0, ba nawet bez podłączenia do kompa (włączony tylko zasilacz) to i tak te 1,2A prądu zawsze jest.
Ale kiedyś rozbierałem taki hub i siedzi tam jakiś podobny do tego TPS'a układ (nie zdążyłem zrobić zdjęcia) i to właśnie on decyduje jakim prąd ma być wypuszczony na złącze.
Mam nadzieję że nikogo nie zanudziłem swoimi rozważaniami