Evgeny_CD, Архитектор (19.01.2015 16:47, просмотров: 566) ответил Evgeny_CD на EtherCAT - имеет ли кто 1) полную спецификацию протокола (как я понял, она только для членов профсоюза) 2) опыт разработки аппаратуры под оный стандарт?
Правильно ли я понял смысл этой движухи? Делаем стандартный Ethernet кадр, в нем UDP, а в нем - "субкадрики" для каждого конкретного устройства.
Делаем кольцо, по которому запускаем Ethernet пакеты. Если в кольце одна связь порвалась - то по части кольца пакеты идут в другом направлении и доходят до адресата.
Slave устройство, получив "субкадрик", в него же на заразервированное место засовывает результат обработки "субкадрика", и сборный пакет шурует дальше.
Чтобы латентность обработки в устройстве была небольшой, Slave надо делать, по сути, аппаратно, либо на мощном проце с гарантированно низкой латентностью обработки данного прерывания.
Что имеем в +:
* один Eternet заголовок и одна контрольная сумма на кучу "субкадриков" - КПД Ethernet пакета можно довести почти до 100%
* полная совместимость с Ethernet инфраструктурой, в том числе всякие L3 свитчи (UDP) и проч.
* некоторая надежность - система переживает один разрыв кабельного соединения в кольце. Непонятно только, каково время реконфигурирования в случае разрыва.
Минусы:
* жесктие требования к латентности слейва. По сути, быстро можно получить только два вида ответов - что команда "записать по адресу" дошла до адресата и результат команды "чтение по адресу".
* латентность в случае полноценного удаленного управления, особенно на "дальнем конце кольца", может быть не такой уж маленькой, какую мог бы теоретически обеспечить 100м Ethernet.