logo
Разработка датчика давления воздуха в контурах тормозной системы

1.2 Анализ протоколов обмена электронных систем, применяемых на автомобилях

1.2.1 Протокол CAN для автомобильных сетей передачи данных

Протокол CAN был разработан инженерами фирмы R.Bosch GmbH для применения на автомобилях [4]. Протокол соответствует международным стандартам ISO 11898 [5] и ISO 11519 [6], практически используется несколькими производителями электронного оборудования. Протокол CAN признан автомобильными производителями США и Европы, используется на современных легковых автомобилях, грузовиках, автобусах, сельскохозяйственном транспорте, в морском оборудовании, для автоматизации производства [7].

Протокол CAN поддерживает метод доступа CSMA/CD-A к сети с равноранговыми узлами. Пакет данных имеет размер не более 8 байт и передается по последовательной шине. 15-битовый циклический контроль избыточности обеспечивает высокий уровень целостности данных.

Используемый в настоящее время протокол CAN версии v2.0 состоит из двух частей: версия v2.0A со стандартным форматом кадра и v2.0B с расширенным форматом кадра. Версия v2.0A идентична предыдущей версии v 1.2 и использует 11-битовое поле идентификатора. В версии v2.0B ноле идентификатора -- 29 бит. Расширенный формат кадра необходим для совместимости с существующим коммуникационным протоколом J1850. Функции протокола CAN реализуются в микропроцессоре со встроенным контроллером CAN. Первыми на рынке появились контроллеры CAN с внешними драйверами для шины. В настоящее время производятся несколько типов CAN-контроллеров, которые можно разделить на три группы в зависимости от поддержки ими расширенного формата кадра:

- контроллеры v2.0A. Поддерживают только стандартный формат, не могут работать в сети, где передаются и кадры расширенного формата;

- контроллеры v2.0B, пассивные. Поддерживают только стандартный формат, но могут работать в сети, где передаются и кадры расширенного формата;

- контроллеры v2.0B, активные. Поддерживают операции с кадрами стандартного и расширенного форматов.

Контроллеры CAN классифицируются также как полные или базовые, в зависимости от организации буферизации данных.

Полный CAN-контроллер имеет некоторое количество (обычно 14) специализированных буферов для временного хранения сообщений. При инициализации CAN-контроллера можно сконфигурировать его, указать, какой кадр будет поступать в какой буфер.

1.2.2 Архитектура протокола CAN

В стандартах Международной организации стандартизации для протоколов CAN ISO 11898 (высокая скорость обмена) и ISO 11519 (низкая скорость обмена) регламентируется уровневая структура в соответствии со стандартами LAN (локальные сети) ISO8802-2 и 8802-3. Протокол CAN относится к двум нижним уровням модели ВОС, как показано на рисунке 1.10.

На физическом уровне определяются электрические характеристики соединителей, шинных адаптеров, двоичное кодирование, синхронизация. Физический уровень разделен на три подуровня:

Рисунок 1.10 - Уровневая архитектура CAN

1) MDI (medium dependent interface) -- подуровень интерфейса, зависимого от физического носителя (передающая среда);

2) РМА (physical medium attachment) -- подуровень подсоединения к физической среде;

3) PLS (physical signaling) -- сигналы на физическом уровне.

На канальном уровне определяется формат кадра, обнаружение и передача ошибок во время трансляции, автоматическая ретрансляция данных, фильтрация. Канальный уровень разделен на два подуровня:

1) MAC (medium access control) -- управление доступом к среде;

2) LLC (logic link control) -- управление логическим каналом. Физический уровень контролируется функцией супервизора «контроль шины», например, выявляются короткие замыкания или обрывы на линии.

Канальный уровень контролируется функцией супервизора «ограничение распространения последствий неисправности», например, различаются кратковременные сбои и долговременные неисправности.

1.2.3 Передающая среда и нижние подуровни протокола CAN

Протокол CAN главным образом предназначен для сетей с шинной топологией и электрическими проводами в качестве канала связи (передающей среды). Могут применяться и другие передающие среды, способные поддерживать состояния высокого/низкого уровней, что необходимо для осуществления побитового арбитража.

Международная организация стандартизации определила стандарт ISO 11519-2 для шин CAN со скоростью обмена до 125 Кбит/сек и ISO 11898 для скорости обмена выше 125 Кбит/сек. Эти стандарты различаются только спецификациями нижних подуровней MDI и РМА физического уровня протокола САК в вопросах подключения к передающей среде (шине).

Подуровни MDI и РМА иногда называют блоком MAU -- medium access unit (блоком доступа к среде передачи данных). На рисунке 1.11 показано подключение к шине CAN в соответствии с этими стандартами.

Скоростной канал связи образован двухпроводной линией (рисунок 1.11, а), к обоим концам которой подключены характеристические сопротивления для подавления отражений. Это дифференциальная линия с подавлением синфазных помех. За счет низкого характеристического сопротивления линия имеет хорошую помехоустойчивость, особенно если использована витая пара.

Медленный канал связи также выполнен двухпроводным (рисунок 1.11, б). Концы линии через сопротивления R = 2,2 кОм подключены к источникам напряжения различной величины. Преимущество такой линии заключается в некоторой информационной избыточности, т. к. данные, по сути, дублируются и передаются независимо по двум проводам. В случае повреждения одного провода сетевые адаптеры могут быть реконфигурированы для работы в однопроводной линии, помехозащищенность при этом ухудшится. За счет паразитной связи между проводами линия более чувствительна к искажениям и не может быть использована для высокоскоростного режима.

Рисунок 1.11 - Подключение к шине CAN

Рисунок 1.12 - Уровни напряжений в шине CAN

Подуровень РМА (подключение к физической среде) определяет характеристики шинных драйверов и приемников.

При этом линии шины CAN могут находиться в одном из двух состояний: доминирующего уровня (dominant) и недоминирующего уровня (recessive). Если один из узлов устанавливает шину в состояние доминирующего уровня, оно будет установлено, независимо от состояний остальных узлов. Эти состояния определяются дифференциальным напряжением между проводниками шины, называемыми CAN_H и CAN_L (рисунок 1.12). Величина дифференциального напряжения для состояния доминирующего уровня составляет 1,5...3 В, для состояния недоминирующего уровня 0,5...+0,05 В.

Характеристики шинных драйверов задаются стандартом ISO 11898, где указаны все электрические спецификации. Например, максимальное число подключаемых к шине узлов не должно превышать 30.

На рисунке 1.13 схематично показано подключение линейного драйвера к скоростной шине.

Рисунок 1.13 - Подключение драйвера к шине

Когда логический уровень сигнала на входе Тх равен «1», оба транзистора в выходном каскаде закрыты, и выход драйвера находится в высокоимпедансном состоянии. Шина находится в состоянии недоминирующего уровня, дифференциальное напряжение примерно равно нулю, напряжение смещения около 2,5 В.

При подаче сигнала «0» на вход Тх оба транзистора отпираются, дифференциальное напряжение становится равным около 2,5 В, шина переходит в состояние доминирующего уровня.

Наличие цепи смещающего напряжения гарантирует смену полярностей сигналов на входах компаратора «К» при переходе шины от одного состояния к другому.

На подуровне PLS реализуются двоичное кодирование и синхронизация, определяется время передачи бита.

Протокол CAN использует двоичное кодирование (NRZ-код), то есть во время передачи бита не может быть никаких переключений уровня, которые могли бы использоваться для синхронизации. Это предъявляет высокие требования к стабильности частоты генераторов (используются кварцевые). Приходится вводить разделительные сигналы в последовательности одноименных битов для облегчения синхронизации.

Время передачи одного бита схематично представлено на рисунке 1.14. В течение этого времени выполняются функции по управлению шиной, такие как синхронизация ЭБУ, компенсация запаздывания в линии, позиционирование момента опроса (стробирование).

Рисунок 1.14 - Время передачи одного бита

Длительность отдельных сегментов в квантах программируется времязадающей логикой адаптеров CAN. Длительность кванта связана с разрешающей способностью подуровня PLS.

Сегмент SYNC_SEG используется для синхронизации различных ЭБУ, подключенных к шине. Изменение уровня сигнала (например, с «О» на «1») предполагается в этом сегменте. Его длительность всегда равна одному кванту.

Сегмент PROP_SEG служит для компенсации временных задержек при распространении сигнала в линии и прохождении его через адаптеры.

Сегменты PHASE_SEG1 и PHASE_SEG2 компенсируют ошибки фазы, они могут быть удлинены или укорочены при ресинхронизации.

Момент опроса -- точка времени, когда состояние шины интерпретируется как значение соответствующего бита.

Синхронизация производится в момент перехода шины из состояния недоминирующего уровня в состояние доминирующего уровня. Этот переход всегда должен совершаться в течение сегмента SYNC_SEG. Для компенсации различных сбоев или задержки в линии используется сокращение длительности сегмента PHASE_SEG2 по отношению к номинальному значению или увеличение длительности сегмента PHASE_SEG1. Изменение длительности сегментов программируется в пределах 1...4 квантов, но не более значения PHASE_SEG1.

На рисунке 1.15 номинальные значения длительностей сегментов составляют: PROP_SEG -- 6 квантов, PHASE_SEG1 и PHASE_SEG2 по 7 квантов. При нулевой фазовой ошибке (е = 0) фронт сигнала поступает в течение сегмента SYNC_SEG без всякой компенсации длительности.

Рисунок 1.15 - Синхронизация передачи бита

При отрицательной фазовой ошибке (е < 0), при ее накоплении, фронт сигнала может прийти после стробирования. Для предотвращения этого сокращена длительность сегмента PHASE_SEG2 предыдущего бита с 7 до 6 квантов.

При положительной фазовой ошибке (е > 0) фронт сигнала может пройти до момента стробирования при ее накоплении. Для предотвращения этого увеличена длительность сегмента PHASE_SEG1 с 7 до 8 квантов.

На подуровне MAC осуществляется упаковка данных в кадры формата CAN с различными управляющими битами, сериализация, добавление разделительных битов, арбитраж, обнаружение ошибок и перегрузки, проверка подтверждений.

Передача информации в сети CAN осуществляется кадрами четырех форматов:

?кадры данных, служат для передачи информации от узла к узлу;

? кадры запроса, для запроса данных одним узлом у другого;

? кадры ошибки, передаются узлом, обнаружившим какую-либо ошибку;

? кадры перегрузки (переполнения), используются передатчиком для приостановки выдачи кадров в сеть.

Между кадрами вводится междукадровое пространство, и при передаче кадров используются пять процедур управления:

? вставка дополнительных битов для синхронизации;

? побитовый арбитраж;

? обнаружение ошибок;

? контроль цикличности избыточным кодом;

? сигнализация ошибок.

Кадр данных служит для передачи сообщений по шине и состоит из семи основных полей (таблица 1.2).

Таблица 1.2 - Кадр стандартного формата

Количество бит

Название поля

1

SOF

11

Идентификатор

1

Индикатор запроса

6

Управляющее поле

0...64

Данные

15

CRC

1

CRC-разделитель

1

Поле АСК

1

Разделитель АСК

7

Конец кадра

3

Межкадровое пространство

Стандартный формат начинается со стартового бита SOF (start of frame -- начало кадра). Далее следует арбитражное поле с 11-битовым идентификатором, затем индикатор запроса. Индикатор показывает, какой это кадр -- информационный или кадр запроса. В последнем случае в кадре отсутствует поле данных.

Управляющее поле содержит один бит идентификатора расширения, указывающий, расширенный это формат или стандартный; один бит зарезервирован за будущими возможными расширениями, оставшиеся четыре бита несут информацию о количестве байтов данных в кадре в поле данных.

В поле данных может быть от 0 до 8 байтов (64 бит).

За полем данных следует 15-битовое поле контроля циклически избыточным кодом (CRC), используемое для обнаружения ошибок, и разделитель CRC.

За разделителем CRC следует поле подтверждения АСК и разделитель АСК. Передатчик устанавливает бит АСК в состояние недоминирующего уровня («1»). Этот бит переписывается в состояние доминирующего уровня («О») тем приемником, который принял сообщение правильно. Передающий узел этим извещается, что хотя бы одним узлом его данные приняты. Сообщение подтверждается приемником независимо от того, ему оно адресовано или нет.

Поле конца кадра является концом сообщения. Между двумя соседними кадрами обязательно вставляется поле разделителя. Если это последний кадр в сообщении, шина переходит в режим ожидания.

В таблице 1.3 представлена начальная часть кадра данных расширенного формата с 29-битовым идентификатором. Биты индикатора запроса и индикатора расширенного формата находятся в состоянии недоминирующего уровня. Это значит, что кадр стандартного формата имеет более высокий приоритет по отношению к кадру расширенного формата при одинаковом содержании первых 11-битов поля идентификатора

Таблица 1.3 - Начальная часть кадра данных расширенного формата

Количество бит

Название поля

1

SOF

11

Идентификатор

1

Дополнительный бит запроса

1

Признак расширения идентификатора

18

Расширение идентификатора

1

Индикатор запроса

6

Управляющее поле

0..64

Данные

Кадр запроса отличается от кадра данных отсутствием поля данных (таблица 1.4). Бит поля запроса находится в состоянии недоминирующего уровня.

Кадр запроса используется для запроса данных одним узлом от другого. В ответ узел-адресат посылает кадр данных с таким же идентификатором.

Таблица 1.4 - Кадр запроса

Количество бит

Название поля

1

SOF

11

Идентификатор

1,недоминантный

Индикатор запроса

6

Управляющее поле

0...64

Данные

15

CRC

1

CRC-разделитель

1

Поле АСК

1

Разделитель АСК

7

Конец кадра

3

Межкадровое пространство

Кадр ошибки передается узлом, обнаружившим какую-либо неисправность. Кадр ошибки поступает на все узлы и состоит из двух полей -- поля флага ошибки и поля разделителя. Флаг ошибки может быть активным или пассивным. Активный флаг состоит из шести последовательных битов в состоянии доминирующего уровня (рисунок 1.16), пассивный -- из шести битов недоминирующего уровня. Разделитель ошибок состоит из восьми битов в состоянии недоминирующего уровня.

Рисунок 1.16 - Кадр ошибки

После обнаружения флага ошибки узлы начинают выдавать на шину биты недоминирующего уровня, формируя разделитель. При обнаружении ошибки кадр ошибки может быть послан поверх других данных. Кадр перегрузки (переполнения) посылается на шину подуровнями MAC или LLC при обнаружении перегрузки или некоторых ошибок. При получении кадра перегрузки узел задерживает передачу очередного кадра данных на шину, давая приемнику время выполнить его задание.

Рисунок 1.17 - Кадр перегрузки

Кадр перегрузки (рисунок 1.17) содержит два поля -- флаг перегрузки и разделитель. По структуре кадр перегрузки совпадает с кадром ошибки, но отличается временем передачи. Кадр ошибки передается немедленно после ее обнаружения одним из узлов, а кадр перегрузки передается после окончания текущего кадра, игнорируя междукадровое пространство.

Появление кадра ошибки в современных сетях CAN -- событие маловероятное. Эта опция сохранена для совместимости с более медленными CAN -- контроллерами прежних разработок.

На подуровне MAC между окончанием предыдущего и началом последующего кадра обязательно проходит некоторое время, которое называется междукадровым пространством. Перед кадрами ошибок и перегрузки междукадрового пространства нет.

Пространство между кадрами может содержать поля: «междукадровое пространство», «холостой ход шины», «задержка передачи» ( рисунок 1.18). Для узлов в активном режиме междукадровое пространство содержит паузу и холостой ход. Если узел находится в пассивном режиме и является передатчиком последнего кадра по мультиплексной шине данных, он добавляет 8 бит недоминирующего уровня («задержка передачи») в междукадровое пространство. Если другой узел начнет передачу данных в это время, то узел в режиме пассивной ошибки станет приемником следующего кадра, вместо того чтобы продолжить передачу. В этом случае узел в режиме пассивной ошибки присвоит всем передаваемым им кадрам более низкий приоритет, чем у кадров, передаваемых узлами в режиме активной ошибки.

Рисунок 1.18 - Междукадровое пространство

В протоколе CAN используется NRZ-код (non-return-to-zero). При этом эффективно используется частотная полоса линии связи, но если в последовательности много битов одного значения, возможно нарушение синхронизации. Для предотвращения этого в последовательность, состоящую из 5 и более одинаковых битов, вставляются дополнительные синхронизирующие биты (рисунок 1.19). В приемнике эти вспомогательные биты автоматически убираются.

Кадр всегда передается начиная со стартового бита (SOF). В пределах ноля первыми идут биты, несущие наиболее важную информацию.

Побитовый арбитраж является особенностью протокола CAN.

Мультиплексная система, подчиняющаяся CAN-протоколу, является равно-ранговой. Любой узел имеет право на доступ к шине, когда она свободна. Признаком этого является обнаружение узлом междукадрового пространства.

Рисунок 1.19 - Введение дополнительных битов для синхронизации

Приоритет сообщения определяется 11-битовым идентификатором и следующим за ним битом индикатора запроса. Идентификатор, содержащий меньшее двоичное число, имеет более высокий приоритет. Приоритеты устанавливаются за различными событиями на этапе проектирования и не могут быть изменены динамически. Конфликт при попытке доступа нескольких узлов к шине разрешается побитовым арбитражем идентификаторов кадров, передаваемых конфликтующими узлами.

На рисунке 1.20 показаны три узла, пытающиеся одновременно получить доступ к сети CAN. Для первого узла идентификатор 0111111..., для второго -- 0100110..., для третьего -- 0100111... Первые две цифры в идентификаторах совпадают, все три узла продолжают передавать информацию (в данном случае свои идентификаторы) на шину до прихода третьей цифры, при этом шина будет установлена в доминирующее состояние «О». Далее узел 1 прекратит передачу, так как передаваемая им цифра недо-минирующего уровня «1» отличается от пулевого состояния шины. Узлы 2 и 3 продолжат передачу до седьмого бита. В этот момент времени, передаваемый узлом 3 бит «1» не совпадает с состоянием шины «О», и узел 3 отключится, передачу продолжит только узел 2.

Рисунок 1.20 - Побитовый арбитраж

При таком побитовом арбитраже сохраняется первая часть сообщения и наиболее важная информация с более высоким приоритетом передается без перерыва, «проигравшие» узлы автоматически становятся приемниками для сообщений с более высокими приоритетами. При побитовом арбитраже даже при сильной загрузке коммуникационной шины и невозможности отправить все сообщения в данное время отправляются наиболее важные. Неразрешимые конфликты могут возникнуть на шине, если в кадрах запроса совпадают идентификаторы, но указано разное число битов в требуемых данных. Для избежания конфликтов в пределах системы эти числа должны быть одинаковыми.

Протокол CAN, в отличие от других, не использует квитирование сообщений. Вместо этого CAN сигнализирует об обнаруженных ошибках. В протоколе имеется пять способов обнаружения ошибок:

? контроль циклически избыточным кодом (CRC). Передатчик добавляет в кадр дополнительные биты в поле CRC, используя образующий полином и содержимое кадра. На принимающей стороне определяется код CRC и сравнивается с переданным. Отсутствие совпадения определяется как ошибка CRC;

? проверка кадра. Проверяются форматы полей кадра. Обнаруженные ошибки называются ошибками кадра;

? определение ошибки АСК. Приемник, получивший информацию, устанавливает бит АСК в доминантное состояние. Передатчик, не получивший подтверждения в такой форме, уведомляется об ошибке в кадре или отсутствии приемников.

? мониторинг шины. Узел может контролировать собственное сообщение при передаче и может обнаружить несоответствие между тем, что он передает, и тем, что приходит к приемнику. Исключением является посылка недоминантных битов при арбитраже или бита АСК. Это позволяет отличать глобальные ошибки от локальных ошибок передатчика;

? определение ошибки при вводе дополнительных битов синхронизации. Ошибка определяется при получении приемником шести одинаковых последовательных битов.

Первые три из перечисленных способов реализуются на уровне сообщения (кадра), два последних -- на битовом уровне.

В протоколе CAN применяется контроль циклически избыточным кодом (CRC), для чего используется полином х15 + х14 + х10 + х8 + х7 + х4 + х3 + 1, генерирующий двоичную псевдослучайную последовательность максимальной длины.

Аппаратно или программно организуется сдвигающий 16-разрядный регистр с обратными связями через схемы «исключающее ИЛИ» (сумма по модулю два) в соответствии с коэффициентами образующего полинома (рисунок 1.21). Регистры на стороне приемника и передатчика исходно устанавливаются в одинаковые состояния. Через регистр проходят биты сообщения, начиная со старших. После этого содержимое регистра становится циклически избыточным кодом (CRC). При отсутствии ошибок коды приемника и передатчика совпадают. При ошибке бит АСК остается недоминантным.

Рисунок 1.21 - Схема включения регистра

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

При обнаружении ошибки CRC, кадр ошибки начинает передаваться после разделителя CRC. Для других видов ошибок кадр ошибки начинает передаваться со следующего бита после обнаружения ошибки.

После прерывания ошибочного сообщения передатчик пытается его повторить, как только шина освободится.

Неисправные узлы могли бы заблокировать всю шину своими кадрами ошибок, но протокол CAN имеет средства для различения случайных и повторяющихся (постоянных) ошибок, локальных и глобальных. Для этого делается статистическая оценка поведения узла по числу кадров в ошибочных ситуациях и постоянно неисправный узел может быть выключен, чтобы сохранить работоспособность шины в целом. В некоторых системах сигнализация ошибок используется для записи кодов ошибок в память бортовой диагностики.

Подуровень LLC соответствует верхней части канального уровня модели ВОС. Здесь решаются вопросы независимо от способов доступа к среде, такие как: решение о принятии сообщения узлом, определение состояния перегрузки, повторение передачи и т. д.

Взаимодействие между подуровнем LLC и пользователем осуществляется с применением двух типов кадров: кадра данных LLC и кадра запроса LLC (рисунок 1.22).

Рисунок 1.22 - Формы кадров подуровня LLC

В поле идентификатора содержится 11 бит. Семь наиболее значимых битов не могут быть одновременно в состоянии «1».

В поле DLC (data length code) содержится 4 бита. Здесь указывается размерность поля данных в байтах. Допустимыми значениями являются 0--8, комбинации цифр 9 и 5 запрещены.

В поле данных может быть до 8 байт, в соответствии со значением DLC. Кадр запроса идентичен кадру данных, но не содержит поля данных. Поле DLC должно содержать число байтов данных в соответствии с идентификатором.

Решение о принятии сообщения узлом реализуется следующим способом. При необходимости послать сообщение узел передает данные и идентификатор своему шинному драйверу CAN. Здесь сообщение форматируется в кадры и передается на шину драйвером, когда шина свободна или в соответствии с приоритетом информации. Все другие узлы шипы становятся приемниками этого сообщения. Каждый узел определяет -- ему предназначена эта информация или нет. Если «да», информация принимается, если «нет» -- игнорируется. Процедуру такой фильтрации может выполнить и ЭБУ, но для разгрузки ЭБУ в современных протоколах CAN для мультиплексных систем определение назначения сообщения возложено на адаптеры CAN.

Извещение о перегрузке передается в шину CAN, когда внутренние условия приемника требуют задержки перед принятием следующего кадра. Кадр перегрузки инициируется подуровнем LLC.

В результате арбитража передатчик может не передать свое сообщение на шину. Подуровень LLC инициирует ретрансляцию (повторение) данных, пока они не будут отосланы адресату. Доступ передающего узла к шине может быть заблокирован другими сообщениями с более высокими приоритетами. Как должна отрабатываться такая ситуация, решается соответствующим приложением.

Ограничение распространения ошибок

Наиболее важными задачами при ограничении распространения ошибок является:

- различение временных и постоянных отказов;

- отключение неисправных узлов от шины.

Для этого используются счетчики отказов узла, один для режима передачи, другой для приема. При обнаружении ошибки содержимое соответствующего счетчика увеличивается на число в диапазоне 1...8 в зависимости от типа ошибки. После успешной передачи или приема значение в соответствующем счетчике уменьшается на единицу.

Содержимое счетчиков соответствует относительной частоте появления отказов в предыстории. Считается, что узел вышел из строя, если в среднем одно из восьми сообщений передается (принимается) с ошибкой.

Функционирование узлов модифицируется в зависимости от содержимого счетчиков. Узлы могут находиться в одном из трех состояний:

? состояние активной отработки ошибок (error active). Это нормальный режим работы узла. При обнаружении отклонений узел выдает на шину кадр активной ошибки;

? состояние пассивной отработки ошибок (error passive). Узел переключается в это состояние, когда содержимое одного из счетчиков превысит 127. При обнаружении отклонений узел посылает по шине кадр пассивной ошибки;

? отключение от шины (bus off). В этот режим узел попадает, если содержимое счетчика превысило 255. После отключения узел на работу шины уже не влияет. Узлу может быть разрешено вернуться в активное со стояние после инициализации от протокола более высокого уровня (Normal_Mode_Request) и прохода по шине 128 последовательностей из 11 недоминантных битов.

В мультиплексных системах с высокой скоростью обмена данными топология шины должна быть максимально приближена к линейной для уменьшения отражений в кабеле. Ответвления от шины до узлов должны быть как можно более короткими.

Для уменьшения стоячих волн точки подключения узлов к шине не должны располагаться на одинаковом расстоянии друг от друга, отводы должны иметь различную длину. Например, согласно стандарту SAE J1939/11, для скорости обмена 250 Кбит/сек, максимальная длина отвода может быть 1 метр, минимальное расстояние между точками подключения узлов к шине -- 0,1 метра.

Во время эксплуатации могут появиться различные неисправности шины. Некоторые из них показаны на рисунке 1.23. Здесь приведено описание этих неисправностей и их последствий.

Рисунок 1.23 - Неисправности шины

1) Обрыв линии CAN_H. Сеть разбивается на две, не связанные друг с другом подсети. Обмен данными между узлами различных подсетей невозможен. В пределах одной подсети обмен сохраняется, но с худшим соотношением сигнал/шум.

2) Обрыв линии CAN_L. Аналогично случаю 1.

3) Замыкание линии CANH на напряжение источника питания (аккумулятор). Обмен данными обычно невозможен.

4) Замыкание линии CAN_L на массу. Обмен данными сохраняется, так как напряжение в линии остается в допустимых пределах, но с худшим соотношением сигнал/шум и большим паразитным излучением.

5) Замыкание линии на массу. Обмен данными невозможен.

6) Замыкание линии CAN_L на напряжение источника питания (аккумулятор). Обмен данными обычно невозможен.

7) Замыкание линий CAN_H и CAN_L между собой. Обмен данными невозможен.

8) Разрыв обеих линий в одном месте. Аналогично случаю 1.

9) Отключение концевого резистора. Обмен данными возможен, но с худшим соотношением сигнал/шум за счет увеличения стоячих волн.

10) Обрыв соединителя от узла до линии CAN_H. Данный узел не может участвовать в работе сети.

11) Обрыв соединителя от узла до CAN_L линии. Данный узел не может участвовать в работе сети.

Из сказанного ясно, что после появления одних неисправностей процесс обмена данными по шине становится невозможным, после появления других -- обмен возможен, но с худшим соотношением сигнал/шум.

Здесь не рассмотрено влияние неисправностей на работу шины CAN с низкой скоростью обмена. Эти шины способны сохранять работоспособность после некоторых неисправностей, если шинные драйверы поддерживают однопроводной режим работы. Соотношение сигнал/шум при этом ухудшается.

Для оптимальной работы мультиплексных CAN-систем ЭБУ должны быть защищены от внешних электромагнитных помех. Электромагнитное излучение самой шины должно сводиться к минимуму.

Общие требования следующие:

- электрическое поле напряженностью 200 В/м в непосредственной близости от автомобиля не должно вызывать сбоев в работе автомобильных электронных систем;

- напряжение на передающей автомобильной антенне должно быть менее 1 мкВ в диапазоне частот 20... 1000 МГц.

Иногда в мультиплексных системах уменьшают скорость нарастания фронтов сигналов. Это приводит к некоторому уменьшению паразитного электромагнитного излучения. С другой стороны, уменьшение крутизны фронтов вызывает потерю скорости передачи, уровень сигнала на шине более продолжительно будет находиться в неопределенном состоянии между 0 и 1, что может дать, наоборот, увеличение уровня излучаемых шумов. Для скоростных мультиплексных систем уменьшение крутизны фронтов вряд ли целесообразно.

К надежности мультиплексных систем в автомобиле предъявляются высокие требования, автомобиль является источником повышенной опасности и должен работать надежно в течение всего срока эксплуатации.

Современные мультиплексные системы таким требованиям соответствуют. Например, шина CAN, работающая со скоростью передачи 1 Мбит/сек при средней загрузке шины 50%, средней длине сообщения 80 бит, за полный срок эксплуатации 4000 часов пропустит 9 х 1010 сообщений. Статистическая оценка для числа неопознанных неправильных сообщений за время эксплуатации составит менее 10-2.