Maksymalna długość kabla dla sygnałów UART 3,3 V.

15

Chciałbym uniknąć używania konwerterów RS-232 między dwoma mikrokontrolerami na dwóch różnych płytkach. Z różnych powodów obsługiwane są tylko UART, np. Brak SPI lub I2C, i będę używać kabla CAT5E do gniazd RJ45 między płytkami. Szybkość przesyłania danych wyniesie 115200 b / s, prawdopodobnie do 921600 b / s. Uziemienie jest połączone wraz z sygnałami UART.

Chociaż obecnie pracuję na długościach, których potrzebuję, dla własnego wykształcenia, czy istnieje sposób na oszacowanie maksymalnej długości kabla, przy której byłoby to niezawodne?

QuestionMan
źródło
Ten plik lammertbies.nl/comm/info/RS-232_specs.html może być pomocny „Jeśli na przykład używany jest kabel UTP CAT-5 o typowej pojemności 17 pF / ft, maksymalna dozwolona długość kabla wynosi 147 stóp”.
kenny
3
Real RS232 ma wahania napięcia o więcej niż 10 woltów między stanem znaku i przestrzenią. A 147 stóp jest tylko dla 19200 bodów. OP mówi o 3V3 UART i 115200 do 921600 bodów: Działa to tylko przy stosunkowo krótkich kablach.
Turbo J
2
Czy mogę zasugerować transceiver RS422? Pasują znacznie skrętki CAT5E.
Turbo J
Niestety nie ma opcji.
QuestionMan
Mam pytanie: dlaczego 422 transceiverów nie jest opcją?
DiBosco

Odpowiedzi:

14

Nie ma jednej bezpiecznej odpowiedzi. Ma to wiele wspólnego z długością kabla, otaczającym szumem elektrycznym i prędkością, z jaką chcesz jechać. Ethernet wykorzystuje kabel CAT5 do transmisji z prędkością 10 Mbit / s dla najwolniejszej odmiany, więc 1 Mbit / s jest łatwo wykonalny, jeśli zastosujesz odpowiednie środki ostrożności . Zauważ, że w przypadku Ethernetu każdy sygnał otrzymuje własną skrętkę, a każda para jest starannie zakończona przy charakterystycznej impedancji kabla na każdym końcu. Każda para jest napędzana w różny sposób i interpretowana w różny sposób, a także jest zaprojektowana tak, aby nie mogła powodować pętli uziemienia.

Jeśli to wszystko zrobisz, możesz przesyłać dane 1 Mbit / s kablem CAT5 na duże odległości, np. 1000 metrów. Gdy robisz mniej tych rzeczy, zmniejsza się użyteczna odległość. Jeśli na przykład jest to tylko deska do deski w tym samym podwoziu, prawdopodobnie nie musisz robić nic specjalnego. Jeśli wychodzisz poza urządzenie, przydatne mogą być sterowniki i odbiorniki linii różnicowej.

Wypróbuj coś w konfiguracji i spójrz na sygnały po stronie odbiorczej, aby dowiedzieć się o marginesie szumu, dostosuj w razie potrzeby. Być może użyj protokołu, który może wykrywać i odzyskiwać po błędach, i śledzić, jak często to się dzieje. Istnieje zbyt wiele sposobów, aby wymienić tutaj bez dodatkowych informacji.

Olin Lathrop
źródło
1
To, że możesz uzyskać 145m z Ethernetu, nie oznacza, że ​​dostaniesz to samo z sygnału TTL 3,3 V tym samym kablem tylko dlatego, że używasz mniejszej przepływności, zobacz wyjaśnienie w mojej odpowiedzi.
Jason Morgan
2
@Jason: Pamiętaj, że nie powiedziałem, że to zrobisz. Powiedziałem, że można uzyskać duże odległości przy zachowaniu odpowiednich środków ostrożności, takich jak sterowniki i odbiorniki linii różnicowej i zakończone końcówki.
Olin Lathrop,
3
@Olion: W swoim poście wydaje się, że chodzi o charakterystykę kabla, a nie o to, dlaczego TTL 3,3 V nie zejdzie daleko w dół. Dla mnie brzmi to jako sugestia zakupu dobrego kabla, co, jak wiemy, jest złe.
Jason Morgan
7

Ethernet wykorzystuje sygnalizację różnicową, sygnał TTL jest single-ended.

Ethernet korzysta ze wstępnego nacisku, TTL nie.

Ethernet to tryb prądowy, TTL to tryb napięciowy.

Ethernet wykorzystuje modulację, która zmniejsza liczbę krawędzi, twój TTL może nie (standardowy ASYNC na pewno nie)

Sterownik Ethernet i odbiornik są dopasowane impedancji do kabla, chyba że dokładnie zaprojektowane, TTL nie byłby (a gdyby tak było, to nie byłby TTL!)

Ethernet wykorzystuje sygnał symetryczny (za pomocą oszustwa) w celu uzyskania parzystej gęstości 1. Serial ASYNC ma wbudowane napięcie wstępne, które ładuje kabel i należy go pokonać, aby uzyskać sygnał z drugiego końca.

Z tych powodów, sam fakt, że możesz uzyskać 145m z Ethernet przy 1 Gbps, nie oznacza, że ​​dostaniesz ten sam (lub nawet 1000 razy mniej) z sygnału TTL 3.3V w tym samym kablu.

Polecam użycie sterownika sygnalizacji różnicowej, takiego jak RS422, do czego jest przeznaczony. Rzeczywiście RS422, choć praca przy niższym napięciu jest lepsza dla długich serii ze względu na różnicową sygnalizację (RS232 jest single-ended),
również sterowniki i odbiorniki robią sprytne rzeczy, aby poprawić jakość krawędzi, takich jak wstępne podkreślenie.

Jason Morgan
źródło
OP stwierdził już 3 godziny przed odpowiedzią, że transceiver RS422 nie wchodzi w grę.
tcrosley
3
Tak, umiem czytać. Nadal mogę polecić prawidłowe rozwiązanie. To, że plakat nie lubi słuchać prawdy, nie oznacza, że ​​nie należy o tym mówić.
Jason Morgan
2
Dlaczego cały czas nazywacie to TTL? Tytuł mówi 3.3V, więc zdecydowanie nie jest to TTL. Napęd TTL ma bardzo asymetryczne funkcje sink / source, podczas gdy HCMOS jest symetryczny. Może zmienić świat, kierując kablem.
stevenvh
Co to jest „wstępny nacisk”?
m.Alin
Preemfaza jest techniką, w której siła napędu (tj. Impedancja wyjściowa) jest modulowana podczas przekazywanego impulsu. Służy do kompensacji pojemnościowych i indukcyjnych charakterystyk kabla i magnesów w celu przedstawienia odbiornikowi lepszych krawędzi.
Jason Morgan