Задать вопрос
@ivan58

Можно наладить связь между устройствами по проводам с помощью интерфейса RS485 не используя протокол передачи данных например Модбас??

Два устройства , например Ардуино , общаются между собой через проводной интерфейс RS485 . Текст набирается на клавиатуре одного , а его появление читается на экране другого Ардуино . И наоборот . Причем в программе не указано Master и Slave , что может и не обязательно ( не знаю) , но передача и прием данных работает . То есть как я понял работает вообще без протокола и если текст набирать на одновременно на двух клавиатурах , то произойдет передача данных стразу в обе стороны . Вылетит микросхема в модуле RS485 ? И можно общаться без протокола ? То есть когда нет этого модбасовского пакета с битами .
https://www.youtube.com/watch?v=vG89PSj8vZw
  • Вопрос задан
  • 340 просмотров
Подписаться 1 Простой 2 комментария
Ответ пользователя Indemsys К ответам на вопрос (3)
@Indemsys
Если на RS485 одновременно передают несколько устройств, то такую передачу никто принять на сможет.
При этом сами микросхемы из строя не выйдут сразу, но станут перегреваться.
При длительном перегреве они выйдут из строя. Современные микросхемы при перегреве отключаться.
Включаться снова когда достаточно остынут через какое-то время.

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

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

Вот так и решается проблема коллизий с одновременной передачей на RS485 c протоколом MODBUS.
Но это не единственный способ борьбы с коллизиями.
Ответ написан