Смещение RS485 (MAX489)

Я делаю клиентское устройство RS485. Прототип способен успешно передавать и получать данные с сервера Modbus в двухпроводном (полудуплексном) режиме. Полный дуплекс планируется, но я еще не пробовал.

Требуются ли для MAX489 какие-либо резисторы смещения вверх/вниз? Я не могу найти ни упоминания об этом в их документах, ни подробностей о «отказоустойчивом» смещении.

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

Ответы (3)

В даташите на первой странице написано:

Вход приемника имеет функцию отказоустойчивости, которая гарантирует высокий логический уровень на выходе, если вход разомкнут.

(Обратите внимание, что «вход» означает оба контакта дифференциального входа.)

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

Есть приемники, гарантирующие высокий уровень при нулевом дифференциальном напряжении; они не нуждались бы в предвзятости в любом случае. MAX489 не из таких.

На приемнике без функции отказоустойчивости вы должны использовать два резистора: подтягивающий резистор, чтобы установить высокий уровень на неинвертирующем входе, и подтягивающий резистор, чтобы перевести инвертирующий вход вниз. Из-за дифференциального приемника это будет интерпретироваться как высокий уровень; дифференциальный приемник не будет работать с одним подтягивающим резистором, потому что другой вход будет плавающим или все еще на том же уровне.

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

Значит, в семействе MAX предусмотрена полная отказоустойчивость? Если только подтягивания, этого достаточно?
У меня какое-то странное поведение. Только с ведущим устройством, без добавления внешних сопротивлений, я получаю Vab = 270 мВ. Если я поставлю согласующий резистор(ы) 150 Ом на место, Vab упадет до твердого нуля. Это меня сбило с толку.
По прихоти я разместил резисторы на 470 Ом в качестве подтягивающего на контакте A и понижающего на выводе B. Это дало мне Vcc на Vab, как и ожидалось. Затем я добавил терминаторы 150 Ом на каждый конец кабеля (кабель 50 Ом) и без устройства получил около 350 мВ в виде Vab. Затем я подключил одно ведомое устройство (2 провода), и Vab не изменился, и связь с RTU прошла успешно.
Я уточнил свой ответ. Вы получили нулевое значение Vab, потому что передатчик был неактивен (ток не течет, а отсутствие тока означает отсутствие падения напряжения на согласующем резисторе).
Итак, я полагаю, что это означает, что при Vab = 0 и отсутствии устройств в петле, на микросхеме нет отказоустойчивого подтягивающего импеданса? Я не могу говорить об устройствах, с которыми я могу столкнуться, и почти всегда будет прерывание, поэтому я полагаю, что мне следует принудительно сместить смещение и покончить с этим.
Да, MAX489 не имеет отказоустойчивости при Vab = 0 (ни подтягивающих/понижающих резисторов, ни какого-либо другого механизма).

Смещение сетей RS485 — это тема, которая на самом деле не относится к той части интерфейса, которую вы используете. Также имейте в виду, что хотя интерфейс использует два сигнальных провода, очень важно, чтобы вы также соединяли устройства с проводом GND.

Вы можете найти в Интернете всевозможную информацию о RS485, но есть онлайн-книга, опубликованная B&B Electronics , которую вы можете подробно изучить. В нем вы найдете массу информации о смещении и прерывании интерфейса. На следующей картинке, взятой из электронной книги на стр. 38, показан тип базирования, который вы будете использовать в сети, где используются терминаторы.

введите описание изображения здесь

Он говорит, что пытается внедрить Modbus, который требует согласования 150 Ом, а не 120 Ом.
также завершение вверху выглядит так, как будто у него неправильный импеданс: 120||470||470
@OlinLathrop - На самом деле вопрос представляет собой сочетание 485 рупий и Modbus, как написано. :-(
@Jasen - я только что показал картинку из официального документа B&B. Если вы не согласны с его содержанием, возможно, стоит обсудить это с Advantec/B&B.
Я постоянно использую преобразователь B&B USB-485, и это отличное устройство, мне оно нравится. Документ, на который ссылается @MichaelKaras, отлично читается, хотя они, кажется, меняют использование A/B +/- по сравнению с тем, что я обычно вижу. другие хорошие вещи от TI. Я буду использовать 650 и 120 в качестве значений R. Я работаю в Schneider, мы почти всегда заканчиваем на 120, несмотря на то, что Modbus std. говорит...

Если вы пытаетесь внедрить Modbus, то нужно искать в спецификации Modbus.

Спецификация Modbus говорит, что каждый конец дифференциальной шины должен иметь сопротивление 150 Ом между двумя дифференциальными линиями. Это означает, что линии шины выглядят так, как будто они соединены сопротивлением 75 Ом со всем, что управляет шиной.

Спецификация Modbus также допускает «поляризацию линии». Это в основном установка подтягивающих и подтягивающих резисторов на линию, чтобы она плавала в состояние ожидания. Если они используются, эти резисторы должны иметь сопротивление от 450 до 650 Ом и должны располагаться рядом с мастером шины.

Спасибо за информацию. Лучшее, что я могу сказать, это то, что у 489 есть подтяжка (значение неизвестно), но я не могу найти никаких упоминаний о том, что у нее есть подтяжка на A.