Изменение температуры кондиционера Ford Fusion при помощи команд через шину CAN.
Автор: Ariel Nuñez
Изменение температуры кондиционера Ford Fusion при помощи команд через шину CAN.
Рисунок 1: Как при помощи приложения управлять ключевыми функциями автомобиля?
Недавно я вместе со своими друзьями из компании Voyage работал над реализацией программного управления системой кондиционирования в Ford Fusion. На данный момент Voyage занимается разработкой бюджетных самоуправляемых автомобилей. Конечная цель: чтобы каждый смог вызвать автомобиль к своей входной двери и безопасно путешествовать туда, куда вздумается. В компании Voyage считают крайне важной возможностью предоставление доступа к ключевым функциям автомобиля с заднего кресла, поскольку не за горами тот день, когда работа водителя будет полностью автоматизирована.
Зачем нужна шина CAN
Современные автомобили используют множество систем управления, которые во многих случаях функционируют подобно микро-службам в веб-разработке. Например, подушки безопасности, тормозные системы, регулирование скорости движения (круиз контроль), электроусилитель руля, аудиосистемы, управление окнами и дверями, подстройка стекл, системы зарядки для электрических автомобилей и т. д. Эти системы должны уметь осуществлять коммуникацию и считывать параметры друг друга. В 1983 в компании Bosch началась разработка шины CAN (Controller Area Network; Локальная сеть контролеров) для решения этой сложной задачи.
Можно сказать, что шина CAN представляет собой простую сеть, где каждая система автомобиля может считывать и отсылать команды. Эта шина интегрируется все сложные компоненты элегантным образом, что дает возможность реализовать всеми любимые функции автомобиля, которыми мы пользуемся.
Рисунок 2: Впервые шина CAN стала использоваться в 1988 году в БМВ 8 серии
Самоуправляемые автомобили и шина CAN
Поскольку интерес к разработке самоуправляемых автомобилей серьезно вырос, соответственно, словосочетание «шина CAN» также становится популярным. Почему? Большинство компаний, создающих самоуправляемых автомобилей, не занимаются производством с нуля, а пытаются научиться программно управлять машинами после выхода с конвейера фабрики.
Понимание внутреннего устройства шины CAN, используемой в автомобиле, позволяет инженеру формировать команды при помощи программного обеспечения. Самые нужные команды, как вы можете догадаться, связаны с управлением рулем, ускорением и торможением.
Рисунок 3: Введение в LIDAR (ключевой сенсор самоуправляемого автомобиля)
При помощи сенсоров наподобие LIDAR (light detecting and ranging; оптическая локационная система) машина способна смотреть на мир как суперчеловек. Затем компьютер внутри автомобиля на базе полученной информации принимает решения и посылается команды в шину CAN для управления рулем, ускорение и торможением.
Не каждый автомобиль способен стать самоуправляемым. И по некоторым причинам компания Voyage выбрала модель Ford Fusion (подробнее о причинах можно почитать в этой статье).
Исследование шины CAN в Ford Fusion
Перед началом исследования систем кондиционирования воздуха в Ford Fusion я открыл мою любимую книгу The Car Hacker’s Handbook. Перед погружением в суть вопроса заглянем в Главу 2, где описываются три важные концепции: протоколы шины, шина CAN и CAN-фреймы.
Шина CAN
Шина CAN начала использоваться в американских легковых машинах и небольших грузовиках с 1994 года и с 2008 года в обязательном порядке (в европейских автомобилях с 2001 года). В этой шине предусмотрено два провода: CAN high (CANH) и CAN low (CANL). Шина CAN использует дифференциальный сигналинг, суть которого заключается в том, что при поступлении сигнала на одном проводе вольтаж повышается, а на другом понижается на одну и ту же величину. Дифференциальный сигналинг используется в средах, которые должны быть малочувствительны к шуму, например, в автомобильных системах или при производстве.
Рисунок 4: Необработанный сигнал шины CAN, отображаемый на осциллографе
С другой стороны, пакеты, передаваемые по шине CAN, не стандартизированы. Каждый пакет содержит 4 ключевых элемента:
- АрбитражныйID (ArbitrationID) представляет собой широковещательно сообщение, идентифицирующее устройство, которое пытается начать коммуникацию. Любое устройство может отсылать несколько арбитражных ID. Если в единицу времени по шине отсылаются два CAN-пакета, пропускается тот, у которого ниже арбитражный ID.
- Расширение идентификатора (Identifierextension;IDE) – в случае с шиной CAN стандартной конфигурации этот бит всегда равен 0.
- Код длины данных (Datalengthcode;DLC) определяет размер данных, который варьируется от 0 до 8 байт.
- Данные. Максимальный размер данных, переносимых стандартной шиной CAN, может быть до 8 байт. В некоторых системах происходит принудительное дополнение пакета до размера 8 байт.
Читайте также: Соотношение размер диска размер шин
Видео:CAN шина👏 Как это работаетСкачать
Рисунок 5: Формат стандартных CAN-пакетов
CAN фреймы
Для того чтобы включить / выключить климатическую систему мы должны найти нужную шину CAN (в автомобиле таких шин несколько). В Ford Fusion есть как минимум 4 задокументированные шины. 3 шины работают на высокой скорости 500 кбит/с (High Speed CAN; HS) и 1 шина на средней скорости 125 кбит/с (Medium Speed CAN; MS).
К порту OBD-II подключено две высокоскоростные шины HS1 и HS2, однако там стоит защита, которая не позволяет подделывать команды. Вместе с Аланом из компании Voyage мы вынули порт OBD-II и нашли места соединения со всеми шинами (HS1, HS2, HS3 и MS). На задней стенке OBD-II все шины подключались к модулю шлюза (Gateway Module).
Рисунок 6: Homer – первое самоуправляемое такси от компании Voyage
Поскольку климатическая система управляется через медиа-интерфейс (SYNC), нам придется отсылать команды через среднескоростную шину (MS).
Чтение и запись CAN-пакетов осуществляется при помощи драйвера и сетевого стека SocketCAN, созданного исследовательским отделом компании Volkswagen для ядра в Linux.
Мы будем подсоединять три провода от машины (GND, MSCANH, MSCANL) к переходнику Kvaser Leaf Light HSv2 (можно купить за 300$ на Амазоне) или к CANable (продается за 25$ на Tindie) и загружать на компьютере со свежим Linux-ядром шину CAN в качестве сетевого устройства.
После загрузки запускаем команду candump can0 и начинаем отслеживать трафик:
Несмотря на то, что вышеуказанная информация эквивалентна амплитуде звукового сигнала, довольно трудно понять, что происходит, и обнаружить какие-либо закономерности. Нам нужно нечто похожее на частотный анализатор, и такой эквивалент есть в виде утилиты cansniffer. Cansniffer показывает список идентификаторов и позволяет отслеживать изменения в секции данных внутри CAN-фрейма. По мере того как мы будем изучать определенные идентификаторы, мы можем установить фильтр нужных ID, которые имеют отношение к нашей задаче.
На рисунке ниже показан пример информации, снятой при помощи cansniffer с шины MS. Мы отфильтровали все, что имеет отношение к идентификаторам 355, 356 и 358. После нажатия и отпускания кнопок, связанных с подстройкой температуры, в самом конце появляется значение 001C00000000.
Рисунок 7: Информация с шины MS, снятая при помощи утилиты cansniffer
Далее необходимо объединить функционал для управления климатической системой с компьютером, работающим внутри автомобиля. Компьютер работает на операционной системе ROS (Robot Operating System; Операционная система для роботов). Поскольку мы используем SocketCAN, то модуль socketcan_bridge серьезно упрощает задачу по преобразованию CAN-фрейма в блок информации, понимаемый операционной системой ROS.
Ниже показан пример алгоритма декодирования:
Читайте также: Кто делает шины sava
Полученные данные хранятся в CelsiusReport.msg:
После нажатия всех нужных кнопок в машине, у нас появляется следующий список:
Затем эти строки отсылаются на узел под управлением операционной системы ROS и далее происходит трансляция в коды, понимаемые автомобилем:
Заключение
Теперь мы можем создавать и посылать те же самые коды в шину CAN, которые формируются при нажатии физических кнопок, связанных с повышением и понижением температуры, что дает возможность удаленного изменения температуры автомобиля при помощи приложения, когда мы находимся на заднем сидении автомобиля.
Рисунок 8: Удаленное управление климатической системой автомобиля
Это лишь небольшой шаг при создании самоуправляемого такси вместе со специалистами компании Voyage. Я получил массу положительных эмоций во время работы над этим проектом. Если вы тоже интересуетесь этой темой, можете ознакомиться со списком вакансий в компании Voyage.
Видео:Кан шина, что это? Поймет школьник! принцип работыСкачать
Особенности установки CAN-модуля FALCON CAN-02 на автомобиль Ford Focus
Большинство современных автомобилей оснащено цифровыми шинами CAN BUS. Для того чтобы упростить процесс установки аналоговых охранных систем на такие автомобили, компанией «Мега-Ф» был создан универсальный модуль согласования с цифровой шиной автомобиля FALCON CAN-02 (CAN-модуль).
В его памяти размещается транслятор команд цифровой шины автомобиля, на который планируется монтаж охранной системы.
Рис. 1: модуль FALCON CAN-02
В этой статье мы на конкретном примере расскажем об особенностях установки CAN-модуля FALCON CAN-02 (рис. 1) на автомобиль Ford Focus. Главные достоинства применений модуля — простота и оперативность монтажа, а также корректность инсталляции охранной системы.
Модуль FALCON CAN-02 — это своеобразный преобразователь. Он «переводит» цифровые сигналы автомобильной шины CAN BUS в аналоговые сигналы, понятные охранной системе, и наоборот, аналоговые сигналы от автосигнализации в цифровые, понятные для CAN-шины автомобиля.
Благодаря такому решению мы имеем возможность, как считывать нужные сигналы о состоянии автомобиля, так и получить доступ к управлению необходимыми электронными узлами.
Модуль согласования с цифровой шиной автомобиля FALCON CAN-02 оснащен большим количеством информационных входов и выходов (28 контактов).
Это позволяет более полно использовать функционал охранных систем при их установке на различные марки и модели автомобилей. Работа модуля не влияет на функционирование штатного электрооборудования автомобиля. Кроме того, адаптер потребляет низкий ток в дежурном режиме (не более 8 мА), это не препятствует переходу автомобильных систем в режим энергосбережения.
Видео:Включение рулевой рейки с ЭУР командами по CAN шине. EPS motor switching on by CAN bus. Ford Focus 3Скачать
Для упрощения подключения к охранной системе, особенно с функцией автоматического запуска двигателя, модуль FALCON CAN-02 имеет 4 положительных выхода, определяющих статус: работающего двигателя, включенного зажигания, нажатой педали тормоза, включенных аксессуаров. Все выходы и входы адаптера оснащены защитой от перегрузок по току, замыканий на «массу», на +12 Вольт и замыкания линий CAN друг на друга.
Рис. 2: подключение питания CAN-модуля
FALCON CAN-02 имеет два разъема. Разъем CN 1 обеспечивает подключение к CAN-шине автомобиля и подачу питания на CAN-модуль (рис. 2). Разъем CN 2 обеспечивает подключение к охранной системе, имеет как коммутационные входы, так и выходы.
Читайте также: Зимние шины диски туле
Чтобы подсоединить модуль к автомобилю необходимо подключить «массу», питание +12 Вольт и два соответствующих провода к CAN-шине автомобиля.
Рис. 3: подключение FALCON CAN-02 к цифровой шине CAN BUS автомобиля Ford Focus
Как правило, CAN-шина представляет собой витую пару (два скрученных между собой провода). На автомо¬биле Ford Focus кузовная CAN-шина — это серый и синий провода (рис. 3).
Данные провода проходят практически по всему автомобилю. Установку и подключение модуля удобно производить в месте расположения монтажного блока предохранителей (впереди справа, под перчаточным ящиком рядом с сиденьем переднего пассажира), в простонародье — «бардачком».
Видео:победа CAN шины Ф Фокус 2 ошибка U1900 2510Скачать
Серый провод — это CAN-HIGH (следует подключить к зеленому проводу 5-контактного разъема CN 1 модуля FALCON CAN-02), синий — CAN-LOW (следует подключить к синему проводу 5-контактного разъема CN 1 модуля FALCON CAN-02) — см. рис. 4.
Рис. 4: подключение разъема CN 1
CAN-модуль, процедур «обучения» или «прописывания» не требует. После выполнения подключения вышеописанных проводов адаптер уже готов к работе. Далее следует подключить FALCON CAN-02 к охранной системе при помощи разъема CN 2, используя необходимые входы и выходы (рис. 5).
Рис. 5: подключение разъема CN 2
Из числа входных сигналов адаптера подключаются сигналы управления центральным замком (желтый и оранжевый провода, соответственно на открытие и закрытие замков), управление функцией «Комфорт» (розовый провод), обеспечивающее закрытие боковых стекол.
Выходной информацией адаптера могут служить такие данные как сигналы о: статусе педали тормоза (синий провод), включении аксессуаров (пурпурный провод), включении зажигания (голубой провод), определении работы двигателя (желтый/черный провод), состоянии штатной сигнализации (серый/белый и золотистый/белый провода), состоянии центрального замка дверей (красный/белый и коричневый/белый провода), состоянии багажника (желтый/белый провод) и капота (фиолетовый/белый провод), тахометрическом сигнале двигателя (золотистый/черный провод), статусе дверей пассажиров и водителя (красный/черный и коричневый/черный провода), а также о статусе стояночного тормоза (розовый/черный провод).
Традиционным способом (минуя модуль) подключается питание охранной системы и управление аварийной световой сигнализацией автомобиля (так как команда управления аварийной сигнализацией в CAN-шине данной модели автомобиля отсутствует).
Какие контакты для подключения автосигнализации задействовать, выбирает установщик. Все зависит от возможностей охранной системы и комплектации автомобиля.
Видео:Компьютерная диагностика авто. K-линия и CAN шинаСкачать
В действительности, устанавливать модуль именно за «бардачком» совсем необязательно (рис. 6). Это лишь вариант. Функционирование модуля не зависит от точки подключения к CAN-шине автомобиля.
Отметим, что функциональные возможности модуля FALCON CAN-02 зависят от марки автомобиля, на который он устанавливается.
Уникальной возможностью модуля FALCON CAN-02 является функция изменения прошивки поддерживаемого автомобиля. Список автомобилей, с которыми может работать модуль FALCON CAN-02 постоянно пополняется.
Рис. 6: пример размещения FALCON CAN-02 в автомобиле Ford Focus за «бардачком»
Для того чтобы изменить программную прошивку модуля необходимо воспользоваться интернет-сайтом производителя mega-f.ru, иметь в наличии дополнительное устройство — стандартный адаптер последовательного интерфейса ISO K-Line, источник постоянного тока +12 Вольт для питания модуля FALCON CAN-02 в режиме программирования, а также персональный компьютер.
Адаптер может подключаться к USB или СОМ-порту. «Мега-Ф» производит собственную модель такого адаптера к PC — FALCON KL-1PRO, преимуществом которого является питание модуля FALCON CAN-02 в процессе программирования от USB-порта компьютера.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🔍 Видео
Экспресс диагностика CAN шины на автомобиле. №21Скачать
поиск нерабочей can шины, часть дваСкачать
ford focus 3 проблема с CAN шиной комфортаСкачать
Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
Ford Kuga I - Неисправности CAN шины. Нет запуска. Нет связи.Скачать
Автомобиль не запускается, сканер не подключается: на примере FORD FOCUS 3, CAN шина (Видео 92)Скачать
Ford Focus 3 gen. повреждение CAN шины...Скачать
Ford Mondeo IV - Неисправности CAN шины. Нет запуска. Нет связи.Скачать
Подробно про CAN шинуСкачать
ФОРД ФОКУС 2 НЕ ЗАВОДИТСЯ. CAN ВЕЛИКИЙ И УЖАСНЫЙ!Скачать
Форд фокус 2 ошибки по CANСкачать
Ford Mondeo. Ремонт CAN-шины.Скачать
Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Блок управления, генератор, CAN или LIN шина либо АКБ? P0401, P0523, U1113, U1132, U0106 (Видео 90)Скачать
Еще Ford Kuga I - Неисправности CAN шины. Нет запуска. Нет связи.Скачать