Поиск по сайту: |
|
По базе: |
|
Главная страница > Интерфейсы > CAN |
|
|||||||||
CAN 2.0 В1. Введение CAN - последовательный протокол связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высоким уровнем безопасности. Область применения - от высокоскоростных сетей до дешевых мультиплексных шин. В автоматике, устройствах управления, датчиках используется CAN со скоростью до 1 Mbit/s. Задача данной спецификации состоит в том, чтобы достигнуть совместимости между любыми двумя реализациями CAN - систем. Однако, совместимость имеет различные аспекты относительно, например электрических элементов и интерпретации данных, которые будут передаваться.
Обратите внимание, что в предыдущих версиях спецификации CAN функции LLC и MAC подуровней, уровня передачи данных, были описаны в уровнях, обозначенных как 'объектный уровень ' и 'канальный уровень'. Область LLC подуровня:
Область MAC подуровня главным образом - протокол передачи, то есть: арбитраж, проверка на ошибки, сигнализация и типизация ошибок.
Внутри MAC подуровня решается, является ли шина свободной для начала новой передачи или возможен только приём данных. Внутри одной сети, физический уровень одинаков для всех узлов. Однако существует свобода в выборе физического уровня. Цель этой спецификации - определить MAC подуровень и небольшую часть LLC подуровня уровня передачи данных и описать действие протокола CAN на окружающие уровни 2. Основные характеристики
Послойная архитектура CAN - сети согласно модели OSI
Сообщения Информация на шине представлена в виде фиксированных сообщений различной, но ограниченной длины. Когда шина свободна, любой подключённый узел может начать передавать новое сообщение. Информационная маршрутизация В системах CAN, нет никакой информации относительно конфигурации системы (например, адрес узла). Это имеет несколько важных следствий: Гибкость системы: Маршрутизация сообщения: Групповая обработка: Непротиворечивость данных: Скорость передачи информации в битах Скорость CAN может быть отлична в различных системах. Однако в конкретной сети скорость передачи информации должна быть фиксированная. Приоритеты Идентификатор определяет статический приоритет сообщения в течение доступа к шине. Удаленный запрос данных Посылая кадр удалённого запроса данных, узел может запрашивать данные у другого узла, которые тот должен послать в виде соответствующего кадра данных. Кадр данных и кадр удаленного запроса данных имеют один и тот же идентификатор. Multimaster Когда шина свободна, любой узел, может начинать передавать сообщение. Узлу с сообщением более высокого приоритета, будет передано право на доступ к шине. Арбитраж Всякий раз, когда шина свободна, любой узел может начинать передавать сообщение. Если два или большее количество узлов начинают передавать сообщения в одно и то же время, конфликт доступа к шине решается поразрядным арбитражем, с использованием идентификатора. Механизм арбитража гарантирует, что ни информация, ни время не будут потеряны. Если кадр данных и кадр удаленного запроса данных с одинаковым идентификатором начинают передаваться одновременно, то кадр данных преобладает над кадром удаленного запроса данных. В течение арбитража каждый передатчик сравнивает уровень переданного бита с уровнем, который наблюдается на шине. Если эти уровни одинаковы, узел может продолжать передачу. Когда послан единичный уровень, а наблюдается нулевой уровень (см. значения на шине), это означает, что узел потерял право арбитража и не должен посылать больше ни одного бита. Безопасность Для достижения безопасности передачи данных, в каждом узле CAN имеются мощные средства самоконтроля, обнаружения и сообщения об ошибках. Обнаружение ошибок Для обнаружения ошибок применяются следующие меры: Эффективность обнаружения ошибок Механизмы обнаружения ошибок позволяют обнаруживать: - все ошибки глобального характера - все локальные ошибки передатчика - до 5 случайных ошибок в сообщении - последовательную группу ошибок длиной до 15 - любые ошибки нечетности. Общая остаточная вероятность ошибки для необнаруженных искаженных сообщений меньше чем: частота ошибки сообщения * 4.7* 10 Е-11 Сигнализация ошибки и время восстановления Искаженные кадры помечаются любым узлом, обнаружившим ошибку. Такие кадры прерываются и должны быть автоматически переданы заново. Время восстановления от обнаружения ошибки до начала следующего кадра - в большинстве случаев равно 31 интервалу передачи бита, если не будет последующей ошибки. Типизация ошибок Узлы CAN способны отличить короткие неполадки от постоянных отказов. Дефектные узлы отключаются. Подключение Последовательная линия связи CAN является шиной, к которой теоретически может быть подключено любое количество узлов. Фактически общее число узлов будет ограничено временной задержкой и (или) электрической нагрузкой на линии шины. Канал обмена Шина состоит из канала обмена, который передаёт биты. Из этих данных может быть получена информация о пересинхронизации. Способ, по которому этот реализуется канал обмена, в этой спецификации не устанавливается. Например, это может быть одно-проволочный провод (плюс земля), два дифференциальных провода, оптическое стекловолокно. Уровни сигналов Шина может иметь одно из двух логических значений: 'dominant' или 'recessive'. При одновременной передаче 'dominant' и 'recessive' битов, возникающая в результате величина на шине будет 'dominant'. Физические состояния (например, электрическое напряжение, свет), которые представляют логические уровни, не даны в этой спецификации. (прим. переводчика: далее считается, что "dominant" уровень эквивалентен нулевому уровню, а "recessive" уровень эквивалентен единичному уровню). Подтверждение Все приемники проверяют непротиворечивость получаемого сообщения, подтверждают непротиворечивость сообщения и помечают противоречивые сообщения. Режим "сна" / пробуждения Для уменьшения потребляемой мощности системы, CAN - узел может быть переведен в режим "сна" без внутренней активности и с отключенными формирователями шины. Выход из этого режима происходит при проявлении какой-либо активности на шине или внутреннем состоянии системы. При пробуждении, осуществляется внутренний перезапуск, MAC подуровень будет ждать стабилизации генератора системы, и затем будет ожидать самосинхронизации с сигналами на шине (проверяя, одиннадцать последовательных единичных бит), пока выходные формирователи снова не установятся в состояние "подключен к шине". Генератор Требования к синхронизации позволяют использовать керамические резонаторы в системах со скоростями передачи до 125kbit/s. Для более высокой скорости шины CAN, требуется кварцевый резонатор. 3. Передача сообщений Форматы кадров Имеются два формата, которые отличаются по длине поля идентификатора:
Типы кадров Кадр данных передает данные от передатчика приемнику. Кадр удаленного запроса данных передается узлом, чтобы запросить передачу кадра данных с тем же самым идентификатором. Кадр данных (Data frame) Кадр данных состоит из семи различных полей: "Начало кадра" (start of frame), "поле арбитража" (arbitration field), "поле управления" (control field), "поле данных" (data field), "поле CRC" (CRC field), "поле подтверждения" (ACK field), "конец кадра" (end of frame). Поле данных может иметь нулевую длину. Начало кадра (стандартный или расширенный формат) (Start of frame) Начало кадра отмечает начало кадра данных или кадра удаленного запроса данных. Это поле состоит из одиночного нулевого бита. Узлу разрешено начать передачу, когда шина свободна (см. 'межкадровый интервал'). Все узлы должны синхронизироваться по фронту, вызванному передачей поля "начало кадра" (см. 'аппаратная синхронизация') узла, начавшего передачу первым. Поле арбитража (Arbitration field) Формат поля арбитража отличается для стандартного и расширенного форматов. - в стандартном формате поле арбитража, состоит из 11 разрядного идентификатора и RTR-бита. Биты идентификатора обозначены ID-28 ... ID-18. - в расширенном формате поле арбитража состоит из 29 разрядного идентификатора, SRR-бита, IDE-бита, и RTR-бита. Биты Идентификатор Идентификатор - стандартный формат Идентификатор - расширенный формат Base ID Base ID состоит из 11 бит. Эта секция передается в порядке от ID-28 до ID-18. Это эквивалентно формату стандартного идентификатора. Base ID определяет базовый приоритет расширенного кадра. Extended ID Extended ID состоит из 18 бит. Эта секция передается в порядке от ID-17 до ID-0. В стандартном кадре идентификатор сопровождается RTR битом. Бит RTR (стандартный и расширенный формат) Бит запроса удаленной передачи. Бит SRR (расширенный формат) Заменитель бита удаленного запроса. Бит IDE (расширенный формат) Бит расширения идентификатора - Полю арбитража для расширенного формата - Полю управления для стандартного формата Поле управления (стандартный формат и расширенный формат) Поле управления состоит из шести бит. Формат поля управления отличается для стандартного и расширенного формата. Кадры в стандартном формате включают: код длины данных (DLC), бит IDE, который передается нулевым уровнем (см. выше), и зарезервированный бит r0. Код длины данных (стандартный и расширенный форматы) Число байт в поле данных обозначается кодом длины данных. Этот код длины данных, размером 4 бита, передается внутри поля управления. Другие величины использоваться не могут. Поле данных (стандартный и расширенный форматы) Поле данных состоит из данных, которые будут переданы внутри кадра данных. Оно может содержать от 0 до 8 байт, каждый содержит 8 бит, которые передаются, начиная с MSB. Поле CRC (стандартный и расширенный форматы) Последовательность CRC (стандартный и расширенный форматы)
Последовательность контроля кадра, получаемая из избыточного циклического кода, лучше всего подходит для кадров с числом битом меньше чем 127 бит. Разделитель CRC (стандартный формат, а также расширенный формат) Последовательность CRC сопровождается разделителем CRC, который состоит из одного единичного бита. Поле подтверждения (стандартный формат и расширенный формат) Поле подтверждения имеет длину два бита и содержит: "область подтверждения" и разделитель подтверждения. В поле подтверждения передающий узел посылает два бита с единичным уровнем. Приемник, который получил сообщение правильно, сообщает об этом передатчику, посылая бит с нулевым уровнем в течение приема поля "область подтверждения". Область подтверждения (ACK slot) Все узлы, получившие соответствующую последовательность CRC, сообщают об этом во время приема поля "область подтверждения" путем замены бита с единичным уровнем на бит с нулевым уровнем. Разделитель подтверждения (ACK delimiter): Разделитель подтверждения - второй бит поля подтверждения, и он должен быть представлен единичным уровнем. Конец кадра (стандартный формат и расширенный формат) Каждый кадр данных и кадр удаленного запроса данных ограничен последовательностью флагов, состоящей, из семи единичных бит. Кадр удаленного запроса данных (Remote frame) Узел, действующий как приемник некоторых данных, может инициировать передачу соответственных данных исходными узлами, посылая кадр удаленного запроса данных. Кадр ошибки (Error frame) Кадр ошибки состоит из двух различных полей. Флаг ошибки (Error flag) Имеются два вида флага ошибки: флаг активной ошибки и флаг пассивной ошибки. Разделитель ошибки Разделитель ошибки состоит из восьми "recessive" битов. После передачи флага ошибки каждый узел посылает "recessive" биты и проверяет шину, пока не обнаруживает "recessive" бит. Далее он начинает передачу еще семи "recessive" битов. Кадр перегрузки Кадр перегрузки содержит два битовых поля: флаг перегрузки и разделитель перегрузки. Имеются два вида перегрузки, оба которых приводят к передаче флага перегрузки: Флаг перегрузки Состоит из шести "dominant" битов. Полная форма соответствует флагу активной ошибки. Замечание: Разделитель перегрузки Состоит из восьми "recessive" бит. Разделитель перегрузки имеет такую же форму, как и разделитель ошибки. После передачи флага перегрузки узел контролирует шину, пока не обнаружит переход от "dominant" бита к "recessive" биту. В этот момент времени каждый узел заканчивает передачу флага перегрузки, и все узлы начинают передачу еще 7 "recessive" битов. Межкадровое пространство Кадры данных и кадры удаленного запроса данных отделяются от предшествующих кадров любого типа (кадр данных, кадр удаленного запроса данных, кадр ошибки, кадр перегрузки) битовым полем, называемым межкадровым пространством. В отличие от них, кадрам перегрузки и кадрам ошибки не предшествует межкадровое пространство (кратные кадры перегрузки также не отделяются интервалами). Межкадровое пространство: содержит битовые поля: перерыв и простой шины. Перерыв Состоит из трех "recessive" бит. Замечание: Если узел имеет сообщение, которое нужно передать, и он выявляет "dominant" бит в третьем бите перерыва, это интерпретируется, как бит "начало кадра", и, со следующего бита, он начинает передавать сообщение, с первым битом его идентификатора, не передавая предварительно, бита "начало кадра". Простой шины Период простоя шины может иметь произвольную длину. Шина свободна и любой узел, которому нужно что-либо передать, может обращаться к шине. Сообщение, которое ждет передачи во время передачи другого сообщения, начинает передаваться в первом бите после перерыва. Обнаружение "dominant" бита на шине интерпретируется как "начало кадра". Приостановка передачи После того, как узел в состоянии "пассивной ошибки" передал сообщение, он посылает восемь "recessive" бит после которых идет перерыв, перед передачей следующего сообщение или распознавания простоя шины. Стандартный и расширенный формат кадра Стандартный формат эквивалентен формату кадра данных / формату кадра удаленного запроса данных, как это описано в CAN спецификации 1.2. Определение передатчика / приемника Передатчик: Приемник: 4. Фильтрация сообщений Фильтрация сообщения основана на идентификации. Если регистры масок есть, то каждый бит регистров маски должен быть программируемым, то есть его можно использовать для фильтрации сообщения. Длина регистра маски может составлять целый идентификатор или только его часть. 5. Проверка допустимости сообщения Момент времени, при котором сообщение является допустимым, различен для передатчика и приемников сообщения. Передатчик: Приемник: 6. Кодирование Кодирование последовательности битов: 7. Обработка ошибок Обнаружение ошибок
Передача сигналов ошибки Узел, обнаруживший ошибку сообщает об этом, передавая флаг ошибки. Для узла в состоянии "активной ошибки" - это флаг активной ошибки, для узла в состоянии "пассивной ошибки" - это флаг пассивной ошибки. Всякий раз, когда каким-либо узлом обнаружена ошибка бита, ошибка заполнения, ошибка формы или ошибка подтверждения, со следующего бита начинается передача флага ошибки соответствующим узлом. Всякий раз, когда обнаружена ошибка CRC, передача флага ошибки начинается с бита, следующего после разделителя подтверждения, если не передается флаг ошибки для другого условия 8. Типизация неисправностей Неисправный узел может быть в одном из трех состояний:
Узел в состоянии "пассивной ошибки" не должен посылать флаг активной ошибки. Он подключен к шине, но при обнаружении ошибок, посылает флаг пассивной ошибки. После передачи, узел в состоянии "пассивной ошибки" будет ждать инициализации дальнейшей передачи (см. приостановка передачи). Узел в состоянии "отключения от шины" не может работать с шиной. Для типизации неисправностей в каждом узле есть два счетчика: Замечание: Замечание: 9. Генератор Для реализации полного диапазона скоростей шины CAN, требуется кварцевый генератор. Микросхемы в CAN сети с самым высоким требованием по точности генератора определяют точность генератора, которая требуется от всех других узлов. Замечание: 10. Битовая синхронизация Номинальная битовая скорость Номинальная скорость передачи информации в битах - число битов в секунду переданное в отсутствие пересинхронизации идеальным передатчиком. номинальное время передачи бита = Номинальное время передачи бита можно разделились на несколько не перекрывающихся участков: Сегмент синхронизации Используется для синхронизации различных узлов на шине. Сегмент времени распространения Используется, чтобы компенсировать физические время запаздывания в пределах сети. Это удвоенная сумма времени распространения сигнала на линии шины, входной задержки компаратора, и задержки выходного формирователя. Сегменты TSEG1, TSEG2 Эти сегменты используются, чтобы компенсировать ошибки фазы. Эти сегменты могут быть удлинены или укорочены пересинхронизацией. Точка считывания (Sample point) Момент времени, при котором уровень шины читается и интерпретируется, как значение соответственного бита. Она расположена в конце TSEG1. Время обработки информации Время обработки информации - сегмент времени, начинающийся с точки считывания. Шаг квантования времени Шаг квантования времени - фиксированная единица времени, полученная из периода генератора. Существует программируемый делитель, со значениями, от 1 до 32. шаг квантования = м * минимальный шагом квантования времени Длительность сегментов
Общее число квантов времени в битовом интервале должно быть программируемым, по крайней мере, от 8 до 25. 11. Аппаратная синхронизация
После аппаратной синхронизации внутреннее битовое время каждого узла перезапускается с SYNC_SEG. Переход пересинхронизации В результате пересинхронизации TSEG1 может быть удлинен, или TSEG2 может быть укорочен. Размер удлинения или укорачивания сегментов TSEG имеет предел, определяемый переходом пересинхронизации Перехода пересинхронизации должен быть программируем от 1 до минимума из Ошибка фазы границы Ошибка фазы границы определяется положением фронта сигнала относительно SYNC_SEG, измеряется в квантах времени. Знак ошибки фазы определен следующим образом:
12. Пересинхронизация Эффект от пересинхронизации - такой же как в случае аппаратной синхронизации, когда величина ошибки фазы границы, которая вызывает пересинхронизацию - меньше или равна программируемому значению перехода пересинхронизации.
Правила синхронизации Аппаратная синхронизация и пересинхронизация - две формы синхронизации. Они удовлетворяют следующим правилам: Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|