Skocz do zawartości

Obsługa USB w STM32


Pomocna odpowiedź

 Hej, dopiero zaczynam swoją przygodę z mikrokontrolerami STM i mam kilka pytań odnośnie obsługi USB. Większość płytek Nucleo ma wbudowane wbudowany port USB pod programator i komunikację UART. Co jednak w przypadku, gdy chciałbym uruchomić coś jako HID, tak aby przykładowo STM udawał klawiaturę. W tych bardziej rozbudowanych płytkach umieszczany jest dodatkowy port USB i jak rozumiem w takim przypadku problemu nie ma. Co jednak w przypadku mniejszych płytek, takich jak ta. W opisie można znaleźć, że wspiera ona USB, jednak nie do końca rozumiem w jaki sposób. Czy chodzi o pojedynczy wbudowany port, czy któreś z wyprowadzeń może obsługiwać dodatkowo USB i potrzebne jest zewnętrzne złącze, które trzeba sobie "dolutować"? 

Link do komentarza
Share on other sites

(edytowany)

No to piszemy...

  1. USB wymaga bardzo dokładnego taktowania rdzenia. Niektóre STM32 dają radę na wbudowanych zegarach (np. L432KBU6), a niektóre wymagają zewnętrznego kwarcu (F103CBT6). Z reguły lepiej jest podłączyć zewnętrzny kwarc, co na niektórych płytkach Nucleo wiąże się z przestawianiem zworek na spodzie płytki (powinno być to opisane w dokumentacji konkretnego modelu).
  2. Do tego USB ma konkretne specyfikacje (w zależności od wersji). W przypadku 1.1FS wymaga, by obie ścieżki miały odpowiednią rezystancję ścieżek i "termination resistors", w przypadku STM32 zwykle 22R, które niektóre modele mają wbudowane (trzeba sprawdzić w DS czy takie posiada). Dodatkowo niezbędny może okazać się rezystor 1.5K podciągający linię D+ do 3V3, który jest używany do rozpoznawania prędkości urządzenia (też czasami są wbudowane, a czasami są osobne).
  3. W STM32 CubeIDE musisz ustawić odpowiedni rdzeń dla USB (w Twoim przypadku HID) i liczyć, że wszystko będzie działać poprawnie... 😉 
  4. Tak, będziesz potrzebować zewnętrznego złącza USB (najlepiej takie na kabelku i to dość krótkim, co by impedancja nie spowodowała problemów z sygnałem, ale 1.1FS ma dość spory zapas na wszystkie problemy).

A to i tak pewnie nie wszystko tylko najważniejsze problemy z USB... 😄 

Interesuje cię UM2505 dla MB1367.

Edytowano przez H1M4W4R1
  • Lubię! 1
Link do komentarza
Share on other sites

14 minut temu, _LM_ napisał:

Proponuję zaopatrzyć się w popcorn, trochę czasu i coś do robienia notatek 😉

Masochista jeden... robić LL jak STM ma biblioteki HAL do HID'a xD

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Moim zdaniem masochizmem jest używanie HAL do USB. To delikatnie mówiąc niezbyt dobrze i prosto napisana biblioteka...

Natomiast na rejestrach można sobie zrobić pięknie działającego HID-a w moment 🙂

  • Lubię! 2
Link do komentarza
Share on other sites

22 godziny temu, H1M4W4R1 napisał:

USB wymaga bardzo dokładnego taktowania rdzenia.

Przesąd 😉

Kiedyś się bawiłem biblioteką LUFA na avr i działało nawet na wewnętrznym zegarze RC (po programowym dokalibrowaniu)

Ale fakt że z kwarcem 12MHz wszystko jest łatwiejsze

Link do komentarza
Share on other sites

Większość STM32 nawet high-speed (480Mbps) nie obsługuje o 3.0 i nowszych nie ma nawet co marzyć.

Natomiast full-speed, czyli 12Mbps jest obsługiwane przez większość modeli i pozwala zapoznać się z możliwościami jakie oferuje USB. Bardzo fajny interfejs do nauki zanim się zabierze za coś bardziej nowoczesnego jak USB 3.1, albo PCIe.

Link do komentarza
Share on other sites

Jak MCU ma serdes to nic dziwnego że obsługuje coś bardziej współczesnego niż USB2.0, czy SPI. Ale temat jest chyba o STM32...

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.