Что такое FlexRay

AvtoAd

16/11/2022
Что такое FlexRay

Содержание

1. Что такое FlexRay?

2. Электрическая реализация FlexRay.

3. Принцип передачи на шине FlexRay.

4. Статический сигмент.

5. Динамический сегмент.

6. Структура кадра FlexRay.

7. Структура заголовка FlexRay.

8. Полезная нагрузка PayLoad.

9. Синхронизация на шине FlexRay.

10. Недостатки шины FlexRay.

 

 

 

Что такое FlexRay

FlexRay (Флекс Рэй) – это высокоскоростная шина передачи данных для автомобилей. Применяется на особо ответственных участках обмена данными, например в системах steer-by-wire или brake-by-wire . Такие системы предполагают отсутствие прямой механической связи между органом управления и исполнительным устройством. Поэтому очень важно применять высоконадежный канал связи.

Скорость шины FlexRay может достигать 10 Мбит, что позволяет применять ее не только на участках, требующих высокой надежности передачи данных, но и высокой скорости. К примеру, FlexRay может использоваться как основная шина в мультидоменной сетевой архитектуре.

 

 

Электрическая реализация FlexRay

На уровне оборудования и электрических сигналов шина FlexRay реализована аналогично шине CAN – это токовая петля с передачей сигнала по неэкранированному витому пару.

Так же, как и в шине CAN для кодирования битов используется рецессивное и доминантное состояние шины.

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

 

 

Принцип передачи на шине FlexRay

Ключевая черта шины FlexRay – использование принципа TDMA.

TDMA или Time Division Multiple Access – это способ мультиплексирования передачи от разных источников с разделением доступа к каналу передачи данных во времени.
Или дословный перевод – доступ к доступу с разделением каналов во времени.

Принцип TDMA определяет, что все узлы, включенные в канал, могут передавать данные исключительно в отведенный конкретно для них интервал времени. В другое время эти узлы не могут отправлять сообщения. Механизм TDMA позволяет исключить появление коллизий в канале, а также оградить шину от неразрешенных сообщений. Поэтому на шине FlexRay не удастся использовать такие программы как CAN Bomber, поскольку все кадры за пределами разрешенных будут игнорироваться.

Коммуникационный цикл на шине FlexRay состоит из нескольких сегментов, а сегменты делятся на временные слоты.

 

Сегменты бывают:

  1. Статический сегмент . Статический сегмент – гарантирует работу в реальном времени и исключение коллизий. В этом сегменте работает принцип TDMA. Каждый узел обязан передать сообщение своему временному слоту.
  2. Dynamic segment . Динамический сегмент – используется для передачи данных с привязкой к любому событию. В этом временном сегменте FlexRay концептуально похож на шину CAN – может передать любой узел, но также в рамках установленного на шине расписания временных слотов. (FTDMA – гибкий множественный доступ с временным разделением каналов).
  3. Symbol Window – служит для передачи служебных сообщений FlexRay, например для пробуждения шины.

 

Сегменты могут комбинироваться в одном коммуникационном цикле следующим образом:

 

Dynamic segment и Symbol Window не являются обязательными в коммуникационном цикле. Основной сегмент – Static segment , поскольку его работа регулируется принципом TDMA.

 

 

Статический сегмент

Static segment разделен на временные слоты. Согласно принципу TDMA в каждый конкретный временной слот статического сегмента (Static Segment) к шине обращается только определенный узел, остальные молчат.

 

 

Динамический сегмент

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

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

 

 

Структура кадра FlexRay

Каждый кадр (фрейм, сообщение) на шине Flex Ray состоит из заголовка, полезной нагрузки (Payload, поля данных) и хвоста (Trailer).

 

 

Структура заголовка FlexRay

 

Заголовок сообщения состоит из 40 бит и содержит следующие элементы:

  • Биты индикаторы – служат для определения типа сообщения
  • Идентификатор сообщения ID – 11 бит
  • DLC – поле, указывающее длину полезной нагрузки в 16-битных словах (Одно 16-битное слово – это два байта).
  • CRC – контрольная сумма. Рассчитывается исходя из значений ID, DLC, StartUp Frame Indicator, Sync Frame Indicator и генератора полинома FlexRay.
  • Cycle counter – счетчик коммуникационных циклов. Считает сообщение от 0 до 63.

 

 

Полезная нагрузка PayLoad

Длина полезной нагрузки может достигать 254 байт и определяется заголовком пакета.
Для Static Segment длина полезной нагрузки всегда постоянна и определяется на этапе проектирования сети.
Первые 12 б полезной перегрузки, передаваемые в статическом секторе, могут быть использованы для передачи вектора управления сетью FllexRay. Для этого в заголовке кадра должен быть установлен бит Payload Preable Indicator.

Для Dynamic Segment длина полезной нагрузки может быть разной. Если при передаче сообщения в динамическом сегменте установлен бит Payload Preamble Indicator, то это означает, что первые два байта полезной нагрузки используются как вектор управления сетью или дополнительный идентификатор сообщения.

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

Для защиты полезной нагрузки используется метод CRC (CRC: Cyclic Redundancy Check). CRC вычисляется на основе заголовка, полезной нагрузки и полинома генератора, определенного в спецификации FlexRay. Эта последовательность CRC добавляется к заголовку и полезной нагрузке как трейлер (Хвост).

 

 

Синхронизация на шине FlexRay

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

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

В кластере FlexRay от 2 до 15 узлов FlexRay действуют как узлы синхронизации (узел синхронизации), передающие сообщения синхронизации (SYNC Frames) в определенном статическом слоте каждого цикла. Это не дополнительные сообщения, астатические сообщения, в которых установлен индикатор кадра синхронизации, – Sync Frame Indicator.

Узлы на шине сравнивают фактическое время прихода сообщений синхронизации и время заданное в расписании и исходя из разницы корректируют ход локальных часов узла.

 

 

Недостатки шины FlexRay

FlexRay имеет ряд серьезных недостатков, ограничивающих применение этой технологии:

  • Высокая цена узла. Необходимые контроллеры способны работать с высокой временной точностью и специальные трансиверы.
  • Низкий уровень сигналов, ограничивающий предельную длину шины.
  • Консорциум разработчиков шины FlexRay распался и дальнейшего развития технологии не определено.

 

 

Оригинал.