Menu

Can ms: ELM327 BlueTooth с переключателем HS/MS CAN шины / Я Диагност

ELS27 USB RUS/ENG с авто переключателем шин HS-CAN на MS-CAN

ELS27 - адаптер для диагностики, кодирования и программирования электронных блоков управления автомобилей Ford и Mazda. С остальными автомобилями устройство выполняет функции адапера elm327. Адаптер спроектирован на базе оригинальной микросхемы.

Прибор поддерживает работу с CAN-шиной и K-L-линиями автомобилей. Адаптер получил признание среди владельцев автомобилей Ford и Mazda из-за специальных программ, разработанных для указанных моделей. Гарантированно поддерживаемые марки авто: Форд, Мазда, Линкольн, Меркури, Фиат.

Прекрасно работает с программой корерктировки одометров - Stool full (Yfi прибор успешно прошел тестирование в реальных условиях ! )

ELS27 Помимо выполнения всех функций адаптеров ELM327, данный адаптер имеет следующие отличительные особенности:

  • Поддержка шин HS CAN и MS CAN (автоматическое переключение).
  • Скорость работы до 10 раз быстрее по сравнению с ELM327, а значит прошивать панели можно быстрее и надежнее.
  • Поддержка SW CAN (автомобили General Motors).
  • Поддержка MM CAN (автомобили Focus 3 и Mondeo 4).
  • Поддержка отправки мультистрочных сообщений.

Сканер ELS27, поддерживает скорость 2 000 000 бит/c, данная скорость работы адаптера необходима для подключению к блокам автомобилей Ford. Для стабильной работы программы, необходимо выставить в настройках COM-порта минимально возможный таймаут - 1мс. (Диспетчер устройств =>Порты (COM и LPT) => Выбрать COM-порт на котором определился адаптер => В свойствах перейти "Параметры порта" => Дополнительно =>  установить "Время ожидания" 1мс). Для работы адаптера с программой Scanmaster 2.1, необходимо, с помощью программы ELMConfig, установить скорость адаптера 38 400 бит/с.

Программы, использумые для данного адаптера: 

Все программы, работающие с адаптерами ELS27 / ELM327

  • ELS27 Baudrate Программа для настройки скорости и режима работы адаптера ELS27, выбранная конфигурация сохраняется внутри адаптера.
  • FORScan Программа для диагностики автомобилей Ford, Mazda, Lincoln и Mercury.
  • ELMConfig
     Программа для проведения диагностики, прошивки и конфигурации блоков автомобилей Ford Focus 2, C-MAX mk1, Kuga mk1, Mondeo 4, S-Max, Galaxy. Предназначена для смены комплектации, открытия скрытых функций.
  • FoCCCus Программа для настройки автомобиля Ford Focus 3, а также частично для соплатформенников по электронной части Fiesta 7 и Kuga 2.
  • STool Программа для коректировки одометров.
  • ELM-FFn Программа для работы с автомобилями Ford Fusion и Ford Fiesta.

Если в Вашем автомобиле не OBD2 разъем указанный на картинке ? При отсутствии стандартного диагностического разъема OBD2 в Вашем авто (данным разъемом оборудовано все современное диагностическое оборудование, а также современные автомобили с 2003 года), Вы можете воспользоваться представленными на Нашем сайте переходниками для Всех марок автомобилей,  которые помогут Вам обеспечить совместимость данного адаптера с Вашим автомобилем.

Протокол MS-CAN - Astra-H CarPC Project

На этой странице собрана информация по декодированию протокола шины MS-CAN.

Битрейт шины: 95238bps (значение удалось найти в прошивке оригинального TECh3)

Настройка AT90CAN128 для MS-CAN (~95Kbps, требует уточнения)
Fio = 16MHz
Prescaler = 13
Tscl = 0.8125
Tbit = 13
Tprs = 6
Tph2 = 3
Tph3 = 3
Tsjw = 1

Регистры CAN (~95Kbps, требует уточнения)
CANBT1 = 0x18
CANBT2 = 0x0A
CANBT3 = 0x25

Найдено на http://www.canhack.de/viewtopic.php?f=18&t=1054


450: Zündung , Licht Astra H
            ID    DLC     Data
Bsp. >    | 450 | 04 | 46 07 06 FF      D3: FF=Licht an,  00=Licht aus
          | 450 | 04 | 46 07 06 00      D2: 06=Zündstellung 2, 00=kein Schlüssel, 04=Schlüssel steckt, 05=Zündstellung1

4E8: Rückwärtsgang und Speed
            ID    DLC     Data
         | 4E8 |07 | 46 0F 00 00 00 00 00  | D6=00 kein Rückwärtsgang eingelegt
         | 4E8 |07 | 46 0F 00 00 00 00 04  | D6=04 Rückwärtsgang eingelegt
         | 4E8 |07 | 46 0F 00 00 SS SS 00 | D4= MSB Speed, D5=LSB Speed


 Шина
 CAN id
(HEX)
 Длина
(DLC)
 Данные
 MS-CAN 180 8 Дата/Время
 [46] [XX] [год] [месяц] [DD][DD] [секунды] [FF]
 Байты [DD][DD] - упакованные значения дня, часов и минут:
    5 битов - день
    5 битов - часы
    6 битов - минуты
 MS-CAN    201 3 Кнопки ГУ (CD30MP3)
[1/0 нажата/нет] [кнопка] [длительность нажатия]
Коды кнопок:
    01- BC
    31-39 - станции
    6F- OK
    6С- вправо
    D6- влево
    E0- AM/FM и CD/MP3 (??? почему то 2 кнопки с одним кодом)

ELM327 USB с переключателем HS+MS CAN

Адаптер ELM327 с переключателем HS+MS CAN предназначен для осуществления полнофункциональной диагностики и конфигурирования автомобилей Ford Mazda с 1995 года выпуска по настоящее время. Прибор оснащен переключателем между шинами передачи данных 
High Speed
 и Middle Speed CAN, для подключения ко всем электронным блокам в автомобиле и осуществления их конфигурирования.


Поддерживаемые электронные блоки

  • BCM - бортовой компьютер (HS CAN)
  • PCM - двигатель (HS CAN)
  • TCM - трансмиссия (HS CAN)
  • ABS - тормозная система (HS CAN)
  • CCM - климат контроль (HS CAN)
  • PSCM - усилитель руля (HS CAN)
  • HCM - головной свет (HS CAN)
  • RCM - подушки безопасности (HS CAN)
  • EHPAS - электроусилитель руля (HS CAN)
  • SASM - рулевое управление (HS CAN)
  • IPC - панель приборов (MS CAN)
  • DDM - левая передняя дверь (MS CAN)
  • PDM - правая передняя дверь (MS CAN)
  • AHCM - предпусковой подогреватель (MS CAN)
  • EATC - климат контроль (MS CAN)
  • PAM - парктроник (MS CAN)
  • KVM - запуск двигателя без ключа (MS CAN)
  • IPMA - обработка изображений (MS CAN)
  • SODL - обнаружение препятствий слева (MS CAN)
  • SODR - обнаружение препятствий справа (MS CAN)
  • GEM - сигнализация (MS CAN)
  • RDDM - левая задняя дверь (MS CAN)
  • RPDM - правая задняя дверь (MS CAN)
  • ACU - магнитола (MS CAN)
  • ACM - магнитола (MM CAN)
  • SRM - bluetooth (MM CAN)
  • SDDJ - CD чейнджер (MM CAN)

 

Функции Ford ELM327 HS+MS CAN USB

  • Подключение к высокоскоростной шине (HS CAN)
  • Подключение к среднескоростной шине (MS CAN)
  • Подключение к низкоскоростной шине (MM CAN)
  • Идентификация блока управления и его версии
  • Чтение текущих и сохраненных в памяти ошибок
  • Расшифровка кодов ошибок
  • Удаление текущих и сохраненных в памяти ошибок
  • Считывание пробега в автомобиле
  • Просмотр текущих значений различных датчиков
  • Выполнение калибровочных процедур
  • Выполнение сервисных процедур
  • Конфигурирование модулей
  • Сохранение конфигураций
  • Ведение логов во время работы

 

Поддерживаемые автомобили (диагностика)

  • Ford C-Max
  • Ford Explorer
  • Ford Fiesta
  • Ford Focus
  • Ford Fusion
  • Ford Galaxy
  • Ford Kuga
  • Ford Mondeo
  • Ford Ranger
  • Ford S-Max
  • Ford Transit
  • Mazda2/Demio
  • Mazda3/Axela
  • Mazda5/Premacy
  • Mazda6/Atenza

 

Поддерживаемые автомобили (конфигурирование)

  • Focus II (HS + MS CAN)
  • C-Max (HS + MS CAN)
  • Kuga (HS + MS CAN)
  • Mondeo IV (HS + MS CAN)
  • S-Max (HS + MS CAN)
  • Galaxy (HS + MS CAN)

 

Поддерживаемые протоколы OBD II:

 ISO15765-4 (CAN): Audi, Opel, VW, Ford, Jaguar, Renault, Peugeot, Chrysler, Porsche, Volvo, Saab, Mazda, Mitsubishi и др.;

 ISO14230-4 (KWP2000): Daewoo, Hyundai, KIA и др.;

 ISO9141-2: Honda, Infinity, Lexus, Nissan, Toyota, Audi, BMW, Mercedes, Porsche и др;

J1850 VPW: Buick, Cadillac, Chevrolet, Chrysler, Dodge, GM, Isuzu;

 J1850 PWM: Ford, Lincoln, Mazda.

Написать отзыв
Использование шины CAN: как программно управлять автомобилем

Использование шины CAN: как программно управлять автомобилем

Изменение температуры кондиционера 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 байт.


Рисунок 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 в качестве сетевого устройства.

modprobe can
modprobe kvaser_usb
ip link set can0 type can bitrate 1250000
ifconfig can0 up

После загрузки запускаем команду candump can0 и начинаем отслеживать трафик:

can0  33A   [8]  00 00 00 00 00 00 00 00                                                                      can0  415   [8]  00 00 C4 FB 0F FE 0F FE                                                                      can0  346   [8]  00 00 00 03 03 00 C0 00                                                                      can0  348   [8]  00 00 00 00 00 00 00 00                                                                      can0  167   [8]  72 7F FF 10 00 19 F8 00                                                                      can0  3E0   [8]  00 00 00 00 80 00 00 00                                                                      can0  167   [8]  72 7F FF 10 00 19 F7 00                                                                      can0  34E   [8]  00 00 00 00 00 00 00 00                                                                      can0  358   [8]  00 00 00 00 00 00 00 00                                                                      can0  3A4   [8]  00 00 00 00 00 00 00 00                                                                      can0  216   [8]  00 00 00 00 82 00 00 00                                                                      can0  3AC   [8]  FF FF FF FF FF FF FF FF                                                                      can0  415   [8]  00 00 C8 FA 0F FE 0F FE                                                                      can0  083   [8]  00 00 00 00 00 01 7E F4                                                                      can0  2FD   [8]  D4 00 E3 C1 08 52 00 00                                                                      can0  3BC   [8]  0C 00 08 96 01 BB 27 00                                                                      can0  167   [8]  72 7F FF 10 00 19 F7 00                                                                      can0  3BE   [8]  00 20 AE EC D2 03 54 00                                                                      can0  333   [8]  00 00 00 00 00 00 00 00                                                                      can0  42A   [8]  D6 5B 70 E0 00 00 00 00                                                                      can0  42C   [8]  05 51 54 00 90 46 A4 00                                                                      can0  33B   [8]  00 00 00 00 00 00 00 00                                                                      can0  42E   [8]  93 00 00 E1 78 03 CD 40                                                                      can0  42F   [8]  7D 04 00 2E 66 04 01 77                                                                      can0  167   [8]  72 7F FF 10 00 19 F7 00                                                                      can0  3E7   [8]  00 00 00 00 00 00 00 00                                                                      can0  216   [8]  00 00 00 00 82 00 00 00                                                                      can0  415   [8]  00 00 CC F9 0F FE 0F FE                                                                      can0  3A5   [8]  00 00 00 00 00 00 00 00                                                                      can0  3AD   [8]  FF FF FF FF FF FF FF FF                                                                      can0  50B   [8]  1E 12 00 00 00 00 00 00

Несмотря на то, что вышеуказанная информация эквивалентна амплитуде звукового сигнала, довольно трудно понять, что происходит, и обнаружить какие-либо закономерности. Нам нужно нечто похожее на частотный анализатор, и такой эквивалент есть в виде утилиты cansniffer. Cansniffer показывает список идентификаторов и позволяет отслеживать изменения в секции данных внутри CAN-фрейма. По мере того как мы будем изучать определенные идентификаторы, мы можем установить фильтр нужных ID, которые имеют отношение к нашей задаче.
На рисунке ниже показан пример информации, снятой при помощи cansniffer с шины MS. Мы отфильтровали все, что имеет отношение к идентификаторам 355, 356 и 358. После нажатия и отпускания кнопок, связанных с подстройкой температуры, в самом конце появляется значение 001C00000000.

Рисунок 7: Информация с шины MS, снятая при помощи утилиты cansniffer
Далее необходимо объединить функционал для управления климатической системой с компьютером, работающим внутри автомобиля. Компьютер работает на операционной системе ROS (Robot Operating System; Операционная система для роботов). Поскольку мы используем SocketCAN, то модуль socketcan_bridge серьезно упрощает задачу по преобразованию CAN-фрейма в блок информации, понимаемый операционной системой ROS.
Ниже показан пример алгоритма декодирования:

if frame.id == 0x356:
 raw_data = unpack('BBBBBBBB', frame.data)
 fan_speed = raw_data[1] / 4
 driver_temp = parse_temperature(raw_data[2:4])
 passenger_temp = parse_temperature(raw_data[4:6])

Полученные данные хранятся в CelsiusReport.msg:

bool auto
bool system_on
bool unit_on
bool dual
bool max_cool
bool max_defrost
bool recirculation
bool head_fan
bool feet_fan
bool front_defrost
bool rear_defrost
string driver_temp
string passenger_temp

После нажатия всех нужных кнопок в машине, у нас появляется следующий список:

CONTROL_CODES = {
 'ac_toggle': 0x5C,
 'ac_unit_toggle': 0x14,
 'max_ac_toggle': 0x38,
 'recirculation_toggle': 0x3C,
 'dual_temperature_toggle': 0x18,
 'passenger_temp_up': 0x24,
 'passenger_temp_down': 0x28,
 'driver_temp_up': 0x1C,
 'driver_temp_down': 0x20,
 'auto': 0x34,
 'wheel_heat_toggle': 0x78,
 'defrost_max_toggle': 0x64,
 'defrost_toggle': 0x4C,
 'rear_defrost_toggle': 0x58,
 'body_fan_toggle': 0x04,
 'feet_fan_toggle': 0x0C,
 'fan_up': 0x2C,
 'fan_down': 0x30,
}

Затем эти строки отсылаются на узел под управлением операционной системы ROS и далее происходит трансляция в коды, понимаемые автомобилем:

rostopic pub /celsius_control celsius/CelsiusControl ac_toggle

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

Рисунок 8: Удаленное управление климатической системой автомобиля
Это лишь небольшой шаг при создании самоуправляемого такси вместе со специалистами компании Voyage. Я получил массу положительных эмоций во время работы над этим проектом. Если вы тоже интересуетесь этой темой, можете ознакомиться со списком вакансий в компании Voyage.

90000 STN1170 OBD, SW-CAN, MS-CAN to UART Chip, ELM327 Compatible 90001 90002 STN1170 90003 combines the entire STN1110 (multiprotocol OBD-II) feature set with 90004 Single Wire CAN (SW-CAN) 90005 and 90004 Medium Speed ​​CAN (MS-CAN) 90005 protocols in a single 44-pin IC. SW-CAN protocol support allows your device to access, monitor and issue commands on vehicles utilizing 90004 GM's proprietary CAN network 90005. Similarly, MS-CAN provides access to 90004 Ford's proprietary CAN network 90005 on supporting models.90012 On vehicles hosting SW-CAN or MS-CAN networks, our enhanced ST command set allows your device to 90004 interpret data not available on the vehicle's OBD-II bus 90005. Using the GM & Ford proprietary codes, you can commonly 90004 interpret current status 90005 of systems such as: 90017 90018 90019 Seat belt 90020 90019 Airbag 90020 90019 Headlight 90020 90019 Anti-Lock Brake (ABS) 90020 90019 Traction Control 90020 90029 90012 90004 Control commands 90005 commonly found on supported vehicles include: 90017 90018 90019 Door lock / unlock 90020 90019 Window up / down 90020 90019 Radio volume up / down 90020 90019 Turn signals & Hazard on / off 90020 90019 Engine start / kill 90020 90029 90012 While STN1170 ST commands will provide access to SW-CAN and MS-CAN networks, the 90004 proprietary GM & Ford codes must be obtained independently 90005.A popular method is to join the Equipment and Tool Institute where the codes can be accessed / purchased. Alternately, the traffic can be analyzed and reverse engineered. 90017 90050 KEY FEATURES 90051 90018 90019 90004 Safe, secure bootloader. 90005 Reflash the firmware in the field, even over a poor quality link and avoid expensive product recalls. 90020 90019 90004 Fully compatible with ELM327 command set, 90005 ensuring out-of-the-box compatibility with the dozens of existing software applications.90020 90019 90004 Extended "ST" command set 90005 provides access to enhanced functionality, without compromising compatibility. 90020 90019 90004 PowerSave mode with multiple sleep and wakeup triggers. 90005 Ideal for permanent in-vehicle setups, device can be left connected for extended periods of time without draining the battery. 90020 90019 90004 Perfect form factor for any application. 90005 STN1170 is available in TQFP and QFN packages.90020 90019 90004 RoHS 90005 compliant 90020 90029 90050 STABILITY 90051 90018 90019 90004 Solid, field-tested software. 90005 STN1170 runs the same proven code that powers the popular STN1110 and OBDLink family of PC-based OBD interfaces. Thanks to its large user base, any problems are discovered and corrected quickly. 90020 90019 90004 Large OBD message buffer 90005. STN1170 has over five times as much RAM as its nearest competitor, virtually eliminating BUFFER OVERFLOW errors.90020 90019 90004 Automatic protocol detection algorithm 90005 is continuously fine-tuned to insure that STN1170 will connect to the widest array of vehicles, even those that do not fully conform to the OBD-II standard. 90020 90029 90050 POWERSAVE TECHNOLOGY 90051 This diagram shows the various triggers available in the STN11xx family of ICs. Please refer to the STN11xx PowerSave Functionality documentation for more details. 90096 .

Отправить ответ

avatar
  Подписаться  
Уведомление о