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

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

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

Этот lammertbies.nl/comm/info/RS-232_specs.html может быть полезен: «Если, например, используется кабель UTP CAT-5 с типичной емкостью 17 пФ/фут, максимально допустимая длина кабеля составляет 147 футов».
Настоящий RS232 имеет перепад напряжения более 10 Вольт между состоянием метки и пробела. А 147 футов только для 19200 бод. OP говорит о 3V3 UART и скорости от 115200 до 921600 бод: это будет работать только с относительно короткими кабелями.
Могу ли я предложить приемопередатчики RS422? Они гораздо лучше подходят для кабелей витой пары CAT5E.
Не вариант, к сожалению.
У меня вопрос: почему трансиверы 422 не вариант?

Ответы (2)

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

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

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

Тот факт, что вы можете получить 145 м от Ethernet, не означает, что вы получите то же самое от сигнала TTL 3,3 В по тому же кабелю только потому, что вы используете более низкую скорость передачи данных, см. объяснение в моем ответе.
@Jason: Заметьте, я не говорил, что вы это сделаете. Я сказал, что вы можете получить большие расстояния с надлежащими мерами предосторожности, такими как драйверы и приемники дифференциальных линий и терминированные концы.
@Olion: Из вашего поста вы, кажется, утверждаете, что речь идет скорее о характеристиках кабеля, а не о том, почему 3,3 В TTL не пройдет по нему далеко. Для меня это звучит как предложение купить хороший кабель, что, как мы оба знаем, неправильно.

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 не подходят.
Да, я умею читать. Я все еще могу порекомендовать правильное решение. То, что плакат не любит слышать правду, не означает, что ее не следует говорить.
Почему вы все время называете это ТТЛ? В названии указано 3,3 В, так что это точно не ТТЛ. Привод TTL имеет очень асимметричные возможности приемника/источника, в то время как HCMOS является симметричным. Может изменить мир, управляя кабелем.
Что такое «предварительный акцент»?
Предыскажение — это метод, при котором мощность возбуждения (т. е. выходной импеданс) модулируется во время передаваемого импульса. Он используется для компенсации емкостных и индуктивных характеристик кабеля и магнитных полей в попытке передать приемнику более качественные края.