Корзина
38 отзывов

ISO 15765-4 CAN

31.05.14

CAN (англ. Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ориентированный прежде всего на объединение в единую сеть различных исполнительных устройств и датчиков. Режим передачи — последовательный, широковещательный, пакетный.

CAN разработан компанией Robert Bosch GmbH в середине 1980-х и в настоящее время широко распространён в автомобильной промышленности, промышленной автоматизации, технологиях «умного дома» и многих других областях.

В 2000 году, когда все ведущие мировые производители осознали, что единые системы управления и диагностики автомобиля просто необходимы, был введен новый стандарт — EOBD (EURO OBD), основным отличием которого является закрепление протокола управления автомобильными подсистемами CAN, разработанного фирмой Bosch и реализованного на ряде моделей европейских и азиатских производителей. Но диагностический разъем OBD-II не изменился, поскольку в нем уже были зарезервированы контакты для реализации связи по интерфейсу CAN. Стандарт EOBD иногда называют европейским, а OBD-II — американским, хотя это не совсем корректно, так как EOBD представляет собой уже управляющий интерфейс. В американских автомобильных системах и сканерах до сих пор употребляется термин OBD-II, даже если сканер поддерживает диагностику и управление по CAN (поддержка интерфейса CAN обычно специально оговаривается). Напротив, утверждение, что система поддерживает стандарт EOBD, часто лишь означает, что поддерживается расширенный перечень параметров и кодов неисправностей, принятый в EOBD, но при этом совсем необязательно, что система должна работать по всем протоколам, заявленным в этом стандарте, и управляться по интерфейсу CAN.

ISO 15765-1, ISO 15765-2, ISO 15765-3, ISO 15765-4 — CAN bus (или ISO 15031-1, ISO 11898-2 и прочие для CAN ранних версий) — это самый быстрый протокол из имеющихся, который обеспечивает скорость до 1 Мбит/c.

Интерфейс CAN по протоколу ISO 15765-4 является наиболее прогрессивным, но он несовместим с более ранними реализациями CAN по ISO 15031-1, ISO 11898-2 и др.

В стандарте OBD-II, как мы уже отмечали, CAN теоретически предусматривался, но реально его никто не реализовывал (хотя соответствующие контакты на стандартном 16-контактном разъеме OBD-II были зарезервированы), а в EOBD он стал уже одним из основных рабочих стандартов обмена данными. Поэтому поддержка автомобилем или сканером OBD-II интерфейса CAN должна специально оговариваться (в американских сканерах и автомобилях для американского рынка название EOBD обычно не используется), но с 2008 года все легковые автомобили, продающиеся на территории США, поддерживают шину CAN.

CAN использует контакты 6 и 14.

Техническая реализация

Синхронная шина, с типом доступа Collision Resolution (CR), который в отличие от Collision Detect (CD) сетей (Ethernet — это CD) детерминировано (приоритетно) обеспечивает доступ на передачу сообщения, что особо ценно для промышленных сетей управления. Передача ведётся кадрами. Полезная информация в кадре состоит из идентификатора длиной 11 бит (стандартный формат) или 29 бит (расширенный формат, надмножество предыдущего) и поля данных длиной от 0 до 8 байт. Идентификатор говорит о содержимом пакета и служит для определения приоритета при попытке одновременной передачи несколькими сетевыми узлами.

Арбитраж доступа

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

Контроль ошибок

CAN имеет несколько механизмов контроля и предотвращения ошибок:

  • Контроль передачи: при передаче битовые уровни в сети сравниваются с передаваемыми битами.
  • Дополняющие биты (bit stuffing): после передачи пяти одинаковых битов подряд автоматически передаётся бит противоположного значения. Таким образом кодируются все поля кадров данных или запроса, кроме разграничителя контрольной суммы, промежутка подтверждения и EOF.
  • Контрольная сумма: передатчик вычисляет её и добавляет в передаваемый кадр, приёмник считает контрольную сумму принимаемого кадра в реальном времени (одновременно с передатчиком), сравнивает с суммой в самом кадре и в случае совпадения передаёт доминантный бит в промежутке подтверждения.
  • Контроль значений полей при приёме.

Разработчики оценивают вероятность невыявления ошибки передачи как 4,7×10-11.

Предельная длина сети

Приведённые выше методы контроля ошибок требуют, чтобы изменение бита при передаче успело распространиться по всей сети к моменту замера значения. Это ставит максимальную длину сети в обратную зависимость от скорости передачи: чем больше скорость, тем меньше длина. Например, для скорости в 1 Мбит/с предельная длина сети составит около 40 метров.

Преимущества и недостатки

Преимущества

  • Возможность работы в режиме жёсткого реального времени.
  • Простота реализации и минимальные затраты на использование.
  • Высокая устойчивость к помехам.
  • Арбитраж доступа к сети без потерь пропускной способности.
  • Надёжный контроль ошибок передачи и приёма.
  • Широкий диапазон скоростей работы.
  • Большое распространение технологии, наличие широкого ассортимента продуктов от различных поставщиков.

Недостатки

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

Техническая спецификация шины CAN доступна здесь. (английский язык)

Неполный список автомобилей с шиной CAN

Lada Granta, Largus, Priora (2011--), Kalina (2011--), Samara (2011--)

Audi A3 (2004-2009), A3 (2010--), A4 (2008--), A5, A6 (2004--), Q5, Q7, allroad (2006--), A8 (2003-2009), Audi TT (2006--), А8 (2010--)

Mercedes-Benz кузов 221, 216, 204, 212, 164, 251, 211, 219, 209, 169, 245, 463, 203, 171, 639, 906

BMW-1(E87, 81, 82, 88), BMW-3 (E90, 91, 92, 93), BMW-5 (E60, 61), BMW-6 (E63, 64), BMW-7 (F01, 02), BMW X1 (E84), BMW X5 (E70), BMW X6 (E71), BMW-7 (E65/66), BMW Гран Туризмо, BMW-5 (F10)

Volkswagen Touareg, Passat B6, Passat CC, Golf 5, Golf 6, Jetta (2006--), Golf Plus, Caddy (2004--), Touran, Tiguan, Multivan, Polo (2005-2009), Polo sedan(2010 - ), Scirocco, Crafter; Amarok (2010)

Skoda Octavia A5 (2005-2008), Octavia FL (2009--), Superb (2009--), Fabia (2008--), Roomster, Octavia Tour, Yeti

Opel Astra H, Astra J, Zafira B, Corsa D, Vectra C, Insignia, Antara

Ford Focus, C-MAX, KUGA, S-MAX, MONDEO (2007--), GALAXY (2007--), FIESTA (2009--), FUSION

Infiniti FX35, FX50, EX35, G35X, G37, M35, M45

Mazda 2, 3 (2009--), 6 (2008--)

Porsche Cayenne, Panamera

Mini Cooper (2009--)

Peugeot 207, 308, 407, 4007, Partner  ( 2009 — )

Citroen C3, С4, С5, С3 Picasso, С4 Picasso, Berlingo (2009--)

Land Rover Discovery 4, Range Rover (2010 —), Range Rover Sport (2010—); Freelander (2008--)

Lexus LX 570, RX (2009--), LS 460, GX 460

Seat Altea (2004--), Leon (2006--), Ibiza (2009- )

Cadillac Escalade (2007—), SRX, CTS

Hummer H2

Volvo S–60 (2005--), V–70 (2005-2008), V–70XC (2005-2007), XC–70 (2005-2007), S–80 (2005-2006), XC–90 (2005--), S–80 (2007--), XC–60, XC–70 (2008--),С–30, С–70, S-40 (2004--), V–50;

Renault Fluence, Koleos, Megane (2009--) Laguna (2008--)

ТОО "DIS-7"
Елена Курилова
+7
727
983-32-98
с 09 до 22 часов
+7
708
983-32-98
с 09 до 22 часов
+7
707
105-61-27
Елена Курилова
+7
777
374-71-93
Елена Курилова
050062КазахстанАлматыул.Утеген Батыра, д.76д, оф.224
РНН 600400123545, БИН 001040000031
Карта