CANaerospace

CANaerospace — это протокол более высокого уровня, основанный на сети контроллеров (CAN), который был разработан компанией Stock Flight Systems в 1998 году для авиационных приложений.

Фон

CANaerospace поддерживает бортовые системы, использующие концепцию линейно заменяемых блоков (LRU) для обмена данными по CAN и обеспечивает взаимодействие между CAN LRU путем определения характеристик физического уровня CAN , сетевых уровней, механизмов связи, типов данных и систем аэронавигационных осей. CANaerospace — это проект с открытым исходным кодом , который был инициирован для стандартизации интерфейса между CAN LRU на системном уровне. CANaerospace постоянно совершенствуется и также был опубликован NASA как Advanced General Aviation Transport Experiments Databus Standard [1] в 2001 году. Он нашел широкое применение в авиационных исследованиях по всему миру. Основным исследовательским самолетом, который использует несколько сетей CANaerospace для компьютерного взаимодействия в реальном времени, является Stratospheric Observatory for Infrared Astronomy (SOFIA), Boeing 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 полностью основана на связи Anyone-to-Many (ATM), что означает, что сообщения CAN всегда принимаются всеми станциями в сети. Преимуществом концепции CAN является внутренняя согласованность данных между всеми станциями, недостатком является то, что она не допускает адресации узлов, которая является основой для связи Peer-to-Peer (PTP). Однако использование сетей CAN в авиационных приложениях требует стандарта, ориентированного на конкретные требования бортовых систем, что подразумевает, что связь между отдельными станциями в сети должна быть возможна для обеспечения требуемой степени мониторинга системы. Следовательно, CANaerospace определяет дополнительные функции ISO/OSI уровня 3, 4 и 6 для поддержки адресации узлов и унифицированных механизмов связи ATM/PTP. Связь PTP позволяет настраивать клиент-серверные взаимодействия между отдельными станциями в сети как временно, так и постоянно. В любой момент времени может быть задействовано более одного из этих взаимодействий, и каждый узел может быть клиентом для одной операции и сервером для другой в одно и то же время. Этот механизм CANaerospace называется «Концепцией обслуживания узлов» и позволяет, например, распределять системные функции по нескольким станциям в сети или управлять динамической реконфигурацией системы в случае сбоя. Концепция обслуживания узлов поддерживает как ориентированные на соединение, так и не ориентированные на соединение взаимодействия, например, с TCP/IP и UDP/IP для Ethernet .

Включение как ATM, так и PTP-коммуникации для CAN требует введения независимых сетевых уровней для изоляции различных типов коммуникации. Это реализуется для CANaerospace путем формирования групп идентификаторов CAN, как показано на рисунке 1. Полученная структура создает логические каналы связи (LCC) и назначает определенный тип коммуникации (ATM, PTP) каждому из LCC. Определяемые пользователем LCC предоставляют необходимую свободу для проектировщиков и позволяют реализовать CANaerospace в соответствии с потребностями конкретных приложений.

Рисунок 1: Логические каналы связи для CANaerospace

В качестве побочного эффекта группы идентификаторов CAN на рисунке 1 влияют на приоритет передачи сообщений в случае арбитража шины. Таким образом, каналы связи располагаются в соответствии с их относительной важностью:

  • Канал данных об аварийных событиях (EED): Этот канал связи используется для сообщений, которые требуют немедленного действия (например, деградация системы или реконфигурация) и должны передаваться с очень высоким приоритетом. Данные об аварийных событиях используют исключительно связь ATM.
  • Канал данных службы узла с высоким/низким приоритетом (NSH/NSL): эти каналы связи используются для взаимодействия клиент/сервер с использованием связи PTP. Соответствующие службы могут быть как ориентированными на соединение, так и не ориентированными на соединение. NSH/NSL также могут использоваться для поддержки функций тестирования и обслуживания.
  • Канал данных нормальной работы (NOD): Этот канал связи используется для передачи данных, которые генерируются во время нормальной работы системы и описаны в списке присвоения идентификаторов CANaerospace. Эти сообщения могут передаваться периодически или апериодически, а также синхронно или асинхронно. Все сообщения, которые не могут быть назначены другим каналам связи, должны использовать этот канал.
  • Канал данных пользователя с высоким/низким приоритетом (UDH/UDL): этот канал предназначен для связи, которая не может быть назначена другим каналам из-за ее особых характеристик без нарушения спецификации CANaerospace. Пока используется определенный диапазон идентификаторов, содержимое сообщения и тип связи (ATM, PTP) для этих каналов могут быть указаны разработчиком системы. Для обеспечения взаимодействия настоятельно рекомендуется свести использование этих каналов к минимуму.
  • Debug Service Data Channel (DSD): Этот канал предназначен для сообщений, которые временно используются только для целей разработки и тестирования и не передаются во время нормальной работы. Пока используется определенный диапазон идентификаторов, содержимое сообщения и тип связи (ATM, PTP) для этих каналов могут быть указаны разработчиком системы.

Представление данных

Большинство систем управления в реальном времени, используемых в аэронавтике, используют архитектуры процессоров " big endian ". [ требуется ссылка ] Это представление данных было поэтому определено и для CANaerospace. При представлении данных big endian наиболее значимый бит любого элемента данных располагается слева и передается первым в 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

Разработчики систем могут использовать самоопределяемые списки назначения идентификаторов. Обязательная «Служба идентификации узлов», на которую должен отвечать каждый LRU CANaerospace, позволяет сканировать сеть на предмет прикрепленных LRU и их кодов списка назначения идентификаторов, чтобы избежать несоответствий. Список назначения стандартных идентификаторов CANaerospace, а также списки типов данных и единиц предоставляют определяемые пользователем разделы, которые могут использоваться разработчиками систем для расширения этих списков в соответствии с их потребностями.

Управление пропускной способностью

Существенной характеристикой всех критических для безопасности полетов систем является то, что их поведение должно быть точно определено, проанализировано и протестировано для соответствия формальным требованиям сертификации. Эта характеристика часто неверно интерпретируется как детерминизм времени, но на самом деле это предсказуемость. Степень точности, требуемая для времени, специфична для каждого приложения и должна быть количественно определена с помощью системного анализа. Однако конечная цель, которую необходимо достичь, заключается в том, чтобы можно было продемонстрировать органам сертификации (например, FAA , EASA ), что критически важная для безопасности система ведет себя предсказуемо при предсказуемых обстоятельствах. Используя CANaerospace, эта предсказуемость может быть достигнута.

CANaerospace излагает концепцию управления доступной полосой пропускания многоточечной сети CAN для обеспечения предсказуемого поведения для связи ATM и PTP, которая называется Time Triggered Bus Scheduling. Time Triggered Bus Scheduling основан на ограничении количества сообщений CAN, которые любой узел в сети может передать в течение малого временного интервала. Малый временной интервал определяется во время первоначального проектирования системы. Максимальное количество сообщений, передаваемых в течение одного малого временного интервала, может отличаться от узла к узлу и содержать потенциал роста, если это предусмотрено проектом системы. Для концепции Time Triggered Bus Scheduling крайне важно, чтобы каждый узел в сети всегда придерживался своего графика передачи при генерации сетевого трафика. Однако не требуется и не запрещается, чтобы узлы в сети синхронизировались с другими узлами относительно порядка передачи сообщений или времени передачи.

Кадры ошибок CAN могут привести к непредсказуемому поведению, если полоса пропускания занята кадрами ошибок, возникшими из-за сбоев сети или подключенных к ней узлов. Поэтому CANaerospace рекомендует ограничить использование полосы пропускания до 50% от максимальной полосы пропускания, чтобы смягчить непредсказуемость. Хотя Time Triggered Bus Scheduling требует запасов и не оптимизирует использование полосы пропускания сети, он обеспечивает безопасный и простой подход к построению сертифицируемых (предсказуемых) систем. Для обеспечения этого в условиях сбоя разработчик системы должен определить поведение в этих условиях (кадры ошибок и предотвращение инверсии приоритетов ). [4] Применяя концепцию Time Triggered Bus Scheduling, можно продемонстрировать, что сеть CANaerospace ведет себя предсказуемо. На рисунке 5 показан график передачи сети CANaerospace с двумя узлами, передающими свои сообщения асинхронно, в чередующемся порядке и в случайные моменты времени в пределах своих второстепенных временных рамок (наихудший сценарий). В этом примере используется 50% максимальной полосы пропускания.

Рисунок 5: Упрощенная схема передачи данных CANaerospace

При использовании Time Triggered Bus Scheduling ни одно сообщение в этом расписании передачи не имеет задержки, превышающей 50% одного второстепенного временного кадра плюс длительность самого длинного сообщения. Time Triggered Bus Scheduling снижает влияние приоритета сообщений из-за того, что узлы в сети должны измерять свои передачи сообщений.

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

Time Triggered Bus Scheduling обеспечивает достаточную гибкость для увеличения сетевого трафика в течение срока службы системы, если планируется потенциал роста. Например, проектирование системы позволит интегрировать узлы в сеть, не влияя на существующие узлы. Более того, предсказуемое поведение, обеспечиваемое Time Triggered Bus Scheduling, позволяет системам с разными уровнями критичности сосуществовать в одной сети.

  • Домашняя страница CANaerospace
  • Системы полетов на складе
  • Учебное пособие по ARINC-825 (видео) от Excalibur Systems Inc.

Ссылки

  1. ^ "Спецификация шины данных NASA AGATE". NASA .
  2. ^ Краткий обзор протоколов авионики на базе CAN на www.avionics-networking.com
  3. ^ "Спецификация CANaerospace" (PDF) . Stock Flight Systems.
  4. ^ "Application Note AN-ION-1-0104" (PDF) . Протоколы на базе CAN в авионике . 7 мая 2010 г. Архивировано из оригинала (PDF) 7 октября 2011 г. Получено 7 мая 2010 г.
Взято с "https://en.wikipedia.org/w/index.php?title=CANaerospace&oldid=1263041080"