Управление ошибками
CAN-протокол обеспечивает механизмы обнаружения следующих типов ошибок:
Разрядная ошибка появляется, когда передатчик сравнивает уровень на шине с уровнем, который должен передаваться, и обнаруживает их неравенство. При этом обнаружение активного бита, когда передается пассивный бит, не выдает ошибку в течение передачи поля арбитража, поля ACKSlotили флажка пассивной ошибки.
Ошибка подтверждения возникает, когда передатчик определяет, что сообщение не было подтверждено. Слот подтверждения существует внутри фреймов данных и удаленных фреймов. Внутри этого слота все приемные узлы, независимо от того, являются они пунктом назначения или нет, должны подтвердить получение сообщения.
Ошибка заполнения появляется, когда узел обнаруживает шесть (6) последовательных битов одного и того же значения. В процессе нормальной работы, когда передатчик обнаруживает, что он послал пять (5) последовательных битов одного и того же значения, он заполняет следующий бит противоположным значением (это называется заполнением бита). Все приемники удаляют заполненные биты до вычисления CRC(контрольного кода). Таким образом, когда узел обнаруживает шесть (6) последовательных битов того же значения, возникает ошибка заполнения.
CRC-ошибка появляется, когдаCRC-значение (контрольный код) не соответствует значению, сгенерированному передатчиком. Каждый фрейм содержит поле контрольного кода, которое инициализировано передатчиком. Приемники вычисляютCRCи сравнивают его со значением, сгенерированным передатчиком. Если эти два значения не тождественны, то имеет местоCRC-ошибка.
Ошибка формы возникает, когда недопустимое разрядное значение обнаружено в области, в которую должно быть передано предопределенное значение. В CAN-протоколе существуют некоторые предопределенные разрядные значения, которые должны быть переданы в определенных местах. Если недопустимое разрядное значение обнаружено в одной из этих областей, имеет место ошибка формы.
CANпозволяет минимизировать негативные последствия наличия дефектного узла в сети при помощи механизма определения состояния узла. Узел может быть в одном из трех состояний ошибки.
Ошибка активная фиксируется, когда активный узел обнаруживает одну из упомянутых ошибок, он передает активный фрейм ошибки, который состоит из шести (6) последовательных доминирующих битов. Эта передача отменит любую другую передачу, проходящую в то же самое время, и заставит все другие узлы обнаружить ошибку наполнения, которая, в свою очередь, заставляет их отбрасывать текущий фрейм. Когда узел в состоянии активной ошибки обнаруживает проблему с передачей, он предотвращает получение всех других данных из пакета сообщений, передавая фрейм активной ошибки. Этот процесс выполняется независимо от того, был ли узел, обнаруживающий ошибку, получателем данных или нет.
Ошибка пассивная фиксируется, когда пассивный узел обнаруживает одну из упомянутых ошибок,— он передает фрейм пассивной ошибки, который состоит из шести (6) последовательных пассивных битов. Этот фрейм может быть наложен на передачу, которая ведется в то же самое время, при этом данные из передачи не теряются, если другие узлы не обнаруживают ошибку.
Шина выключена — узел на шине в выключенном состоянии и не откликается на любое воздействие на шине. Это логическое отключение от сети.
Общий краткий обзор действий, имеющихся в механизме минимизации неисправностей, приведен далее.
Узлы следят, передают и получают значения счетчиков ошибок.
Узел начинает передачу в состоянии активной ошибки со счетчиками ошибок, равными нулю (0). Узел в этом состоянии «понимает», что любая обнаруженная ошибка — не неисправность.
Типы ошибок и точки, в которых они были обнаружены, имеют различный код, который добавляется к текущему общему количеству, в зависимости от того, является ли ошибка передаваемой или принимаемой. Значимые величины получения и передачи вызывают декремент этих счетчиков, при этом ноль (0) является минимальным значением. Когда любой из данных счетчиков проходит соответствующий порог, определенный в CAN-протоколе, узел фиксирует пассивное состояние ошибки. В таком состоянии узел полагает, что это — причина ошибки.
Когда переданное состояние счетчика ошибки в другом узле проходит определенный порог, узел вводит шину в отключенное состояние. Эта спецификация определяет механизмы перехода из состояния отключения шины к состоянию активной ошибки.
Когда и передающий, и приемный счетчики пассивной ошибки узла декрементируются ниже определенного порога, узел еще раз подтверждает состояние активной ошибки.
- 1. Сравнительный анализ протоколов Fieldbus
- Введение
- Общие требования к системе fieldbus
- Типичные стандарты
- Сравнительное изучение
- Метод передачи
- Введение
- Общие черты и отличительные особенности profibus-pa
- Foundation™ fieldbus
- Управление на базе систем нижнего уровня
- Функциональная совместимость
- Открытость
- Заключение
- Введение
- Типы фреймов в can-протоколе
- Средства управления доступом к шине в can-протоколе
- Адресация в can-протоколе
- Управление ошибками
- Стандартный и расширенный фрейм
- Прерывания в can-протоколе
- Микросхемы, поддерживающие can-протокол
- Применение в индустриальных приложениях
- Заключение
- Вступление
- Cal (can Application Layer)
- CaNopen
- Can Kingdom
- DeviceNet
- Sds (Smart Distributed System)
- Заключение
- Что такое Fieldbus?
- Экскурс в теорию
- Foundation Fieldbus
- Profibus
- Введение
- Основные понятия и определения
- Основная конфигурация системы
- Средства объединения устройств системы
- Методика выбора кабеля
- Влияние среды обмена
- Электромагнитные помехи и симметрия параметров канала связи
- Дополнительные требования к реализации заземления
- Конфликтные ситуации