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?
Odpowiedzi:
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.
źródło
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.
źródło