FlexRay - система зв'язку між компонентами автомобіля. Що це таке? Як вона працює?

26 Липня 2023, 21:41

На початку 21-го століття в автомобільній промисловості протоколу CAN вже не вистачало для управління та координації всіх систем в легкових автомобілях. Тому з’явився FlexRay, остання версія якого була представлена у 2009 році. Виробник цієї системи проклав новий шлях у світі протоколів зв'язку для транспортних засобів. В статті розкажемо про цю незамінну систему.

Що таке FlexRay?
FlexRay - це детермінована, відмовостійка, високошвидкісна комунікаційна шина стандарту ISO, яка може бути використана в системах steer-by-wire, drive-by-wire, brake-by-wire, адаптивного круїз-контролю, активної підвіски та інших системах безпеки. Стандарт є результатом спільної роботи таких компаній, як BMW, VW, Daimler AG, GM, Bosch, NXP Semiconductors та Freescale. У 2009 році була представлена версія 3.0, яка стала остаточною версією протоколу FlexRay. Система дебютувала в таких автомобілях, як:

  • Audi A8 (2011)
  • BMW X5
  • BMW X6
  • BMW 7
  • BMW 5
  • BMW 5 GT
  • Rolls Royce Ghost

Які вимоги були поставлені перед інженерами, що працювали над Flexray?
Основною вимогою до протоколу FlexRay була можливість високої швидкості передачі даних, вища, ніж у випадку CAN. FlexRay має два окремих, повністю незалежних канали, зі швидкістю передачі даних 10 Мбіт/с на канал. Кожен відповідає критично важливим вимогам безпеки для системи управління, що також є однією з його ключових особливостей. Як результат, ми можемо довірити протоколу обслуговування таких систем, як гальмування (brake-by-wire) або рульове управління (steer-by-wire), де протокол повинен миттєво обробляти відносно великі обсяги даних. Використання цих систем досі не врегульовано єдиним чином, тому вони є частою темою для дискусій. Однак факт залишається фактом: вони можуть працювати саме завдяки FlexRay.

Що відрізняє протокол FlexRay?
Якби нам потрібно було описати протокол трьома словами, ми могли б сказати: швидкий, детермінований (можна точно визначити момент передачі певного сигналу) і відмовостійкий. Останнє особливо важливо. Хоча автомобільна промисловість стимулює розвиток мереж, лише завдяки величезному успіху FlexRay системи управління вийшли за межі вузької автомобільної галузі. Швидкість передачі даних 10 Мбіт/с на канал є значною, при цьому система використовує два канали для однієї мети, що на технічному жаргоні називається апаратним резервуванням. Цикл комунікації можна розділити на статичну та динамічну часові секції. Статична секція призначена для блоків управління, тоді як динамічна секція підтримує мультимедійні пристрої, використовуючи смугу пропускання, що залишилася. Це працює за принципом розподілу часу, забезпечуючи цілісність надісланої та отриманої інформації, але також викликає організаційні труднощі.

Принцип роботи FlexRay

Тактовий годинник (генератор)
Система FlexRay складається з шини та ECU (електронних блоків управління). Кожен ECU має свій незалежний тактовий годинник – і саме тут виникає питання управління часом. Величина часового зсуву годинника не повинна перевищувати 0,15% від еталонного, тому різниця між найповільнішим і найшвидшим годинником системи не повинна перевищувати 0,3%. Це означає, що якщо в ECU є передавач і приймач, то на кожні 300 циклів передавача припадає 299 і 301 цикл приймача. Тактові генератори синхронізуються досить часто, тому це не є проблемою. Сигнали синхронізації займають статичний сегмент.

Шина
Запис на шину одночасно можливий тільки з одного ECU. Кожен біт, надісланий на шину, займає до 8 тактів. Приймач буферизує останні 5 відліків і використовує більшість з них як вхідний сигнал. Однотактні помилки передачі можуть вплинути на результати біля межі біта, але не впливають на цикли в середньому діапазоні 8 тактів.

Вибірка бітів
Значення біта відбирається в середині 8-бітового діапазону. Помилки зсуваються до крайніх циклів, а тактовий генератор синхронізується достатньо часто, щоб дрейф був невеликим, тобто менше ніж 1 циклу на 300, а під час передачі тактовий генератор синхронізується кілька разів на 300 циклів.

Кадри
Всі повідомлення складаються з байтів і передаються у вигляді кадрів. Це виглядає наступним чином:

  • Сигнал початку передачі (TSS) - біт 0
  • Сигнал початку кадру (FSS) - біт 1
  • m разів:

- Сигнал початку байта 0 (BSS0) - біт 1
- Сигнал початку байта 1 (BSS1) - біт 0
- Біт 0 i-го байта
- Біт 1 i-го байта
- Біт 2 i-го байта
...
- Біт 7 i-го байта

  • Сигнал кінця кадру (FES) - біт 0
  • Сигнал закінчення передачі (TES) - біт 1

За відсутності зв'язку шина знаходиться в стані 1 (високий стан), тому всі приймачі знають, що зв'язок розпочався, коли напруга падає до 0. Приймач знає, що повідомлення завершене після перевірки того, чи було отримано BSS0 (1) або FES (0). Зверніть увагу, що концепція 8 циклів на біт не має нічого спільного з байтами. Для передачі кожного байта потрібно 80 циклів. 16 для BSS0 і BSS1 і 64 для його окремих бітів.

Синхронізація тактового годинника
Тактовий генератор пересинхронізується, коли вибраний сигнал змінюється з 1 на 0, якщо приймач простоював або очікував на BSS1. Оскільки синхронізація відбувається за обраним сигналом, невеликі помилки передачі під час синхронізації, які впливають на граничні біти, можуть спотворити синхронізацію до 1 циклу. Оскільки між синхронізаціями є максимум 88 циклів (BSS1, 8 біт з останнього байта, FES і TES - 11 біт з 8 циклів), а зсув тактового годинника становить не більше 1 на 300 циклів, то зсув може спотворити тактовий генератор. Невеликі помилки передачі, які виникають під час прийняття, можуть вплинути лише на граничні біти. Таким чином, у найгіршому випадку два середні біти є правильними, тому значення вибірки також є правильним.

Коментарі

Коментар повинен бути довжиною не менше 5 символів!

Будь ласка, акцептуйте правила!

Ще ніхто не прокоментував цю статтю. Будьте першим!