Локальная сеть системы.
Структуру распределенной вычислительной системы в большей степени определяет тип локальной сети. В предыдущей статье в качестве основного сетевого интерфейса был выбран стандарт RS-485. Как-то по этому поводу и сомнений не было. Для подобных сетей он и был разработан. У интерфейса RS-485 много достоинств.
Для нас главное:
Топология общая шина. Новое сетевое устройство просто подключается к линии связи. Никаких дополнительных перекоммутаций не требуется. Мы собираемся постепенно расширять систему. Для нас очень важно, чтобы каждое сетевое устройство могло быть в любой момент просто подключено или отключено от линии связи.
Среда передачи - неэкранированная витая пара. Локальные контроллеры у нас будут расположены достаточно далеко друг от друга. Цена линии связи имеет существенное значение.
Длина линии связи RS-485 может достигать 1200 м. То, что нам надо.
Скорость передачи до 1 мбит/сек. Для нас это больше чем достаточно.
Очень важно, что RS-485 имеет высокую помехозащищенность при отсутствии гальванической развязки. Мы собираемся запитать все локальные контроллеры от одного источника питания. Значит, они будут гальванически связаны. И только благодаря дифференциальным сигналам RS-485 будет обеспечиваться надежная передача данных.
Без повторителей RS-485 допускает подключение к одной линии связи до 32 устройств. Надеюсь, нам хватит. Если нет, то будем ставить повторители.
Нам очень важна стоимость комплектующих. Для подключения платы Ардуино к сети RS-485 достаточно добавить одну 8ми выводную микросхему. По моей партнерской ссылке цена такой микросхемы от 8 руб. Модуль стоит 45 руб. Интерфейс с более низкой ценой даже представить трудно.
RS-485 де-факто стандартный интерфейс малых сетей промышленной автоматики. Существует громадное число промышленных контроллеров, датчиков, исполнительных механизмом с этим интерфейсом. Удобно, когда есть возможность включить их в нашу систему.
Существует стандартный протокол ModBus RTU для сетей RS-485. Очень важно, что он обеспечивает контроль целостности информации, т.е. защищает данные от искажения.
Подробно RS-485 описан в уроке 60. В следующем уроке рассказано об его аппаратной реализации, есть примеры использования, программы, Ардуино-библиотека.