Примеры сетевых топологий


Сети управления и сбора данных в реальном масштабе времени (CAN) - часть 5


В поле флаг ерегрузки записывается 6 бит, равных нулю (как и в поле флаг активной ошибки). Кадры ошибки или перегрузки не требуют межкадровых разделителей. Существует ряд условий перегрузки, каждое из которых вызывает посылку такого кадра:
  • внутренние обстоятельства приемника, которые требуют задержки передачи следующего кадра данных или запроса.

  • Детектирование доминантного бита в начале поля int.

  • Обнаружение узлом доминантного восьмого бита в поле разграничителя ошибки или разграничителя перегрузки.

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

Поля SOF, идентификатор, управляющее поле, данные и CRC кодируются таким образом, что при появлении пяти идентичных бит подряд, в поток вставляется бит противоположного уровня. Так 0000000 преобразуется в 00000100, а 1111110 в 11111010. Это правило не распространяется на CRC-разделители, поля ACK и EOF, а также на кадры сообщения об ошибке или переполнении. Существует 5 разновидностей ошибок (таблица 3.3.4.1).

Таблица 4.1.4.1 Разновидности ошибок.

Тип ошибкиОписание
bit errorПередающий узел обнаружил, что состояние шины не соответствует тому, что он туда передает
stuff errorНарушено правило кодирования (вставка бита противоположного значения после 5 идентичных бит, см. абзац выше).
CRC errorПриемник обнаружил ошибку в контрольной сумме.
form errorОбнаружено нарушение формата кадра

acknowledgment error

Выявлен неверный уровень первого бита поля ack.

Любой узел CAN должен регистрировать и по запросу сообщать число ошибок при передаче и приеме.

Номинальное время, выделенное для передачи одного бита, включает в себя четыре временные области: sync_seg, prop_seg, phase_seg1, phase_seg2 (рис.3.4.4.3).




Начало  Назад  Вперед