Mam urządzenie USB o pełnej prędkości, dla którego chcę zapewnić 2 porty - po jednym na przeciwległych końcach obudowy. Dzięki temu kabel można podłączyć wszędzie tam, gdzie jest to najwygodniejsze. Mój MCU (atmega32u4) ma tylko jeden interfejs, więc porty fizyczne będą współdzielone, ale tylko jeden powinien być podłączony jednocześnie.
Oczywiście nie można ufać użytkownikom, że nie podłączą obu stron jednocześnie. Jak się przed tym zabezpieczyć?
Pomysły, które wpadłem na:
- Po prostu podłącz je „tak jak są” i miej nadzieję, że host poradzi sobie z połączonymi pinami D + / D-
- Bramka NAND z osobnymi pinami 5 V jako wejściem, wyjściem do MOSFET-a, który rozłącza Vcc, gdy oba są podłączone.
Czy druga opcja brzmi rozsądnie, czy jest wymagane bardziej złożone rozwiązanie?
protection
usb-device
monty
źródło
źródło
Odpowiedzi:
Jak wspomniano, nie można bezpośrednio połączyć dwóch hostów z urządzeniem - więc jeśli po prostu je połączysz i ktoś podłączy je z obu stron, będziesz miał problem.
Jednak masz również problem, jeśli tylko jeden koniec jest podłączony. USB, szczególnie tryb wysokiej prędkości (480 Mb / s), kontroluje impedancję. Po połączeniu ze sobą obu linii danych łączników powstaje tak zwany odgałęzienie w konstrukcji wysokiej częstotliwości. Kabel prowadzący do nieużywanego złącza obniży wydajność aktywnego złącza.
Aby to zrobić poprawnie, potrzebujesz multipleksera. Możesz kupić dedykowane multipleksery USB 2.0 zaprojektowane specjalnie do tego rodzaju aplikacji - coś w rodzaju TS3USB30 . Umożliwiłoby to połączenie linii danych z obu portów z wejściami multipleksera i podłączenie wyjścia do urządzenia wewnętrznie. Multiplekser odłączy nieużywane złącze, które odłączy odcinki linii przesyłowej.
Do zasilania prawdopodobnie użyłbym multipleksera mocy, takiego jak obwód diody OR. Linię VBUS z jednego z portów (przed multiplekserem mocy) można następnie wykorzystać jako wejście do multipleksera danych.
Uziemienie byłoby wspólne (podłączone) między dwoma portami USB a urządzeniem.
źródło
Multiplekser, jak sugeruje Tom Carpenter, jest dobrym rozwiązaniem.
Ale dla pełnej prędkości USB (12 Mb / s) odcinki sygnałów nie są szczególnie ważne. Jeśli odległość między końcami króćca pozostanie poniżej 1/10 długości fali, tj. Poniżej ~ 2 metrów, odbicia nie zniekształcą kształtu fali.
Ponadto poziomy napięcia na pinach D + i D- pozostaną w dopuszczalnym zakresie, więc nie ma dużego ryzyka uszkodzenia elektroniki na żadnym z hostów.
Głównym problemem, który pozostaje, jest to, że jeśli połączysz piny + 5V z obu hostów, mogą występować duże prądy. Możesz użyć diody z każdego styku + 5 V złącza USB, aby przepuszczać tylko prąd.
źródło
Leniwy sposób projektowania elektronicznego polegałby na użyciu fizycznego przełącznika wielozłączowego do wyboru, który z nich zostanie użyty.
Zauważ, że miałoby to dodatkową zaletę polegającą na pozostawieniu ich obu podłączonych do sieci i użyciu przełącznika, aby wybrać, które wejście ma zostać użyte.
źródło
Nie ma na to sposobu zgodnego z USB. Port USB nie jest przeznaczony do współdzielenia przez dwa hosty, a próba takiego działania może doprowadzić do potencjalnie katastrofalnych sytuacji.
W najlepszym wypadku można użyć multipleksera USB lub przełącznika IC z GPIO w celu ustalenia, które złącze jest podłączone. Musisz zdecydować, które połączenie USB ma pierwszeństwo, ponieważ oba nie mogą być podłączone do interfejsu USB w tym samym czasie.
Lub spójrz na alternatywy. Niech jeden komputer komunikuje się z drugim. Lub użyj Bluetooth lub Wi-Fi lub innego rodzaju połączenia.
źródło
Mam tablet Wacom z tą funkcją. Zajmują się opisanym przez Ciebie problemem za pomocą blokady mechanicznej.
Istnieje plastikowy suwak, który blokuje jeden lub drugi port, w zależności od jego pozycji.
źródło
Być może łatwiej byłoby zostawić złącze USB po jednej stronie obudowy i symetrycznie powielić i / lub przenieść wszystkie inne elementy skierowane do użytkownika. Następnie obudowę można obrócić, tak aby port USB był skierowany w stronę złącza, podczas gdy wszystkie pozostałe elementy są nadal łatwo dostępne.
Inną opcją jest zlokalizowanie obu portów po jednej stronie obudowy (na przeciwnych końcach) i dodanie suwaka w obudowie, który użytkownik może przesunąć, aby otworzyć jeden lub drugi port. USB 12 MHz ma duże szanse na pracę z podłączonym do niego dodatkowym odłączonym portem.
źródło