Автор: Пользователь скрыл имя, 25 Января 2011 в 19:04, реферат
В середине 80-х Robert Bosch GmbH и Intel начали совместные работы над спецификацией и проектированием микросхем для блока, который бы обеспечивал последовательный протокол связи и поддерживал прикладные задачи с распределенным управлением в реальном масштабе времени. Основная цель этого проекта - разработка высокоскоростной сети с простым подключением узлов и блоков к шине для автомобилей.
Смотри
ниже
CAN - локальная сеть контроллеров
Почему выбирают CAN?
В середине 80-х Robert Bosch GmbH и Intel начали совместные работы над спецификацией и проектированием микросхем для блока, который бы обеспечивал последовательный протокол связи и поддерживал прикладные задачи с распределенным управлением в реальном масштабе времени. Основная цель этого проекта - разработка высокоскоростной сети с простым подключением узлов и блоков к шине для автомобилей. Первоначально CAN (Controller Area Network - локальная сеть контроллеров) предназначался для управления трансмиссией в реальном масштабе времени, системы анти-заноса и замены всей радиальной проводки автомобиля.
Впоследствии CAN, подобно урагану, ворвался во все сферы промышленного управления. Протокол CAN обладает великой скрытой мощью, которая не очевидна до тех пор, пока Вы не проникли в проблемы вокруг проектирования встроенных распределенных систем управления, где различные модули, блоки, узлы и датчики должны быть объединены в единую систему.
В настоящее
время используется спецификации CAN версий
2.0А и 2.0В от Robert Bosch GmbH, которые открыты
и доступны через Internet. Шина CAN получила
международное признание, выразившееся
в опубликовании стандарта ISO 11898 (1993). CAN
поддерживается практически всеми ведущими
производителями интегральных микросхем,
причем доступны как автономные CAN-контрол-леры
(Stand-alone CAN controller), так и CAN-контроллеры,
интегрированные с микроконтроллерами
(Microcontroller with CAN) типа
8051, 68H05 и др. Приведем перечень производителей IC, которые имеют CAN в своей производственной линейке: Fujitsu Motorola
Philips-Segnetics Intel
Hitachi NEC Mitsubishi Electric
National Semiconductor
Infineon Technologies AG Temic Telefunken
ST Microelectronics Toshiba Micronas Intermetall LSI Logic/Inicore
Texas Instr ument Alcatel-Mietec Microchip
AMP Inc Sican
OKi Electric Industry
AB Automative Electronics FH BS/WF
Таким образом, CAN - это международная стандартизированная последовательная шина системы (ISO 11898), обеспечивающая функциональные возможности уровня канала данных и физического канала согласно модели соединения открытых систем (ISO/OSI 7498). В настоящее время CAN очень интенсивно (буквально лавинообразно) внедряется за рубежом во всех сферах промышленной автоматики, движущемся транспорте, военной технике, космосе.
Что
такое CAN?
CAN - это протокол связи (краткие технические характеристики CAN смотрите в таблице) с высоконадежной передачей данных по последовательному каналу (шине) в широковещательном режиме. Это означает, что все CAN-узлы могут «слышать» все сообщения (кадры), находящиеся на шине. Мы не сможем послать сообщение только одному CAN-узлу; неизменно все CAN-узлы на шине примут сообщение. Однако, CAN-контролле-ры обеспечивают локальную фильтрацию так, чтобы каждый узел мог реагировать только на нужные ему сообщения.
При передаче данных CAN протокол аппа-ратно обеспечивает формирование сообщения, выполняет передачу данных, осуществляет побитную синхронизацию, выполняет идентификацию сообщения, проводит бит-стаффинг, подтверждает правильность приема всеми, обнаруживает и исправляет ошибки.
Сообщение,
используемое CAN-узлом, имеет поле арбитража
(Arbitration Field) и информационное поле (Data Field),
которое может содержать до 8 байтов данных.
Кроме того, кадр содержит поле начало
кадра (Start of Frame) и конца кадра (End of Frame),
управляющее поле (Control Field), поля контрольной
суммы (CRC Field) и поля подтверждения (ACK Field).
Все CAN-узлы на шине синхронизируются первым
битом поля Start of Frame и далее восстанавливают
синхронизацию перепадами битов в кадре
(при длинных
последовательностях типа …000000… или …111111… используется механизм битстаф-финга).
CAN использует короткие сообщения - максимальная сервисная нагрузка - 94 бита. В CAN сообщении нет явного адреса. Такой тип рассылки сообщений называется «схема адресации, ориентированной на содержимое». Другими словами, содержимое данных в CAN сообщении как бы неявно определяет адрес источника этого сообщения и адреса приемников, кому эта информация необходима (например, один CAN-узел выдает на шину «Температура масла двигателя - 800С»; все другие CAN-узлы принимают это сообщение, но используют эту информацию только те узлы, кому она необходима).
На CAN шине могут передаваться только четыре типа кадров:
Каждый
тип кадра используется для определенных
целей. Кадры ERROR Frame и OVERLOAD Frame, когда это
необходимо, передаются CAN-узлом автоматически.
Напол-
KHUJP.980926.doc-01
\
Топология Длина шины
Тип шины
Скорость передачи
Режим передачи Доступ к шине
нение информацией кадров DATA Frame и REMOTE Frame находится во власти проектировщика системы.
Стандартизованная - максимум 1 Мбит/сек. на длине 40 метров; возможно - 1,6 Мбит/сек. на длине 10 метров
CAN спецификации
определяет 2 типа формата кадра. Стандартный
формат (часть А CAN спецификации) определяет
Arbitration Field как 11-битное. Расширенный формат
(часть В CAN спецификации) определяет это
поле как 29-битное. Какой из типов форматов
передается по сети - задается определенными
битами в поле Control Field.
Таблица 1. Краткие технические характеристики CAN
Шина (моноканал) c терминаторами на концах
Типовое
- 40 метров при скорости передачи 1 Мбит/сек.,
до 10000 метров при уменьшении скорости
передачи до 5 Кбит/сек.
Витая пара, силовая сеть, радиоканал, оптоволокно, ИК-канал
Последовательная асинхронная передача данных, возможность multiMaster, групповая передача (multiсast), NRZ кодирование с битстаффингом
CSMA/CA (Carrier Sense Multiple Access/Collision Arbitration), захват шины через приоритет кадра, встроенный арбитраж на битовом уровне, неразрушающий алгоритм
Тип выхода
перед. В соответствии
с ISO/IS 11898
Число возможных узлов
Особенности CAN
Высокая надежность
Возможность Real-Time
Великолепные возможности CAN определяются мощным набором свойств, которые управляют связью на шине. CAN автоматически управляет всеми функциями передачи данных через:
Обнаружение ошибки
автоматический доступ к шине;
Обработка ошибки
приоритетное разрешение конфликтной ситуации при обращении к шине;
Локализация ошибки
передачу данных;
Протокол 7 уровня:
автоматическую ретрансляцию пакетов, ранее переданных с ошибкой;
Протокол 2-1 уровня:
Область применения
подтверждение доставки пакетов;
Аппаратная поддержка
Как
и Ethernet, CAN сеть работает в режиме CSMA (Carries
Sense Multiple Access). Это означает, что когда имеется
кадр для передачи, CAN слушает шину (Carries
Sense - контроль несущей) и если шина свободна,
переходит к передаче кадра. Множественный
доступ (Multiple Access) заключа-
Неограниченно (теоретически), до 127 на сегменте (практически), просто подключаются и отключаются (plug & play)
Зависит от максимально допустимой задержки для сообщения с высоким приоритетом, реально < 120 цсек для 1 Мбит/с.
у
Обеспечивается через: обнаружение ошибки, обработку ошибки, локализацию ошибки. Расстояние Хемминга Одна не обнаруживаемая ошибка за 1000 лет. Высокий иммунитет к электромагнитным помехам.
Каждый CAN контроллер выполняет мониторинг своего передатчика и всех приемников, 15 битовая CRC, все участвуют в проверке выполнения битстаффинга и целостности фрейма
ьного
Все непосредственно участвуют в подтверждении правильности приема фрейма и маркировке неправильного фрейма
Различает ситуации между фиксированными ошибками и временной ошибкой (помеха). Фиксированная ошибка автоматически отключает CAN-узел. Возможно автоматическое подключение.
CAL, CANopen, DeviceNet, SDS, CAN Kingdom, SeleCAN, SAE J1939
ISO 11898, ISO 11519-2, SAE J2284, SAE J2411
Транспорт,
промышленная автоматика, робототехника,
медицина, авиация, морской транспорт,
военная техника, космические станции
и спутники.
Motorola, Philips, Siemens, NEC, Microchip, Mitsubishi, Intel, Fujitsu, Toshiba, ST Microelectronics, Thomson, Texas Instruments, Hitachi, National Semiconductor, Temic, …
ется в том, что любой CAN-узел, определив что шина свободна, может начать передачу своего сообщения.
Различие между CAN и Ethernet происходит, когда два или более узлов одновремен-
но определяют, что шина свободна и начинают передавать свои кадры. Это ведет к конфликтной ситуации (коллизии) на шине. В Ethernet при столкновении передающие узлы обнаруживают эту ситуацию (Collision Detected) и прекращают передавать кадры, чтобы позже попытаться снова передать свои сообщения. Это ведет к потере времени и уменьшении пропускной способности сети. В принципе возможна такая ситуация, когда никто из узлов не уступает дорогу - сеть Ethernet повисает.
CAN такую
ситуацию решает по другому. Когда происходит
конфликтная ситуация при обращении к
шине, CAN определяет победителя на основе
побитного арбитража содержимого поля
Arbitration Field всех принимающих в конфликте
сообщений. Побеждает узел с наивысшим
приоритетом и продолжает передавать
свой кадр. Другие CAN-узлы с более низкими
приоритетами сообщений попытаются передать
свои кадры позже. Такой метод определения
победителя называется Collision Arbitration (арбитраж
столкновения).
Поэтому говорят, что Ethernet работает в режиме доступа к шине по алгоритму CSMA/ CD, а CAN - CSMA/CA (в литературе иногда встречается CSMA/CD+CA).
Данный
режим CAN обеспечивается тем, что все CAN
узлы подключены к шине по схеме «монтажное
И», где узел, передающий «0» доминирует
над всеми узлами, передающие «1». CAN выполняет
данный побитный арбитраж только над содержимым
поля Arbitration Field. Поэтому при проектировании
необходимо, чтобы содержимое этого поля
- идентификатор - было уникально
для каждого
кадра. Никакая пара CAN-узлов не может послать сообщение с одинаковыми идентификаторами. Аналогичным образом, никакой CAN-узел не может принять сообщения разных типов, но с одинаковыми идентификаторами.
Обнаружение
и обработка ошибки
CAN протокол имеет мощные средства обнаружения ошибок. В отличие от других шинных систем, в CAN протоколе нет подтверждающих сообщений. Вместо этого он сигнализирует о возникновении ошибок передачи. В CAN реализовано пять механизмов проверки на наличие ошибки (отметим, что все они реализованы аппаратным способом):
- Acknowledgement Error (ошибка подтверждения). Ошибка подтверждения обнаруживается передатчиком, если хотя бы один CAN приемник не подтвердил получение правильного сообщения (или приемников на шине нет вообще).
При приеме кадра все CAN-узлы выполняют механизмы обнаружения ошибки и если какой-либо узел обнаруживает ошибку, он генерирует кадр ERROR Field, который прерывает передаваемый кадр DATA Field или REMORE Field. При этом передатчик, сообщение которого прервано, автоматически ап-паратно повторит передачу сообщения.
Применяемые методы позволяют CAN гарантировать, что сообщение либо правильно принято всеми, либо его не принял никто.
Каждый CAN-узел поддерживает два внутренних счетчика ошибок: счетчик ошибок при передаче и счетчик ошибок при приеме. CAN использует сложный механизм статистической оценки сбойных ситуаций на узле для распознавания неисправности самого узла. Тем самым в CAN невозможна ситуация, когда неисправный узел блокирует работу всей сети (CAN сеть «подвесить» невозможно).
Важнейшая характеристика - вероятность остаточной ошибки (вероятность того, что данные будут искажены и это искажение останется незамеченным) - для CAN крайне мала. Так, если CAN сеть работает со скоростью 1Мбит в сек. при средней загрузке 50 %, общем времени функционирования 4000 часов и средней длиной сообщения 80 бит, то общее количество переданных сообщений составляет 9*1010. Статистическое число необнаруженных ошибок передачи данных в течение этого времени работы менее 10-2. Другими словами, при эксплуатации системы 8 часов в день в течение 365 дней и частоте появления ошибок 0,7 в секунду одна не обнаруженная ошибка будет появляться в сети CAN в среднем один раз в тысячелетие.
Протокол CAN определяет
вероятность необнаружения искаженного
сообщения, как q <
4.7 * 10 11 * error rate
где error rate - частота появления ошибки.
Физический уровень CAN
Физический уровень определяет уровни и схему передачи битовых сигналов на шине. CAN спецификация не определяет тип физической среды CAN сети. Протокол CAN работает и на витой паре, и на оптоволокне, и на высоковольтной линии 220 В, и радиоканале, и на ИК-канале.
Максимальная
скорость CAN шины, соглас
но стандарта, - 1Мбод. При этой скорости
мо
жет использоваться максимальная длина
ка
беля около 40 метров. Соотношение величи
ны длины кабеля и скорости работы CAN:
1000 кбит/сек. 40 метров
500 кбит/сек. 130
метров
250 кбит/сек. 270 метров
125 кбит/сек. 530 метров
100 кбит/сек. 620 метров
50 кбит/сек. 1300 метров
20 кбит/сек. 3300 метров
10 кбит/сек. 6700 метров
5 кбит/сек. 10000 метров
Теоретически возможная максимальная скорость CAN - 1,6 Мбит/сек. на 10 метрах (величина в стандарт не входит). Некоторые CAN контроллеры поддерживают скорости выше 1 Мбит/сек.
Почему выбирают CAN?
Зрелый стандарт. Протокол CAN активно используется уже более 18 лет. Сейчас на рынке представлено много различных CAN изделий и инструментальных средств для него.
Аппаратная поддержка протокола.
Протокол CAN реализован в одном кристалле, что позволяет быстро и легко строить высокоэффективные высокоскоростные высоконадежные системы.
Различная среда передачи. Основная среда передачи - витая пара. CAN система может также работать только на одном проводе. Име-
ются системы, использующие в качестве среды передачи - силовые линии, оптоволокно, ИК-канал, радиоканал и др.
Превосходная обработка ошибок. Протокол CAN имеет механизм, позволяющий отключать дефектный узел и не допускать блокирование сети.
Хорошая поддержка систем реального времени. Использование глобальных часов и широковещательный способ передачи сообщений позволяет создавать полностью синхронные системы.
Хорошая поддержка систем, управляемых событиями. Так как все CAN узлы слушают все сообщения, просто реализуются приложения, работающие по событийному управлению.
Ориентирован
на распределенные системы управления.
Протокол CAN очень хорошо подходит для
построения распределенных систем управления.
Используемый метод арбитража для определения
приоритета сообщения и широковещательная
передача позволяют просто и оптимально
проектировать такие системы.
Промышленная автоматика:
Объекты с контурным управлением:
Внедрение
CAN
Военные
системы:
ры
В настоящее время CAN находит самое широкое применение в различных областях деятельности человека. Это:
Движущийся транспорт:
Крылатые ракеты и беспилотные плане-
Истребители Военно-морской флот Управление в танках Подводные лодки Самоходный транспорт Спутники и космические станции
Чтобы показать Вам всю мощь CAN сети, приведем далеко не полный перечень реальных изделий, где используется Controller Area Network (примеры взяты из буклета CAN Application Spotlights, изданного CiA к 5-летнему юбилею - 1997 год - образования ассоциации CAN in Automation, а также материалов доступных в Internet).
Кто координирует работы по CAN?
В мире все работы по CAN координируются CAN in Automation (CiA) - Международной ассоциацией пользователей и производителей CAN, основанной в марте 1992 года. Ассоциация CiA обеспечивает технической, производственной и маркетинговой информацией с целью рекламы CAN технологии, способствует распространению знаний о CAN. В настоящее время более 340 компаний со всего мира присоединились к этой некоммерческой ассоциации.
CiA разрабатывает и поддерживает различные протоколы прикладного уровня (7-й уровень модели ISO/OSI), основанные на CAN: CAN Application Layer (CAL), CANopen, CAN Kingdom, DeviceNet, SDS:
15.CiA Work Draft Standard 501 (Ver. 0.05) CAL-based Profile for Off-Road Vehicles and Truck Superconstructions
16.CAN Kingdom Ver. 3.0 (фирма Kvaser, Швеция)
17.DeviceNet Vol. 1 & 2, Release 2.0 (ODVA, фирма Allen-Bradley корпорации Rockwell, США)
18. Smart Distributed Systems Ver. 2.0 (SDS) (корпорация Honeywell США)Преимущества и недостатки
Преимущества
Недостатки
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
(ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ)
Кафедра информационных
технологий и автоматизированных
систем
Промышленная
локальная сеть CAN
По дисциплине
“Сети ЭВМ”
Выполнил: Жуков А.Д.
АП-52
Москва 2008