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 определяет электрические характеристики, требования к приемопередатчику шины и скорости передачи данных с соответствующими допусками на основе 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 влияют на приоритет передачи сообщений в случае арбитража шины. Таким образом, каналы связи располагаются в соответствии с их относительной важностью:
Большинство систем управления в реальном времени, используемых в аэронавтике, используют архитектуры процессоров " big endian ". [ требуется ссылка ] Это представление данных было поэтому определено и для CANaerospace. При представлении данных big endian наиболее значимый бит любого элемента данных располагается слева и передается первым в CANaerospace, как показано на рисунке 2.
Рисунок 2: Представление данных «Big Endian» для CANaerospace
CANaerospace использует самоидентифицирующийся формат сообщения, который реализуется путем структурирования полезной нагрузки сообщения, как показано на рисунке 3. Эта структура определяет 4-байтовый заголовок сообщения и 4-байтовый раздел параметров.
Рисунок 3: Формат самоидентифицирующегося сообщения CANaerospace
На первый взгляд использование 50% полезной нагрузки сообщения CAN для целей, отличных от передачи рабочих данных, может показаться пустой тратой полосы пропускания. Однако заголовок сообщения CANaerospace предоставляет ценную информацию, которая потребовала бы использования байтов полезной нагрузки сообщения также и при иной реализации: заголовок позволяет принимающим станциям немедленно анализировать полученные сообщения относительно источника, типа данных, целостности и времени создания. Для этого не требуется никакой дополнительной информации, кроме знания назначения идентификатора CAN для конкретной системы. Байты заголовка сообщения имеют следующее значение:
Вышеуказанная информация, содержащаяся в заголовке сообщения 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, позволяет системам с разными уровнями критичности сосуществовать в одной сети.