Що таке 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. Static segment. Статичний сегмент - гарантує роботу в реальному часі та виключення колізій. У цьому вся сегменті працює принцип 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 розпався і подальшого розвитку технології не визначено.

 

 

Джерело.