Skocz do zawartości

STM32F1 i USB host - schemat podłączenia


Pomocna odpowiedź

Napisano (edytowany)

Projektuję właśnie płytkę do pewnego urządzenia na STM32 (konkretnie STM32F107RCT6) i zaczęła mnie zastanawiać kwestia hosta USB.

W dokumentacji możemy znaleźć następujący schemat:

STMUSB.thumb.png.e56154c93404be704c7bf06bd61988b8.png

Powyższy obrazek pochodzi z Internetu, co prawda ten konkretny z datasheeta STM32F411, ale w dokumentacji STM32F107 jest niemalże identyczny.To co zwraca na nim uwagę, to obecność scalonego switcha z zabezpieczeniem nadprądowym. Taki układ komunikuje się z mikrokontrolerem za pomocą dwóch linii GPIO - jedna z nich jest wykorzystywana do włączania/wyłączania zasilania na porcie USB, druga zgłasza wystąpienie zbyt dużego poboru prądu.

Czy takie rozwiązanie jest konieczne? Rozumiem, że służy to do ogarnięcia sytuacji, kiedy ktoś z do portu w jakimś urządzeniu wbudowanym podłączyłby urządzenie o dużym poborze prądu, np. próbując ładować z niego telefon albo wpinając modem LTE. W moim przypadku port USB będzie pełnił rolę pamięci masowej. Będzie do niego na stałe wpięty PenDrive - wewnątrz obudowy, bez łatwego dostępu dla użytkownika. W moich dotychczasowych projektach (na układach PIC24/PIC32) po prostu łączyłem VBUS z linią zasilania 5V. Sprawę zabezpieczenia nadprądowego (a więc także ochrony przed ewentualnymi zwarciami w gnieździe USB) i tak załatwiał bezpiecznik na wejściu zasilania.

Czy takie podejście mogę zastosować także w przypadku STM32? Mogę sobie odpuścić ten scalony włącznik zasilania USB?

Edytowano przez atlantis86

Przecież ST sobie tego nie zmyśliło żeby utrudnić Ci życie. To wszystko jest opisane w ogólnodostępnej w specyfikacji USB. To jak ma być skonstruowany, na co odporny i jak reagować host danej klasy. Niczego tu nie musisz wymyślać, nawet wielkość kondensatorów wyjściowych hosta jest znormalizowana, nie mówiąc oczywiście o zabezpieczeniach prądowych i sygnalizacji do systemu. To wszystko są standardy. Pytanie, czy chcesz zrobić urządzenie, które ma prawo nosić na sobie napis "USB", czy garażową podróbę, co tylko ma podobne wtyczki i daje 5V bez żadnych gwarancji zabezpieczeń. Nas oodpowiedź nie pytaj, to Twoje decyzje.

8 godzin temu, marek1707 napisał:

Pytanie, czy chcesz zrobić urządzenie, które ma prawo nosić na sobie napis "USB", czy garażową podróbę, co tylko ma podobne wtyczki i daje 5V bez żadnych gwarancji zabezpieczeń. Nas oodpowiedź nie pytaj, to Twoje decyzje.

Ok, zapytam więc inaczej: jest to tylko kwestia trzymania się specyfikacji USB, czy stoją za tym jeszcze jakieś inne przesłanki, związane ze stabilnością działania czy awaryjnością urządzenia? Rozumiem, że twórcy standardu przewidzieli różne scenariusze, jak np. możliwość programowego wyłączenia napięcia na porcie albo wykrycia zbyt dużego poboru prądu. Jeśli jednak w moim projekcie port będzie ukryty wewnątrz obudowy i ma tak naprawdę tylko służyć do podłączenia pamięci masowej (pendrive'a) to czy mogę sobie pozwolić na takie odstępstwo?

Bo tego, że nie spełnię wszystkich wymagań standardu USB mogę być pewien - na amatorskiej płytce wykonanej termotransferem trudno chociażby zapewnić odpowiednią impedancję linii danych.

Przyglądam się różnym projektem na STM32 (np. transceiver krótkofalowy mcHF autorstwa M0NKA) i widzę, że często ten układ switcha/zabezpieczenia ndprądowego jest pomijany.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...