Максимальная длина кабеля для сигналов UART 3,3 В


15

Я хотел бы избежать использования преобразователей RS-232 между двумя микроконтроллерами на двух разных платах. По разным причинам поддерживаются только UART, например, без SPI или I2C, и я буду использовать кабель CAT5E для разъемов RJ45 между платами. Скорость передачи данных составит 115200 бит / с, возможно, до 921600 бит / с. Земля связана с сигналами UART.

Несмотря на то, что в настоящее время я работаю с той длиной, которая мне нужна, для моего собственного образования, есть ли способ оценить максимальную длину кабеля, при которой это будет надежно?


Этот lammertbies.nl/comm/info/RS-232_specs.html может быть полезен: «Если, например, кабель UTP CAT-5 используется с типичной емкостью 17 пФ / фут, то максимально допустимая длина кабеля составляет 147 футов».
Кенни

3
Реальный RS232 имеет перепад напряжения более 10 Вольт между меткой и состоянием пробела. И 147 футов только для 19200 бод. OP говорит о 3V3 UART и 115200 - 921600 бод: это будет работать только с относительно короткими кабелями.
Turbo J

2
Могу ли я предложить RS422 трансиверы? Они бы лучше подходили для кабелей типа CAT5E.
Турбо J

К сожалению, не вариант.
QuestionMan

У меня вопрос: почему 422 трансивера не вариант?
DiBosco

Ответы:


14

Нет единого безопасного ответа. Это во многом зависит от длины кабеля, окружающих электрических помех и скорости, с которой вы хотите идти. Ethernet использует кабель CAT5 для передачи со скоростью 10 Мбит / с для самого медленного диапазона, поэтому 1 Мбит / с легко выполнимо, если принять надлежащие меры предосторожности . Обратите внимание, что в Ethernet каждый сигнал получает свою собственную витую пару, и каждая пара осторожно подключается к характеристическому сопротивлению кабеля на каждом конце. Каждая пара приводится в движение по-разному и интерпретируется по-разному, а также сконструирована таким образом, что она не может вызывать контуры заземления.

Если вы сделаете все это, вы сможете передавать данные со скоростью 1 Мбит / с по кабелю CAT5 на большие расстояния, например 1000 метров. По мере того, как вы будете делать меньше этих вещей, полезное расстояние будет уменьшаться. Например, если это просто плата для платы в одном и том же шасси, вам, вероятно, не нужно делать ничего особенного. Если вы выходите за пределы устройства, то драйверы и приемники дифференциальной линии могут быть полезны.

Попробуйте что-то в вашей настройке и посмотрите на сигналы на приемном конце, чтобы получить представление о запасе шума, при необходимости отрегулируйте. Может быть, использовать протокол, который может обнаруживать и устранять ошибки, и отслеживать, как часто это происходит. Есть слишком много способов перечислить здесь без дополнительной информации.


1
Тот факт, что вы можете получить 145 м от Ethernet, не означает, что вы получите то же самое от сигнала TTL 3,3 В по тому же кабелю, просто потому, что вы используете более низкую скорость передачи данных, см. Объяснение в моем ответе.
Джейсон Морган

2
@ Джейсон: Обратите внимание, что я не сказал, что вы бы. Я сказал, что вы можете получить большие расстояния с надлежащими мерами предосторожности, такими как драйверы и приемники дифференциальной линии и оконечные устройства.
Олин Латроп

3
@ Олион: Из вашего поста вы, похоже, заявляете, что речь идет скорее о характеристиках кабеля, а не о том, почему TTL 3,3 В не продвинется далеко вниз. Для меня это звучит как предложение купить хороший кабель, что, как мы оба знаем, неправильно.
Джейсон Морган

7

Ethernet использует дифференциальную сигнализацию, сигнал TTL является односторонним.

Ethernet использует предварительное выделение, TTL - нет.

Ethernet - текущий режим, TTL - режим напряжения.

В Ethernet используется тачник модуляции, который уменьшает количество фронтов, а ваш TTL - нет (стандарт ASYNC, конечно, нет)

Драйвер Ethernet и приемник согласованы по сопротивлению с кабелем, если не будет тщательно продумано, TTL не будет (и если бы это было так, то это не было бы TTL!)

Ethernet использует симметричный сигнал (с использованием скемблинга) для создания четной плотности. Серийный ASYNC имеет встроенное смещение, которое заряжает кабель и должно быть преодолено, чтобы получить сигнал на другом конце.

По этим причинам то, что вы можете получить 145 м от Ethernet со скоростью 1 Гбит / с, не означает, что вы получите то же самое (или даже в 1000 раз меньше) из 3,3 В сигнала TTL по тому же кабелю.

Я рекомендую использовать драйвер дифференциальной сигнализации, такой как RS422, именно для этого он предназначен. Действительно, RS422, хотя и работает при более низком напряжении, лучше подходит для длительных пробегов из-за дифференциальной сигнализации (RS232 является односторонним).
Кроме того, драйверы и приемники делают умные вещи для улучшения качества краев, такие как предварительное выделение.


ОП уже за 3 часа до вашего ответа заявил, что приемопередатчики RS422 не могут быть выбраны.
tcrosley

3
Да, я могу читать. Я все еще могу рекомендовать правильное решение. Просто потому, что плакат не любит слышать правду, это не значит, что это не должно быть сказано.
Джейсон Морган

2
Почему ты все время называешь это TTL? Название говорит 3.3V, так что это определенно не TTL. Привод TTL имеет очень асимметричные возможности приемника / источника, в то время как HCMOS является симметричным. Может иметь огромное значение за рулем кабеля.
Stevenvh

Что такое «предварительный акцент»?
м.Алин

Предварительная фокусировка - это метод, при котором сила возбуждения (т.е. выходной импеданс) модулируется во время передаваемого импульса. Он используется для компенсации емкостных и индуктивных характеристик кабеля и магнетизма в попытке представить края приемника лучшего качества.
Джейсон Морган
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.