Jump to content

Цифал

(Перенаправлено с UAVCAN )

Разработчик(и) Zubax Robotics / Команда разработчиков OpenCyphal [1]
Первоначальный выпуск 2014
Репозиторий https://github.com/OpenCyphal
Написано в C++, C, Python, Rust, JavaScript
Операционная система Кросс-платформенный
Лицензия МОЯ лицензия
Веб-сайт открытый циклический .org

Cyphal — это облегченный протокол, предназначенный для надежной связи внутри автомобиля с использованием различных транспортных средств связи, изначально предназначенный для шины CAN . [2] но в последующих версиях ориентированы на различные типы сетей. [3] OpenCyphal — это проект с открытым исходным кодом, целью которого является предоставление реализаций протокола Cyphal под лицензией MIT. До ребрендинга в марте 2022 года проект был известен как UAVCAN (Несложные автомобильные вычисления и сети на уровне приложений).

Первый RFC, в котором подробно изложены общие идеи, которые позже составят основные принципы проектирования Cyphal (в то время называвшегося UAVCAN), был опубликован в начале 2014 года. [4] Это был ответ на кажущееся отсутствие адекватных технологий, которые могли бы облегчить надежный обмен данными внутри транспортного средства в реальном времени между распределенными компонентами современных интеллектуальных транспортных средств (в первую очередь беспилотными самолетами).

Со времени первоначального RFC протокол претерпел три основные итерации разработки, кульминацией которых стал выпуск первой долгосрочной стабильной версии в 2020 году (6 лет спустя) под названием UAVCAN v1.0. Тем временем протокол был развернут в многочисленных различных системах, включая беспилотные летательные аппараты, [5] [6] космический корабль, [7] подводные роботы, [8] гоночные автомобили, [9] общие роботизированные системы, [10] и микромобильные транспортные средства. [11] В 2022 году протокол был переименован в Cyphal. [12]

Cyphal позиционируется разработчиками как в высшей степени детерминированная, ориентированная на безопасность альтернатива высокоуровневым платформам публикации-подписки, таким как DDS или граф вычислений ROS , которая достаточно компактна и проста, чтобы ее можно было использовать в глубоко встроенных приложениях с высокой степенью целостности. [13] Было показано, что Cyphal можно использовать с микроконтроллерами с голым металлом, оснащенными всего лишь 32 КБ ПЗУ и 8 КБ ОЗУ. [14]

Протокол открыт и может свободно использоваться повторно без одобрения или лицензионных сборов. Разработка основного стандарта и его эталонных реализаций ведется открытым способом и координируется посредством общественного дискуссионного форума. [15] По состоянию на 2020 год проект поддерживается несколькими крупными организациями, включая NXP Semiconductors. [16] и проект Dronecode. [17]

История Cyphal в контексте других последовательных протоколов

[ редактировать ]

а. MODBUS часто работает через RS-232.

б. DDS заимствует язык определения интерфейса у CORBA.

в. MODBUS через TCP-порт 502.

д. Airbus обращается к ARINC с просьбой разработать новый стандарт CAN. Майкл Сток делится своим опытом разработки CAN Aerospace . Результатом является ARINC-825-1.

е. Первый стандарт AVB опубликован рабочей группой AVB рабочей группы IEEE 802.1. Выпущен IEEE1722-2011.

ф. Рабочая группа AVB переименована в Целевую группу TSN.

г. ROS2 построен на основе DDS . Типичной средой для распределенных систем ROS2 является Ethernet.

час Выпущены стандарты 802.1Qbv и 802.1Qbu, позволяющие определять полностью детерминированные сети Ethernet.

я. Павел Кириенко возглавляет работу с открытым исходным кодом по определению UAVCAN v0. Изначально он поддерживает только CAN 2.0B.

Дж. Airbus представляет IEEE презентацию «Полнодуплексный Ethernet для авионики и стандарт чувствительных к времени сетей», в которой предлагается включить AFDX в стандарты TSN.

к. ARINC 825-4 добавляет поддержку CAN-FD и определяет туннелирование через ARINC-664.

л. Amazon Prime Air определяет минимальный набор изменений в v0, добавляя поддержку CAN-FD. Неофициальный вариант получил название v0.5. В то же время на Стокгольмском саммите [18] Был задуман UAVCAN v1.

м. 10 BASE T1S добавлен в IEEE 802.3, определяющий полудуплексную, двухпроводную, многоточечную среду Ethernet с PLCA ( предотвращение конфликтов на уровне PHY ). Спецификация предназначена для случаев автомобильного и промышленного использования (например, замена MODBUS).

н. Производство Airbus A380 прекращено.

о. UAVCAN v1 становится бета-версией.

п. DroneCAN берет на себя поддержку спецификации UAVCAN v0/v0.5 и ее развитие.

в. UAVCAN v1 переименован в Cyphal. [12]

Cyphal предоставляет абстракции с нулевой стоимостью, доступные и знакомые разработчикам программного обеспечения. [19] без ущерба для функциональной безопасности и детерминизма. [3] Будучи новой технологией, она не обременена наследием. [3] и во многом заимствован из последних разработок в области общих информационных технологий . [20] Протокол предлагает модель связи публикации-подписки без сохранения состояния, в которой узел может начать работу сразу после подключения к сети для поддержки приложений с высокой степенью целостности. [13]

Протокол состоит из двух четко разделенных основных компонентов: [21] транспортный уровень, который работает поверх надежных автомобильных сетей, таких как Ethernet или CAN FD , и уровень независимого от транспорта представления (сериализации), основанный на так называемом языке описания структуры данных (DSDL). Было показано, что протокол можно реализовать менее чем в 1000 логических строк кода. [22]

DSDL идеологически похож на язык описания интерфейса , используемый в ROS, за исключением того, что он вводит дополнительные статические ограничения, чтобы сделать решение пригодным для встроенных систем реального времени с высокой степенью целостности. Сходство побудило некоторых разработчиков связать ROS с Cyphal, используя уровни автоматической трансляции. [10] [23]

Основные принципы

[ редактировать ]

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

  • Демократичная сеть — главного узла нет. Все узлы в сети имеют одинаковые права связи; не должно быть единой точки отказа.
  • Обеспечение функциональной безопасности — проектировщики систем Cyphal имеют в своем распоряжении необходимые гарантии и инструменты для анализа системы и обеспечения ее правильного поведения.
  • Абстракции связи высокого уровня . Протокол поддерживает семантику связи публикации/подписки и удаленного вызова процедур со статически определенными и статически проверенными типами данных (схемой). Типы данных, используемые для связи, определяются ясным и независимым от платформы способом, который может быть легко понятен как машинам, так и людям.
  • Упрощение взаимодействия между поставщиками . Cyphal обеспечивает общую основу, на которой разные поставщики могут опираться, чтобы гарантировать совместимость своего оборудования. Cyphal предоставляет общий набор стандартных типов коммуникационных данных, не зависящих от приложения.
  • Четко определенные общие функции высокого уровня . Cyphal определяет стандартные службы и сообщения для общих функций высокого уровня, таких как: обнаружение сети, конфигурация узла, обновление программного обеспечения узла, мониторинг состояния узла, общесетевая синхронизация времени, Plug-and-Play. поддержка узлов и т. д.
  • Атомарные абстракции данных . Узлы могут обмениваться большими структурами данных, которые превышают емкость одного транспортного кадра. Cyphal выполняет автоматическую декомпозицию и сборку данных на уровне протокола, скрывая связанные с этим сложности от приложения.
  • Высокая пропускная способность, низкая задержка, детерминизм — Cyphal добавляет очень низкие накладные расходы к базовому транспортному протоколу, что обеспечивает высокую пропускную способность и низкую задержку. Это делает Cyphal хорошо подходящим для приложений, работающих в режиме реального времени.
  • Поддержка резервных интерфейсов и резервных узлов — Cyphal подходит для приложений, требующих модульного резервирования.
  • Простая логика, низкие вычислительные требования — Cyphal предназначен для широкого спектра встраиваемых систем, от высокопроизводительных бортовых компьютеров до микроконтроллеров с крайне ограниченными ресурсами. Его поддержка не требует больших затрат с точки зрения вычислительной мощности и времени на разработку, а расширенные функции можно внедрять постепенно по мере необходимости.
  • Богатые типы данных и абстракции интерфейса . Язык описания интерфейса является основной частью технологии, позволяющей глубоко встроенным подсистемам напрямую взаимодействовать с системами более высокого уровня (и в удобной для сопровождения форме), одновременно обеспечивая симуляцию и функциональное тестирование.
  • Поддержка различных транспортных протоколов . Cyphal можно использовать с несколькими различными транспортными протоколами и в будущем можно расширить для поддержки других транспортных протоколов.
  • Стандарт, не зависящий от API . В отличие от некоторых других сетевых стандартов, Cyphal не пытается описать интерфейс прикладной программы (API). Любые детали, не влияющие на поведение реализации, наблюдаемое другими участниками сети, выходят за рамки спецификации.
  • Открытая спецификация и эталонные реализации . Спецификация Cyphal есть и всегда будет открытой и бесплатной для использования всеми. Эталонные реализации распространяются на условиях разрешительной лицензии MIT или передаются в общественное достояние.

Транспортный уровень

[ редактировать ]

Транспорт CAN построен на базе CAN и CAN FD с использованием 29-битных идентификаторов. Полезная нагрузка CAN включает в себя служебные данные фиксированного размера в один байт на кадр для нужд транспортного уровня. [21]

Сайфал/UDP

[ редактировать ]

Транспорт Cyphal/UDP был предложен для автомобильных сетей реального времени на базе Ethernet. Говорят, что на дизайн повлияли AFDX , DDS/RTPS и SOME/IP. [20]

Стандартные типы данных

[ редактировать ]

Как и другие подобные технологии, Cyphal предоставляет библиотеку общих типов данных, управляемую и курируемую разработчиками протоколов, которые предназначены для решения определенных распространенных проблем в популярных приложениях. [24] Эти типы данных дополняют типы данных, специфичные для конкретного поставщика или приложения, определенные разработчиками, подобно тому, как язык программирования обычно определяет стандартную библиотеку , на которую будет полагаться программное обеспечение, разработанное пользователем. Спецификация протокола предоставляет набор правил, призванных избежать конфликтов и улучшить совместимость типов данных, определенных независимыми поставщиками. [25]

  1. ^ «Открытая технология связи в реальном времени в киберфизических системах» .
  2. ^ «Об OpenCyphal» . Проверено 28 февраля 2020 г.
  3. ^ Jump up to: а б с «UAVCAN – Квасер – Передовые CAN решения» . Проверено 16 октября 2019 г.
  4. ^ «Обсуждение дронов | UAVCAN — CAN-шина для БПЛА» . groups.google.com/forum/#!topic/drones-discuss . Проверено 27 февраля 2020 г.
  5. ^ Мейер, Лоренц (2017). Динамическая архитектура роботов для надежного компьютерного зрения в реальном времени (Диссертация). ETH Цюрих. doi : 10.3929/ethz-a-010874068 . hdl : 20.500.11850/129849 .
  6. ^ «Разработчик ArduPilot | CAN-шина и протокол UAVCAN» . ardupilot.org . Проверено 27 февраля 2020 г.
  7. ^ Лосекамм, Мартин; Милде, Майкл; Пошль, Томас; Гринвальд, Дэвид; Пол, Стефан (2016). «Всенаправленный радиационный мониторинг в режиме реального времени на космических аппаратах». AIAA Space 2016 (бумага). дои : 10.2514/6.2016-5532 . ISBN  978-1-62410-427-5 .
  8. ^ Бхат, Шрихарша; Стениус, Иван; Боре, Нильс; Северхольт, Жозефина; Люнг, Карл; Торроба Балмори, Игнасио (2019). «На пути к киберфизической системе для гидробатических АНПА». ОКЕАНЫ 2019 – Марсель . стр. 1–7. дои : 10.1109/OCEANSE.2019.8867392 . ISBN  978-1-7281-1450-7 . S2CID   204700489 .
  9. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 28 февраля 2020 года . Проверено 28 февраля 2020 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  10. ^ Jump up to: а б «GitHub — MonashUAS/Canros: интерфейс UAVCAN для ROS» . Гитхаб . 5 апреля 2022 г.
  11. ^ «Совершенно новый выпуск VESC-Tool 2019» . 8 февраля 2019 г.
  12. ^ Jump up to: а б «UAVCAN v1 теперь является Cyphal» . Форум OpenCyphal . 25 марта 2022 г. Проверено 13 октября 2022 г.
  13. ^ Jump up to: а б «UAVCAN: высоконадежный протокол публикации-подписки для внутриавтомобильных сетей реального времени» . 2 июля 2019 г.
  14. ^ «Новый OpenGrab EPM V3 для хранения грузов БПЛА» . 4 декабря 2015 г.
  15. ^ «Форум OpenCyphal» . Форум OpenCyphal . Проверено 25 апреля 2024 г.
  16. ^ «NXP Semiconductors рада поддержать UAVCAN V1.0» . 9 декабря 2019 г.
  17. ^ «Dronecode | Ведущие компоненты с открытым исходным кодом для БПЛА» . www.dronecode.org . Проверено 27 февраля 2020 г.
  18. ^ «Итоги Стокгольмского саммита» . Форум OpenCyphal . 5 октября 2018 года . Проверено 13 октября 2022 г.
  19. ^ «Bostelseiten OlliW »UC4H: UAVCAN для любителей» .
  20. ^ Jump up to: а б «Альтернативные транспортные протоколы в UAVCAN» . 11 января 2019 г.
  21. ^ Jump up to: а б Спецификация opencyphal.org
  22. ^ «Компактный Cyphal/CAN v1 на C» . Гитхаб . 22 ноября 2021 г.
  23. ^ «Наши первые узлы публикации и обслуживания ROS2 UAVCAN (PyCyphal)» . Форум OpenCyphal . 12 апреля 2022 г. Проверено 13 октября 2022 г.
  24. ^ «Регулируемые определения DSDL» . Гитхаб . 16 ноября 2021 г.
  25. ^ «Политика регулирования типов данных и членские взносы» . 8 декабря 2019 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6c7f43633818c32f1a2289a7ea4a64bd__1720440600
URL1:https://arc.ask3.ru/arc/aa/6c/bd/6c7f43633818c32f1a2289a7ea4a64bd.html
Заголовок, (Title) документа по адресу, URL1:
Cyphal - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)