Pytanie:
STM32 „Urządzenie USB” a „USB OTG HS” - jaka jest różnica?
ScienceSamovar
2016-05-16 17:32:51 UTC
view on stackexchange narkive permalink

Niedawno pobrałem aplikację stm32 do wyszukiwania MCU i dowiedziałem się, że na przykład STM32F429 ma „NIE” w urządzeniu peryferyjnym „Urządzenie USB”, podczas gdy w „USB OTG FS” i „USB OTG HS” jest napisane „TAK”. Co jest dość zaskakujące, ponieważ STM32F429 jest w pełni funkcjonalny jako urządzenie USB, tj. Obsługuje wszystkie biblioteki i klasy USB.
Niektóre inne MCU mają zapisane w nim „urządzenie USB”, np. STM32L052 enter image description here

Potem próbowałem sprawdzić CubeMX i odkryłem, że w ich wyszukiwaniu znajduje się urządzenie peryferyjne USB_Device (i znowu STM32F429 go nie zawiera, rzeczy USB są wykonywane przez OTG ).

Może to być dość łatwe pytanie, ponieważ podejrzewam, że urządzenie USB oznacza po prostu to, które nie obsługuje OTG, ale nie jestem pewien, zwykle MCU i tak używają OTG (a ponadto jest tylko jedna biblioteka więc po co pisać „NIE” w urządzeniu peryferyjnym USB). Nie mogłem znaleźć informacji na ten temat w Google lub w dokumentacji CubeMX.

Nie przejmuję się tym zbytnio, ponieważ USB OTG HS wydaje się działać dobrze z biblioteką, ale zastanawiam się nad terminologią.

Rozumiem, że prawdopodobnie forum ST jest lepszym miejscem na to pytanie, ale na wiele tematów nie ma odpowiedzi lub odpowiedzi po upływie 2 lat. :)

Dzięki.

Miałem takie doświadczenie z forami ST, więc współczuję ...
Jeśli chodzi o to, że forum ST ma zły wkład, to najwyraźniej jest to nie tylko forum, ale także na e-mail, otworzyłem zgłoszenie o możliwym błędzie w jednej z ich dokumentacji i przykładów USB, ale nikt (jeszcze) nie zadał sobie trudu, aby mi odpisać.Co jest naprawdę irytujące.
Jeden odpowiedź:
dim
2016-05-16 17:57:34 UTC
view on stackexchange narkive permalink

Twoja opinia jest słuszna: urządzenia oznaczone jako „Tak” w kolumnie Urządzenie USB mogą po prostu działać jako urządzenie USB. Nie obsługują specyfikacji OTG i nie mogą też pełnić roli hosta.

Ale oczywiście każde urządzenie obsługujące USB OTG może, z drugiej strony, działać jako proste urządzenie . Kto może więcej, może zrobić mniej.

Identyfikują je w ten sposób, ponieważ „urządzenie USB”, „OTG FS” i „OTG HS” to trzy różne rdzenie IP w chipach. Wszystkie mają swoje szczególne możliwości / specyfikacje i mogą wymagać innych sterowników (jak zauważyłeś).

Podsumowując:

  • Urządzenie USB: może działać tylko jako urządzenie działające z pełną prędkością (12 Mb / s)
  • USB OTG FS: zdolne do działania jako urządzenie / host / urządzenie peryferyjne OTG, z pełną prędkością (12 Mb / s)
  • USB OTG HS: w stanie działać jako urządzenie / host / urządzenie peryferyjne OTG, z pełną prędkością (12 Mb / s) lub dużą prędkością (480 Mb / s). Należy pamiętać, że rdzeń HS w [zdecydowanej większości] * mikrokontrolerów ST wymaga zewnętrznego układu ULPI PHY, aby faktycznie obsługiwał dużą prędkość. PHY na chipie może działać tylko z pełną prędkością. ... Tak, to bardzo zagmatwane.

* Edycja : Wygląda na to, że ST w końcu podjął pewne wysiłki, aby zintegrować wbudowany w chip PHY na kilku ich najnowszych MCU (a dokładniej: niektóre wersje STM32F7x3 i STM32F730 w tej chwili). Jednak nie ma konkretnej kolumny, która wyraźnie wskazuje tę funkcję w ich tabeli wyboru urządzeń, co ponownie zwiększa zamieszanie. Musisz spojrzeć na szczegóły arkusza danych.

Ok dzięki, chciałem to usłyszeć nie z własnej głowy :)
W związku z tym mam system iMX, który ma * oba * "host usb" i "otg fs", co daje dwa użyteczne porty USB - ale wymagają one różnych sterowników!Coś podobnego może dotyczyć ST - ta sama funkcjonalność wymagająca innego oprogramowania.
Rzeczywiście, jestem pewien, że mieli lub mieli w przeszłości urządzenia, które miały wiele portów peryferyjnych o różnym poziomie funkcji.Jest to jednoznaczny sposób wyszczególnienia funkcji dla szeregu części (lub tak by się wydawało w przeszłości)
Hej!Czy mógłbyś trochę rozszerzyć?Jeśli mikrokontroler obsługuje USB OTG, czy teoretycznie mógłbyś mieć dwa porty USB podłączone do chipa: 1, aby działać jako host USB OTG (np. Podłączyć klawiaturę), a drugi USB, aby działać jako urządzenie?Czy istnieje termin opisujący to zachowanie?
@Ness Jeśli chip zawiera tylko blok USB OTG, nie, nie możesz.Ale wiele zaawansowanych mikrokontrolerów zawiera zarówno urządzenie USB, jak i bloki USB OTG.Następnie możesz używać obu jednocześnie i mieć dwa niezależne porty na swoim MCU: jeden działający jako urządzenie, a drugi jako host, tak.Sprawdź arkusze danych.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...