Краткое изложение базовых знаний о CAN fieldbus вы можете уточнить, прочитав эту статью (что такое CAN, электрические свойства, протокол связи CAN и т. д.)
Краткое изложение базовых знаний о CAN fieldbus вы можете уточнить, прочитав эту статью (что такое CAN, электрические свойства, протокол связи CAN и т. д.)

[Серия колонок]: Колонки, написанные блоггерами на основе практики работы для решения практических задач Друзья, посмотрите!

Практика разработки QT Встроенная практика общего развития «Изучите разработку встраиваемых систем Linux от 0 до 1» «Практика разработки Android» «Практическое проектирование аппаратных решений»

Продолжайте приносить больше случаев и технических статей, которыми можно поделиться в долгосрочной перспективе;

Оригинальная ссылка:https://blog.csdn.net/w464960660/article/details/129127589

——————————————————————————————————

Оглавление

0 Введение

1 Что такое CAN?

2 электрические свойства CAN

3 протокол связи CAN

3.1 Кадр данных

3.2 Рамка дистанционного управления

3.3 Кадр ошибки

3.4 Кадр перегрузки

3.5 Интервал кадров

4 Скорость связи CAN

5 Резюме


0 Введение

        CAN — это широко используемая полевая шина. Благодаря своей высокой надежности она чаще всего используется в промышленной автоматизации, судах, автомобилях, медицинском и промышленном оборудовании. Например, большое количество датчиков и модулей на автомобилях подключаются через CAN-шину. В этом сообщении блога кратко описан протокол CAN, основанный на «CAN Primer» компании Renesas. итог,Включая его концепции, электрические свойства, протоколы, скорости и т. д.,Предназначен для базового понимания CAN.,подробныйпротокол Пожалуйста, обратитесь к оригинальной книге。

1 Что такое CAN?

CAN — это английская аббревиатура сети контроллеров, которая также является сетью зоны управления. Она была впервые разработана компанией BOSCH в Германии и в настоящее время является международным стандартом (ISO 11898). Это одна из наиболее широко используемых полевых шин. BOSCH в основном занимается автомобильной электроникой, поэтому CAN изначально разрабатывался в основном для автомобильной электроники и сейчас является стандартным протоколом автомобильных сетей. Конечно, после десятилетий разработок высокая производительность и надежность протокола CAN были признаны в отрасли. Помимо автомобильной электроники, он также широко используется в промышленной автоматизации, медицине, промышленности и судостроении.

Если взять в качестве примера автомобильную электронику, то в автомобиле имеется множество электронных устройств, таких как кондиционеры, двери, двигатели, большое количество датчиков и т. д. Эти устройства подключаются через шину CAN, образуя сеть, как показано на рисунке. рисунок ниже:

Различные устройства на рисунке соединены через шину CAN. Каждое устройство является независимым узлом. Скорость связи устройств в одной сети CAN одинакова, и в разных сетях скорость может быть разной.

Основные особенности CAN заключаются в следующем:

  • 1) Управление несколькими мастерами:Когда автобус простаивает,All Unitа может отправлять сообщения,Когда более двух единиц начинают отправлять сообщения одновременно,Определить приоритет на основе идентификатора идентификатора (а не адреса назначения отправки),Сравнение арбитраж-за-арбитражом выполняется для каждого идентификатора сообщения. Единица, выигравшая арбитраж (считается, что для имеет наивысший приоритет), может продолжать отправлять сообщения.,единица, проигравшая арбитраж, сразу прекратит отправку и начнет получать.
  • 2) Гибкость системы:подключен к автобусуединицаничего похожего на“адрес”информация,Поэтому при добавлении модуля в шину,Даже другие программные, аппаратные и прикладные уровни на шине не нуждаются в изменении.
  • 3) Быстрая скорость связи и большие расстояния:最高 1Mbps(расстояние<40M),самый дальний10KM(ставка<5Kbps)。
  • 4) С функциями обнаружения ошибок, уведомления об ошибках и восстановления ошибок:всеединицаможет обнаружить ошибки,Элемент, обнаруживший ошибку, немедленно уведомит об этом все остальные элементы. единица отправляет сообщение при обнаружении ошибки,Завершит текущую отправку,Затем продолжайте повторно отправлять это сообщение, пока оно не будет успешным.
  • 5) Функция закрытия неисправности:CANМожно определить тип ошибкида Временная ошибка данных на шине(Например, внешний шум и т. д.)возвращатьсядапостоянные ошибки данных(нравитьсяединица Внутренний сбой、Сбой диска、Отключение и т. д.),Если для последнего,Шину, вызывающую эту неисправность, можно изолировать.
  • 6) Множество связанных узлов:CAN Шина — это шина, к которой можно одновременно подключить несколько устройств. Общее количество устройств, которые можно подключить, теоретически не ограничено, но фактически оно ограничено временной задержкой и электрической нагрузкой на шине. Уменьшите скорость связи, и количество подключаемых устройств увеличится; увеличьте скорость связи, и количество устройств уменьшится;

2 электрические свойства CAN

Шина CAN использует две линии для подключения каждого устройства: CAN_H, CAN_L. Контроллер CAN получает уровень шины, оценивая разность потенциалов на этих двух линиях, которая делится на доминантный уровень и рецессивный уровень. Доминирующий уровень представляет собой логический «0». В это время уровень CAN_H выше, чем уровень CAN_L, который составляет 3,5 В и 1,5 В соответственно, а разность потенциалов составляет 2 В. Невидимый уровень соответствует логической «1». В это время напряжения CAN_H и CAN_L составляют около 2,5 В, а разность потенциалов равна 0 В. Когда на CAN-шине нет узла, передающего данные, то есть когда шина простаивает, уровень шины всегда рецессивный.

Когда узел узла CAN подключен к шине CAN, CAN_H подключается к CAN_H, CAN_L подключается к CAN_L, а на обоих концах шины CAN требуется согласующий резистор сопротивлением 120 Ом для согласования полного сопротивления шины, поглощения отражения сигнала и обратного вызова. и улучшить возможности и надежность защиты от помех при передаче данных. Скорость передачи CAN2.0 может достигать 1 Мбит/с, а последняя версия CAN-FD имеет максимальную скорость 5 Мбит/с или даже выше. Скорость передачи зависит от расстояния по шине. Чем короче расстояние по шине, тем быстрее передача. скорость.

3 протокол связи CAN

        Передача данных через шину CAN должна осуществляться по определенному протоколу CAN. Соглашение предусматривает 5 Формат кадра для передачи данных: фрейм данных、рамка дистанционного управления、кадр ошибки、перегрузка интервальный кадр кадра, используемый следующим образом:

3.1 Кадр данных

фрейм данных Зависит от7состав сегмента:

  • 1) Начало кадра: означает кадр Абзац, начинающийся с данных;
  • 2) Сегмент арбитража: сегмент, указывающий приоритет кадра;
  • 3) Сегмент управления: сегмент, который представляет количество байтов данных и зарезервированных битов;
  • 4) Сегмент данных: содержимое данных, один кадр может отправлять 0–8 байт данных;
  • 5) сегмент CRC: сегмент, проверяющий ошибки передачи кадров;
  • 6) сегмент ACK: указывает сегмент, подтверждающий нормальный прием;
  • 7) Конец кадра: означает кадр. Абзац, заканчивающийся данными.

        Дополнительная информация стандартный формат данных и расширенный формат, две структуры кадров, на рисунке D Указывает доминирующий уровень 0、 R Указывает рецессивный уровень 1, D/R Указывает явное или неявное, т.е. 0 или 1。

(1) Начало кадра

И стандартный формат, и расширенный формат используют 1-битный доминирующий уровень 0 для обозначения начала кадра.

(2) Параграф об арбитраже

Раздел арбитража представляет приоритет кадра. Разделы арбитража стандартного формата и расширенного формата различны. Как видно из рисунка выше, идентификатор стандартного формата составляет 11 бит. Порядок отправки — от ID10 до ID0. Старшие 7 бит ID10~ID4 не могут быть все рецессивными (1), то есть такие идентификаторы, как 0X1111111XXXXX, запрещены. Идентификатор в расширенном формате состоит из 29 цифр, базовый идентификатор — от ID28 до ID18, а расширенный идентификатор — от ID17 до ID0. Базовый идентификатор такой же, как и в стандартном формате, а старшие 7 цифр не могут быть рецессивными. .

(3) Секция управления

Секция управления состоит из 6 бит, указывающих количество байтов секции данных. Секции управления в стандартном формате и расширенном формате немного отличаются: r1 и r0 являются зарезервированными битами, и зарезервированные биты должны передаваться на доминирующем уровне. DLC — это длина данных, начиная со старшего бита. Допустимый диапазон значений сегмента DLC — 0–8.

(4) Сегмент данных

Сегмент данных — это действительные данные кадра. Стандартный формат и расширенный формат одинаковы. Он может содержать 0–8 байтов данных и отправляется, начиная со старшего бита (MSB).

(5) сегмент CRC

Сегмент CRC сохраняет значение калибровки CRC и используется для проверки ошибок передачи кадра. Стандартный формат и расширенный формат одинаковы. Сегмент CRC состоит из 15-битного значения CRC и 1-битного разделителя CRC. Диапазон расчета значения CRC включает в себя: начало кадра, сегмент арбитража, сегмент управления и сегмент данных. Приемник вычисляет, используя тот же алгоритм, а затем сравнивает вычисленное значение CRC с этим сегментом CRC. Если оно несовместимо, возникнет ошибка. быть сообщено.

(6) сегмент ACK

Сегмент ACK используется для подтверждения нормального приема. Стандартный формат и расширенный формат одинаковы. Сегмент ACK состоит из двух частей: слота ACK и разделителя ACK. ACK отправляющего устройства отправляет 2 рецессивных бита, а устройство, которое получает правильное сообщение, отправляет доминантный бит в слот ACK (слот ACK), чтобы уведомить отправляющее устройство о завершении нормального приема. Этот процесс называется отправкой ACK/возвратом. ПОДТВЕРЖДЕНИЕ. Подтверждение отправляется всеми приемными устройствами, которые получают обычные сообщения. Так называемые нормальные сообщения относятся к сообщениям, которые не содержат ошибок заполнения, ошибок формата и ошибок CRC. Эти приемные устройства не находятся ни в состоянии отключения шины, ни в спящем режиме. состояние в единице.

(7) Конец кадра

Конец сегмента кадра, стандартный формат и расширенный формат одинаковы. Конец сегмента кадра очень прост и состоит из 7 рецессивных битов.

3.2 Рамка дистанционного управления

ловитьполучатьединицаотправить вединица Используется при запросе данныхрамка дистанционного управления,рамка дистанционного управления Зависит от6个состав сегмента:

1) Начало кадра: означает кадр Абзац, начинающийся с данных;

2) Сегмент арбитража: сегмент, указывающий приоритет кадра;

3) Сегмент управления: сегмент, который представляет количество байтов данных и зарезервированных битов;

4) сегмент CRC: сегмент, проверяющий ошибки передачи кадров;

5) сегмент ACK: указывает сегмент, подтверждающий нормальный прием;

6) Конец рамки означает рамку Абзац, заканчивающийся данными.

        рамка дистанционного управления Базовая структураифрейм данные одинаковые, главное отличие - дарамка дистанционного Управление не имеет сегмента данных. рамка дистанционного управленияиз RTR Кусочекдля隐性из,фрейм данныхиз RTR бит является доминирующим, поэтому его можно передать RTR Кусочекразличатьрамка дистанционного управленияифреймворкбез данных данных。рамка дистанционного управления нет данных, поэтому DLC По запросу да кадр длина данных данных, рамка дистанционного Ссылки на другие параграфы структуры управления данные, больше никаких подробностей.

3.3 Кадр ошибки

        Используйте кадр, когда возникла ошибка при отправке или получении сообщения. ошибкиуведомить,кадр ошибки Зависит от флага ошибки и разделителя ошибок состоит из двух частей:

Существует два типа флагов ошибок: активные флаги ошибок и пассивные флаги ошибок. Активный флаг ошибки имеет 6 доминантных битов, пассивный флаг ошибки имеет 6 рецессивных битов, а разделитель ошибок состоит из 8 рецессивных битов.

3.4 Кадр перегрузки

        Если подготовка коллекции ловить еще не завершена, будет отправлена ​​перегрузка. кадра,перегрузка кадра Зависит от флага перегрузки и разделителя перегрузки состоит из:

        Флаг перегрузки представлен 6 Он состоит из доминантного бита, который совпадает с активным флагом ошибки. Разделитель перегрузки состоит из. 8 Рецессивный Кусочек, состоящий из кадра. Разделители ошибок в error имеют тот же состав.

3.5 Интервал кадров

        интервал кадровиспользуется для разделенияфрейм данныхирамка дистанционного управления,фрейм данныхирамка дистанционного управления можно вставить, вставив интервал кадров, чтобы отделить этот кадр от любых предыдущих кадров, перегрузка кадраикадр Не вставляйте интервал перед ошибкой кадров。

        Интервал определяется выражением 3 Он состоит из рецессивных битов. Уровень простоя шины является рецессивным, а длина не ограничена. Это состояние указывает на то, что шина простаивает и передающее устройство может получить доступ к шине. Задержка доставки по 8 Рецессивный Кусочек состоит из единицы, находящейся в состоянии пассивной ошибки после отправки сообщения. Задержка доставки будет только в кадрах.

4 Скорость связи CAN

Шина CAN отправляет данные в виде кадров, а на шину отправляются двоичные данные, такие как «0» и «1». Здесь учитывается скорость передачи данных, то есть сколько бит данных отправляется в секунду. Максимальная скорость CAN2.0 составляет 1 Мбит/с/с. Для CAN-шины бит разделен на 4 сегмента:

  • 1) Сегмент синхронизации (СС)
  • 2) Период времени распространения (PTS)
  • 3) Секция фазового буфера 1 (PBS1)
  • 4) Секция фазового буфера 2 (PBS2)

Эти сегменты состоят из Tq (кванта времени), который является минимальной единицей времени шины CAN. Кадры состоят из битов, немного

Он состоит из 4 сегментов, и каждый сегмент состоит из нескольких Tq. Это битовая синхронизация. Синхронизация битов может быть установлена ​​произвольно, например, сколько Tq состоит из 1 бита, сколько Tq состоит из каждого сегмента и т. д. Установив синхронизацию битов, несколько устройств могут осуществлять выборку одновременно, а точки выборки можно устанавливать произвольно. Роль и номер Tq каждого сегмента:

Принципиальная схема состава 1 бита:

На приведенном выше рисунке точка выборки относится к точке, где считывается уровень шины, и уровень чтения используется в качестве значения бита. Это место находится в конце PBS1. На основе этой синхронизации битов мы можем рассчитать скорость передачи данных CAN.

Упомянутый ранее протокол CAN имеет функцию арбитража. Давайте посмотрим, как она реализована. В состоянии ожидания шины право на отправку получает тот блок, который первым начнет отправлять сообщения. Когда несколько устройств начинают передачу одновременно, каждое передающее устройство начинает арбитраж с первой позиции в разделе арбитража. Устройство с наиболее продолжительным доминирующим уровнем выходного сигнала может продолжать отправку. Процесс реализации:

Устройство 1 и Устройство 2 начинают отправлять данные на шину одновременно. Их форматы данных вначале одинаковы, поэтому приоритет не может быть различим до момента времени T. Устройство 1 выводит рецессивный уровень, а Устройство 2 выводит доминантный уровень. Уровень This. Когда модуль 1 проигрывает арбитраж, он немедленно переключается в состояние приема и больше не конкурирует с устройством 2. Модуль 2 успешно получает право на использование шины и продолжает отправлять свои собственные данные. Это реализует арбитраж, позволяя устройству, которое постоянно отправляет более доминирующие уровни, получить право на использование шины.

5 Резюме

        В этом сообщении блога кратко описан протокол CAN, основанный на «CAN Primer» компании Renesas. итог,Включая его концепции, электрические свойства, протоколы, скорости и т. д.,Предназначен для базового понимания CAN.,подробныйпротокол Пожалуйста, обратитесь к оригинальной книге。

Создано в 202302211810, в архиве.

———————————————————————————————————

Данная статья является оригинальной статьей блоггера и не может быть воспроизведена без разрешения блоггера!

Желаю вам продвижения по службе и повышения зарплаты, а также светлого будущего!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose