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 (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 Мбит/с).
β = ( (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)
β = ( (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]
Кадр данных, используемый для фактической передачи данных, имеет два формата сообщений:
Формат кадра следующий: значения бит описаны для сигнала 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) |
Слот ACK | 1 | Передатчик посылает рецессивный сигнал (1), а любой получатель может утверждать доминантный сигнал (0). |
Разделитель ACK | 1 | Должен быть рецессивным (1) |
Конец кадра (EOF) | 7 | Должен быть рецессивным (1) |
Межкадровый интервал (IFS) | 3 | Должен быть рецессивным (1) |
7 .. 4 (байт 0) | 3 .. 0 (байт 0) | 15 .. 8 (байт 1) | 23..16 (байт 2) | (байт 3) | (байт 4) | (байт 5) | (байт 6) | .... | ||
---|---|---|---|---|---|---|---|---|---|---|
Одиночный кадр (SF) | согласно CAN | 0 | размер (1..7) | Данные | ||||||
CAN-FD-специфический | 0 | размер (0..62) | Данные | |||||||
Первый кадр (FF) | согласно CAN | 1 | размер (8..4095) | Данные | ||||||
CAN-FD-специфический | 0 | 0 | размер (4 байта ~4 ГБ) | Данные | ||||||
Последовательный кадр (CF) | согласно CAN | 2 | индекс (0..15) | Данные | ||||||
Рамка управления потоком (FC) | согласно CAN | 3 | Флаг ФК (0,1,2) | Размер блока | СТ | Неиспользованный |
В приведенной выше таблице описан протокол передачи, определенный для CAN + CANFD на основе ISO 15765-2 (ISO-TP), используемый для отправки пакетов данных, длина которых превышает размер кадра CAN.
CAN FD может использовать трансивер для классического CAN и CAN FD. Кроме того, есть новый CAN SiC (Signal improve Capability) трансивер со скоростью передачи данных от 5 до 8 Мбит/с. [12]
В 2017 году прогнозировалось, что CAN FD будет использоваться в большинстве транспортных средств к 2019–2020 годам. [13]
Среди компаний, стоящих за новым стандартом, можно назвать STMicroelectronics , Infineon , [14] NXP , Texas Instruments , Kvaser, Daimler и GM .
CAN FD образует базовый уровень канала передачи данных в некоторых протоколах более высокого уровня, таких как CANopen ( CANopen FD) и J1939 , и поддерживается различными компаниями с помощью стеков протоколов.
CAN XL — это 3-я версия канального уровня CAN после классического CAN и CAN FD. CAN FD совместим с CAN XL.
{{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка )