Сетевой протокол CAN. Организация обмена данными в сети. Типы и формат сообщений

Автор работы: Пользователь скрыл имя, 14 Ноября 2013 в 20:33, контрольная работа

Описание работы

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

Содержание работы

ВВЕДЕНИЕ……………………………………………………………...
СЕТЕВОЙ ПРОТОКОЛ CAN…………………………….…………….
Физический уровень…………………...………………………..………
Электрические соединения в сети CAN ………………………………
Канальный уровень …………………………………………………….
ОРГАНИЗАЦИЯ СЕТЕВОГО ПРОТОКОЛА CAN ………………….
Адресация и доступ к шине ……………………………………………
Достоверность передачи ……………………………………………….
Передача сообщений. …………………………………………………..
Пауза между фреймами …………………………….…………………..
Фильтрация сообщений ………………………………………………..
Валидация сообщений …………………………………………………
ЗАКЛЮЧЕНИЕ…………………………………………………………
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ……………………

Файлы: 1 файл

кр иис.doc

— 154.50 Кб (Скачать файл)

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

2.2 Достоверность передачи

Для достижения максимальной надежности (достоверности) передачи данных протокол предусматривает специальные  методы обнаружения ошибок, сигнализации об ошибках и самоконтроля, которые воплощены в каждом узле сети.

Для обнаружения ошибок приняты следующие меры:

- передатчик сравнивает каждый бит на шине с переданным битом для подтверждения правильности передачи на уровне битов;

- выполняется контроль циклическим избыточным кодом (CRC-Cyclic Redundancy Check);

- используется бит-стаффинг;

- используется проверка каждого переданного фрейма.

Механизм обнаружения  ошибок характеризуется такими свойствами:

- обнаруживаются все глобальные ошибки;

- обнаруживаются все ошибки, вносимые передатчиком;

- в сообщении обнаруживаются до 5 случайно распределенных ошибок;

- в сообщениях обнаруживается пакет следующих друг за другом ошибок длиной до 15 бит;

- обнаруживаются ошибки четности.

Вероятность наличия  в сообщении необнаруженных ошибок составляет менее 4,710-11.

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

CAN способен различать сбои и отказы. Если произошел отказ, то отказавшее устройство отключается от сети.

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

2.3 Передача сообщений

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

Существует 4 различных  типа фреймов:

- DATA FRAME (фрейм данных) - переносит данные от передатчика к приемнику;

- REMOTE FRAME (дистанционный фрейм (фрейм вызова)) – передается одним из устройств для того, чтобы получить от другого устройства данные в формате DATA FRAME с тем же идентификатором, что и в REMOTE FRAME;

- ERROR FRAME (фрейм ошибок) – передается любым устройством, обнаружившим ошибку на шине;

- OVERLOAD FRAME (фрейм перегрузки) – используется для запроса дополнительной задержки между предыдущими и последующими данными.

Фрейм данных состоит из следующих полей (в соответствии с рисунком 1): начало фрейма (Start Of Frame), поле арбитража (Arbitration Field), поле контроля (Control Field), поле данных (Data Field), поле циклического избыточного кода (CRC Field), поле уведомления о приеме (ACKnowledgement Field) и поле конца фрейма (End Of Frame). Поле данных может иметь нулевую длину.

Пространство между  фреймами представлено рецессивным состоянием шины, которое соответствует высокому уровню на рисунке 1,

поскольку CAN-передатчики инвертируют логические уровни. Только при рецессивном состоянии шины устройство может начать передачу фрейма.

Рисунок 1 – Структура фрейма данных

Рисунок 2 – Побитовый арбитраж на шине CАN

Начало фрейма кодируется одним доминантным битом. Все  устройства сети одновременно синхронизируют свои приемники по переднему фронту импульса этого бита.

Формат поля арбитража  различается для стандартного и  расширенного формата фрейма. В стандартном  фрейме поле арбитража состоит из идентификатора длинной 11 бит и RTR-бита (Remote Transmission Request – запрос дистанционной передачи).

В расширенном формате  поле арбитража имеет идентификатор  длиной 29 бит, SRR-бит (Substitute Remote Request – заменяющий RTR-бит), IDE-бит (Identifier Extension Bit – бит идентификации расширенного формата) и RTR-бит.

Поле идентификатора в расширенном формате состоит  из базового идентификатора и расширенного идентификатора. Базовый идентификатор  определяет приоритет расширенного фрейма. RTR-бит служит для того, чтобы  отличить фрейм данных от фрейма вызова. IDE-бит служит для различения стандартного и расширенного формата фреймов.

Поле контроля включает в себя код, который указывает  длину данных в поле данных, IDE-бит  и один (в стандартном формате) или два (в расширенном) зарезервированных  бита.

Поле данных состоит из данных, которые должны быть переданы фреймом данных. Он может иметь длину от 0 до 8 байт по 8 бит каждый.

Данные передаются младшим  разрядом вперед.

Поле CRC содержит циклический  избыточный код, служащий для обнаружения  ошибок во всех предшествующих ему полях фрейма, включая бит начала фрейма. Поле CRC оканчивается CRC-разделителем (рецессивное состояние) длиной в 1 бит. Стандарт CAN устанавливает алгоритм вычисления CRC [Robert]. Биты стаффинга перед вычислением удаляются.

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

Конец фрейма представляет собой последовательность из семи рецессивных  бит.

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

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

Фрейм перегрузки состоит из двух полей: флага перегрузки и поля разделителя. Существуют следующие условия, при наступлении которых начинается передача фрейма перегрузки:

- перегрузка приемника, которая требует увеличить паузу между принимаемыми им фреймами;

- обнаружение доминантного бита на месте первого и второго бита в поле перерыва паузы между фреймами.

2.4 Пауза между фреймами

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

Пауза содержит поле перерыва (3 бита) и поле простоя (произвольной длины) и, для пассивных к ошибке устройств, которые выполняли передачу предыдущего сообщения, поле приостановленной передачи.

2.5 Фильтрация сообщений

Фильтрация сообщений используется для выбора из всех сообщений на шине только тех, которые соответствуют маске, записанной в регистр приемника. Маска может быть настроена на отбор группы сообщений и использует идентификатор, входящий в состав поля арбитража (в соответствии с рисунком 1). Отобранные сообщения помещаются в буфер приемника.

2.6 Валидация сообщений

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

Сообщение считается  достоверно переданным, если не было ошибок при передаче от начала до конца  фрейма. Если сообщение содержало  ошибку, оно автоматически повторяется  в соответствии с текущими приоритетами.

Сообщение считается  достоверно принятым, если не было обнаружен  ошибок при его приеме. Если ошибка обнаружена, устройство посылает в  шину флаг ошибки.

В CAN рассматривается 5 типов  ошибок:

- ошибки передачи бита (контролируется уровень на шине и сравнивает с передаваемым. Ошибка обнаруживается во время передачи одного бита);

- ошибка стаффинга (обнаруживается при отсутствии бита стаффинга в 6-й позиции последовательности одинаковых битов);

- CRC-ошибка;

- ошибка формата (обнаруживается, если при заранее фиксированном формате фрейма поле с известным значением битов содержит неправильные биты);

- ошибка уведомления (обнаруживается трансивером, если он не находит доминантное состояние в поле уведомления о получении).

Устройство, обнаружившее любую из перечисленных ошибок, сигнализирует об этом с помощью флага ошибки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ

Итогом контрольной работы стало изучение и объединение литературного материала по  теме: «Сетевой протокол CAN. Организация обмена данными в сети, типы и формат сообщений».

Из выше изложенного  можно заключить, что спецификация CAN охватывает нижние, физический и канальный уровни обмена данными. На верхних уровнях в пределах одной сети могут действовать различные протоколы. Часть узлов может поддерживать один протокол, другая часть – другой, не мешая друг другу.

В CAN-интерфейсе предусмотрена  возможность использования идентификаторов двух стандартных длин. Оба идентифатора могут использоваться в одной сети.

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

Эти свойства CAN-интерфейса особенно важны для приложений промышленной автоматизации, где возможности модификации системы высоко ценятся потребителями и активно продвигаются производителями оборудования.

 

 

 

 

 

 

 

 

 

 

СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Энциклопедия АСУ ТП [Электронный ресурс]. – Режим доступа: http://bookasutp.ru/Chapter2_6.aspx.– Дата доступа 30.04.2013.
  2. Лапин А. Интерфейс CAN. [Электронный ресурс]. – Режим доступа: http://www.datamicro.ru/download/CAN_Interface_Lapin.pdf. – Дата доступа 30.04.2013..
  3. Третьяков С. А. CAN - локальная сеть контроллеров. – Мн.: Электроника №9, 1998.

 

 

 

 

 

 


Информация о работе Сетевой протокол CAN. Организация обмена данными в сети. Типы и формат сообщений