RS-485: почему ваша шина «иногда» работает
RS-485 — древний, простой, надёжный. Пока вы не подключите его так, как все обычно подключают.
Что обычно делают неправильно
- забывают терминатор на дальнем конце
- забывают терминатор на ближнем конце
- не используют bias-резисторы — линия плавает в IDLE
- экран кабеля болтается с обеих сторон или ни с одной
- топология «звезда» вместо «daisy chain»
Что должно быть
- 120 Ом на обоих концах шины
- bias-резисторы (560 Ом + 560 Ом) хотя бы в одной точке
- экран соединён с земляной точкой ровно с одной стороны
- топология «daisy chain», ответвления (stubs) короче 30 см
Симптомы «почти работающей» шины
Работает на стенде, в одном устройстве — отказывает. Ошибки CRC время от времени. После ребута — снова работает. На длинной линии — намного хуже, чем на короткой. На холоде — хуже, чем в тепле.
Если узнали свою боль — это терминаторы или bias.