[Серия колонок]: Колонки, написанные блоггерами на основе практики работы для решения практических задач Друзья, посмотрите!
《Практика разработки QT》 《Встроенная практика общего развития》 «Изучите разработку встраиваемых систем Linux от 0 до 1» «Практика разработки Android» «Практическое проектирование аппаратных решений»
Продолжайте приносить больше случаев и технических статей, которыми можно поделиться в долгосрочной перспективе;
Оригинальная ссылка:https://blog.csdn.net/w464960660/article/details/129127589
——————————————————————————————————
Оглавление
3.2 Рамка дистанционного управления
CAN — это широко используемая полевая шина. Благодаря своей высокой надежности она чаще всего используется в промышленной автоматизации, судах, автомобилях, медицинском и промышленном оборудовании. Например, большое количество датчиков и модулей на автомобилях подключаются через CAN-шину. В этом сообщении блога кратко описан протокол CAN, основанный на «CAN Primer» компании Renesas. итог,Включая его концепции, электрические свойства, протоколы, скорости и т. д.,Предназначен для базового понимания CAN.,подробныйпротокол Пожалуйста, обратитесь к оригинальной книге。
CAN — это английская аббревиатура сети контроллеров, которая также является сетью зоны управления. Она была впервые разработана компанией BOSCH в Германии и в настоящее время является международным стандартом (ISO 11898). Это одна из наиболее широко используемых полевых шин. BOSCH в основном занимается автомобильной электроникой, поэтому CAN изначально разрабатывался в основном для автомобильной электроники и сейчас является стандартным протоколом автомобильных сетей. Конечно, после десятилетий разработок высокая производительность и надежность протокола CAN были признаны в отрасли. Помимо автомобильной электроники, он также широко используется в промышленной автоматизации, медицине, промышленности и судостроении.
Если взять в качестве примера автомобильную электронику, то в автомобиле имеется множество электронных устройств, таких как кондиционеры, двери, двигатели, большое количество датчиков и т. д. Эти устройства подключаются через шину CAN, образуя сеть, как показано на рисунке. рисунок ниже:
Различные устройства на рисунке соединены через шину CAN. Каждое устройство является независимым узлом. Скорость связи устройств в одной сети CAN одинакова, и в разных сетях скорость может быть разной.
Основные особенности 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 Мбит/с или даже выше. Скорость передачи зависит от расстояния по шине. Чем короче расстояние по шине, тем быстрее передача. скорость.
Передача данных через шину CAN должна осуществляться по определенному протоколу CAN. Соглашение предусматривает 5 Формат кадра для передачи данных: фрейм данных、рамка дистанционного управления、кадр ошибки、перегрузка интервальный кадр кадра, используемый следующим образом:
фрейм данных Зависит от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 рецессивных битов.
ловитьполучатьединицаотправить вединица Используется при запросе данныхрамка дистанционного управления,рамка дистанционного управления Зависит от6个состав сегмента:
1) Начало кадра: означает кадр Абзац, начинающийся с данных;
2) Сегмент арбитража: сегмент, указывающий приоритет кадра;
3) Сегмент управления: сегмент, который представляет количество байтов данных и зарезервированных битов;
4) сегмент CRC: сегмент, проверяющий ошибки передачи кадров;
5) сегмент ACK: указывает сегмент, подтверждающий нормальный прием;
6) Конец рамки означает рамку Абзац, заканчивающийся данными.
рамка дистанционного управления Базовая структураифрейм данные одинаковые, главное отличие - дарамка дистанционного Управление не имеет сегмента данных. рамка дистанционного управленияиз RTR Кусочекдля隐性из,фрейм данныхиз RTR бит является доминирующим, поэтому его можно передать RTR Кусочекразличатьрамка дистанционного управленияифреймворкбез данных данных。рамка дистанционного управления нет данных, поэтому DLC По запросу да кадр длина данных данных, рамка дистанционного Ссылки на другие параграфы структуры управления данные, больше никаких подробностей.
Используйте кадр, когда возникла ошибка при отправке или получении сообщения. ошибкиуведомить,кадр ошибки Зависит от флага ошибки и разделителя ошибок состоит из двух частей:
Существует два типа флагов ошибок: активные флаги ошибок и пассивные флаги ошибок. Активный флаг ошибки имеет 6 доминантных битов, пассивный флаг ошибки имеет 6 рецессивных битов, а разделитель ошибок состоит из 8 рецессивных битов.
Если подготовка коллекции ловить еще не завершена, будет отправлена перегрузка. кадра,перегрузка кадра Зависит от флага перегрузки и разделителя перегрузки состоит из:
Флаг перегрузки представлен 6 Он состоит из доминантного бита, который совпадает с активным флагом ошибки. Разделитель перегрузки состоит из. 8 Рецессивный Кусочек, состоящий из кадра. Разделители ошибок в error имеют тот же состав.
интервал кадровиспользуется для разделенияфрейм данныхирамка дистанционного управления,фрейм данныхирамка дистанционного управления можно вставить, вставив интервал кадров, чтобы отделить этот кадр от любых предыдущих кадров, перегрузка кадраикадр Не вставляйте интервал перед ошибкой кадров。
Интервал определяется выражением 3 Он состоит из рецессивных битов. Уровень простоя шины является рецессивным, а длина не ограничена. Это состояние указывает на то, что шина простаивает и передающее устройство может получить доступ к шине. Задержка доставки по 8 Рецессивный Кусочек состоит из единицы, находящейся в состоянии пассивной ошибки после отправки сообщения. Задержка доставки будет только в кадрах.
Шина CAN отправляет данные в виде кадров, а на шину отправляются двоичные данные, такие как «0» и «1». Здесь учитывается скорость передачи данных, то есть сколько бит данных отправляется в секунду. Максимальная скорость CAN2.0 составляет 1 Мбит/с/с. Для CAN-шины бит разделен на 4 сегмента:
Эти сегменты состоят из Tq (кванта времени), который является минимальной единицей времени шины CAN. Кадры состоят из битов, немного
Он состоит из 4 сегментов, и каждый сегмент состоит из нескольких Tq. Это битовая синхронизация. Синхронизация битов может быть установлена произвольно, например, сколько Tq состоит из 1 бита, сколько Tq состоит из каждого сегмента и т. д. Установив синхронизацию битов, несколько устройств могут осуществлять выборку одновременно, а точки выборки можно устанавливать произвольно. Роль и номер Tq каждого сегмента:
Принципиальная схема состава 1 бита:
На приведенном выше рисунке точка выборки относится к точке, где считывается уровень шины, и уровень чтения используется в качестве значения бита. Это место находится в конце PBS1. На основе этой синхронизации битов мы можем рассчитать скорость передачи данных CAN.
Упомянутый ранее протокол CAN имеет функцию арбитража. Давайте посмотрим, как она реализована. В состоянии ожидания шины право на отправку получает тот блок, который первым начнет отправлять сообщения. Когда несколько устройств начинают передачу одновременно, каждое передающее устройство начинает арбитраж с первой позиции в разделе арбитража. Устройство с наиболее продолжительным доминирующим уровнем выходного сигнала может продолжать отправку. Процесс реализации:
Устройство 1 и Устройство 2 начинают отправлять данные на шину одновременно. Их форматы данных вначале одинаковы, поэтому приоритет не может быть различим до момента времени T. Устройство 1 выводит рецессивный уровень, а Устройство 2 выводит доминантный уровень. Уровень This. Когда модуль 1 проигрывает арбитраж, он немедленно переключается в состояние приема и больше не конкурирует с устройством 2. Модуль 2 успешно получает право на использование шины и продолжает отправлять свои собственные данные. Это реализует арбитраж, позволяя устройству, которое постоянно отправляет более доминирующие уровни, получить право на использование шины.
В этом сообщении блога кратко описан протокол CAN, основанный на «CAN Primer» компании Renesas. итог,Включая его концепции, электрические свойства, протоколы, скорости и т. д.,Предназначен для базового понимания CAN.,подробныйпротокол Пожалуйста, обратитесь к оригинальной книге。
Создано в 202302211810, в архиве.
———————————————————————————————————
Данная статья является оригинальной статьей блоггера и не может быть воспроизведена без разрешения блоггера!
Желаю вам продвижения по службе и повышения зарплаты, а также светлого будущего!