КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
CAN-сети
Лекция 9 Тема 4.1. Основные предпосылки использования распределенных сетевых технологий в АСНИКИ (продолжение)
CAN-протокол (Controller Area Network) был разработан фирмой Robert Bosch GmbН для использования в автомобильной электронике.
Ряд оригинальных и эффективных технических решений, положенных в основу CAN-протокола фирмой Bosch, а также последующие годы "проверки на прочность" CAN-сетей в самых разных, как правило, очень непростых условиях эксплуатации - во всех трех стихиях: на земле, в небесах и на море - обеспечили CAN мировое признание, закрепленное в 1993 году в международном стандарте ISO 11898.
На сегодняшний день стандарт ISO 11898 наряду с современной спецификацией Bosch CAN 2.0A/B является базовым документом разработчиков CAN-устройств.
Отличается повышенной помехоустойчивостью, надёжностью и обладает следующими возможностями: - конфигурационная гибкость, - получение сообщений всеми узлами с синхронизацией по времени, - неразрушающий арбитраж доступа к шине, - режим мультимастер, - обнаружение ошибок и передача сигналов об ошибках, - автоматическая передача сбойных сообщений при получении возможности повторного доступа к шине, - различие между случайными ошибками и постоянными отказами узлов с возможностью выключения дефектных узлов, - работает по витой паре на расстоянии до 1 км.
СAN-протокол распространяется на следующие уровни.
- Объектный уровень обеспечивает фильтрацию сообщений и обработку сообщений и состояний. - Транспортный уровень представляет собой ядро CAN-протокола. Отвечает за синхронизацию, арбитраж, доступ к шине, разделение посылок на фреймы, определение и передачу ошибок и минимизацию неисправностей. - Физический уровень определяет, как именно будут передаваться сигналы, их электрические уровни и скорость передачи.
Физический уровень. Физический уровень определяется стандартом ISO 11898 и характеризуется следующими возможностями.
- Дифференциальное включение приемо-передатчиков обеспечивает подавление синфазной помехи; при этом уровень сигналов составляет 1/3 от значения напряжения питания, причем само напряжение питания не определяется жестко. (Типичные значения при напряжении питания +5 В приведены на рис.1, причем доминирующим уровнем является нижний уровень, а рецессивным, соответственно, верхний).
Рис.1. Сигнальные уровни на CAN-шине
- Максимальное расстояние между узлами - до 1 км. - Скорость обмена до 1 Мбит/с при длине линии 60 м. - Возможность применения гальванической развязки, причем гальваническая развязка может устанавливаться либо между приемо-передающим буфером и микросхемой, обеспечивающей функции CAN, либо между микросхемой и остальной системой (рис.2).
Типы фреймов в CAN-протоколе. В CAN-протоколе определены следующие типы фреймов: - фрейм данных перемещает данные с передатчика на приемник (приемники); - удаленный фрейм запрашивает передачу фрейма данных, связанного с определенным идентификатором; - фрейм ошибки выражает, какой узел обнаружил ошибку шины/сети; - фрейм перегрузки обеспечивает задержку между передачей фреймов, чтобы управлять потоком данных.
Рис.2. Два типа гальванической развязки
Фрейм данных состоит из: - стартового поля SOF, - поля арбитража Arbitration Field, - управляющего поля Control Field, - поля данных Data Field, - поля контрольной суммы СRC, - поля подтверждения ACK Field, - поля конца фрейма EOF.
Удаленный фрейм аналогичен по структуре фрейму данных, но не имеет поля данных. Фрейм ошибок и фрейм перегрузки содержат по 2 поля, в которых располагаются флажки ошибок и служебная информация.
Средства управления доступом к шине в CAN-протоколе. Передающий узел в CAN протоколе слышат все другие узлы в сети и подтверждают это. Всякий раз, когда шина свободна от передачи, узел может начинать передавать. Если узел передает, эта передача должна быть завершена прежде, чем другой узел может пытаться передавать. Если два или больше узла начинают передавать в одно и то же время, конфликт решается при помощи неразрушающего (non-destructive) поразрядного алгоритма арбитража, использующего поле арбитража. Выигрывает арбитраж идентификатор с самым низким значением. То есть приоритетным является не передающий или приемный узел, а сообщение, имеющее меньшее значение идентификатора.
Если в сети один из узлов (сервер) будет ответственным за принятие решений, то он должен иметь наименьший адрес из задействованных.
Адресация в CAN-протоколе. CAN - это протокол, ориентированный на использование в условиях помех. Различные сообщения, передающиеся по сети, имеют идентификатор, и каждая станция решает, основываясь на этом идентификаторе, получать или нет это сообщение. Этот идентификатор определен в поле идентификатора CAN- фрейма.
При этом адрес приемника устанавливается в самом приемнике путем настройки входных фильтров соответствующих микросхем.
Входные фильтры представляют собой решета, или идентификационные экраны. Любое сообщение, которое проходит через входные фильтры, должно быть обработано процессором обслуживания CAN-контроллера.
Микросхемы, поддерживающие CAN-протокол, могут иметь одиночный фильтр или многократные фильтры, в зависимости от конкретной реализации.
Управление ошибками. CAN-протокол обеспечивает механизмы обнаружения следующих типов ошибок. - Разрядная ошибка появляется, когда передатчик сравнивает уровень на шине с уровнем, который должен передаваться, и обнаруживает их неравенство. - Ошибка подтверждения возникает, когда передатчик определяет, что сообщение не было подтверждено. - Ошибка заполнения появляется, когда узел обнаруживает шесть последовательных битов одного и того же значения. - CRC ошибка появляется, когда CRC-значение (контрольный код) не соответствует значению, сгенерированному передатчиком. - Ошибка формы возникает, когда недопустимое разрядное значение обнаружено в области, в которую должно быть передано предопределенное значение. CAN позволяет минимизировать негативные последствия наличия дефектного узла в сети при помощи механизма определения состояния узла.
Стандартный и расширенный фрейм. CAN-микросхемы поддерживают стандартный или расширенный фрейм.
Стандартный фрейм означает, что CAN-микросхема поддерживает 11-битовое поле идентификатора. Расширенный фрейм означает, что микросхема поддерживает 29-битовое поле идентификатора. Новые САN-микросхемы могут поддерживать форматы как стандартного фрейма, так и форматы расширенного фрейма.
Прерывания в CAN протоколе. Проектировщики должны учитывать интервал возможных прерываний их CAN-контроллеров при проектировании своих изделий. Так как фрейм данных в CAN-протоколе короткий (от 0 до 8 байт), скорость поступления прерываний на процессор может быть высокой. В связи с этим следует рассматривать CAN как высокоскоростную сеть. На скорости 500 кбит/с прерывания могут происходить каждые 94 мкc при отсутствии информации в фреймах данных.
Большинство микроконтроллеров нижнего уровня не может поддерживать такую высокую скорость обработки прерываний. Контроллер должен иметь достаточное время для обработки прикладной программы и успевать обслуживать запросы от CAN- сети, или необходимо выделять отдельный микроконтроллер для обслуживания CAN-приемника.
Микросхемы, поддерживающие CAN-протокол Микросхемы, которые поддерживают CAN-протокол, выпускаются различными поставщиками, такими как Philips, Motorola, Siemens, National Instruments и Intel.
Существуют следующие два типа микросхем. Встроенные - микросхемы, которые включают в себя CAN- контроллер и один из видов интегрированного микроконтроллера. Периферийные - микросхемы, которые содержат только CAN-контроллер. Кроме того, фирмами Philips и Texas Instruments выпускается ряд буферных микросхем, формирующих сигналы CAN-магистрали.
Применение в индустриальных приложениях В настоящее время СAN-протокол активно используется в промышленных сетях. Такие известные фирмы, как Hoheywell и Allan Bradley, разработали и поддерживают сетевые протоколы верхнего уровня SDS и DeviceNet, причем последний является открытым и на данный момент более 200 фирм выпускают и разрабатывают свои изделия в этом стандарте. Кроме того, достаточно известными в Европе являются стандарты сети верхнего уровня CanOpen, CAL (Германия) и CanKingdom (Швеция). Все эти сети используют CAN-протокол на физическом и транспортном уровнях.
Фирма Hilscher выпускает богатый набор плат с CAN-протоколами (CanOpen, DeviceNet, SDS) для распространенных системных шин типа ISA и PCI, для мезонинной шины PC/104, а также в виде OEM-модулей для тех изготовителей контроллеров, которые хотят встроить в свои изделия совместимость с CAN-протоколами, не затрачивая время и средства на собственные разработки. Ряд отечественных фирм также выпускает изделия с CAN-протоколом, в том числе в популярном формате MicroPC.
Дата добавления: 2014-01-05; Просмотров: 655; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |