CAN-FD

Протокол данных для автотранспортных средств

CAN FD (Controller Area Network Flexible Data-Rate) — это протокол передачи данных, используемый для трансляции данных датчиков и информации управления по 2-проводным соединениям между различными частями электронных приборов и систем управления. Этот протокол используется в современных высокопроизводительных транспортных средствах.

CAN FD — это расширение исходного протокола шины CAN , который был определен в ISO 11898-1. CAN FD — это второе поколение протокола CAN, разработанное Bosch. [1] Основная идея разгона части фрейма и увеличения размера полезной нагрузки восходит к 1999 году. [2] Разработанный в 2011 году и выпущенный в 2012 году компанией Bosch , CAN FD [3] был разработан для удовлетворения потребности в увеличении скорости передачи данных до 5 раз и с большими размерами фрейма/сообщения для использования в современных автомобильных электронных блоках управления .

Как и классический CAN, протокол CAN FD предназначен для надежной передачи и приема данных датчиков, команд управления и обнаружения ошибок данных между электронными сенсорными устройствами, контроллерами и микроконтроллерами . Хотя CAN FD был в первую очередь разработан для использования в высокопроизводительных ЭБУ транспортных средств, распространенность классического CAN в различных отраслях промышленности [ требуется ссылка ] приведет к включению этого улучшенного протокола передачи данных в ряд других приложений, таких как электронные системы, используемые в робототехнике, обороне, промышленной автоматизации, подводных аппаратах, медицинском оборудовании, авионике, датчиках скважинного бурения и т. д.

CAN FD против классического CAN

Основное различие между классической CAN (Controller Area Network) и CAN FD заключается в гибких данных (FD). Используя CAN FD, электронные блоки управления (ECU) могут динамически переключаться между различными скоростями передачи данных и более длинными или короткими сообщениями. Более высокая скорость передачи данных и большее увеличение емкости данных приводит к нескольким эксплуатационным преимуществам системы по сравнению с классической CAN. Команды, выдаваемые исполняющим программным обеспечением ECU, достигают выходного контроллера гораздо быстрее. CAN FD обычно используется в высокопроизводительных ECU современных транспортных средств. Современное транспортное средство может иметь более 70 ECU, которые используют CAN FD для обмена информацией по шине CAN при работающем двигателе или во время движения транспортного средства.

На шине CAN кадр является базовой единицей обмена сообщениями. Для классической шины CAN кадр состоит из 11-битного идентификатора вместе с 8-байтной полезной нагрузкой сообщения. Для CAN FD кадр помечен 29-битным идентификатором и несет 64-байтную полезную нагрузку сообщения. Кадры с 11-битными идентификаторами называются в формате базового кадра FD (FDBF), а кадры с 29-битными идентификаторами называются расширенным форматом кадра FD (FEFF). Хотя в CAN FD возможны скорости передачи данных полезной нагрузки 5-8 Мбит/с, общие скорости передачи данных зависят от общей длины сети шины и трансиверов, используемых для генерации и обнаружения сигналов шины. Кроме того, скорости арбитражных данных ограничены 1 Мбит/с для поддержания совместимости с классическими устройствами CAN. Спецификация протокола CAN FD обеспечивает улучшенное обнаружение ошибок [4] в полученных сообщениях CAN и повышенную гибкость скоростей передачи данных для учета различий в скорости опроса датчиков. Шина CAN состоит из общей пары проводов, к которым подключены электронные датчики, блоки контроллеров и ЭБУ, и используется для обмена информацией между блоками, работающими периодически или по требованию. Общее количество подключенных блоков, длина проводов шины CAN и дополнительные электромагнитные факторы определяют максимально возможную скорость передачи данных для данной шины CAN. Все версии протокола CAN разработаны с надежным разрешением коллизий, которое зависит от времени распространения сигнала, топологии сети и количества блоков на шине. Чтобы минимизировать коллизии сообщений и сократить дорогостоящее исправление ошибок, многие конфигурации шины CAN могут ограничивать скорость передачи данных значительно ниже теоретической максимальной скорости шины.

Нагрузка шины CAN-FD, разработанная по уравнению «Де Андраде» на основе уравнения Тинделя. [1] [5] [6]

β = τ/ω (1) (β = нагрузка на шину), (τ = время медленных битов плюс более быстрые биты), ω (время измерения в секундах). τ = Ц + Тф (2)

Протокол CAN-FD определяет пять различных механизмов обнаружения ошибок: два из них работают на уровне битов, а три других — на уровне сообщений. Они следующие:

- (1) Мониторинг битов, - (2) Набивка битов, - (3) Проверка рамы, - (4) Проверка подтверждения и - (5) Циклическая проверка избыточности. Существует два варианта CRC, которые следует обозначить как для длины CRC 17 (длина данных 0-16 байт) или для длины CRC 21 бит (длина данных 17-64) байт.

Ts = ([(SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2)* 1,2]+ACK+DEL+EOF+IFS)/t_x (3)

Tf = ([(D〗_f+BRS/2+ESI+DLC+CRCdel/2)*1,2]+〖CRC〗_17+5)/t_y (4)

где SOF (начало кадра) + ID (идентификатор) + r1 (зарезервированный бит 1) + IDE + EDL (расширенная длина данных) + r0 (зарезервированный бит 0) + BRS/2 (переключатель скорости передачи данных) + CRCdel/2 (разделитель CRC) = 17 бит; 1,25 — коэффициент наихудшего случая заполнения бит, [7] что означает, что вычисление должно быть увеличено на 25%. Считается, что BRS и CRCdel делятся на 2, поскольку они находятся точно в сдвиге перехода скорости передачи данных. ACK (подтверждение) + DEL (разделитель) + EOF (конец кадра) + IFS (межкадровый интервал) = 12 бит без заполнения бит. Размер полезной нагрузки CAN-FD может быть от 0 до 8, 12, 16, 20, 24, 32, 48, 64 байт. t_X — пропускная способность передачи заголовка сообщения (до 1 Мбит/с).

  • Для данных < 16 байт
β = ( (SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2 * 1,25)+ACK+DEL+EOF+IFS)/t_x + (〖[(D〗_f+BRS/ 2+ESI+DLC+CRCdel/2)*1,25]+〖CRC〗_17+5)/t_y)/ω (5)
  • Для данных >= 16 байт
β = ( (SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2 * 1,25)+ACK+DEL+EOF+IFS)/t_x + (〖[(D〗_f+BRS/ 2+ESI+DLC+CRCdel/2 )*1,25]+〖CRC〗_21+6)/t_y )/ω (6)

CAN FD также уменьшил количество необнаруженных ошибок за счет повышения производительности алгоритма CRC . [8] Кроме того, CAN FD совместим с существующими сетями CAN 2.0, что позволяет новому протоколу функционировать в той же сети, что и классический CAN. [9] Скорость передачи данных CAN FD может достигать 8 Мбит/с с правильным приемопередатчиком CAN SIC (Signal Improvement Capability), что в 8 раз быстрее, чем у классического CAN с фазой данных 1 Мбит/с.

Из-за более высокой скорости связи ограничения CAN FD жестче с точки зрения паразитной емкости линии. Поэтому все компоненты на линии увидели, что их «емкостной» бюджет снижен по сравнению с обычной шиной CAN . Вот почему поставщики полупроводников выпустили новые компоненты, одобренные автопроизводителями. Это одобрение отражает необходимость взаимодействия между всеми системами CAN FD. Действительно, выбранные компоненты защиты от электростатического разряда совместимы со всеми приемопередатчиками (CAN или CAN FD) и выдерживают ISO7637-3. [10]

Несмотря на более высокое напряжение отключения (37 В), устройства для применения в грузовых автомобилях также должны соответствовать требованию низкой емкости (3,5 пФ). [11]

Кадр данных

Кадр данных, используемый для фактической передачи данных, имеет два формата сообщений:

  • Базовый формат кадра: с 11 битами идентификатора
  • Расширенный формат кадра: с 29 битами идентификатора

Формат кадра следующий: значения бит описаны для сигнала CAN-LO.

Имя поляДлина (бит)Цель
Начало кадра1Обозначает начало передачи кадра.
Идентификатор11(Уникальный) идентификатор, который также представляет приоритет сообщения.
Немного материала1Немного противоположной полярности для поддержания синхронизации; см. CAN Bus#Bit stuffing
Удаленная замена запроса (RRS)1
Бит расширения идентификатора (IDE)1
Индикатор формата FD (FDF)1Должен быть рецессивным (1) для кадров CAN FD и доминантным (0) для классического CAN.
Зарезервированный бит в кадрах FD (res)1
Переключатель скорости передачи данных (BRS)1
Индикатор состояния ошибки (ESI)1
Код длины данных (DLC)4Количество байтов данных (0–64 байта) [a]
Поле данных0–512 (0-64 байта)Данные для передачи (длина в байтах определяется полем DLC)
КПР15Циклическая проверка избыточности
CRC-разделитель1Должен быть рецессивным (1)
Слот ACK1Передатчик посылает рецессивный сигнал (1), а любой получатель может утверждать доминантный сигнал (0).
Разделитель ACK1Должен быть рецессивным (1)
Конец кадра (EOF)7Должен быть рецессивным (1)
Межкадровый интервал (IFS)3Должен быть рецессивным (1)
  1. ^ Значения 0-8 указывают 0-8 байтов, как в классическом CAN. Значения 9-15 преобразуются в значение между 12-64, что является фактической длиной поля данных: 9→12 10→16 11→20 12→24 13→32 14→48 15→64


Разъемы CAN и CAN FD TP

Заголовок CAN + CANFD -TP
7 .. 4 (байт 0)3 .. 0 (байт 0)15 .. 8 (байт 1)23..16 (байт 2)(байт 3)(байт 4)(байт 5)(байт 6)....
Одиночный кадр (SF)согласно CAN0размер (1..7)Данные
CAN-FD-специфический0размер (0..62)Данные
Первый кадр (FF)согласно CAN1размер (8..4095)Данные
CAN-FD-специфический00размер (4 байта ~4 ГБ)Данные
Последовательный кадр (CF)согласно CAN2индекс (0..15)Данные
Рамка управления потоком (FC)согласно CAN3Флаг ФК (0,1,2)Размер блокаСТНеиспользованный

В приведенной выше таблице описан протокол передачи, определенный для CAN + CANFD на основе ISO 15765-2 (ISO-TP), используемый для отправки пакетов данных, длина которых превышает размер кадра CAN.

  • если первый байт равен 0x00, то это CAN-FD SF, а второй байт указывает размер данных.
  • если первый байт равен 0x01-0x07, то это обычный CAN SF, в котором этот байт указывает размер данных размером 1-7 байт.
  • если первые 2 байта 0x1000, то это CAN-FD FF, а следующие 4 байта определяют размер данных в старшем байте первого порядка. Это фактически позволяет отправлять ~4 ГБ (приблизительно) данных в CAN FD.
  • если первые 2 байта равны 0x1008-0x1FFF, то это обычный CAN FF размером 0x008-0xFFF.

CAN-трансивер

CAN FD может использовать трансивер для классического CAN и CAN FD. Кроме того, есть новый CAN SiC (Signal improve Capability) трансивер со скоростью передачи данных от 5 до 8 Мбит/с. [12]

CAN FD в действии

В 2017 году прогнозировалось, что CAN FD будет использоваться в большинстве транспортных средств к 2019–2020 годам. [13]

Сторонники CAN FD

Среди компаний, стоящих за новым стандартом, можно назвать STMicroelectronics , Infineon , [14] NXP , Texas Instruments , Kvaser, Daimler и GM .

CAN FD образует базовый уровень канала передачи данных в некоторых протоколах более высокого уровня, таких как CANopen ( CANopen FD) и J1939 , и поддерживается различными компаниями с помощью стеков протоколов.

МОЖЕТ XL

CAN XL — это 3-я версия канального уровня CAN после классического CAN и CAN FD. CAN FD совместим с CAN XL.

Ссылки

  1. ^ ab "CAN в автоматизации (CiA): CAN FD - Основная идея". www.can-cia.org . Архивировано из оригинала 2017-02-02 . Получено 2017-01-25 .
  2. ^ Cena, G.; Valenzano, A. (1999). «Разгон сетей контроллеров». Electronics Letters . 35 (22): 1923. Bibcode : 1999ElL....35.1923C. doi : 10.1049/el:19991289.
  3. ^ "Bosch CAN FD Specification Version 1.0 (выпущено 17 апреля 2012 г.)" (PDF) . Архивировано из оригинала (PDF) 2015-12-11 . Получено 2019-01-02 .
  4. ^ «CAN FD и проблема CRC» (PDF) .
  5. ^ de Andrade, R.; Hodel, KN; Justo, JF; Laganá, AM; Santos, MM; Gu, Z. (2018). «Аналитическая и экспериментальная оценка производительности шины CAN-FD». IEEE Access . 6 : 21287– 21295. Bibcode : 2018IEEEA...621287D. doi : 10.1109/ACCESS.2018.2826522 ..
  6. ^ Де Андраде, Рикардо (2014). Системы связи CAN FD: модели программного обеспечения и временной анализ (PDF) (магистерская диссертация). Университет Сан-Паулу.
  7. ^ "можно: длина: добавить определения для длины кадра в битах".
  8. ^ "Архивная копия" (PDF) . Архивировано из оригинала (PDF) 2019-04-16 . Получено 2017-01-25 .{{cite web}}: CS1 maint: архивная копия как заголовок ( ссылка )
  9. ^ "Microchip заявляет, что высокоскоростная шина CAN FD появится в автомобилях". Electronics Weekly . 2015-10-26 . Получено 2017-01-26 .
  10. ^ "Защита шины CAN от электростатического разряда для систем 12 В". STMicroelectronics-ESDCAN03-2BWY .
  11. ^ "Защита шины CAN от электростатического разряда для систем 24 В". STMicroelectronics-ESDCAN05-2BWY .
  12. ^ "Улучшение сигнала CAN". www.nxp.xom . Архивировано из оригинала 2020-08-04 . Получено 2 февраля 2022 .
  13. ^ "CAN 2020: Будущее технологии CAN". www.can-cia.org . Получено 26.01.2017 .
  14. ^ Келлинг, Урсула (апрель 2014 г.). "Infineon Microcontrollers" (PDF) . CAN Newsletter Online . Получено 2 июня 2019 г. .
  • Сравнение CAN FD с классическим CAN
  • CAN FD: от теории к практике
  • Защита шины CAN: защитите то, что защищает вас
  • Linux и ISO 15765-2 с CAN FD — подробности о том, как длина данных (полезной нагрузки) отличается между CAN и CANFD
  • Linux и ISO 15765-2 с CAN FD 15-я международная конференция CAN 2015
  • Объяснение CAN FD
Взято с "https://en.wikipedia.org/w/index.php?title=CAN_FD&oldid=1256924715"