FlexRay

Протокол компьютерной сети

FlexRay — это протокол автомобильной сетевой связи , разработанный консорциумом FlexRay для управления бортовыми автомобильными вычислениями. Он разработан, чтобы быть быстрее и надежнее, чем CAN и TTP , но он также более дорогой. Консорциум FlexRay распался в 2009 году, но стандарт FlexRay теперь представляет собой набор стандартов ISO, ISO 17458-1 [1] по 17458-5. [2] [3]

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

Функции

FlexRay поддерживает скорость передачи данных до 10 Мбит/с , явно поддерживает как звездообразную, так и шинную физические топологии и может иметь два независимых канала данных для отказоустойчивости (связь может продолжаться с уменьшенной полосой пропускания, если один канал не работает). Шина работает по временному циклу, разделенному на две части: статический сегмент и динамический сегмент. Статический сегмент предварительно выделяется на срезы для отдельных типов связи, обеспечивая более сильный детерминизм, чем его предшественник CAN . Динамический сегмент работает больше как CAN, с узлами, берущими под контроль шину по мере ее доступности, что позволяет поведение, запускаемое событиями. [4]

Консорциум

Консорциум FlexRay состоял из следующих основных членов:

Были также Premium Associate и Associate-члены консорциума FlexRay. К сентябрю 2009 года было 28 premium associated-членов и более 60 associated-членов. В конце 2009 года консорциум распался.

Коммерческое развертывание

Первый серийный автомобиль с FlexRay появился в конце 2006 года в BMW X5 (E70) [5] , что позволило использовать новую и быструю адаптивную систему демпфирования. Полное использование FlexRay было введено в 2008 году в новом BMW 7 серии (F01) .

Транспортные средства

Подробности

Часы

Система FlexRay состоит из шины и электронных блоков управления (ЭБУ). Каждый ЭБУ имеет независимые часы. Дрейф часов должен быть не более 0,15% от опорных часов, поэтому разница между самыми медленными и самыми быстрыми часами в системе не должна превышать 0,3%.

Это означает, что если ECU-s является отправителем, а ECU-r является получателем, то на каждые 300 циклов отправителя будет приходиться от 299 до 301 цикла получателя. Часы ресинхронизируются достаточно часто, чтобы гарантировать, что это не вызовет проблем. Часы отправляются в статическом сегменте. [15]

Биты на автобусе

000000111111110000
000000001111111100

Корректное усреднение в случае отсутствия ошибок. Сигнал просто задерживается на 2 цикла.

000000111101110000
000000001111111100

Ошибки около середины 8-цикловой области аннулируются.

00010111111110000
00000011111111100

Ошибки вблизи границы 8-тактовой области могут повлиять на граничный бит.

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

Ошибки передачи одного цикла могут повлиять на результаты вблизи границы битов, но не повлияют на циклы в середине 8-цикловой области.

Отобранные биты

Значение бита выбирается в середине 8-битной области. Ошибки перемещаются в крайние циклы, а часы синхронизируются достаточно часто, чтобы дрейф был небольшим. (Дрейф меньше 1 цикла на 300 циклов, а во время передачи часы синхронизируются чаще, чем один раз на 300 циклов.)

Рамка

Вся коммуникация отправляется в виде кадров. Сообщение состоит из байтов , упакованных следующим образом: { х 0 , х 1 , , х м 1 } {\displaystyle \{x_{0},x_{1},\точки ,x_{m-1}\}}

  • Сигнал начала передачи (TSS) – бит 0
  • Сигнал начала кадра (FSS) – бит 1
  • м раз:
    • Сигнал начала байта 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 для его битов. Также обратите внимание, что BSS0 имеет значение 1, а BSS1 имеет значение 0.

Синхронизация часов

Синхронизация часов выполняется повторно, когда голосующий сигнал изменяется с 1 на 0, если приемник находился в состоянии ожидания или ожидал BSS1.

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

Вот пример особенно плохого случая — ошибка во время синхронизации, потерянный цикл из-за дрейфа часов и ошибка при передаче.

Ошибки, которые произошли в примере:

  • Из-за однобитовой ошибки во время синхронизации синхронизация была задержана на 1 цикл
  • Часы приемника отставали от часов отправителя, поэтому приемник пропустил один цикл (отмечено X). Это не повторится до следующей синхронизации из-за ограничений на максимально допустимый дрейф часов.
  • Из-за ошибки в одном бите во время передачи бит рядом с результатом был учтен неверно.

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

Зеленые ячейки — это точки выборки. Все, кроме первой, синхронизированы краем 1->0 в показанном фрагменте передачи.

Сигнал для отправки10101
Сигнал отправлен1111111100000000111111110000000011
В автобусе1111111101000000111111110000001011
Полученный1111111101000000111111Х10000001011
5-мажор проголосовал111111101000000111111Х10000001011

Инструменты разработки

При разработке и/или устранении неполадок шины FlexRay проверка аппаратных сигналов может быть очень важна. Логические анализаторы и анализаторы шин — это инструменты, которые собирают, анализируют, декодируют, сохраняют сигналы, чтобы люди могли просматривать высокоскоростные формы сигналов в свободное время.

Будущее FlexRay

Ethernet может заменить FlexRay для приложений, требующих большой пропускной способности, но не имеющих критических требований к безопасности. [16]

Смотрите также

Ссылки

  1. ^ ИСО 17458-1
  2. ^ ИСО 17458-5
  3. ^ Лоренц, Штеффен (2010). "The FlexRay Electrical Physical Layer Evolution" (PDF) . Automotive 2010 . Архивировано из оригинала (PDF) 16 февраля 2015 . Получено 16 февраля 2015 .
  4. ^ "How FlexRay Works". Freescale Semiconductor. Архивировано из оригинала 23 февраля 2015 г. Получено 21 марта 2014 г.
  5. ^ abcdef Strobel, Otto (28 февраля 2013 г.). Коммуникация в транспортных системах. IGI Global. стр. 61. ISBN 978-1-46662977-6.
  6. ^ "Системы помощи водителю и комплексная безопасность". Audi MediaCenter . Получено 21 февраля 2019 г.
  7. ^ "Системы помощи водителю". Audi MediaCenter . Получено 21 февраля 2019 г.
  8. ^ Реглер, Ричард; Шлинхайдер, Йорг; Майер, Маркус; Прехлер, Рейнхард; Бергер, Эдуард; Прёлль, Лео (2011). «Интеллектуальная архитектура электрики/электроники». ATZextra по всему миру . 15 (11): 246–251 . doi : 10.1365/s40111-010-0269-9. S2CID  107330814.
  9. ^ "Audi Technology Portal - Networking". Audi Technology Portal . Получено 21 февраля 2019 г.
  10. ^ "BMW X6". BMW Press Portal . Получено 8 марта 2019 г.
  11. ^ "Новый BMW 6 серии Кабриолет". BMW Press Portal . стр. 32. Получено 8 марта 2019 г.
  12. ^ "2322446_83_Fahrwerk_S_Klasse_en.doc" . marsMediaSite (на немецком языке) . Проверено 8 марта 2019 г.
  13. ^ "2480996_PI_Kurvenneigung_C217_ENG.docx" . marsMediaSite (на немецком языке) . Проверено 8 марта 2019 г.
  14. ^ Фляйсс, Майкл; Мюллер, Томас М.; Нильссон, Мартин; Карлссон, Йонас (1 марта 2016 г.). «Fahrzeugintegration des Antriebsstrangs bei Volvo». АТЗ — Automobiltechnische Zeitschrift (на немецком языке). 118 (3): 16–21 . doi :10.1007/s35148-015-0202-7. ISSN  2192-8800. S2CID  183153508.
  15. ^ "Введение в FlexRay". www.star-cooperation.com . STAR ELECTRONICS. Архивировано из оригинала 20 декабря 2016 года . Получено 9 декабря 2016 года .
  16. ^ Хаммершмидт, Кристоф (18 июня 2010 г.). «За пределами FlexRay: BMW представляет планы Ethernet». EE Times . Получено 16 февраля 2015 г.
  • Обзор FlexRay Технический обзор FlexRay от National Instruments
  • Спецификация FlexRay
Взято с "https://en.wikipedia.org/w/index.php?title=FlexRay&oldid=1255225462"