logo search
Тса заочники / ЛекцииТСАDoc

3. Canbus

История этого протокола началась в начале 80-х годов. Технологии того уровня подошли к такому этапу, что возникла необходимость сбора и обработки результатов от множества датчиков, устанавливаемых в автомобилях, за короткие промежутки времени. Эту задачу можно было решить только при использовании сетевой структуры, объединяющей все компоненты и использующей для этой цели недорогую, последовательную сетевую структуру. По этой причине фирма BOSCH (Германия) разработала протокол "Control Area Network" (CAN), который был утвержден Международной организацией по стандартам в качестве стандарта ISO 11898. Этот стандарт был взят на вооружение несколькими фирмами-производителями кристаллов.

Протокол CAN описывает 1-ый и 2-ой уровень OSI-модели.

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

Системы на основе CANbus достаточно легко конфигурируются и обладают средствами централизованной диагностики.

CANbus - это последовательная шина, механизм работы которой описывается моделью децентрализованного контроля за доступом к шине, так называемой моделью CSMA/CM. Эта модель представляет собой модернизированный вариант модели CSMA/CD. Отличие заключается в механизме разрешения коллизий. В CANbus каждый блок данных содержит дополнительный 11-битовый идентификатор, который является, по сути, приоритетом данного сообщения. Назначение приоритетов может происходить следующим образом: один - для параметра скорости, другой - для частоты вращения коленчатого вала двигателя и т.п. Каждый узел- приемник в сети CANbus сам выбирает предназначенные для него сообщения. Возможные коллизии, связанные с одновременным запросом шины, разрешаются на основе приоритетности сообщений; право на работу с шиной получит тот узел, который передает сообщение с наивысшим приоритетом.

В каждом сообщении может быть передано от 0 до 8 бит данных. Большие блоки можно передавать за счет использования принципа сегментации.

Фирма BOSCH предоставила ряду компаний лицензионное право на выпуск микросхем для CANbus: IAM, Inicore, INTEL, Intermetall, Motorola, National Semiconductor, NEC, Philips, SGS-Thompson и Siemens. Сегодня доступны следующие микроконтроллеры:

Протокол CANbus закрывает 1-ый и 2-ой уровни OSI-модели. Сегодня на основе CANbus есть решения для 7-го уровня. Это протоколы промышленных сетей: