Шина CAN. Интерфейс шины CAN

Содержание

Слайд 2

CAN модуль, CAN шина, CAN интерфейс, CAN - все это названия

CAN модуль, CAN шина, CAN интерфейс, CAN - все это

названия стандарта промышленной сети, ориентированного прежде всего на объединения в единую сеть различных устройств и датчиков.
CAN - от английского Controller Area Network, что переводится как Сеть Контроллеров. CAN стандарт разработан компанией Robert Bosch GmbH в 1980-х годах и в настоящее время широко распространён в промышленной автоматизации, технологиях «умного дома», автомобильной промышленности и многих других областях.
Непосредственно стандарт CAN от Bosch определяет передачу в отрыве от физического уровня — он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары, определённым в стандарте ISO 11898. Передача ведётся кадрами, которые принимаются всеми узлами сети.

ОПИСАНИЕ СТАНДАРТА

Слайд 3

Синхронная шина, с типом доступа Collision Resolution (CR), который в отличие

Синхронная шина, с типом доступа Collision Resolution (CR), который в

отличие от Collision Detect (CD) сетей (Ethernet — это CD) детерминировано (приоритетно) обеспечивает доступ на передачу сообщения, что особо ценно для промышленных сетей управления (fieldbus). Передача ведётся кадрами. Полезная информация в кадре состоит из идентификатора длиной 11 бит (стандартный формат) или 29 бит (расширенный формат, надмножество предыдущего) и поля данных длиной от 0 до 8 байт. Идентификатор говорит о содержимом пакета и служит для определения приоритета при попытке одновременной передачи несколькими сетевыми узлами.

ОБЩИЕ СВЕДЕНИЯ

Слайд 4

Для абстрагирования от среды передачи спецификация CAN избегает описывать двоичные значения

Для абстрагирования от среды передачи спецификация CAN избегает описывать двоичные

значения как «0» и «1». Вместо этого применяются термины «рецессивный» и «доминантный», при этом подразумевается, что при передаче одним узлом сети рецессивного бита, а другим доминантного, принят будет доминантный бит. Например, при реализации физического уровня на радиоканале отсутствие сигнала означает рецессивный бит, а наличие — доминантный; тогда как в типичной реализации проводной сети рецессив бывает при наличии сигнала, а доминант, соответственно, при отсутствии. Стандарт сети требует от «физического уровня», фактически, единственного условия: чтобы доминантный бит мог подавить рецессивный, но не наоборот. Например, в оптическом волокне доминантному биту должен соответствовать «свет», а рецессивному — «темнота». В электрическом проводе может быть так: рецессивное состояние — высокое напряжение на линии (от источника с большим внутренним сопротивлением), доминантное — низкое напряжение (все узлы сети «подтягивают» линию на землю). Если линия находится в рецессивном состоянии, перевести её в доминантное может любой узел сети (включив свет в оптоволокне или закоротив высокое напряжение). Наоборот — нельзя (включить темноту нельзя).

РЕЦЕССИВНЫЕ И ДОМИНАНТНЫЕ БИТЫ

Слайд 5

Кадр данных (data frame) — передаёт данные; Кадр запроса передачи (remote


Кадр данных (data frame) — передаёт данные;
Кадр

запроса передачи (remote frame) — служит для запроса на передачу кадра данных с тем же идентификатором;
Кадр перегрузки (overload frame) — обеспечивает промежуток между кадрами данных или запроса;
Кадр ошибки (error frame) — передаётся узлом, обнаружившим в сети ошибку.
Кадры данных и запроса отделяются от предыдущих кадров межкадровым промежутком.

ВИДЫ КАДРОВ

Слайд 6

При свободной шине любой узел может начинать передачу в любой момент.


При свободной шине любой узел может начинать передачу в

любой момент. В случае одновременной передачи кадров двумя и более узлами проходит арбитраж доступа: передавая адрес источника, узел одновременно проверяет состояние шины.
Если при передаче "0" бита принимается "1" — считается, что другой узел передаёт сообщение с большим приоритетом и передача откладывается до освобождения шины. Таким образом, в отличие, например, от Ethernet в CAN не происходит непроизводительной потери пропускной способности канала при коллизиях. Цена этого решения — вероятность того, что сообщения с низким приоритетом никогда не будут переданы.

АРБИТРАЖ ДОСТУПА

Слайд 7

CAN имеет несколько механизмов контроля и предотвращения ошибок: Контроль передачи: при


CAN имеет несколько механизмов контроля и предотвращения ошибок:
Контроль

передачи: при передаче битовые уровни в сети сравниваются с передаваемыми битами.
Дополняющие биты (bit stuffing): после передачи пяти одинаковых битов подряд автоматически передаётся бит противоположного значения. Таким образом, кодируются все поля кадров данных или запроса, кроме разграничителя контрольной суммы, промежутка подтверждения и EOF.
Контрольная сумма: передатчик вычисляет её и добавляет в передаваемый кадр, приёмник считает контрольную сумму принимаемого кадра в реальном времени (одновременно с передатчиком), сравнивает с суммой в самом кадре и в случае совпадения передаёт доминантный бит в промежутке подтверждения.
Контроль значений полей при приёме.

КОНТРОЛЬ ОШИБОК

Слайд 8

Диапазон скоростей Все узлы в сети должны работать с одной скоростью.

Диапазон скоростей Все узлы в сети должны работать с одной скоростью.

Стандарт CAN не определяет скоростей работы, но большинство как отдельных, так и встроенных в микроконтроллеры адаптеров позволяют плавно менять скорость в диапазоне по крайней мере от 20 килобит в секунду до 1 мегабита в секунду. Существуют решения, выходящие далеко за рамки данного диапазона.
Предельная длина сети Приведённые выше методы контроля ошибок требуют, чтобы изменение бита при передаче успело распространиться по всей сети к моменту замера значения. Это ставит максимальную длину сети в обратную зависимость от скорости передачи: чем больше скорость, тем меньше длина. Например, для сети стандарта ISO 11898 предельные длины составляют приблизительно:
1 Мбит/с 40 м
500 Кбит/с 100 м
125 Кбит/с 500 м
10 Кбит/с 5000 м

СКОРОСТЬ ПЕРЕДАЧИ И ДЛИНА СЕТИ

Слайд 9

Базовой спецификации CAN недостаёт многих возможностей, требуемых в реальных системах: передачи

Базовой спецификации CAN недостаёт многих возможностей, требуемых в реальных системах:

передачи данных длиннее 8 байт, автоматического распределения идентификаторов между узлами, единообразного управления устройствами различных типов и производителей. Поэтому вскоре после появления CAN на рынке начали разрабатываться протоколы высокого уровня для него. В число распространённых на данный момент протоколов входят:
CANopen
DeviceNet
CAN Kingdom
J1939
SDS

ПРОТОКОЛЫ ВЫСОКОГО УРОВНЯ

Слайд 10

ИНТЕРФЕЙСЫ СОПРЯЖЕНИЯ ata6660

ИНТЕРФЕЙСЫ СОПРЯЖЕНИЯ

ata6660

Слайд 11

Возможность работы в режиме жёсткого реального времени. Простота реализации и минимальные

Возможность работы в режиме жёсткого реального времени.
Простота реализации

и минимальные затраты на использование.
Высокая устойчивость к помехам.
Арбитраж доступа к сети без потерь пропускной способности.
Надёжный контроль ошибок передачи и приёма.
Широкий диапазон скоростей работы.
Большое распространение технологии, наличие широкого ассортимента продуктов от различных поставщиков.

ПРЕИМУЩЕСТВА ШИНЫ CAN