Russian ```Автобус 485 - это широко используемый метод передачи дифференциальных сигналов. Он обладает преимуществами сильной защиты от помех, большого расстояния передачи и большого количества узлов. Он широко используется в области связи, промышленной автоматизации и других областях. Однако в практических применениях мы можем столкнуться с проблемой, заключающейся в том, нужно ли добавлять подтягивающие резисторы на линиях A и B автобуса 485, и какого размера резисторы будут соответствующими. В этой статье будет проанализировано и объяснено это вопрос.

Russian Как работает автобус 485?

Russian Сначала нам нужно понять принцип работы и характеристики сигнала шины 485. Согласно стандарту RS-485, шина 485 передает дифференциальные сигналы через две линии (A и B). На основе разницы напряжения между этими двумя линиями определяется, является ли текущий бит данных 0 или 1.

Во время передачи по 485 данные имеют три состояния:

  1. Russian Когда разница напряжения между A и B VAB = UA-UB больше +200 мВ, логический выход приемопередатчика 485 равен 1;
  2. When the voltage difference between A and B VAB = UA-UB is less than -200mV, the 485 transceiver output logic is 0;``` ```Когда разница напряжения между A и B VAB = UA-UB меньше -200 мВ, логика выхода передатчика 485 равна 0;
  3. Russian Когда разница напряжения между A и B VAB = UA-UB находится в диапазоне от -200 мВ до +200 мВ, передатчик 485 может выдавать высокий уровень или низкий уровень, что является неопределенным состоянием.

Как избежать неопределенности?

"При нормальных обстоятельствах мы надеемся, что данные, полученные получателем, могут быть только 0 или 1. Неопределенные состояния не могут появляться на шине 485. Таким образом, в каких обстоятельствах может возникнуть неопределенное состояние?"

В основном есть две ситуации:

  1. Russian Когда автобус 485 находится в режиме ожидания, все 485 трансиверы находятся в состоянии приема, и ни один трансивер не управляет автобусом. В это время, поскольку никакой источник сигнала не генерирует дифференциальное напряжение на автобусе, напряжения на линиях A и B в основном равны, то есть дифференциальное напряжение в основном равно 0.
  1. Russian Когда автобус 485 находится в состоянии открытой цепи, то есть когда определенный 485-передатчик отключен от автобуса. На этом этапе, поскольку отключенный передатчик больше не влияет на автобус, дифференциальное напряжение между оставшимися передатчиками практически равно нулю.

Russian Когда выходной сигнал драйвера 485 недостаточен для того, чтобы вызвать абсолютное значение разницы напряжения между A и B более 200 мВ, статус сигнала шины 485 больше не может отражать статус драйвера, и приемник не может распознать правильный сигнал.

  1. Russian Когда автобус 485 появляется в неопределенном состоянии, это может вызвать ошибки или сбои в коммуникации. Например, если приемник 485 считает, что он получил сигнал данных 0 в неопределенном состоянии и выводит низкий уровень на последовательный порт, то для UART-коммуникации это эквивалентно стартовому биту (Start Bit), что вызовет ошибку в оценке или ошибку; если определенный приемник 485 выводит высокий и низкий уровни поочередно в неопределенном состоянии, то для UART-коммуникации это помешает нормальным данным, вызывая получение аномальных данных приемником UART.

"Чтобы предотвратить автобус 485 от нахождения в неопределенном состоянии, мы проанализировали эти два аномалии и выяснили, что причиной этих двух аномалий является то, что когда приемник находится в состоянии приема, линия AB не может поддерживать нормальную разницу напряжения. Чтобы поддерживать правильную разницу напряжения даже когда автобус находится в режиме ожидания или отключен, нам необходимо добавить подтягивающие резисторы на линиях A и B (обычно A подключен к подтягивающему резистору, а B подключен к подтягивающему резистору), чтобы гарантировать, что автобус находится в режиме ожидания или имеет фиксированное дифференциальное напряжение в состоянии разомкнутой цепи. Как показано ниже:"

- Уровень тока, который должен быть тянущимся резистором - Напряжение питания - Мощность, которую может выдержать резистор - Точность значения сопротивления

  1. Russian Подтягивающие и оттягивающие резисторы должны быть достаточно малыми, чтобы гарантировать, что дифференциальное напряжение в состоянии покоя или открытой цепи больше +200 мВ или меньше -200 мВ (выбирается в зависимости от конкретной ситуации), тем самым избегая неопределенного состояния.
  1. Russian Подтягивающие и оттягивающие резисторы должны быть достаточно большими, чтобы снизить энергопотребление и нагрев без влияния на возможность управления и выходное напряжение передатчика 485.
  1. Russian Подтягивающие и оттягивающие резисторы должны соответствовать входному импедансу, терминальному сопротивлению, длине шины, количеству узлов и другим факторам передатчика 485 для обеспечения соответствия импеданса и целостности сигнала шины.

Сначала, когда трансивер находится в отключенном состоянии, напряжения трансивера A и B совместно определяются RU, RT, RD и RIN, то есть:

Обычно мы используем одно и то же значение для RU и RD, тогда формула может быть упрощена до:

Russian В настоящее время мы предполагаем, что внутреннее дифференциальное входное сопротивление микросхемы RIN=15kΩ, VCC=3.3V и RT=120R. Мы можем рассчитать, что в настоящее время 0Ω≤R≤239Ω. Конечно, при условии R≤232.5kΩ, A и B могут быть удовлетворены в случае разъединения. Линия находится в состоянии данных 1.

На холостом ходу большинство узловых устройств добавляют резисторы RU и RD на линиях A и B, а также добавляют резисторы RT на терминалах. Как показано ниже:

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

 

"В этой формуле m - количество узлов с подтягивающими резисторами, а n - количество узлов. Мы определяем разницу между шинным терминалом A и терминалом B как минимум 200 мА, поэтому мы можем упростить эту формулу до:"

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

Russian Однако результат, рассчитанный на основе этой формулы, является только идеальным значением. В фактическом использовании подтягивающие и оттягивающие резисторы обычно определяются внутри узла. Различные узловые устройства могут иметь разные внутренние подтягивающие и оттягивающие резисторы. Нам нужно учитывать количество узлов для определения значения этого резистора. Для определения значения подтягивающих и оттягивающих резисторов также необходимо учитывать нагрузочную способность драйверного чипа. Подтягивающие и оттягивающие резисторы не могут быть установлены очень маленькими.

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