Пятница, 29 Март 2024

CAN

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

SAE разделяет автомобильные сети на три класса — А, В и С, отличающиеся скоростью передачи данных и областями применения. Причем к сетям класса С предъявляются особо жесткие требования, поскольку они по одному каналу связи обслуживают наиболее ответственные системы автомобиля, а передаваемые по ним сообщения могут быть как периодическими, так и случайными. Такие сети должны быть не только надежными, но и обеспечивать возможность расстановки приоритетов различным сообщениям, сигнализировать об ошибках в передаче управляющих сигналов, иметь скорость реакции на важное сообщение определенной длительности, быть защищенными от внешних воздействий.

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

Физически CAN представляет собой последовательную асинхронную шину, данные которой передаются или по витой паре, или по оптоволокну, или по радиоканалу. Шина — мультимастерная, т. е. управлять ею могут сразу несколько устройств. Теоретически число подсоединяемых к ней устройств не отраничено. Скорость передачи данных задается программно (не более 1 Мбит/с).

В настоящее время действующей спецификацией для протокола CAN служит "CAN Soecjfication version 2,0", состоящая из двух частей — А и В, первая из них описывает обмен данными по сети с использованием 11-битного идентификатора, а вторая — 29-битного. И если узел CAN поддерживает обмен данными только с использованием 11-битного идентификатора, не выдавая при этом ошибки на обмен данными с использованием 29-битного идентификатора, то его обозначают "CAN2.0A Active, CAN2.0В Passive"; если с использованием и 11 -битного, и 29-битного идентификаторов, то "CAN2.0B Active".

Существуют также и узлы, которые поддерживают обмен данными с использованием только 11-битного идентификатора, а при обнаружении в сети данных с 29-битным идентификатором выдают ошибку. Но на автомобилях устанавливают, само собой, только согласованные системы. Они работают в двух сетях, имеющих разные (250 и 125 Кбит/с) скорости передачи данных. Первые обслуживают основные системы управления (двигатель, автоматическая коробка передач, АБС и т. д.), вторые — системы вспомогательные (стеклоподъемники, освещение и пр.).

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

Протокол CAN обладает исключительно развитой системой обнаружения и сигнализации ошибок, включающей поразрядный контроль, прямое заполнение битового потока, проверку пакета сообщений CRC-полиномом, контроль формы пакета сообщений, подтверждение верного приема пакета данных. В итоге общая вероятность необнаружения ошибки не превышает 4,7 • 10-11. Кроме того, имеющаяся система арбитража протокола CAN исключает потерю информации и времени при "столкновениях" на шине.

Как известно, возможны два основных способа работы протокола — по событиям и временным меткам. В CAN реализован именно первый способ. Однако ЕС одновременно финансировал и программу исследования по второму способу — коммуникационному протоколу для высоконадежных приложений ТТР ("временно-пусковой" протокол). Над ним работали "ДаймлерКрайслер", "Бритиш Аэропак", ФИАТ, "Форд", "Марелли", "Бош", "Вольво" и Венский технический университет. В итоге была разработана архитектура ТТА, которая признана эффективной для критичных по безопасности систем (автомобильных, железнодорожных, авиационных).

Архитектуры систем на основе протоколов ТТР и CAN, в общем-то, сходны. Обе системы распадаются на ряд подсистем (кластеров), т. е. распределенных компьютерных систем, и наборы узлов, объединенных последовательным каналом. Для выполнения функций, которые невозможно реализовать на одном узле (таких, как точная координация работы двигателя, тормозов и др.), узлы обмениваются сообщениями через последовательный коммуникационный канал.

Каждый узел, в свою очередь, состоит из трех элементов — компьютера, коммуникационного контроллера и подсистемы ввода—вывода для связи с датчиками и элементами управления. Все эти элементы связаны между собой двумя интерфейсами — коммуникационным интерфейсом сети (CNI) между компьютером и коммуникационным контроллером и управляемым интерфейсом объекта (COI) между компьютером и подсистемой ввода—вывода процесса.

Компьютер узла содержит ЦПУ, память, часы реального времени и собственную операционную систему, а также прикладное программное обеспечение. Он принимает и передает данные от и в CNI и COI, исполняет приложения реального времени в заданные временные интервалы.