Skocz do zawartości

Czy do jednego UART-a można podłączyć kilka mikrokontrolerów?


Pomocna odpowiedź

Pod warunkiem, że wszystko, co masz podłączone będzie obsługiwać tą adresację tak samo. Robią tak na przykład serwa dynamixela. Ale jak chcesz podłączać dowolne urządzenia, to nie.

Dopóki masz kontrolę nad tym, jak i kiedy te mikrokontrolery będą z tego portu szeregowego korzystać, to możesz sobie adresację wprowadzić. Będziesz musiał wymyślić szczegóły protokołu — jak te adresy mają wyglądać, jak chcesz unikać konfliktów, etc. — ale jest to jak najbardziej możliwe.

(edytowany)

Nie lepiej byłoby w takiej sytuacji użyć rs485? Bo nie wiem jak inaczej rozwiązać problem kiedy więcej mikrokontrolerów będzie chciało nadawać biorąc pod uwagę że w "normalnym" połączeniu crossuje się txd z rxd

Edytowano przez _LM_
40 minut temu, _LM_ napisał:

Bo nie wiem jak inaczej rozwiązać problem kiedy więcej mikrokontrolerów będzie chciało nadawać

Najłatwiej to rozwiązać tak jak w SPI czy I2C, czyli jeden mikrokontroler jest ważniejszy od pozostałych i decyduje kiedy kto ma nadawać, a pozostałe nie odzywają się niepytane. Można też robić bardziej skomplikowane rzeczy: przydzielać sloty czasowe, wykrywać kolizje, możliwości jest dużo w zależności od potrzeb. Zgadzam się, że dobrze jest wykorzystać istniejący protokół, jeśli taki pasuje — choćby tylko dlatego, że są do nich gotowe narzędzia i nie trzeba potem się potykać o przypadki szczególne, których nie przewidzieliśmy.

(edytowany)

Ano I2C może pracować w multimaster. Bardziej mi chodziło o sprzętowe rozwiązanie łączenia wielu układów do jednego uart. Jedyna możliwość jest że inne tylko nasłuchują dlatego proponowałem rs485. Ile tych układów planujesz? Niektóre mikrokontrolery mają więcej niż jeden uart, a także można programowo dopisać brakujące

Edytowano przez _LM_
4 godziny temu, _LM_ napisał:

Bo nie wiem jak inaczej rozwiązać problem kiedy więcej mikrokontrolerów będzie chciało nadawać biorąc pod uwagę że w "normalnym" połączeniu crossuje się txd z rxd

Nowsze STM32 na przykład mają w UART możliwość zamiany pinów RX/TX. Więc można sobie zrobić takie rs485 bez rs485. 😉

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...