- port wejściowy: gniazdo USB-C,
- dwa porty USB wyprowadzone na złącza szpilkowe 5-pin,
- wbudowany stabilizator 3,3 V i zabezpieczenia TVS,
- zintegrowane klucze na liniach zasilania,
- ograniczenie prądowe 800 mA.
Gdy nasz SBC ma tylko jeden port USB (np. Raspberry Pi Zero), a potrzebujemy ich więcej, oczywistym rozwiązaniem okazuje się zastosowanie huba USB. Ale gdy mamy niewielką ilość przestrzeni, współpracujące urządzenia USB są umieszczone w tej samej obudowie (np. ekran dotykowy, pendrive, karta muzyczna audio lub konwertery interfejsów szeregowych, które dodatkowo sumarycznie nie pobierają zbyt dużego prądu z USB), okazuje się, że ich typowe okablowanie zajmuje więcej miejsca niż cała aplikacja. W tym przypadku proponowane rozwiązanie może wprowadzić nieco porządku. Zmiana gniazd USB na złącza szpilkowe (o typowym dla PC wyprowadzeniu sygnałów) zwiększa elastyczność zastosowań huba, pozwalając zaoszczędzić trochę miejsca, a standardowy rozstaw złączy ułatwia zastosowanie także podczas prototypowania układów z użyciem płytek stykowych.
Hub oparty jest o popularny kontroler typu USB2412, którego strukturę wewnętrzną zaprezentowano na rysunku 1.
Dzięki wysokiej skali integracji układ zawiera w sobie praktycznie wszystkie elementy niezbędne do realizacji huba USB, ograniczając implementację do zaledwie kilku zewnętrznych komponentów biernych. Schemat ideowy układu pokazano na rysunku 2.
Hub zasilany jest z portu SBC poprzez złącze USB-C, a ochronnik TVS1 zabezpiecza układ przed skutkami przepięć na liniach danych USB i zasilaniu. Stabilizator U1 dostarcza napięcia 3,3 V zasilającego kontroler USB2412. U3 taktowany jest kwarcem XT 24 MHz, natomiast poprawny restart po włączeniu zasilania zapewnia U2 typu MCP100T. Rezystory podłączone pomiędzy wyprowadzenia NR0/1 a masę informują U3, że urządzenia portów downstream USB1/2 mogą być odłączane/podłączane podczas pracy (nie są wpięte do huba na stałe). Każdy z portów USB1/2 wyposażony został w układ zarządzania zasilaniem odpowiedzialny za kontrolę i zabezpieczenie urządzenia USB. Sygnały PWR1/2 sterują kluczami włączonymi na liniach zasilających, a linie OCS1/2 powiadamiają U3 o przeciążeniu (awarii), spowodowanym przez podłączone urządzenia. Próg sygnalizacji przeciążenia układu AP2151 ustalono na ok. 800 mA. Złącza szpilkowe USB1/2 zapewniają dostęp do portów downstream USB2412, pozostałe elementy układu odsprzęgają i filtrują napięcie zasilające.
Układ zmontowany jest na niewielkiej, dwustronnej płytce drukowanej. Rozmieszczenie elementów zaprezentowano na rysunku 3, zaś zmontowany hub pokazano na fotografii otwierającej.
Układ – po poprawnym montażu – nie wymaga uruchamiania i podłączony do PC, powinien automatycznie zgłosić się jako Generic USB Hub. Stałe połączenia wewnętrzne z urządzeniami USB należy wykonać przewodem przeznaczonym do okablowania USB bądź wykonanym samodzielnie z odcinków przewodu TSK1160/TSK1161 i odpowiednich wtyków/gniazd lub z przewodów prefabrykowanych (np. AK674, USBAJ-2 BQ CABLE), stosowanych w komputerach PC.
Adam Tatuś, EP
- R1, R2: 5,1 kΩ (SMD 0402, 1%)
- R3: 2,2 kΩ (SMD 0402, 1%)
- R4: 12 kΩ (SMD 0402, 1%)
- R5: 47 kΩ (SMD 0402, 1%)
- RP1: drabinka 4x100 kΩ (CRA06S08)
- C1, C2, C9...C12: 10 μF (SMD 0402, X7R)
- C3...C6, C13: 100 nF (SMD 0402, X7R)
- C7, C8: 22 pF (SMD 0402, C0G)
- U1: MCP1700T-3302MB (SOT-89)
- U2: MCP100T300/TT (SOT-23)
- U3: USB2412 (QFN28_050)
- U4, U5: AP2151AW-7 (SOT-25)
- TVS1: transil ESD204 (USON10)
- PWR: LED SMD (0603)
- FB1...FB5: dławik ferrytowy BLM18EG101 (SMD 0603) USB1, USB2: złącze szpilkowe 2,54 mm (SIP5) USBC: gniazdo USB C, typ USB4110 XT: rezonator kwarcowy 24 MHz (SMD 3,2×2,5 mm)