Что такое FlexRay – CAN Hacker
FlexRay (Флекс Рэй) – это высокоскоростная шина передачи данных для автомобилей. Применяется на особо ответственных участках обмена данными, например в системах steer-by-wire или brake-by-wire. Такие системы предполагают отсутствие прямой механической связи между органом управления и исполнительным устройством. Поэтому очень важно применять высоконадежный канал связи.
Скорость на шине FlexRay может достигать 10 Мбит\с, что позволяет применять ее не только на участках требующих высокой надежности передачи данных, но и высокой скорости. Например FlexRay может использоваться как основная шина в мультидоменной сетевой архитектуре, о которой Вы можете прочитать в нашей статье об автомобилях Volvo.
Электрическая реализация FlexRay
На уровне оборудования и электрических сигналов шина FlexRay реализована аналогично шине CAN – это токовая петля с передачей сигнала по неэкранированной витой паре.
Так же как и на шине CAN для кодирования битов используется рецессивное и доминантное состояние шины.
Для более высокой надежности каждый контроллер подключенный к сети FlexRay может использовать два физических канала передачи данных. Но в основном используется один.
Принцип передачи данных на шине FlexRay
Ключевая особенность шины FlexRay – это использование принципа TDMA.
TDMA или Time Division Multiple Access – это способ мультиплексирования передачи данных от разных источников с разделением доступа к каналу передачи во времени.
Либо дословный перевод – Множественный доступ с разделением каналов во времени.
Принцип TDMA определяет что все узлы включенные в канал могут передавать данных исключительно в отведенный конкретно для них интервал времени. В другое время эти узлы не могут отправить сообщение. Механизм TDMA позволяет исключить появление коллизий в канале, а так же защитить шину от неразрешенных сообщений. Поэтому на шине FlexRay не получится использовать такие программы как CAN Bomber, поскольку все фреймы за пределами разрешенных будут игнорироваться.
Коммуникационный цикл на шине FlexRay состоит из нескольких сегментов, а сегменты делятся на временные слоты.
Сегменты бывают:
- Static segment. Статический сегмент – гарантирует работу в реальном времени и исключение коллизий. В этом сегменте работает принцип TDMA. Каждый узел обязан передать сообщение в свой временной слот.
- Dynamic segment. Динамический сегмент – используется для передачи данных с привязкой к какому-либо событию. В этом временном сегменте FlexRay концептуально похож на шину CAN – передать может любой узел, но так же в рамках установленного на шине расписания временных слотов. (FTDMA – гибкий множественный доступ с временным разделением каналов )
- Symbol Window – служит для передачи служебных сообщений FlexRay, например для пробуждения шины.
Сегменты могут комбинироваться в одном коммуникационном цикле следующим образом:
- кликнуть для увеличения
Dynamic segment и Symbol Window
не являются обязательными в коммуникационном цикле. Основной сегмент – Static segment, поскольку именно его работа регулируется принципом TDMA.Статический сегмент
Static segment разделен на временны слоты. Согласно принципу TDMA в каждый конкретный временной слот статического сегмента (Static Segment) к шине обращается только определенный узел, все остальные молчат.
- Кликнуть для увеличения
Динамический сегмент
Динамический сегмент – это необязательный сегмент, если он есть, то всегда следует после статического сегмента. В динамическом сегменте также действует принцип разделение во времени, но он более гибкий чем в статическом сегменте.
В каждый временной слот динамического сегмента узел может передать или не передать сообщение, в зависимости от того произошло или не произошло событие, приводящее к отправке сообщения.
Структура кадра FlexRay
- кликнуть для увеличения
Каждый кадр (фрейм, сообщение) на шине Flex Ray состоит из заголовка, полезной нагрузки (Payload, поля данных) и хвоста (Trailer).
В одном кадре может быть передано до 254 байт данных, что существенно больше чем на шинах CAN и
Структура заголовка 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 распался и дальнейшее развитие технологии не определено.
Синхронизация и декодирование протокола FlexRay
Синхронизация и декодирование протокола FlexRay
Синхронизация и декодирование протокола FlexRayКомпания LeCroy® по протоколу FlexRay анонсировала комплексное решение, представляющее собой наиболее полную систему на базе цифрового осциллографа по синхронизации и декодированию данного протокола. Опция от LeCroy по протоколу FlexRay позволяет проводить одновременный анализ физического и логического уровня сигнала протокола на одном экране, а аппаратная система синхронизации полностью интегрирована в осциллограф. Такое решение предлагает не только уникальный взгляд на данные, передаваемые по шине, но также позволяет понять, как работает шина в целом. Данная опция расширяет набор предложений от LeCroy по синхронизации и декодированию для автомобильных и встроенных приложений: CAN, LIN, I2C, SPI, UART и RS-232.
Доступная в серии WaveRunner Xi, внутренняя система синхронизации по протоколу FlexRay может выделять отдельные статические и динамические слоты ID, номера циклов, кадры состояния и отдельные символы, в то время как система декодирования показывает всё это с помощью цветографической кодировки, наложенной на физический уровень сигнала (рис.1).
Рисунок 1 |
Поскольку система синхронизации не является узлом в сети FlexRay, не требуется никакого перепрограммирования сети, просто подключайте дифференциальный пробник к шине и осуществляйте сбор данных.
Пользовательский интерфейс является интуитивно понятным, а сенсорный экран осциллографа обеспечивает быстрый доступ ко всем настройкам системы запуска и удобство манипуляций. Поддерживаемые настройки синхронизации по FlexRay включают в себя статические и динамические ID, Frame Cycle Count, Frame Qualifiers (NFI, SyFI, StFI) и TSS Symbol. Аналогично другим решениям по анализу, данная опция LeCroy позволяет устанавливать такие условия по запуску, как: “в пределах”, “вне предела”, “большие” и “меньше”.
LeCroy использует патентованный алгоритм для разложения физического уровня сигнала последовательной передачи данных и отображения уже декодированных данных с визуальным интуитивно понятным наложением цветового кодирования (рис. 2).
Рисунок 2 |
Такое наложение чётко идентифицирует различные части посылок данных, которые были захвачены, и позволяет пользователю быстрой найти интересующие его данные, ускорить процесс отладки устройств на основе протоколов I2C, SPI, UART, RS-232, LIN и теперь FlexRay.
Помимо отображения декодированных данных по шине FlexRay, наложенных на сигнал, данные выводятся на экран и в виде таблицы. Записи в таблице могут быть выбраны и автоматически промасштабированы на экране осциллографа, что избавляет от необходимости прокручивать вручную длинные осциллограммы для поиска нужных участков. Для дальнейшего упрощения поиска данных разработана функция поиска по заданному номеру ID и масштабирования найденного участка. Все эти инструменты работают как на “живом” сигнале, так и сохранёнными данными, а также с математически обработанными данными.
Что такое “FlexRay”?
(по материалам еженедельника “Директор”)Электронные автомобильные системы (drive-by-wire)
Итак, автомобильные системы управления переходят от механических и гидравлических схем к электрическим и электронным. В настоящее время дорогостоящие схемы управления “by-wire” являются более надёжными, занимают меньше места и характеризуются простотой в использовании.
Коммуникационный протокол FlexRay (Communications System a FlexRay) – это устойчивый к сбоям коммуникационный протокол, который может лечь в основу будущих электронных автомобильных систем (или, как их называют на Западе, Drive-by-wire). В электронных автомобилях механическая связь между водителем, двигателем, колёсами и даже колодками тормозов будет заменена на электронную. Поэтому автопроизводители разрабатывают концепцию безопасного обмена данными для электронного автомобиля, а также такую его архитектуру, которая могла бы надёжно связывать критические компоненты с драйверами программного обеспечения, а те, в свою очередь, с интерфейсом пользователя (в данном случае водителя автомобиля).
Внедрение нового коммуникационного протокола FlexRay приведёт к появлению целого спектра электронных систем “by-wire”, которые должны будут обладать более высокой надёжностью по сравнению с существующими автомобильными системами. Будущие системы управления могут полагаться на надёжные каналы связи со скоростью передачи данных до 10 Мбит/с для каждого канала и предсказуемыми длительностями задержек, что будет ключевыми требованиями в автомобильной промышленности. Новое поколение автомобильных систем управления с компонентами FlexRay получило название X-by-wire.
Консорциум FlexRay (http://www.flexray.com/) был образован в 2000 году компаниями Freescale, Philips, BMW и DaimlerChrysler. Позже туда вошли Bosch, General Motors, и Volkswagen. О поддержке стандарта объявили японские производители – Honda, Nissan и Toyota, а недавно идею стандартизации бортовой электроники на базе FlexRay поддержали такие гиганты, как Ford Motor, Texas Instruments, и другие компании.
Компании Fujitsu Microelectronics Europe (FME) и Freescale Semiconductor (http://www.freescale.com/), сегодня поставляют автомобильные контроллеры, поддерживающие протокол FlexRay 2.1. Они обеспечивают не только быструю передачу информации, но и имеют широкие возможности обнаружения дефектов, необходимые для сложных систем управления, включающих множество датчиков, приводов и электронных управляющих блоков. По мнению специалистов, этот протокол быстро становится стандартом де-факто для высокоскоростных бортовых сетей и должен прийти на смену такому архаичному диагностическому интерфейсу автомобильной электроники, как OBD (On Board Diagnostic), или более прогрессивному, но тоже уже устаревшему интерфейсу сети контроллеров для управления подсистемами автомобилей CAN (Controller-Area Network). Сегодня большинство европейских автомобильных гигантов (например, Audi, BMW, Renault, Saab, Volvo, Volkswagen) используют CAN в системах управления двигателем, безопасности и обеспечения комфорта (описание стандарта CAN можно найти на сайте http://www.can-cia.ru/). На контроллеры FlexRay возлагаются задачи контроля двигателя, трансмиссии, подвески, подсистем торможения, рулевого управления и другой бортовой электроники – областей, где востребовано расширение функциональности и наличие развитых средств диагностики.
Отметим, что приборы FlexRay совместимы с основными стандартами современных бортовых сетей (сети контроллеров CAN, сети локальной внутренней связи LIN и сети MOST), так что переход может осуществляться поэтапно. Однако технология FlexRay приблизительно в 10 раз быстрее шины CAN, поэтому ожидается постепенная замена сетей CAN на решения X-by-Wire в транспортных средствах нового поколения как производителями автомобилей, так и их поставщиками.
Контроллеры FlexRay построены по двухканальной архитектуре, разработанной специально для электромеханического управления, такого как Steer-by-wire (электронное рулевое управление, или Active Steering) и Brake-by-wire (электронное управление тормозами). Внедрение электромеханических схем – это вопрос времени; не стоит даже сомневаться, что всё управление в автомобилях ближайшего будущего будет полностью цифровым.
Технология FlexRay уже дебютировала на рынке в автомобилях 2007 модельного года. Так, например, FlexRay на специализированном чипе производства компании Freescale реализована на BMW X5 второго поколения. Комбинация активного подавления кренов и регулировки жёсткости амортизаторов позволяет достичь абсолютно нового уровня характеристик. Технология получила название AdaptiveDrive и стала первой системой, которая для координации своих действий использует инновационную технологию передачи данных FlexRay. Очевидно, что желающим приобрести “умный” BMW X5 придётся заплатить несколько больше, чем за предыдущие модели.
Автор:
Дедюхин А.А.
Дата публикации:
23.07.2007
У нас представлены товары лучших производителей
ПРИСТ предлагает оптимальные решения измерительных задач.
У нас вы можете купить осциллограф, источник питания, генератор сигналов, анализатор спектра, калибратор, мультиметр, токовые клещи, поверить средства измерения или откалибровать их. Также мы поставляем паяльно-ремонтное оборудование, антистатический инструмент, промышленную мебель. Мы имеем прямые контракты с крупнейшими мировыми производителями измерительного оборудования, благодаря этому можем подобрать то оборудование, которое решит Ваши задачи. Имея большой опыт, мы можем рекомендовать продукцию следующих торговых марок:
АКИП™ (Россия)
В каталоге: 2070
APPA Technology Corporation (Тайвань)
В каталоге: 170
Good Will Instrument Co. , Ltd. (Тайвань)
В каталоге: 575
FlexRay Обзор автомобильной коммуникационной шины
Протокол FlexRay — это уникальный протокол, запускаемый по времени, который предоставляет возможности для обработки детерминированных данных, поступающих в предсказуемый период времени (с точностью до микросекунды), а также для обработки динамических данных, управляемых событиями, подобных CAN. большое разнообразие рамок. FlexRay реализует этот гибрид основных статических кадров и динамических кадров с предварительно заданным циклом связи , который обеспечивает предварительно определенное пространство для статических и динамических данных. Это пространство настраивается проектировщиком сети вместе с сетью. В то время как узлам CAN нужно знать только правильную скорость передачи данных для связи, узлы в сети FlexRay должны знать, как настроены все части сети для связи.
Как и в любой многоабонентской шине, только один узел может одновременно электрически записывать данные в шину. Если два узла будут писать одновременно, вы получите конкуренцию на шине, и данные будут повреждены. Существует множество схем, используемых для предотвращения конфликтов на шине. CAN, например, использовал схему арбитража, в которой узлы уступают другим узлам, если они видят сообщение с более высоким приоритетом, отправляемое по шине. Будучи гибким и легко расширяемым, этот метод не обеспечивает очень высоких скоростей передачи данных и не может гарантировать своевременную доставку данных. FlexRay управляет несколькими узлами с помощью Множественный доступ с временным разделением каналов или схема TDMA. Каждый узел FlexRay синхронизирован с одними и теми же часами, и каждый узел ожидает своей очереди для записи на шину. Поскольку в схеме TDMA синхронизация согласована, FlexRay может гарантировать детерминизм или согласованность данных, доставляемых на узлы в сети. Это дает много преимуществ для систем, которые зависят от актуальных данных между узлами.
Встроенные сети отличаются от сетей на базе ПК тем, что они имеют закрытую конфигурацию и не изменяются после сборки в производственном продукте. Это устраняет необходимость в дополнительных механизмах для автоматического обнаружения и настройки устройств во время выполнения, как это делает ПК при подключении к новой проводной или беспроводной сети. Заблаговременно разрабатывая сетевые конфигурации, сетевые проектировщики значительно экономят средства и повышают надежность сети.
Для правильной работы сети TDMA, такой как FlexRay, все узлы должны быть правильно настроены. Стандарт FlexRay адаптируется ко многим типам сетей и позволяет разработчикам сетей находить компромисс между скоростью обновления сети, детерминированным объемом данных и динамическим объемом данных среди других параметров. Каждая сеть FlexRay может быть разной, поэтому каждый узел должен быть запрограммирован с правильными сетевыми параметрами, прежде чем он сможет участвовать в шине.
Для облегчения поддержания сетевых конфигураций между узлами комитет FlexRay стандартизировал формат хранения и передачи этих параметров в процессе проектирования. Формат обмена полевой шиной, или Файл FIBEX — это стандарт, определенный ASAM, который позволяет проектировщикам сетей, создателям прототипов, валидаторам и тестировщикам легко обмениваться сетевыми параметрами и быстро настраивать блоки управления двигателем, инструменты тестирования, системы моделирования аппаратного обеспечения и т. д. для легкого доступа. к автобусу.
Коммуникационный цикл
Коммуникационный цикл FlexRay является основным элементом схемы доступа к среде в FlexRay. Продолжительность цикла фиксируется при проектировании сети, но обычно составляет около 1-5 мс. Коммуникационный цикл состоит из четырех основных частей:
Рис. 1. Цикл связи
- Статический сегмент
Зарезервированные слоты для детерминированных данных, поступающих в фиксированный период. - Динамический сегмент
Динамический сегмент ведет себя аналогично CAN и используется для более широкого набора событийных данных, не требующих детерминизма. - Окно символов
Обычно используется для обслуживания сети и сигнализации запуска сети. - Время простоя сети
Известное «тихое» время, используемое для поддержания синхронизации между часами узла.
Рис. 2. Фрагмент макротика FlexRay
Наименьшей практической единицей времени в сети FlexRay является макротик . Контроллеры FlexRay активно синхронизируются и настраивают свои локальные часы таким образом, чтобы макротакт возникал в один и тот же момент времени на каждом узле в сети. Хотя макротики настраиваются для конкретной сети, они часто имеют длину 1 микросекунду. Поскольку макротик синхронизирован, данные, которые зависят от него, также синхронизируются.
1. Статический сегмент
Рис. 3. Иллюстрация статического сегмента с 3 ЭБУ, передающими данные в 4 зарезервированных слота.
Статический сегмент, представленный синей частью кадра, представляет собой пространство в цикле, предназначенное для планирования нескольких кадров, запускаемых по времени. Сегмент разбит на слоты, каждый слот содержит зарезервированный кадр данных. Когда каждый слот происходит вовремя, зарезервированный ECU имеет возможность передать свои данные в этот слот. По истечении этого времени ЭБУ должен дождаться следующего цикла, чтобы передать свои данные в этот слот. Поскольку в цикле известен точный момент времени, данные детерминированы, и программы точно знают, сколько лет этим данным. Это чрезвычайно полезно при расчете контуров управления, которые зависят от данных с последовательным интервалом. На рис. 3 показана простая сеть с четырьмя статическими слотами, используемыми тремя ЭБУ. Реальные сети FlexRay могут содержать до нескольких десятков статических слотов.
Рис. 4. Изображение статического слота с отсутствующим ЭБУ №2.
Если ECU отключается или решает не передавать данные, его слот остается открытым и не используется каким-либо другим ECU, как показано на рис. 4.
2. Динамический сегмент
Рис. Динамические слоты FlexRay с одним ECU, транслирующим данные.
Большинство встроенных сетей имеют небольшое количество высокоскоростных сообщений и большое количество низкоскоростных, менее важных сетей. Для размещения широкого спектра данных без замедления цикла FlexRay с чрезмерным количеством статических слотов динамический сегмент позволяет время от времени передавать данные. Сегмент имеет фиксированную длину, поэтому существует предел фиксированного объема данных, которые можно поместить в динамический сегмент за цикл. Для приоритизации данных минислота предварительно назначаются каждому кадру данных, который подходит для передачи в динамическом сегменте. Мини-слот обычно представляет собой макротика длительностью (микросекунды). Данные с более высоким приоритетом получают мини-слот ближе к началу динамического кадра.
Как только появляется мини-слот, ECU имеет короткую возможность передать свой кадр. Если он не транслируется, он теряет свое место в динамическом кадре и появляется следующий мини-слот. Этот процесс перемещается вниз по мини-слотам до тех пор, пока ЭБУ не выберет передачу данных. Поскольку данные передаются, будущие мини-слоты должны ждать, пока ЭБУ не завершит передачу данных. Если окно динамического кадра заканчивается, то мини-слоты с более низким приоритетом должны ждать до следующего цикла для новой возможности вещания.
Рисунок 6. Иллюстрация динамических слотов, показывающая ECU 2 и 3, осуществляющие широковещание в своих мини-слотах и не оставляющие времени для мини-слотов с более низким приоритетом.
На рис. 5 показано, что ECU #1 осуществляет широковещательную передачу в своем мини-слоте, поскольку первые 7 мини-слотов решили не выполнять широковещательную передачу. На рис. 6 показаны ECU № 2 и № 3, использующие первые два мини-слота, что не оставляет ECU № 1 времени для трансляции. ЭБУ №1 должен дождаться следующего цикла для трансляции.
Конечным результатом динамического сегмента является схема, аналогичная схеме арбитража, используемой CAN.
3. Окно символов
Окно символов в основном используется для обслуживания и идентификации специальных циклов, таких как циклы холодного пуска. Большинство высокоуровневых приложений не взаимодействуют с окном символа.
4. Время простоя сети
Время простоя сети имеет предопределенную продолжительность, известную для ЭБУ. Блоки ECU используют это время простоя для внесения поправок на любой дрейф, который мог произойти во время предыдущего цикла.
Защита данных и обработка ошибок
Сеть FlexRay обеспечивает масштабируемую отказоустойчивость, позволяя использовать одно- или двухканальную связь. Для приложений, критичных к безопасности, устройства, подключенные к шине, могут использовать оба канала для передачи данных. Однако также можно подключить только один канал, когда резервирование не требуется, или увеличить пропускную способность, используя оба канала для передачи неизбыточных данных.
На физическом уровне FlexRay обеспечивает быстрое обнаружение ошибок и сигнализацию, а также локализацию ошибок с помощью независимого Bus Guardian. Bus Guardian — это механизм на физическом уровне, который защищает канал от помех, вызванных обменом данными, который не соответствует расписанию обмена данными кластера.
Формат кадра
Рис. 7. Фрагмент кадра FlexRay
Каждый слот статического или динамического сегмента содержит кадр FlexRay. Кадр разделен на три сегмента: заголовок, полезная нагрузка и трейлер.
Заголовок
5 бит
Идентификатор кадра определяет слот, в котором должен быть передан кадр, и используется для определения приоритета кадров, инициированных событием. Длина полезной нагрузки содержит количество слов, которые передаются в кадре. CRC заголовка используется для обнаружения ошибок во время передачи. Счетчик циклов содержит значение счетчика, которое постепенно увеличивается каждый раз, когда начинается цикл связи.
Полезная нагрузка
Рис. 9. Полезная нагрузка кадра FlexRay.
Полезная нагрузка содержит фактические данные, передаваемые кадром. Длина полезной нагрузки или кадра данных FlexRay составляет до 127 слов (254 байта), что более чем в 30 раз больше по сравнению с CAN.
Трейлер
Рис. 10. Трейлер рамы FlexRay.
Трейлер содержит три 8-битных CRC для обнаружения ошибок.
Сигналы
Рисунок 11. Преобразование кадра в сигнал
Данные FlexRay представлены в байтах. Для большинства приложений требуется, чтобы данные были представлены в виде действительных десятичных значений с единицами измерения, масштабированием и ограничениями. Когда вы берете один или несколько битов или байтов из кадра FlexRay, применяя масштабирование и смещение, вы получаете сигнал , который полезен для обмена фактическими параметрами между ЭБУ. Большинство программ ECU работают с данными FlexRay как с сигналами и оставляют преобразование сигналов в необработанные данные кадра драйверу или протоколам связи более низкого уровня.
Обычное транспортное средство имеет от сотен до тысяч сигналов. Поскольку масштабирование, смещение, определения и расположение этих сигналов могут меняться, сети FlexRay сохраняют эти определения в базе данных FIBEX, которая определяет сеть. Это упрощает написание программ для сетей FlexRay, поскольку разработчики могут просто ссылаться на имя сигнала в коде. Затем компилятор или драйвер извлекает самую последнюю информацию о масштабировании и смещении, когда программа обновляется до ECU или тестовой системы.
Синхронизация часов и холодный запуск
Рисунок 12. Упрощенный процесс синхронизации сети FlexRay
FlexRay обладает уникальной способностью синхронизировать узлы в сети без внешнего тактового сигнала. Для этого он использует 2 специальных типа фреймов: Startup Frames и Sync Frames . Для запуска кластера FlexRay требуется как минимум 2 разных узла для отправки кадров запуска. Действие по запуску шины FlexRay известно как cold-start и узлы, отправляющие кадры запуска, обычно называются узлами холодного запуска. Кадры запуска аналогичны стартовому триггеру, который сообщает всем узлам сети о запуске.
После запуска сети все узлы должны синхронизировать свои внутренние генераторы с макротактом сети. Это можно сделать с помощью еще двух узлов синхронизации. Это могут быть любые два отдельных узла в сети, которые предварительно назначены для широковещательной передачи специальных кадров синхронизации при их первом включении. Другие узлы в сети ожидают передачи кадров синхронизации и измеряют время между последовательными широковещательными рассылками, чтобы откалибровать свои внутренние часы по времени FlexRay. Кадры синхронизации назначаются в конфигурации FIBEX для сети.
После того, как сеть синхронизирована и подключена к сети, измеряется время простоя сети (пробел на диаграмме), которое используется для корректировки часов от цикла к циклу для поддержания точной синхронизации.
Контроль в цикле
Рис. 13. Контроль в цикле, считывание 4 положений колес и обновление выходных данных системы управления транспортным средством за один цикл FlexRay.
Дополнительной функцией FlexRay является возможность управления в цикле. На рис. 13 показан пример, когда положения четырех колес транслируются в статических слотах кадра. Поскольку положения колес появляются до окончательной команды обновления от центрального контроллера № 5, у контроллера есть время для обработки и быстрого вывода в течение того же цикла связи. Это позволяет реализовать очень высокие скорости управления в сети FlexRay.
Протокол FlexRay — простое объяснение
Чтобы удовлетворить бесконечные потребности в связи для повышения производительности автомобиля, существуют различные протоколы. FlexRay — это один из таких высокоскоростных протоколов общего назначения следующего поколения, предлагающий важные для безопасности функции. Комбинация нескольких датчиков, исполнительных механизмов и электронных блоков управления требует синхронизации для обеспечения высокой производительности. Сеть контроллеров (CAN) не соответствует таким потребностям в растущей пропускной способности современных современных автомобилей. Для решения этих задач нового поколения в этих передовых транспортных средствах протокол FlexRay доказал свою важность в мире чрезвычайно растущих автомобильных технологий.
Протокол связи FlexRay является зарегистрированным товарным знаком Daimler Chrysler AG. Полноценное использование FlexRay было введено в 2008 году консорциумом FlexRay, который продвигает стандартизацию FlexRay как автомобильного коммуникационного протокола нового поколения. FlexRay был специально разработан для удовлетворения требований и проблем, связанных с системами управления по проводам (пуск по проводам, тормоз по проводам) и передовыми системами помощи устройствам (двигатель, трансмиссия).
Структура сети FlexRay:
FlexRay использует неэкранированную витую пару для соединения узлов. Они имеют импеданс кабеля около 80-110 Ом, что требует оконечной нагрузки на конечных узлах. Как и в CAN, для этого между парой сигнальных проводов подключаются резисторы.
Дифференциальная передача сигналов по каждой паре кабелей снижает влияние внешних помех на сеть без дорогостоящего экранирования. Он поддерживает одно- и двухканальные конфигурации, состоящие из одной или двух пар проводов соответственно. Двухканальные конфигурации обеспечивают повышенную отказоустойчивость и увеличенную пропускную способность.
Характеристики FlexRay:
Надежный.
Быстрее.
Избыточный.
Высокая скорость передачи данных до 10 Мбит/с.
Гибкая конфигурация.
Различные варианты топологии.
Отказоустойчивый.
Инициировано событие и время.
Двухканальная система.
Может состоять из ‘n’ узлов.
Работает с большим количеством рамок.
Устойчив к ошибкам.
Доступ без столкновений.
Гарантированная задержка сообщений.
Исправлены задержки связи.
Глобальное синхронное время для всех ЭБУ.
Статические и динамические сегменты.
Пропускная способность в 20 раз выше, чем у CAN.
Управляет несколькими узлами с помощью множественного доступа с временным разделением (TDMA).
Заявки:
Электронный усилитель руля. (управление по проводам).
Расширенные системы помощи водителю.
Силовая передача.
Блок управления кузовом.
Система управления батареями.
Антиблокировочная система тормозов.
Контроль устойчивости автомобиля (VSC).
Система стабилизации автомобиля (VSA).
Сеть FlexRay Топологии:
Одним из существенных преимуществ FlexRay является то, что его можно проложить внутри автомобиля в соответствии с компоновкой автомобиля. Он предлагает топологии, аналогичные Ethernet, такие как шина (многоточечный пассивный), звездообразный (активный) соединения или соединение этих двух топологий, называемое гибридной топологией сетей FlexRay. Это помогает разработчику повысить производительность, надежность и оптимизировать затраты для данной конструкции системы автомобиля.
Многоточечная шина Сеть FlexRay:
Обычно используется.
Один сетевой кабель соединяет несколько ЭБУ.
Одновременно может передавать только один ECU.
Заделанный конец для устранения отражения сигнала.
Сеть Star FlexRay:
Отдельные ссылки соединяются с центральным активным узлом.
Они используются для более протяженных сетей.
Если один узел выходит из строя, это не влияет на другие узлы.
Уменьшенное количество оголенных проводов помогает повысить помехоустойчивость.
Гибридная сеть FlexRay:
Образуется путем объединения топологий «шина» и «звезда».
Предлагает лучшее из обеих топологий.
Экономичный, надежный и простой в использовании.
Цикл связи протокола FlexRay: фиксируется во время проектирования сети (обычно составляет около 1–5 мс). Он содержит четыре основных сегмента, известных как:
Статический сегмент: слот, зарезервированный для детерминированных данных, поступающих в фиксированный период.
- Динамический сегмент
: принимает различные сигналы без замедления цикла FlexRay из-за чрезмерного количества статических слотов. Это позволяет время от времени передавать данные.
Окно символов: участвует в обслуживании сети и идентификации уникальных циклов, таких как циклы холодного запуска.
Network Idle Time: используется для поддержания синхронизации между часами узла путем внесения поправок на любой дрейф, который мог произойти в течение предыдущего цикла. Он всегда предварительно определяется ЭБУ до известной длины.
Формат кадра сообщения FlexRay
Для любых статических или динамических сегментов каждый слот состоит из кадра FlexRay, который разделен на три основные части, как показано ниже:
Заголовок
Полезная нагрузка 9 0232
Содержит фактические данные, которые должны быть переданы кадром сообщения. Он имеет длину от 0 до 254 байт. (в 30 раз больше, чем у CAN).
Идентификатор сообщения (необязательно): — Этот идентификатор использует для определения первые два байта сегмента полезной нагрузки. Его можно использовать как фильтруемые данные на принимающей стороне.
Вектор NW (необязательно): – Вектор управления сетью должен иметь длину от 0 до 12 байт и быть общим для всех узлов.
Трейлер
Он содержит три 8-битных значения CRC, указанные аппаратным обеспечением для обнаружения ошибок и предотвращения неправильных подключений путем изменения начального значения на подключенном канале.
Защита данных и обработка ошибок:
Сеть FlexRay обеспечивает масштабируемую отказоустойчивость. Возможность разрешить одноканальную и двухканальную связь делает ее более безопасной. Использование обоих каналов для подключения устройств к шине повышает безопасность. Можно увеличить пропускную способность, используя оба канала для передачи неизбыточных данных.
Протокол FlexRay обеспечивает быстрое обнаружение ошибок, сигнализацию и сдерживание ошибок на физическом уровне с помощью механизма защиты шины, который защищает канал от помех, вызванных связью, не согласованной с расписанием связи кластера.
Разница между CAN и FlexRay?
Для каждой реализации сети FlexRay могут быть спроектированы по-разному. Каждый узел должен быть запрограммирован с правильными сетевыми параметрами, прежде чем участвовать в шине, чтобы добиться надлежащего функционирования. Комитет FlexRay стандартизировал формат хранения и передачи этих параметров в процессе проектирования для поддержания сетевых конфигураций между узлами. Файл Field Bus Exchange Format или FIBEX — это стандарт, определенный ASAM, который позволяет проектировщикам сетей, создателям прототипов, валидаторам и тестерам легко обмениваться сетевыми параметрами и быстро настраивать блоки управления двигателем, средства тестирования, аппаратные системы моделирования в контуре и т.