====== Протокол SignalNet ====== Протокол SignalNet был создан специально для обмена данными, между маломощными микроконтроллерами. В качестве физической среды передачи данных может использоваться как канал на базе интерфейса RS422, так и канал на базе интерфейса CAN. ===== Построение сети на базе CAN ===== При построении сети на базе интерфейса CAN, топология сети имеет форму шины. Каждое устройство подключается ([[signalnet:Спецификации:Подключение CAN]]) к общей шине. К преимуществам сети с топологией шина на базе интерфейса CAN можно отнести: * Одновременную передачу данных всеми устройствами в сети, возникающие при этом коллизии разрешаются интерфейсом CAN на аппаратном уровне; * Многие контроллеры уже имеют встроенную поддержку интерфейса. * Высокая надежность канала связи * Устойчивость к помехам * Автоматически отключает от шины не корректно работающие устройства К недостаткам можно отнести: * Основной недостаток интерфейса, это малое количество передаваемых данных, но в данном протоколе это не существенно Таблица - сообщения {{:signalnet:спецификации:can-format.jpg?nolink |}} Структура пакета CAN {{:signalnet:спецификации:can-structure.jpg|}} ===== Построение сети на базе RS422 (RING)===== При построении сети на базе интерфейса RS422, чтобы обеспечить связанность много ко многим, топология сети имеет форму кольца. Каждое устройство имеет порт входа и порт выхода, выход можно соединять только с входом другого устройства. К преимуществам сети с топологией кольцо (ring) можно отнести: * Одновременную передачу данных всеми устройствами в сети; * Отсутствие коллизий; * Дешевизна реализации, многие контроллеры уже имеют встроенную поддержку интерфейса. К недостаткам можно отнести: * При выходе одного устройства, вся сеть теряет работоспособность * Необходимость двух подключений . Структура пакета RING: {{:signalnet:спецификации:rs422-structure.jpg|}} {{:signalnet:спецификации:rs422-format.jpg|}} |формат байта при значении выше|252|255|данные| |формат байта при значении ниже|253||данные| Сумма АКС (арифметическая контрольная сумма) формируется путем Сложение по модулю два, всех чисел пакета. Складываются еще не кодированные или уже декодированные числа! Например, сформируем АКС выше описанного пакета: АКС=0 XOR 254 XOR 0 XOR 1 XOR 1 XOR 3=253 ^Размер^Роль^Сигнал^Команда^Данные^Адрес^Отпаравитель^Инфо |8 байт|4 байт|2 байт|1 байт|4 байт и больше|2 байт|2 байт|4 байт и больше| ===== Построение сети на базе TCP/UDP ===== Роли формата пакета контейнера: |0|Сигнал| |1|Сообщение| |2|Сервис| |3|Инфо| |4|Авторизация|