Cześć.
W związku z tym, że chciałbym zawodowo zająć się hardware designem, postanowiłem popracować nad skromnym portfolio. Ciągle uczę się Altium Designer, więc szukam ciekawych pomysłów do zrealizowania. W tym przypadku jest to też moja pierwsza płytka czterowarstwowa i stwierdzić muszę, że od teraz będe robił tylko takie
Jest to też pierwsza płytka, do której zamówiłem sito do lutowania SMD. Muszę przyznać, że przy takiej ilości elementów SMD sito jest bardzo dużym ułatwieniem.
Jako, że jeden projekt, który planuje stworzyć w przyszłości, będzie miał element wysokiego napięcia, stwierdziłem że przydać się może izolacja ST-LINK'a. Kilka razy przez małe zwarcie udało mi się ubić CPU, a nie chciałbym aby w pewnym momencie mój projekt zamienił się w USB-KILLER.
Izolację można zrobić pewnie na kilka sposobów. Jednym z nich jest izolacja sygnałów CLK i DATA interfejsu SWD. Po krótkim poszukiwaniu okazało się, że nie jest to optymalne rozwiązanie. Przykładowo, układ ADuM1250/51, który jest izolatorem szyny i2c, i który mógł by być wykorzystany w takim przypadku, ma maksymalne ograniczenie prędkości do 1 MHz. SWD działać będzie, ale niepotrzebnie będziemy zmuszeni do zmniejszenia taktowania.
Można szukać innych, szybszych izolatorów, ale takie rozwiązanie i tak będzie miało kilka ograniczeń.
Tak więc naturalnym wyborem wydaje się izolacja samego portu USB. Po głębszym przemyśleniu stwierdziłem, że gdy już podłączony będzie programator, dobrze było by mieć też opcje serial portu oraz podłączenia analizatora logicznego. Pierwotnie chciałem zakupić pojedynczne, gotowe, pasywne izolatory USB 1.1 z aliexpress, ale stwierdziłem, że bardziej rozwojowym będzie zrobienie czegoś własnego. Tak powstał pomysł na Izolowany Hub USB. Jako dodatek postanowiłem dodać tam izolowaną przetwornicę, tak aby hub był aktywny. Pierwotnie przekonany byłem, iż USB Full Speed będzie wystarczające, wszak takie urządzenie jest dość specyficzne i prędkość transmisji nie jest tutaj głównym założeniem. Wydaje mi się, że w okolicach stycznia na mouserze nie było żadnego izolatora z USB2.0. W googlach też coś ciężko było wyszukać, tak więc wybór padł na:
- ISOUSB111DWEVM - izolator USB Full Speed. W wersji 0.2 zamieniony na ADUM3166BRSZ - USB High Speed.
- USB2534I - HUB 4xUSB
- IES0205S05 - Izolowana przetwornica 5V/5V 2W dla pasywnego USB.
- LM5020 - Kontroler głównej przetwornicy DC/DC.
- TPS2552DBVT - Kontroler zasilania portów USB z regulowanym maksymalnym prądem wyjściowym
Pozwolę omówić sobie wersję 0.2 z pewnymi modyfikacjami, które narzucone są na schemacie i PCB w wersji 0.3, która będzie zamówiona być może w najbliższej przyszłości.
Układ ADUM3166BRSZ to wręcz aplikacja z noty katalogowej. Chip nie wymaga żadnych zewnętrznych rezystorów, wszystko jest zintegrowane i automatycznie konfigurowane w samym układzie. Strona wtórna układu wymaga podłączenia izolowanego napięcia 5V. Teoretycznie w układzie znajduje się stabilizator liniowy 3.3V, który można wykorzystać do zasilenia układu U9, jednak eksperymenty w wersji 0.1 pokazały, że wydajność prądowa podczas uruchomienia nie jest wystarczająca do stabilnej pracy (przynajmiej w układzie USB111, aby uniknąć niespodzianek przy nowym układzie i nowej płytce, stwierdziłem że od razu użyję zewnętrznego stabilizatora). Do poprawnej pracy wymagany jest także rezonator kwarcowy 24 MHz oraz kilka kondensatorów filtrujących.
Układ USB2534I jest także mało skomplikowany i w zasadzie jego aplikacja to także nota katalogowa. Wszelkie konfigurowanie układu polega na podciągnięciu konkretnych pinów do zasilania lub masy. W moim przypadku wszystkie porty są ustawione na porty, które mogą ładować baterie (BC_ENx), oraz na start z ustawieniami pobieranymi z wewnętrznego eepromu (SCL/SDA). Pin aktywności huba oraz informacji odnośnie komunikacji Full speed podłączone są do piętrowych diod. Pin LED0 (aktywność) musi być skonfigurowany poprzez aplikację MPLAB Connect Configurator, jednak wydaje się, że aplikacja ma problem z odpowiednimi sterownikami na Windows 10. Nie mam obecnie laptopa ze starszym Windowsem, więc ta opcja nie jest aktywna. RBIAS zgodnie z notą katalogową musi mieć 12 kΩ, zaleca się rezystor precyzyjny blisko układu.
Układ TPS2552DBVT to kontroler zasilania portu USB. Zasilanie portu jest zawsze włączone (pin Enable ściągnięty do masy). Rezystor R6 ustawia maksymalny prąd wyjściowy. W przypadku gdy prąd ten zostanie przekroczony, sygnał Fault jest zwierany do masy, a w Windowsie pojawia się nam komunikat, że napięcie na porcie USB jest niestabilne. Dla rezystora 210 kΩ ograniczenie prądowe to ok. 100 mA. W momencie pojawienia się napięcia 5 V z głównej przetwornicy DC/DC, dodatkowo dołączany jest rezystor 66 kΩ, dzięki czemu maksymalny prąd jest zwiększony do ok. 550 mA. Na każdej linii zasilającej znajduje się kondensator 120 µF, zgodnie ze specyfikacją USB 8. Kondensator oraz rezystor przy porcie USB można, ale nie trzeba montować - w zależności jak wygląda kwestia uziemienia od strony hosta. W moim przypadku te elementy nie są przylutowane.
IES0205S05 to izolowana przetwornica 5V/5V 2W, z której zasilane są porty, izolator oraz hub w trybie pasywnym. W założeniu chciałem, aby każdy port był ograniczony do 100 mA (co przy maksymalnym poborze ze wszystkich portów teoretycznie i tak było by za dużo). Teoria teorią, praktyka pokazała, że rezystor ograniczający prąd wyjściowy, 210 kΩ, jest trochę za duży i przyłączenie nawet zwykłego pendrive powoduje wyłączenie zasilania i pojawienie się komunikatu o "niestabilnym zasilaniu" w Windowsie. Koniec końców, wartość rezystancji została ustalona na 150 kΩ (więc prąd wyjściowy to ok. 180 mA). W przypadku maksymalnego obciążenia 2 portów spadek napięcia na USB jest na tyle znaczny, że komunikat i tak się pojawi i napięcie zasilania jest odcinane od portu. Tak więc używając trybu pasywnego trzeba to oczywiście robić z rozwagą, aczkolwiek w przypadku przeciążenia, nic się nie uszkadza. Wyższy pobór prądu = spadek napięcia = odcięcie obciążenia przez TPS2522.
D5 oraz Q2 to przełączanie zasilania między aktywnym a pasywnym - w przypadku gdyby 5 V było niższe niż 5 V DC/DC, to drugie jest całkowicie odcinane mosfetem Q2 w przypadku podłączenia zewnętrznego zasilania.
LM5020 to kontroler głównej przetwornicy flyback. Zastosowany transformator to POE13F-50LD. Napięcie wyjściowe to 5 V, maksymalny prąd przy 2 uzwojeniach połączonych ze sobą to 2.5 A. Przetwornica posiada zabezpieczenie nadprądowe w postaci pomiaru napięcia na rezystorach R41 i R42. W obecnym schemacie, oraz laminacie znajduje się mały błąd. Punkt pomiędzy rezystorami R30 oraz R31 nie jest połączony między sobą, zaś na schemacie zabrakło połączenia między nimi oraz C20. Tak czy inaczej, prosta modyfikacja w postaci usunięcia wszystkich komponentów oraz wlutowania kondensatora 1 µF uruchamia wewnętrzny stabilizator LDO, który wykorzystywany jest do sterowania bramki tranzystora.
Napięcie wyjściowe przetwornicy zostało ustalone na 5.3 V, aby zrównoważyć spadek napięcia pojawiający się na diodzie D5.
Trochę nasuwa się pytanie, czy izolowana przetwornica jest potrzebna, wszak można wykorzystać dowolną ładowarkę. Owszem, istnieje jednak możliwość, że PC oraz HUB będzie miało to samo zasilanie 24 V, wtedy jednak izolacja na płycie huba jest wymagana.
Płytka jest zrobiona tak, aby pasować do obudowy 546-1455L801RD z Mousera. Wybrałem kolor czerwono-czarny, więc hub można nazwać też gamingowym
Wszelkie otwory to rękodzieło dokonane za pomocą wiertarki stołowej oraz pilników. Nie wyszło idealnie, ale jak na samoróbkę jestem zadowolony. Trochę brakuje opisów i jakiegoś logo, może kiedyś coś wykonam termotransferem. Na chwilę obecną, zostawiam jak jest
Płytka pasuje bez problemów do obudowy, ma odrobinę luzu który można zniwelować za pomocą jakiejkolwiek pianki. Jeżeli złoży się tak, że wykonam wersję 0.3, PCB będzie wydłużone o 3 mm, tak aby pasować "na styk".
W załącznikach zostawiam schematy oraz pliki Gerber, jeżeli ktoś jest zainteresowany plikami projektu, zapraszam na priv.

W związku z tym, że chciałbym zawodowo zająć się hardware designem, postanowiłem popracować nad skromnym portfolio. Ciągle uczę się Altium Designer, więc szukam ciekawych pomysłów do zrealizowania. W tym przypadku jest to też moja pierwsza płytka czterowarstwowa i stwierdzić muszę, że od teraz będe robił tylko takie

Jako, że jeden projekt, który planuje stworzyć w przyszłości, będzie miał element wysokiego napięcia, stwierdziłem że przydać się może izolacja ST-LINK'a. Kilka razy przez małe zwarcie udało mi się ubić CPU, a nie chciałbym aby w pewnym momencie mój projekt zamienił się w USB-KILLER.

Izolację można zrobić pewnie na kilka sposobów. Jednym z nich jest izolacja sygnałów CLK i DATA interfejsu SWD. Po krótkim poszukiwaniu okazało się, że nie jest to optymalne rozwiązanie. Przykładowo, układ ADuM1250/51, który jest izolatorem szyny i2c, i który mógł by być wykorzystany w takim przypadku, ma maksymalne ograniczenie prędkości do 1 MHz. SWD działać będzie, ale niepotrzebnie będziemy zmuszeni do zmniejszenia taktowania.
Można szukać innych, szybszych izolatorów, ale takie rozwiązanie i tak będzie miało kilka ograniczeń.
Tak więc naturalnym wyborem wydaje się izolacja samego portu USB. Po głębszym przemyśleniu stwierdziłem, że gdy już podłączony będzie programator, dobrze było by mieć też opcje serial portu oraz podłączenia analizatora logicznego. Pierwotnie chciałem zakupić pojedynczne, gotowe, pasywne izolatory USB 1.1 z aliexpress, ale stwierdziłem, że bardziej rozwojowym będzie zrobienie czegoś własnego. Tak powstał pomysł na Izolowany Hub USB. Jako dodatek postanowiłem dodać tam izolowaną przetwornicę, tak aby hub był aktywny. Pierwotnie przekonany byłem, iż USB Full Speed będzie wystarczające, wszak takie urządzenie jest dość specyficzne i prędkość transmisji nie jest tutaj głównym założeniem. Wydaje mi się, że w okolicach stycznia na mouserze nie było żadnego izolatora z USB2.0. W googlach też coś ciężko było wyszukać, tak więc wybór padł na:
- ISOUSB111DWEVM - izolator USB Full Speed. W wersji 0.2 zamieniony na ADUM3166BRSZ - USB High Speed.
- USB2534I - HUB 4xUSB
- IES0205S05 - Izolowana przetwornica 5V/5V 2W dla pasywnego USB.
- LM5020 - Kontroler głównej przetwornicy DC/DC.
- TPS2552DBVT - Kontroler zasilania portów USB z regulowanym maksymalnym prądem wyjściowym
Pozwolę omówić sobie wersję 0.2 z pewnymi modyfikacjami, które narzucone są na schemacie i PCB w wersji 0.3, która będzie zamówiona być może w najbliższej przyszłości.
Układ ADUM3166BRSZ to wręcz aplikacja z noty katalogowej. Chip nie wymaga żadnych zewnętrznych rezystorów, wszystko jest zintegrowane i automatycznie konfigurowane w samym układzie. Strona wtórna układu wymaga podłączenia izolowanego napięcia 5V. Teoretycznie w układzie znajduje się stabilizator liniowy 3.3V, który można wykorzystać do zasilenia układu U9, jednak eksperymenty w wersji 0.1 pokazały, że wydajność prądowa podczas uruchomienia nie jest wystarczająca do stabilnej pracy (przynajmiej w układzie USB111, aby uniknąć niespodzianek przy nowym układzie i nowej płytce, stwierdziłem że od razu użyję zewnętrznego stabilizatora). Do poprawnej pracy wymagany jest także rezonator kwarcowy 24 MHz oraz kilka kondensatorów filtrujących.
Układ USB2534I jest także mało skomplikowany i w zasadzie jego aplikacja to także nota katalogowa. Wszelkie konfigurowanie układu polega na podciągnięciu konkretnych pinów do zasilania lub masy. W moim przypadku wszystkie porty są ustawione na porty, które mogą ładować baterie (BC_ENx), oraz na start z ustawieniami pobieranymi z wewnętrznego eepromu (SCL/SDA). Pin aktywności huba oraz informacji odnośnie komunikacji Full speed podłączone są do piętrowych diod. Pin LED0 (aktywność) musi być skonfigurowany poprzez aplikację MPLAB Connect Configurator, jednak wydaje się, że aplikacja ma problem z odpowiednimi sterownikami na Windows 10. Nie mam obecnie laptopa ze starszym Windowsem, więc ta opcja nie jest aktywna. RBIAS zgodnie z notą katalogową musi mieć 12 kΩ, zaleca się rezystor precyzyjny blisko układu.
Układ TPS2552DBVT to kontroler zasilania portu USB. Zasilanie portu jest zawsze włączone (pin Enable ściągnięty do masy). Rezystor R6 ustawia maksymalny prąd wyjściowy. W przypadku gdy prąd ten zostanie przekroczony, sygnał Fault jest zwierany do masy, a w Windowsie pojawia się nam komunikat, że napięcie na porcie USB jest niestabilne. Dla rezystora 210 kΩ ograniczenie prądowe to ok. 100 mA. W momencie pojawienia się napięcia 5 V z głównej przetwornicy DC/DC, dodatkowo dołączany jest rezystor 66 kΩ, dzięki czemu maksymalny prąd jest zwiększony do ok. 550 mA. Na każdej linii zasilającej znajduje się kondensator 120 µF, zgodnie ze specyfikacją USB 8. Kondensator oraz rezystor przy porcie USB można, ale nie trzeba montować - w zależności jak wygląda kwestia uziemienia od strony hosta. W moim przypadku te elementy nie są przylutowane.
IES0205S05 to izolowana przetwornica 5V/5V 2W, z której zasilane są porty, izolator oraz hub w trybie pasywnym. W założeniu chciałem, aby każdy port był ograniczony do 100 mA (co przy maksymalnym poborze ze wszystkich portów teoretycznie i tak było by za dużo). Teoria teorią, praktyka pokazała, że rezystor ograniczający prąd wyjściowy, 210 kΩ, jest trochę za duży i przyłączenie nawet zwykłego pendrive powoduje wyłączenie zasilania i pojawienie się komunikatu o "niestabilnym zasilaniu" w Windowsie. Koniec końców, wartość rezystancji została ustalona na 150 kΩ (więc prąd wyjściowy to ok. 180 mA). W przypadku maksymalnego obciążenia 2 portów spadek napięcia na USB jest na tyle znaczny, że komunikat i tak się pojawi i napięcie zasilania jest odcinane od portu. Tak więc używając trybu pasywnego trzeba to oczywiście robić z rozwagą, aczkolwiek w przypadku przeciążenia, nic się nie uszkadza. Wyższy pobór prądu = spadek napięcia = odcięcie obciążenia przez TPS2522.
D5 oraz Q2 to przełączanie zasilania między aktywnym a pasywnym - w przypadku gdyby 5 V było niższe niż 5 V DC/DC, to drugie jest całkowicie odcinane mosfetem Q2 w przypadku podłączenia zewnętrznego zasilania.
LM5020 to kontroler głównej przetwornicy flyback. Zastosowany transformator to POE13F-50LD. Napięcie wyjściowe to 5 V, maksymalny prąd przy 2 uzwojeniach połączonych ze sobą to 2.5 A. Przetwornica posiada zabezpieczenie nadprądowe w postaci pomiaru napięcia na rezystorach R41 i R42. W obecnym schemacie, oraz laminacie znajduje się mały błąd. Punkt pomiędzy rezystorami R30 oraz R31 nie jest połączony między sobą, zaś na schemacie zabrakło połączenia między nimi oraz C20. Tak czy inaczej, prosta modyfikacja w postaci usunięcia wszystkich komponentów oraz wlutowania kondensatora 1 µF uruchamia wewnętrzny stabilizator LDO, który wykorzystywany jest do sterowania bramki tranzystora.
Napięcie wyjściowe przetwornicy zostało ustalone na 5.3 V, aby zrównoważyć spadek napięcia pojawiający się na diodzie D5.
Trochę nasuwa się pytanie, czy izolowana przetwornica jest potrzebna, wszak można wykorzystać dowolną ładowarkę. Owszem, istnieje jednak możliwość, że PC oraz HUB będzie miało to samo zasilanie 24 V, wtedy jednak izolacja na płycie huba jest wymagana.
Płytka jest zrobiona tak, aby pasować do obudowy 546-1455L801RD z Mousera. Wybrałem kolor czerwono-czarny, więc hub można nazwać też gamingowym


W załącznikach zostawiam schematy oraz pliki Gerber, jeżeli ktoś jest zainteresowany plikami projektu, zapraszam na priv.



















Cool? Ranking DIY