CANaerospace
CANaerospace — это протокол более высокого уровня, основанный на сети контроллеров (CAN), который был разработан компанией Stock Flight Systems в 1998 году для авиационных приложений.
Фон
[ редактировать ]CANaerospace поддерживает бортовые системы, использующие концепцию сменных блоков (LRU) для обмена данными через CAN, и обеспечивает взаимодействие между CAN LRU путем определения характеристик физического уровня CAN , сетевых уровней, механизмов связи, типов данных и систем авиационной оси. CANaerospace — это проект с открытым исходным кодом , инициированный для стандартизации интерфейса между CAN LRU на системном уровне. CANaerospace постоянно развивается и также опубликован НАСА как расширенной шины данных для экспериментов в области транспорта общего назначения. стандарт [1] в 2001 году. Он нашел широкое применение в авиационных исследованиях по всему миру. Крупнейшим исследовательским самолетом, использующим несколько сетей CANaerospace для компьютерного взаимодействия в режиме реального времени, является Стратосферная обсерватория инфракрасной астрономии (SOFIA), Боинг 747SP с 2,5-метровым астрономическим телескопом. CANaerospace также часто используется при моделировании полета и подключает целые кабины самолетов (например, в симуляторах Eurofighter Typhoon ) к главным компьютерам моделирования. В Италии CANaerospace используется в качестве технологии шины данных БПЛА . [2] Кроме того, CANaerospace служит сетью связи в нескольких системах авионики авиации общего назначения .
Определение интерфейса CANaerospace устраняет разрыв между протоколом CAN уровней 1 и 2 ISO/OSI (который реализован в самом контроллере CAN) и конкретными требованиями распределенных систем в самолетах. Ее можно использовать в качестве основной или вспомогательной сети авионики, и она разработана с учетом следующих требований:
- Демократичная сеть: CANaerospace не требует каких-либо отношений «главный/подчиненный» между LRU или «контроллером шины», что позволяет избежать потенциального единственного источника сбоя. Каждый узел сети имеет одинаковые права на участие в шинном трафике.
- Формат самоидентифицирующего сообщения: каждое сообщение CANaerospace содержит информацию о типе данных и передающем узле. Это позволяет однозначно распознавать данные на каждом принимающем узле.
- Непрерывная нумерация сообщений: каждое сообщение CANaerospace содержит постоянно увеличивающийся номер, который обеспечивает согласованную обработку сообщений на принимающих станциях.
- Код состояния сообщения: каждое сообщение CANaerospace содержит информацию о целостности передаваемых данных. Это позволяет приемным станциям оценить качество полученных данных и отреагировать соответствующим образом.
- Сигнализация аварийных событий: CANaerospace определяет механизм, который позволяет каждому узлу передавать информацию об исключительных ситуациях или ошибках. Эта информация может использоваться другими станциями для определения работоспособности сети.
- Сервисный интерфейс узла. В качестве расширения CAN CANaerospace предоставляет средства для связи отдельных станций в сети друг с другом с использованием услуг с установлением соединения и без установления соединения.
- Предопределенное назначение идентификатора CAN: CANaerospace предлагает предопределенный список присвоения идентификаторов для данных нормальной работы. В дополнение к заранее определенному списку могут использоваться определяемые пользователем списки назначения идентификаторов.
- Простота реализации. Объем кода для реализации CANaerospace изначально очень мал, чтобы свести к минимуму усилия по тестированию и сертификации систем, критически важных для безопасности полетов.
- Открытость для расширений: все определения CANaerospace можно расширять, чтобы обеспечить гибкость для будущих улучшений и адаптироваться к требованиям конкретных приложений.
- Бесплатная доступность: за использование CANaerospace не взимается никакая плата. Спецификацию можно скачать в Интернете. [3]
Физический интерфейс
[ редактировать ]Чтобы обеспечить совместимость и надежную связь, CANaerospace определяет электрические характеристики, требования к шинному приемопередатчику и скорости передачи данных с соответствующими допусками на основе ISO 11898 . Особое внимание уделяется расчету синхронизации битов (точность скорости передачи данных, определение точки выборки) и устойчивости к электромагнитным помехам. Также рассматриваются разъем CAN, рекомендации по подключению и рекомендации по проектированию для обеспечения максимальной электромагнитной совместимости.
Коммуникационные уровни
[ редактировать ]Сама спецификация Bosch CAN допускает передачу сообщений как периодически, так и апериодически, но не охватывает такие вопросы, как представление данных, адресация узлов или протоколы, ориентированные на соединение. CAN полностью основан на связи «один ко многим» (ATM), что означает, что сообщения CAN всегда принимаются всеми станциями в сети. Преимуществом концепции CAN является присущая согласованность данных между всеми станциями, недостатком является то, что она не позволяет использовать адресацию узлов, которая является основой одноранговой связи (PTP). Однако использование сетей CAN в авиационных приложениях требует стандарта, ориентированного на конкретные требования бортовых систем, что подразумевает, что связь между отдельными станциями в сети должна быть возможной для обеспечения необходимой степени мониторинга системы. Следовательно, CANaerospace определяет дополнительные функции уровней 3, 4 и 6 ISO/OSI для поддержки адресации узлов и унифицированных механизмов связи ATM/PTP. PTP-связь позволяет настраивать взаимодействие клиент/сервер между отдельными станциями в сети временно или постоянно. В любой момент времени может действовать более одного из этих взаимодействий, и каждый узел может одновременно быть клиентом для одной операции и сервером для другой. Этот механизм CANaerospace называется «Концепция обслуживания узлов» и позволяет, например, распределять функции системы по нескольким станциям в сети или управлять динамической реконфигурацией системы в случае сбоя. Концепция Node Service поддерживает взаимодействия как с установлением соединения, так и без него, например TCP/IP и UDP/IP для Ethernet .
Включение связи ATM и PTP для CAN требует введения независимых сетевых уровней для изоляции различных типов связи. Для CANaerospace это реализуется путем формирования групп идентификаторов CAN, как показано на рисунке 1. Полученная структура создает логические каналы связи (LCC) и назначает определенный тип связи (ATM, PTP) каждому из LCC. Пользовательские LCC предоставляют необходимую свободу проектировщикам и позволяют реализовать CANaerospace в соответствии с потребностями конкретных приложений.
Рис. 1. Логические каналы связи для CANaerospace.
В качестве побочного эффекта группы идентификаторов CAN на рисунке 1 влияют на приоритет передачи сообщений в случае арбитража шины. Таким образом, каналы связи организованы в соответствии с их относительной важностью:
- Канал данных о чрезвычайных событиях (EED): этот канал связи используется для сообщений, которые требуют немедленных действий (т. е. деградации или реконфигурации системы) и должны передаваться с очень высоким приоритетом. Данные о чрезвычайных событиях используют исключительно связь через банкомат.
- Канал данных службы узла с высоким/низким приоритетом (NSH/NSL). Эти каналы связи используются для взаимодействия клиента и сервера с использованием связи PTP. Соответствующие услуги могут быть как ориентированными на установление соединения, так и типа без установления соединения. NSH/NSL также может использоваться для поддержки функций тестирования и обслуживания.
- Канал данных нормальной работы (NOD): этот канал связи используется для передачи данных, которые генерируются во время нормальной работы системы и описаны в списке присвоения идентификаторов CANaerospace. Эти сообщения могут передаваться периодически или апериодически, а также синхронно или асинхронно. Все сообщения, которые не могут быть отнесены к другим каналам связи, должны использовать этот канал.
- Определяемый пользователем канал данных с высоким/низким приоритетом (UDH/UDL): этот канал предназначен для связи, которой из-за ее специфических характеристик нельзя назначить другие каналы без нарушения спецификации CANaerospace. Пока используется определенный диапазон идентификаторов, содержимое сообщения и тип связи (ATM, PTP) для этих каналов могут быть указаны разработчиком системы. Для обеспечения совместимости настоятельно рекомендуется свести к минимуму использование этих каналов.
- Канал служебных данных отладки (DSD): этот канал предназначен для сообщений, которые временно используются только для целей разработки и тестирования и не передаются во время нормальной работы. Пока используется определенный диапазон идентификаторов, содержимое сообщения и тип связи (ATM, PTP) для этих каналов могут быть указаны разработчиком системы.
Представление данных
[ редактировать ]Большинство систем управления реального времени, используемых в аэронавтике, используют с прямым порядком байтов . процессорную архитектуру [ нужна ссылка ] Поэтому такое представление данных было указано и для CANaerospace. При представлении данных с прямым порядком байтов самый старший бит любых данных располагается крайним слева и передается первым по CANaerospace, как показано на рисунке 2.
Рисунок 2. Представление данных «Big Endian» для CANaerospace.
CANaerospace использует самоидентифицирующийся формат сообщения, который реализуется путем структурирования полезной нагрузки сообщения, как показано на рисунке 3. Эта структура определяет 4-байтовый заголовок сообщения и 4-байтовый раздел параметров.
Рисунок 3. Формат самоидентифицирующего сообщения CANaerospace.
На первый взгляд использование 50% полезной нагрузки сообщения CAN для целей, отличных от передачи рабочих данных, может показаться пустой тратой полосы пропускания. Однако заголовок сообщения CANaerospace предоставляет ценную информацию, которая потребовала бы использования байтов полезной нагрузки сообщения, даже если бы оно было реализовано иначе: заголовок позволяет принимающим станциям немедленно анализировать полученные сообщения с точки зрения происхождения, типа данных, целостности и времени создания. Для этого не требуется никакой дополнительной информации, кроме знания назначения идентификатора CAN для конкретной системы. Байты заголовка сообщения имеют следующее значение:
- Node-ID: для связи ATM (EED, NOD) идентификатор узла указывает передающий узел. Для связи PTP (NSH, NSL) указывается адресный узел (клиент, сервер). Для связи PTP Node_ID «0» используется для адресации всех станций в сети (многоадресная рассылка).
- Тип данных: Тип данных определяет, как полезная нагрузка сообщения должна интерпретироваться относительно его типа данных (т. е. данных с плавающей запятой или количества байтов в случае целочисленных данных). Соответствующий код типа данных берется из списка типов данных CANaerospace, который позволяет также определять типы данных, определяемые пользователем.
- Сервисный код: для данных нормальной работы (NOD) сервисный код предоставляет информацию о целостности параметра, передаваемого вместе с сообщением. Это может быть результатом непрерывного встроенного теста датчика, текущего флага достоверности навигационного сигнала или другой информации, специфичной для параметра. В случае связи PTP код услуги определяет услугу для соответствующего взаимодействия клиент/сервер.
- Код сообщения: для данных нормальной работы (NOD) код сообщения увеличивается на единицу для каждого сообщения с определенным идентификатором CAN передающим узлом. После достижения значения 255 Код сообщения обнуляется. Это позволяет принимающим станциям определять пропущенные или задержанные сообщения и реагировать соответствующим образом. Что касается связи PTP (NSH, NSL), код сообщения используется вместе с кодом услуги для более подробного указания услуги для соответствующего взаимодействия клиент/сервер.
Вышеуказанная информация, содержащаяся в заголовке сообщения CANaerospace, содержит важную информацию для определения целостности параметров для использования в системах, критически важных для безопасности полета, и поддерживает резервирование системы. Кроме того, это значительно улучшает совместимость между LRU разных производителей и позволяет контролировать сети CANaerospace относительно состояния подключенных к ним LRU. Для дальнейшей совместимости CANaerospace определяет специальные системы осей для аэрокосмической отрасли с соответствующими условными обозначениями и физическими единицами. Вместе с предопределенным списком присвоения идентификаторов эти определения однозначно описывают трафик в сети CANaerospace. Список назначения стандартных идентификаторов CANaerospace резервирует идентификаторы CAN в диапазоне от 300 до 1799 и назначает им параметры, как показано во фрагменте этого списка (рис. 4).
Рис. 4. Выдержка из списка присвоения стандартных идентификаторов CANaerospace V 1.7.
Разработчики систем могут использовать самостоятельно определяемые списки присвоения идентификаторов. Обязательная «Служба идентификации узла», на которую должен реагировать каждый CANaerospace LRU, позволяет сканировать сеть на наличие подключенных LRU и кода списка назначения их идентификаторов, чтобы избежать несоответствий. Список присвоения стандартных идентификаторов CANaerospace, а также списки типов данных и единиц измерения содержат определяемые пользователем разделы, которые могут использоваться разработчиками систем для расширения этих списков в соответствии со своими потребностями.
Управление пропускной способностью
[ редактировать ]Важной характеристикой всех систем, критически важных для безопасности полетов, является то, что их поведение должно быть точно определено, проанализировано и протестировано, чтобы соответствовать формальным требованиям сертификации. Эту характеристику часто ошибочно интерпретируют как временной детерминизм, но на самом деле это предсказуемость. Степень точности, необходимая для определения времени, индивидуальна для каждого приложения и должны быть количественно оценены с помощью системного анализа. ) можно было продемонстрировать Однако конечная цель, которую необходимо достичь, состоит в том, чтобы сертифицирующим органам (например, FAA , EASA , что система, критичная для безопасности, ведет себя предсказуемо в предсказуемых обстоятельствах. Такая предсказуемость может быть достигнута с помощью CANaerospace.
CANaerospace предлагает концепцию управления доступной полосой пропускания многоабонентской сети CAN для обеспечения предсказуемого поведения для связи ATM и PTP, которая называется планированием шины с синхронизацией по времени. Планирование шины с синхронизацией по времени основано на ограничении количества сообщений CAN, которые любой узел в сети может передать в течение меньшего периода времени. Меньшие временные рамки определяются на этапе первоначального проектирования системы. Максимальное количество сообщений, передаваемых в течение одного меньшего периода времени, может отличаться от узла к узлу и иметь потенциал роста, если это предусмотрено конструкцией системы. Для концепции планирования шины с синхронизацией по времени крайне важно, чтобы каждый узел в сети всегда придерживался своего расписания передачи при генерации сетевого трафика. Однако не требуется и не запрещается, чтобы узлы в сети синхронизировались с другими узлами относительно порядка передачи сообщений или времени передачи.
Кадры ошибок CAN могут привести к непредсказуемому поведению, если полоса пропускания занята кадрами ошибок, возникающими из-за сбоев сети или подключенных к ней узлов. Поэтому CANaerospace рекомендует ограничить использование полосы пропускания до 50 % от максимальной пропускной способности, чтобы снизить непредсказуемость. Хотя планирование шины с синхронизацией по времени требует запаса и не оптимизирует использование пропускной способности сети, оно обеспечивает безопасный и простой подход к созданию сертифицируемых (предсказуемых) систем. Для обеспечения этого в условиях неисправности разработчик системы должен определить поведение в этих условиях (фреймы ошибок и предотвращение инверсии приоритетов ). [4] Применяя концепцию планирования шины с синхронизацией по времени, можно продемонстрировать, что сеть CANaerospace ведет себя предсказуемо. На рисунке 5 показан график передачи сети CANaerospace с двумя узлами, передающими свои сообщения асинхронно, в чередующемся порядке и в случайное время в пределах своих младших временных интервалов (наихудший сценарий). В этом примере используется 50% максимальной пропускной способности.
Рисунок 5. Упрощенная схема передачи данных CANaerospace.
При использовании планирования шины с синхронизацией по времени ни одно сообщение в этом расписании передачи не имеет задержки, превышающей 50 % от одного второстепенного временного интервала плюс продолжительность самого длинного сообщения. Планирование шины с синхронизацией по времени снижает эффект приоритета сообщения из-за того, что узлы в сети должны измерять передачу своих сообщений.
Допуски локального генератора и отсутствие синхронизации времени между узлами приведут к тому, что незначительные временные рамки отойдут друг от друга. Это не оказывает негативного влияния на задержку сообщений, если продолжительность второстепенного временного интервала во всех узлах близко совпадает. Чтобы обеспечить предсказуемость, все апериодические сообщения должны быть включены в расчеты управления полосой пропускания.
Планирование шины с синхронизацией по времени обеспечивает достаточную гибкость для увеличения сетевого трафика в течение всего срока службы системы, если запланирован потенциал роста. Например, конструкция системы позволит интегрировать узлы в сеть, не затрагивая существующие узлы. Более того, предсказуемое поведение, обеспечиваемое планированием шины по времени, позволяет системам с разными уровнями критичности сосуществовать в одной сети.
Внешние ссылки
[ редактировать ]- Домашняя страница CANaerospace
- Стандартные летные системы
- Учебное пособие по ARINC-825 (видео) от Excalibur Systems Inc.
Ссылки
[ редактировать ]- ^ «Спецификация шины данных НАСА АГАТ» . НАСА .
- ^ Краткий обзор протоколов авионики на базе CAN на сайте www.avionics-networking.com.
- ^ «Спецификация CANaerospace» (PDF) . Стандартные полетные системы .
- ^ «Рекомендации по применению AN-ION-1-0104» (PDF) . Протоколы на базе CAN в авионике . 7 мая 2010 г. Архивировано из оригинала (PDF) 7 октября 2011 г. . Проверено 7 мая 2010 г.