Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЦУ_конспект_12.docx
Скачиваний:
68
Добавлен:
14.11.2019
Размер:
5.57 Mб
Скачать

Формат команды 1-Wire протокола

Выдержав паузу, ведущее устройство выдает на линию команду "Совпадение ПЗУ». Команда состоит из восьми бит кода операции и 64-битного ID кода. Получив эту сетевую команду, все ведомые микросхемы переходят на транспортный уровень. Но только одна из них останется активной. Остальные перейдут в пассивный режим ожидания. Далее ведущее устройство передает на шину команду "Чтение памяти" (8 бит). Получив эту команду, выбранная ведомая микросхема переходит в режим выдачи данных. Ведущее устройство читает эти данные. Объем считываемых данных зависит от типа применяемой микросхемы. Чаще всего он равен 8 байтам (64 бит) и обязательно содержит контрольную сумму в последних восьми битах.

2.1.3 Интерфейс can4

CAN (Controller Area Network – сеть контроллеров) образует сеть с общей средой передачи данных. Это означает, что все узлы сети одновременно принимают сигналы, передаваемые по шине. При этом сообщение не адресуется какому-либо конкретному узлу. Все узлы сети имеют возможность принимать весь трафик, передаваемый по шине. CAN-контроллеры предоставляют аппаратную возможность фильтрации CAN-сообщений.

Т.к. отправленный кадр передается к каждому узлу системы, то каждый узел получает каждое переданное сообщение и определяет посредством аппаратного или программного фильтра, является ли сообщение предназначенным для него. Идентификатор сообщений (11- или 29-бит) также определяет приоритет сообщения. Этим обеспечиваются эффективные средства для передачи высокоприоритетных сообщений с очень малым временем ожидания, даже при высокой загруженности шины. Система может различать: с 11-битным идентификатором до 2048 различных сообщений, с 29-битным идентификатором - до 512 миллионов сообщений.

Топология сети can.

Каждый узел образован собственно CAN контроллером, который обеспечивает взаимодействие с сетью и реализует протокол, и микропроцессором (CPU). CAN контроллеры соединяются с помощью дифференциальной шины, которая имеет две линии - CAN_H (can-high) и CAN_L (can-low), по которым передаются сигналы. Логический ноль регистрируется, когда на линии CAN_H сигнал выше, чем на линии CAN_L. Логическая единица – когда сигналы CAN_H и CAN_L одинаковы (отличаются менее чем на 0.5 В). Использование дифференциальной схемы передачи делает возможным работу CAN сети в сложных внешних условиях.

Логический ноль – доминантный бит, логическая единица – рецессивный. При одновременной передаче в шину лог. "нуля" и "единицы", на шине будет зарегистрирован логический ноль (доминантный сигнал), а логическая единица будет подавлена (рецессивный сигнал).

Когда шина свободна CAN-сообщение может быть передано любым узлом системы (мультимастерность). Эта особенность позволяет эффективно поддерживать передачу сообщений, ориентируемую на события.

Типы сообщений сети CAN.

Данные в CAN передаются короткими сообщениями-кадрами стандартного формата. В CAN существуют четыре типа сообщений:

  • Data Frame

  • Remote Frame

  • Error Frame

  • Overload Frame

Data Frame – наиболее часто используемый тип сообщения; состоит из следующих основных частей:

поле арбитража (arbitration field) определяет приоритет сообщения в случае, когда два или более узлов одновременно пытаются передать данные в сеть.

Поле арбитража состоит в свою очередь из:

11-битного идентификатора + 1 бит RTR (retransmit) – для стандарта CAN-2.0A,

29-битного идентификатора + 1 бит RTR (retransmit) – для стандарта CAN-2.0B.

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

  • поле данных (data field) содержит от 0 до 8 байт данных

  • поле CRC (CRC field) содержит 15-битную контрольную сумму сообщения, которая используется для обнаружения ошибок

  • слот подтверждения (Acknowledgement Slot) (1 бит), каждый CAN-контроллер, который правильно принял сообщение посылает бит подтверждения в сеть. Узел, который послал сообщение слушает этот бит, и в случае если подтверждение не пришло, повторяет передачу. В случае приема слота подтверждения передающий узел может быть уверен лишь в том, что хотя бы один из узлов в сети правильно принял его сообщение.