То есть по линии связи гоняются не 24 несчастных байта один-два раза за сеанс, а десятки-сотни мегабайт на скорости 100+ Мбит/с.
Это синтезатору раз за сеанс. А поворотке и доп. датчикам типа магнитометра при слежении за Луной - постоянно.
Поймите простую вещь: МК, управляющий синтезатором - это маленькая штучка с очень скромными размерами 5х5 мм, восемью выводами, памятью программ 1-2 байта, еепром 128 байт и озу 128 байт.
Это для управления синтезатором _может быть_ такой контроллер потянет. А для поворотки с "автономным слежением" как бы не 128к+ флеша понадобилось и 20к+ оперативки.
Фиксированная длина пакета радикально повышает надёжность алгоритма управления и упрощает собственно программу исполнительного МК.
Не вижу серьезного повышения надежности. Халявнее писать протокольный движок - это да.
Даже в RS232 есть разрыв - один стоп-байт, а раньше было полтора и два, да.
Прочтите что написали, и ужаснитесь. Не надо смешивать между собой разные уровни OSI модели.
Вы говорите "это видимо бред был?" Нет это был не бред, а пример с уартом.
Звезда - бредовый пример, абсолютно. Никто этого не делает и делать не будет в здравом уме.
Зачем нам адрес отправителя и получателя, если в протоколе ясно сказано, "только хост начинает обмен"? Значит, заведомо известно, кто отправляет команды, значит, адрес отправителя не нужен.
Кабель проложенный на мачту - слишком ценный ресурс, чтобы его "резервировать" только для управления синтезатором "раз в сеанс". А если будет поворотка, то появится второй мастер (контрроллер поворотки), с которым придется делить шину. И адрес отправителя будет необходим.
Что касается удалённого места, то туда можно проложить одну единственную линию RS485, на другом конце которой находится контроллер, который и раздаёт по всем адресам соответствующие команды, это ж проще, чем вешать пару-тройку недешёвых драйверов RS485.
Вы делаете мне смешно (C). Как раз чип драйера RS485 это дешевый расходник. И нахрена класть multidrop шину если за ней вешать некий шлюз, который будет по каким то другим шинам что то куда то форвардить. И как это кореллирует с контроллером с мизером ресурсов?
Ну зачем усложнять простой протокол? Зачем автоопределение скорости, куда его? Чем скорость 115200 бод плоха?
Плоха она всем. Вы _НА ПРАКТИКЕ_ на какие расстояния RS485 в обстановке мощных помех клали? И каким кабелем?
Какие вы предлагаете два стартовых байта в заголовке?
Я их еще не предлагаю, я предлагаю посмотреть и сделать их не противоречащими алгоритмам autobaud у тех же stm32 кортексов. Даже если использоваться пока не будет.
Какую общую информацию синтезатору и поворотному устройству вы хотите передать? Застрелиться, что ли :-)?
Аварийный останов перемещения например. "Пульт рухнул, берегите антенну и не воткните ее в кровлю ребром".
Зачем усложнять/утяжелять протокол?
Лучше немного усложнить и заложить резервов, чем потом выяснится, что надо лезть на крышу и перешивать бутлоадеры у всех мелких слейвов.