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

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

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

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

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

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

Файлы: 1 файл

кр иис.doc

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

                                                                                                                                                      

Белорусский национальный технический  университет


Факультет приборостроительный

Кафедра информационно – измерительная техника и технологии

 

 

КОНТРОЛЬНАЯ РАБОТА

 

по дисциплине «Распределенные информационно – измерительные системы»

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

 

 

 

 

Выполнил: _________________ Бурдыко  С.А.

(подпись)

студент    3  курса   313310  группы

 

 

Проверил: ________________ Тявловский А.К.

(подпись)

 

 

 

 

Минск 2013

СОДЕРЖАНИЕ


 

ВВЕДЕНИЕ……………………………………………………………...

3

1

СЕТЕВОЙ ПРОТОКОЛ CAN…………………………….…………….

4

1.1

Физический уровень…………………...………………………..………

5

1.2

Электрические соединения в сети CAN ………………………………

5

1.3

Канальный уровень …………………………………………………….

7

2

ОРГАНИЗАЦИЯ СЕТЕВОГО ПРОТОКОЛА CAN ………………….

8

2.1

Адресация и доступ к шине ……………………………………………

9

2.2

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

10

2.3

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

11

2.4

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

14

2.5

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

14

2.6

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

14

 

ЗАКЛЮЧЕНИЕ…………………………………………………………

16

 

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ……………………

17


 

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

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

Центральное место в CAN занимает протокол канального уровня модели OSI.

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

Начало развития CAN было положено компанией Bosch в 1983 г.. Первые микросхемы CAN-контроллеров были выпущены фирмами Intel и Philipsв 1987 году. В настоящее время контроллеры и трансиверы CAN выпускаются многими фирмами, в том числе Analog Devices Inc., Atmel Corp. Cast, Dallas Semiconductor, Freescale, Infineon, Inicore Inc., Intel, Linear Technology, Maxim Integrated Products, Melexis, Microchip, National Semiconductor, NXP, OKI, Renesas Technology Corp., STMicroelectronics, Yamar Electronics, Texas Instruments.

Интерес к CAN за последние годы сильно возрос, однако контроллерного оборудования для CAN крайне мало, в десятки или сотни раз меньше, чем для Modbus или Profibus. Среди протоколов прикладного уровня для работы с CAN наибольшее распространение получили CANopen и DeviceNet.

В настоящее время CAN поддерживается 11-ю стандартами ISO, в том числе ISO-Diagnostics.

 

1 СЕТЕВОЙ ПРОТОКОЛ CAN

CAN охватывает два уровня модели OSI: физический и канальный (таблица 1).

Таблица 1 – CAN в соответствии с моделью OSI

Название уровня

Подуровни CAN

Примечание

7

Прикладной

 

Стандартом CAN не установлен. Определен  стандартами: CANopen, DeviceNet, SDS, CAN, Kingdom и др.

6

Представления

Нет

Нет

5

Сеансовый

Нет

Нет

4

Транспортный

Нет

Нет

3

Сетевой

Нет

Нет

2

Канальный (передачи данных)

LLC

Подтверждение фильтрации, уведомление  о перегрузке, управление восстановлением  данных

МАС

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

1

Физический

Физический

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


Примечание: MAC - Medium Access Control - управление доступом к каналу; LLC - Logical Link Control - управление логическими связями.

Стандарт не предусматривает  никакого протокола прикладного (7-го) уровня модели OSI. Поэтому для его воплощения в жизнь различные фирмы разработали несколько таких протоколов: CANopen (организации  CiA), SDS (фирмы Honeywell Micro Switch Division), CAN Kingdom (фирмы Kvaser), DeviceNet (фирмы Allen-Bradley, ставший Европейским стандартом в 2002 г.) и ряд других.

CAN характеризуется следующими  основными свойствами:

- каждому сообщению (а не устройству) устанавливается свой приоритет;

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

- гибкость конфигурирования и возможность модернизации системы;

- широковещательный прием сообщений с синхронизацией времени;

- непротиворечивость данных на уровне всей системы;

- допустимость нескольких ведущих устройств в сети (многомастерная сеть);

- способность к обнаружению ошибок и сигнализации об их наличии;

- автоматический повтор передачи сообщений, доставленных с ошибкой, сразу, как только сеть станет свободной;

- автоматическое различение сбоев и отказов с возможностью автоматического отключения отказавших модулей.

К недостаткам можно отнести  сравнительно высокую стоимость CAN-устройств, отсутствие единого протокола прикладного  уровня, а также чрезмерную сложность  и запутанность протоколов канального и прикладного уровня, изложенных в стандартах организации CAN in Automation (CiA).

1.1 Физический уровень

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

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

1.2 Электрические соединения в сети CAN

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

Витая пара может быть в экране или без, в зависимости  от электромагнитной обстановки. Топология  сети должна быть шинной, максимальная длина отвода от шины при скорости передачи 1 Мбит/с не должна превышать 30 см. Длину отвода можно рассчитать по формуле [CAN]:

                                               ,                                                    (1)

где   - длительность переднего фронта передатчика.

Основные требования к линии передачи и ее характеристикам близки к RS-485, однако в  передатчиках CAN есть режим управления длительностью фронтов импульсов. Управление выполняется путем заряда емкостей затворов выходных транзисторов от источников тока, при этом величина тока задается внешним резистором. Увеличение длительности фронта позволяет снизить требования к согласованию линии на низких частотах, увеличить длину отводов и ослабить излучение электромагнитных помех.

Выводы "земли" всех передатчиков сети должны быть соединены (если интерфейсы гальванически не изолированы). При этом разность потенциалов между выводами заземлений не должна превышать 2В. Гальваническая изоляция рекомендуется при длине линии более 200 м, но не является обязательным требованием стандарта.

Для электрического соединения устройств с CAN интерфейсом стандарт предусматривает два варианта. Первый вариант состоит в применении Т-образных разветвителей, которые состоят из трех 9-ти штырьковых разъемов D-sub, расположенных в одном корпусе, одноименные контакты которых соединены между собой. Разветвители имеют один разъем со штырьками и два - с гнездами.

Второй вариант требует  наличия в каждом CAN-устройстве двух разъемов. Для включения устройства в сеть кабель разрезают и на его  концах устанавливают ответные части разъемов. Устройство включается буквально в разрыв линии передачи. Такой подход позволяет наращивать количество устройств и изменять топологию сети путем добавления в разрыв кабеля новых устройств и кабеля с разъемами на концах. Один из разъемов должен быть со штырьками, второй – с гнездами. Подключение устройств к шине без разъемов не допускается. Согласующий резистор должен располагаться внутри разъема, который подключается к концу кабеля. Для присоединения модулей к CAN-шине должен использоваться 9-ти штырьковый разъем типа D-Sub. На модуле устанавливается разъем с гнездами, на соединяющем кабеле - со штырьками.

Цоколевка разъемов показана в таблице 2.

Таблица 2 – Цоколевка разъема D-sub для CAN

Контакт

Сигнал

Примечание

1

-

Зарезервирован

2

CAN_ L

Сигнал линии

3

CAN_ GND

"Земля"

4

-

Зарезервирован

5

(CAN_ SHLD)

Экран кабеля (не обязательно)

6

(GND)

"Земля" (не обязательно)

7

CAN_ H

Сигнал линии

8

-

Зарезервирован

9

(CAN_ V+)

Внешнее питание (не обязательно, для питания передатчиков с гальванической изоляцией)


Примечание: в каждом модуле контакты 3 и 6 должны быть соединены.

Применение разъемов со штырьками или гнездами определяется следующим правилом: при "горячей" замене модулей питание должно оставаться только на разъемах с гнездами; это  позволяет избежать случайного короткого замыкания.

1.3 Канальный уровень

Реализация процедур CAN-протокола производится специальными аппаратными средствами – CAN-контроллерами. Эти контроллеры выпускаются либо в виде отдельных интегральных схем, либо являются встроенными элементами более сложных устройств. CAN-контроллер в комплекте с ИС CAN-трансивера обеспечивает работу локальной сети, реализуя все необходимые функции: от управления доступом к разделяемой среде передачи данных (MAC-процедуры) до передачи сигналов по линии связи. Для HLP протоколов остаются только функции настройки сети: автоматический выбор и задание скорости передачи, поддержка алгоритмов контроля сообщений, передача сообщений большого объема, автоматическое распределение идентификаторов в сети и т.п.

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

 

 

 

 

 

 

 

 

 

 

2 ОРГАНИЗАЦИЯ СЕТЕВОГО ПРОТОКОЛА CAN

Канальный уровень CAN состоит из двух подуровней: LLC и MAC (в соответствии с  таблицей 1). Ниже описаны только главные идеи, положенные в основу их функционирования.

2.1 Адресация и доступ к шине

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

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

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

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

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