Elm327 с алиэкспресс как установить

Skoda Fabia Style 1.4 TDI › Бортжурнал › Диагностический адаптер ELM327 Mini (клон ELM327)

До недавнего времени, я его использовал только с Torque Pro, для мониторинга OBD2 параметров (температура охлаждающей жидкости, положение дроссельной заслонки и т.д.)
После приобретения Skoda Fabia mk3, попробовал его с Carista и убедился в том, что с его помощью возможны многие вещи, которые ранее считались вотчиной VCDS (Вася) или ODIS.

Позже, после приобретения кабеля для VCDS (о чем в моем блоге есть отдельная статья), я решил полностью разобраться с возможностями ELM327.

Разборка для исследования:
Крышка адаптера удерживается 4-мя защелками изнутри. Чтоб к ним добраться, я снял наклейку с одной стороны и используя отвертку и подсветку фонариком, проковырял отверстия в местах где эти защелки находятся:

Первым делом после разборки, меня интересовало, какие контакты OBD2 разъема задействованы на этом адаптере:

На фото выше видно, что задействованы контакты: 2, 4, 5, 6, 7, 10, 14, 15, 16, что соответствует:

Следующее, что меня интересовало, на каком чипе построен данный адаптер. Не секрет, что оригинальный чип ELM327, это ничто иное, как микроконтроллер PIC18F25K80.

Смотрим с другой стороны:

На верхней плате имеется три светодиода:

Проверка набора AT команд китайской прошивки ELM 1.5 и сравнение с прошивкой Deep OBD ELM 1.5:
Многие владельцы китайских ELM327 адаптеров, даже не подозревают, что некоторые недобросовестные производители, прошивают одну из самых первых и сырых версий прошивок, сообщающую, что она ELM 1.5 (за счет подмены номера в строке версии), но на самом деле не являющуюся таковой. Соответственно такие адаптеры, поддерживают не все AT команды или отрабатывают их некорректно.
Единственным (и по моему мнению лучшим) приложением для проверки реально поддерживаемых прошивкой ELM327 AT команд (заработавшим на моем Samsung A7 2017 под Android 8.0), оказалось ELM327 Identifier by Daaren Fonloil.
Результаты проверок заводской китайской прошивки моего адаптера и усовершенствованной прошивки Deep OBD ELM 1.5 приведены ниже на скриншотах.
Слева мой адаптер (китайская прошивка ELM 1.5 от 2013 года), справа адаптер с прошивкой Deep OBD ELM 1.5 (большое спасибо автору Deep OBD, Ulrich Holeschak за предоставленный скриншот).
Набор AT команд поддерживаемых обеими прошивками, соответствует официальной версии 1.4, но при этом адаптеры сообщают что они ELM327 v1.5.

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

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

Разбираемся с bluetooth модулем
В bluetooth модуле использован чип СС2562F256 и EEPROM T24C128A объемом 16Кбайт.
Даташит на СС2562F256 мне найти не удалось. Буквы TI как бы намекают на Texas Instruments, но на самом деле это неизвестный китайский клон.
Поиск в google, подсказал что модуль называется EC04-B www.electrodragon.com/pro…ct/edpa-bluetooth-module/ (также известный как EDPA). В магазине по ссылке выше, его предлагают как удешевленную альтернативу bluetooth модулю BC04 (BlueCore 4) компании CSR, состоящие из связки чип СSR BC417 + Flash объемом 1 Мбайт. BC04 часто устанавливают в bluetooth адаптеры HC04, HC05 и HC06, которые любят использовать с Arduino, а также в клонах адаптера VAS5054A.
Цоколевка модуля EC04 по питанию и передаче данных (RX, TX, 3,3 вольт, GND), полностью совпадает с модулем BC04.

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

Bluetooth имя адаптера OBDII, MAC адрес 11:22:33:DD:EE:FF, пароль 1234. Обмен с PIC идет на скорости 38400 бит/c.
Эти настройки хранятся в EEPROM T24C128A.

Принципиальная схема оригинального адаптера из официального руководства: ELM327 OBD to RS232 Interpreter:

В процессе исследований я обнаружил что:
1. Разработчики адаптера, без понижения напряжения, через резистор 220 Ом, соедининили 5-ти вольтовый вывод TX PIC, с 3-х вольтовым выводом RX на модуле bluetooth.
2. При прекращении активности прием/передача данных между Carista, OBD Torque или putty и адаптером, соединение bluetooth зависает. Нужно отключать/включать bluetooth на смартфоне или перезапускать putty и соединяться повторно.
3. В терминале для Android (считаю его лучшим) Serial Bluetooth Terminal, частично теряется принимаемая от PIC информация. Тоже самое происходило и в putty на ноутбуке:
>atpps
00:FF F 01:FF F 02:FF F 03:32 F
04:01 F 05:FF F 06:F1 F 07:09 F
08:FF F 09:00 F 0A:0A F 0B:FF F
0C:68 F 0D:0D F 12:FF F 13:32 F
14:FF F 15:0A F 16:FF F 17:92 F
18:00 F 19:28 F 1F F
1C:FF F 1D:FF F 1E:FF F 1F:FF F
20:FF F 21:FF F 22:FF F 23:F00 F 27:FF F
28:FF F 29:FF F 2A:38 F 2B:02 F
2C:E0 F 2D:04 F 2E:80 F 2F:0A F

Как видно, информация искажается. Правильный список выглядит как:
00:FF F 01:FF F 02:FF F 03:32 F
04:01 F 05:FF F 06:F1 F 07:09 F
08:FF F 09:00 F 0A:0A F 0B:FF F
0C:68 F 0D:0D F 0E:9A F 0F:FF F
10:0D F 11:00 F 12:FF F 13:32 F
14:FF F 15:0A F 16:FF F 17:92 F
18:00 F 19:28 F 1A:FF F 1B:FF F
1C:FF F 1D:FF F 1E:FF F 1F:FF F
20:FF F 21:FF F 22:FF F 23:FF F
24:00 F 25:00 F 26:00 F 27:FF F
28:FF F 29:FF F 2A:38 F 2B:02 F
2C:E0 F 2D:04 F 2E:80 F 2F:0A F

Также из ответа ATPPS команды выше, видно, что все заводские настройки в EEPROM PIC по умолчанию неактивны.

Отпаяв модуль bluetooth, подключившись к нему TTL кабелем, установив в putty скорость 38400, и подав на него питание, я получил ответ:
BOLUTEK, SPP V1.1
На момент подключения, я не знал, что putty, не смотря на умение работать с CR+LF (опция Terminal>Implicit LF in every CR), не умеет слать команды одним пакетом и поэтому проверить режим AT команд не удалось.
При подключении к PIC напрямую TTL кабелем, искажение ответа команды atpps и зависания после некоторого времени не наблюдались.
Вердикт — в искажении информации и зависании bluetooth соединения виноват исключительно модуль bluetooth EC04.

После изучения очень интересного и полезного документа ELM and Bluetooth, используя SMD резисторы найденные на старой компьютерной материнской плате, я заменил резистор на выходе TX PIC c 220 Ом на 2,2 кОм, а к нему припаял 4,7 кОм, второй вывод которого пустил на землю). Получился делитель напряжения с 5В (на TX выводе PIC), до 3,3В (на RX входе bluetooth модуля).

Далее, приобрел на алиэкспрессе первую попавшуюся и самую дешевую плату USB TO TTL FT232RL. Незаменимая в хозяйстве универсальная плата, умеющая служить TTL кабелем, SPI программатором bluetooth модулей BC03, BC04, HC05, SPI программатором ATMEGA162 (аналог USBasp):

Также как и планировалось, приобрел bluetooth адаптер HC-05:

Разбираемся с разновидностями bluetooth чипов СSR
Британская компания CSR (Cambridge Silicon Radio), до поглощения ее компанией Qualcomm в 2015 году, выпускала следующие (известные мне) чипы:
BC352239 (BC03) BlueCore 3-Multimedia External, bluetooth v1.2, проект pdw (paddywack) / elv (elvis)
BC358239 (BC03) BlueCore 3-Multimedia, bluetooth v1.2, проект kal (kalimba)
BC417143 (BC04) BlueCore 4-External стандарт Bluetooth v2.0+EDR, проект cyt (coyote)
Это очень интересные решения, и прошивки для них разделены на два вида:
1. native
2. vm — пользователь может разработать свое приложение, которое работает в виртуальной машине. Именно под этот режим написана прошивка SPP_UART из проекта Deep OBD.
В каждом из видов, прошивки разделены по объему памяти flash чипа:
1. compact — содержит только стек и поэтому подходит для flash от 4 Мбит)
2. unified — содержит загрузчик и стек включающий в себя всё, начиная от Host Controller Interface (HCI), до Radio Frequency COMMunication (RFCOMM), требующий 8 Мбит flash.
Прошивки native исключительно unified, доступны для проектов coyote (BC417), elvis (BC352) и kalimba (BC358).
Прошивки vm, доступны как в unified, так и compact (прошивки jumpingjack и paddywack (pdw).

Читайте также:  Как установить nis платформу на лыжероллеры

Все перечисленные выше прошивки, входят в дистрибутив интерактивной среды разработки приложений BlueLab 4.1 и после установки, находятся в папке \BlueLab41\firmware.

Когда существовал сайт www.csrsupport.com, там можно было скачивать обновленные версии прошивок для BlueLab 4.1. После покупки компании Qualcomm’ом, сайт потушили.

Если у кого-то есть прошивки c www.csrsupport.com/BluetoothFirmware не только под проект coyote 23263_cyt_8unified_fl_bt3.0_23i_0911261257_encr56_oem_prod.zip, но и под другие проекты, большая просьба поделиться.

Тест bluetooth адаптера HC-05
Выставив на адаптере FT232RL джампер на 3,3В, подсоединил его к HC-05 по схеме VCC-VCC, GND-GND, RX-TX, TX-RX. Затем, при помощи мини-USB кабеля подключил к голубому USB3.0 разъему ноутбука.
Адаптер сразу определился Windows 10 и после автоматической установки драйвера виртуального COM порта, красный светодиод на HC-05 начал быстро моргать индицируя работу в модуля в транспортном (прозрачном) режиме.
На ноуте я запустил putty и открыл bluetooth COM порт на скорости 9600 Кбит/c.
На смарфоне в bluetooth окружении подсоединился к устройству HC-05 и ввел пароль 1234. Далее запустил Serial Bluetooth Terminal и послал пробные строки. Они успешно отобразились в putty на ноутбуке. Ура, адаптер работает 🙂 Потестировал его некоторое время и убедился, что работает он очень стабильно, соединение не рвется и не виснет. В отличии от старого модуля EC04, при выключении/включении bluetooth на смартфоне, соединение устанавливается быстро и без повторного ввода пароля.

Режим AT команд
Для входа в режим AT команд на адаптерах HC05 c bluetooth прошивками СSR, нужно выключить питание адаптера, нажать и удерживать кнопку, подать питание и дождаться пока светодиод на модуле не начнет медленно мигать с интервалом в 2 сек.
Для работы с адаптером в режиме AT команд, putty не подходит (не умеет слать команды одной строкой с CR+LF).
Идеально подошел HTerm.
Запускаем HTerm, выбираем COM порт, скорость 38400, нажимаем Connect. Выставляем опции «Newline at» CR+LF, отключаем «Show newline characters» и устанавливаем «Send on enter» CR+LF
Команды вводятся только заглавными буквами.
AT выдает OK
AT+VERSION выдает VERSION:3.0-20170601
AT+UART выдает +UART:9600,0,0 имеет смысл сразу переключить на 38400 введя AT+UART=38400,0,0
AT+PSWD выдает +PIN:»1234″
AT+ORGL — сбрасывает настройки на заводские.
AT+NAME выдает +NAME:HC-05, но после сброса +NAME:H-C-2010-06-01
AT+ROLE выдает +ROLE:0
AT+ADDR выдает +ADDR:19:7:346
Полный список можно посмотреть здесь

Подпаиваемся к четырем точкам на обратной стороне платы HC-05 и подключаем их к FT232RL по схеме CS# (CSB) — DTR, MOSI — RI, MISO — DSR (RSD), CLK — RTS:

После установки BlueSuite, под правами админа запускаем cmd и читаем ID bluetooth чипа:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11>e2cmd info
e2cmd, version 2.6.11.1937 Release
Copyright © 2007-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.

13:26:32.128657: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Chip ID — 0x07e2
Chip Name — BC3 Audio Flash (pdw)
Unable to calculate addressing mode of EEPROM
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 8.95 s
Time in xfer: 8.64 s (96.46% of open time)
Reads: 233 (46432 bytes, 199.28 bytes avg read size)
Writes: 332 (47108 bytes, 141.89 bytes avg write size)
Xfer data rate: 10.57 KB/s (93540 bytes in 8.64 s)
IOPS: 65.00 IO/s (565 IOs in 8.64 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 955.00 xfers/s (0.00 short reads/s,
8255 xfers/1 short reads in 8.64 s,
14.00 xfers/IO, 363.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************

c:\Program Files (x86)\QTIL\BlueSuite 2.6.11> BlueFlashCmd.exe chipver
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.

17:03:17.089485: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
GBL_CHIP_VERSION = 0x07e2
Result:
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 0.03 s
Time in xfer: 0.00 s (23.53% of open time)
Reads: 4 (8 bytes, 2.00 bytes avg read size)
Writes: 2 (6 bytes, 3.00 bytes avg write size)
Xfer data rate: 1.71 KB/s (14 bytes in 0.00 s)
IOPS: 750.00 IO/s (6 IOs in 0.00 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 1500.00 xfers/s (0.00 short reads/s,
12 xfers/0 short reads in 0.00 s,
2.00 xfers/IO, 40.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 1000 kHz, slowdowns: 0
****************************************************************************
Success

Проверяем версию flash чипа и прошивки:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11> BlueFlashCmd.exe identify
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.

17:04:24.714259: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Resetting XAP
Identifying XAP
Flash identity: size = 96 sectors (6 Mbit), man_id = 0x0000, dev_id = 0x0000
Firmware ID (loader)=»elv_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»pdw_6compact_fs_fl_bt2.1_23g_0903311011_encr56_nodfu 2009-03-31″
Result: Usable flash size: 96 sectors, 6 megabit.
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 14.39 s
Time in xfer: 13.93 s (96.79% of open time)
Reads: 408 (75518 bytes, 185.09 bytes avg read size)
Writes: 569 (75074 bytes, 131.94 bytes avg write size)
Xfer data rate: 10.55 KB/s (150592 bytes in 13.93 s)
IOPS: 70.00 IO/s (977 IOs in 13.93 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 956.00 xfers/s (0.00 short reads/s,
13332 xfers/8 short reads in 13.93 s,
13.00 xfers/IO, 361.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************
Success

Сравниваем версии Chip ID, Flash ID и прошивок под BlueCore 3 и 4 (BC03 и BC04):
Chip ID — 0x07e2, Chip Name — BC3 Audio Flash (pdw)
Flash identity: size = 96 sectors (6 Mbit), man_id = 0x0000, dev_id = 0x0000
Firmware ID (loader)=»elv_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»pdw_6compact_fs_fl_bt2.1_23g_0903311011_encr56_nodfu 2009-03-31″

Chip ID — 0x4826, Chip Name — BC3 MM (kal)
Flash identity: size = 128 sectors (8 Mbit), man_id = 0x00c2, dev_id = 0x225b
Firmware ID (loader)=»bc3k_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»bc3k_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″

Chip ID — 0x4543, Chip Name — BC4-EXT (cyt)
Flash identity: size = 128 sectors (8 Mbit), man_id = 0x00c2, dev_id = 0x225b
Firmware ID (loader)=»cyt_8unified_fl_bt3.0_23i_1002111152_native_encr56 2010-02-11″
Firmware ID (stack)=»cyt_8unified_fl_bt3.0_23i_1002111152_native_encr56 2010-02-11″

Делаем 3 раза подряд резервную копию прошивки:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11>BlueFlashCmd.exe dump bc352-fw-backup
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.

Читайте также:  Как установить пароль при входе на сайт

13:07:45.751942: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Resetting XAP
Dumping flash contents
100%
«Dump» successful
Result: Dumping to csr-fw-backup.xpv complete.
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 89.53 s
Time in xfer: 83.18 s (92.90% of open time)
Reads: 2750 (866848 bytes, 315.22 bytes avg read size)
Writes: 3496 (80841 bytes, 23.12 bytes avg write size)
Xfer data rate: 11.13 KB/s (947689 bytes in 83.18 s)
IOPS: 75.00 IO/s (6246 IOs in 83.18 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 1022.00 xfers/s (0.00 short reads/s,
85060 xfers/2 short reads in 83.18 s,
13.00 xfers/IO, 357.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************
Success

Побайтно сравниваем дампы между собой:
fc /b bc352-fw-backup bc352-fw-backup2 >diff1.txt и fc /b bc352-fw-backup2 bc352-fw-backup3 >diff2.txt
Открываем diff1.txt и diff2.txt и убеждаемся что все копии совпали.

Сохраняем резервную копию настроек:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11>pscli.exe dump bc352.psr
pscli, version 2.6.11.1937 Release
Copyright © 2001-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.
13:12:54.682969: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
pscli dump csr-pskeys.psr : concluded with Success
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 33.51 s
Time in xfer: 32.50 s (96.96% of open time)
Reads: 30220 (99036 bytes, 3.28 bytes avg read size)
Writes: 27204 (88063 bytes, 3.24 bytes avg write size)
Xfer data rate: 5.62 KB/s (187099 bytes in 32.50 s)
IOPS: 1766.00 IO/s (57424 IOs in 32.50 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 1913.00 xfers/s (0.00 short reads/s,
62178 xfers/4 short reads in 32.50 s,
1.00 xfers/IO, 101.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 1000 kHz, slowdowns: 0
****************************************************************************

Copyright © 2002-2008 Cambridge Silicon Radio Ltd.

Resetting XAP
Burning Image:
100%
Result: Finished OK, 68 sectors erased, 68 sectors flashed, 114.69 seconds
Running Code!
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 121.04 s
Time in xfer: 107.13 s (88.51% of open time)
Reads: 4483 (20258 bytes, 4.52 bytes avg read size)
Writes: 5707 (583190 bytes, 102.19 bytes avg write size)
Xfer data rate: 5.50 KB/s (603448 bytes in 107.13 s)
IOPS: 95.00 IO/s (10190 IOs in 107.13 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 585.00 xfers/s (9.00 short reads/s,
62683 xfers/989 short reads in 107.13 s,
6.00 xfers/IO, 309.00 bytes/xfer)
SPI max clock: 100 kHz, min clock: 25 kHz, slowdowns: 34
****************************************************************************
Success
rm spp_uart_leds.led_

Проверяем версию новой прошивки:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11> BlueFlashCmd.exe identify
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.

16:25:43.371128: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Resetting XAP
Identifying XAP
Flash identity: size = 96 sectors (6 Mbit), man_id = 0x0000, dev_id = 0x0000
Firmware ID (loader)=»elv_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»pdw_6compact_fs_fl_bt2.1_23g_0901221700_encr56_nodfu 2009-01-22″
Result: Usable flash size: 96 sectors, 6 megabit.
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 4.58 s
Time in xfer: 4.15 s (90.61% of open time)
Reads: 362 (20554 bytes, 56.78 bytes avg read size)
Writes: 520 (20058 bytes, 38.57 bytes avg write size)
Xfer data rate: 9.54 KB/s (40612 bytes in 4.15 s)
IOPS: 212.00 IO/s (882 IOs in 4.15 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 967.00 xfers/s (0.00 short reads/s,
4023 xfers/3 short reads in 4.15 s,
4.00 xfers/IO, 324.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************
Success

Видим что стек прошитый в BlueLab, более старой версии (22.01.2009), чем тот, который был в адаптере с завода (31.03.2009).
11. После завершения компиляции и прошивки, ОБЯЗАТЕЛЬНО, необходимо изменить параметры. Для этого запускаем c:\Program Files (x86)\QTIL\BlueSuite 2.6.11\PSTool.exe, выбираем SPI BCCMD, Port FT232R A50285BI, нажимаем OK.
12. Выбираем в меню Bootmode>Bootmode 1 и слева в списке находим Host Interface и нажимаем на него. Справа нажимаем «ENTRY NOT PRESENT — Click to add» и из списка выбираем «VM access to the UART» нажимаем кнопку Set
13. Выбираем в меню Bootmode>none, слева в списке находим Host Interface и нажимаем на него. Справа выбираем из списка «UART link running BCSP» и нажимаем кнопку Set
14. Слева в списке, находим параметр Crystal frequency. Копируем сюда значение которое находится в файле bc352.psr (который мы создали раньше, когда делали резервную копию) в параметре PSKEY_ANA_FREQ &01fe = xxxx, где xxxx нужное нам значение. Нажимаем Set.
15. Слева в списке, находим параметр Crystal frequency trim. Копируем сюда значение которое находится в файле csr-pskeys.psr в параметре PSKEY_ANA_FTRIM &01f6 = xx. Обращаем внимание, что xx надо перевести в десятичную форму. Можно использовать калькулятор Windows в режиме инженера :). Нажимаем Set.
16. Слева в списке, находим параметр User configuration data 0. Там будут какие-то цифры. Все удаляем и вставляем строку «0031 0032 0033 0034» без кавычек. Нажимаем Set.
17. Закрываем PSTool, отключаем USB кабель и подключаем снова.
18. Находим по bluetooth на смартфоне HC-05 устройство и подключаемся через Serial Bluetooth Terminal. Вводим пароль 1234.
После прошивки, светодиод на модуле перестанет мигать, это нормально. В SPP_UART прошивке нет поддержки алгоритма мигания светодиода.

Подключение модуля BC03 к ELM327
Отпаяв BC03 с платы HC05 и припаяв его в ELM327 адаптер, меня ждал сюрприз. На TX выводе bluetooth модуля было напряжение 1В вместо стандартных 3В.
Оказывается у меня UART раньше работал только по тому, что необходимые 3В на TX вывод модуля, приходили с FT232RL. Как оказалось, у FT232RL TX и RX даже в неподключенном состоянии 3В.
Пришлось припаять резистор 10 кОм между TX модуля и питанием 3,3В

AT команды прошивки SPP_UART
Как следует из описания кастомной прошивки с открытым исходным кодом SPP_UART, для bluetooth модулей BC03/BC04, она дает возможность без замыкания на модуле pin34 (PIO11/KEY) на Vcc, управлять настройками bluetooth модуля по воздуху, без использования TTL кабеля.
Для этого, после подключения к адаптеру по bluetooth, первой посланной командой должна быть AT+CONF,
обязательно заглавными буквами, одним пакетом, и заканчиваться должна CR+LF.
Serial Bluetooth Terminal для android и HTerm для Windows умеют это делать.
После ответа ОК, можно менять: скорость соединения с PIC (AT+UART), bluetooth имя (AT+NAME), пароль (AT+PSWD), смотреть MAC адрес (AT+ADDR) и т.д. Полный перечень здесь.
Так как в PIC оставалась пока старая китайская прошивка, через AT+CONF я сменил PSKEY_UART_BAUDRATE на 38400, командой AT+UART:38400,0,0
Выход из командного режима в транспортный AT+DATA.
Если нужно еще раз войти в режим настроек, просто разрываем bluetooth соединение, соединяемся еще раз и вводим AT+CONF.

Результаты замены bluetooth модуля:
Не смотря на то, что вместо BC04, мне достался перемаркированный BC03 с урезанным объемом flash памяти 6 Мбит и TX выводом на 1 вольт (требующим подтяжки резистором 10кОм до 3В), результатом я очень доволен.
Список полученных преимуществ по сравнению со старым EC04:
1. Соединение по bluetooth теперь не зависает, не теряет информацию полученную от PIC.
2. Соединение и повторное соединение с модулем происходит быстро и не требует повторного ввода пароля.
3. Стало возможным менять прошивку модуля bluetooth
4. За счет поднятия мощности в параметрах PSKEY_LC_MAX_TX_POWER и PSKEY_LC_DEFAULT_TX_POWER увеличилась дальность приема
5. Стало возможным конфигурировать параметры модуля по воздуху через AT+CONF

Читайте также:  Как установить полумесяцы на ваз 2103

Замена китайской прошивки ELM1.5 в PIC18F25K80 на Deep OBD ELM1.5
Мне достался такой PICkit3:

Источник

TOPDIAG › Блог › Как выбрать качественный ELM327 и отличить подделку

В данное время на рынке имеется огромное количество предложений диагностического адаптера ELM327 по разным ценам, но самое главное разное по качеству, схематехнике и версиям. Ниже в статье разберем различные версии сканеров, их функционал, научимся определять «поддельный» ELM327.
Купить ELM327 v 1.5 с микроконтроллером PIC25K80 и PIC18F2480 в качественном исполнении можно в интернет-магазине TOPDIAG.BY

1) Схемотехника сканера ELM327.
Важно понимать, что качество сканера и его функционал в первую очередь зависит от используемых компонентов.
В настоящее время правильными и полноценными с поддержкой всех диагностических протоколов (SAE J1850 PWM, SAE J1850 VPW, ISO 9141-2, ISO 14230-4, ISO 15765-4) будут ELM327 с микроконтроллером PIC25K80 и PIC18F2480 вне зависимости от версии (чаще всего встречаются версии 1.4 и 1.5).
«Поддельный» вариант сканера ELM327 производится на более дешевом CAN контроллере MCP2515, STM32F042, BK3231Q, 25K80 QBD327 имеет прошивку в которой не поддерживается, или поддерживается некорректно определенное число AT-команд, а также отсутствует поддержка протокола SAE J1850 (чаще всего встречаются версии 2.1 и 1.5).

2) Версия сканера ELM327.
Повторим еще раз, что качество сканера и его функционал зависит только от используемых компонентов.
В настоящее время, к сожалению, определить качественный и «поддельный» вариант сканера ELM327 по версии прошивки не представляется возможным. Первоначально «поддельные» клоны сканера имели версию v2.1, однако впоследствии для возможности хоть как-то сбыть «поддельные» сканеры производитель сознательно изменил цифры версии v2.1 на v1.5. Таким образом, купив «поддельный» сканер на дешевом CAN контроллере (MCP2515, STM32F042, BK3231Q, 25K80 QBD327) с версией v1.5, пользователь, по сути, получает ту же подделку, что и v2.1.
Качественный ELM327 с микроконтроллером PIC25K80 и PIC18F2480 чаще всего имеет версии v1.4 и v1.5

3) Как определить качественный сканер ELM327.
Существует достаточно простой программный способ проверки, который поможет выявить дешевую «поддельную» версию.
Первая программа с помощью которой можно определить «поддельную» версию сканера будет FORScan. Данная программа служит для диагностики Ford, Mazda, Lincoln, Mercury и представлена на официальном сайте разработчика forscan.org, может работать с ПК на базе windows, и на мобильных устройствах на базе iOS и Android.
Для проверки достаточно подключить сканер ELM327 к любому автомобилю и запустить программное обеспечение FORScan. В случае «поддельного» клона сканера программа выдаст соответствующее сообщение: «Не удается подключиться к автомобилю, обнаружен некачественный клон ELM327. В отличие от приложений OBDII, FORScan требуется адаптер, полностью совместимый с оригинальным ELM327. Данный адаптер не полностью совместим.»

Второй способ программной проверки качества сканера заключается в использовании терминала для непосредственного подключения к адаптеру и отправлению ряда определенных команд. В качестве программы-терминала можно использовать Elm327Chat. Далее потребуется купить ELM327 v 1.5 в интернет-магазине TOPDIAG.BY, подключить его к программе и сделать несколько запросов:
——-
>ATI
ELM327 v1.5
>ATAL
OK
>ATPPS
OK
>ATPP2ASV38
OK
>ATE0
OK
>ATL0
OK
>ATH0
OK
>ATR1
OK
>ATST32
OK
>ATS0
OK
>ATAT1
OK
>ATCF700
OK
>ATCMF00
OK
>ATZ
ELM327 v1.5
——-
Как видно из ответов «OK» данный сканер имеет качественную схематехнику. Ответ «?» на команду говорит о том, что данную команду сканер не знает и является «поддельным». Качественный ELM327 обязан их опознавать.

Самый трудоемкий способ разобрать сканер и посмотреть схематехнику. Качественный сканер вне зависимости от версии сканера должен быть собран на микроконтроллере PIC25K80 или PIC18F2480, а «поддельная» версия на MCP2515, STM32F042, BK3231Q, 25K80 QBD327. Однако в настоящее время встречаются «поддельные» адаптеры, произведенные на контроллере QBD327 и перемаркированные на PIC18F25K80. При этом размеры контроллера QBD327 одинаковы с PIC18F25K80 и определить подделку можно по следующим отличительным свойствам:
— маркировка не достаточно четкая;
— QBD327 работает с генератором на 16.000MHz, а PIC18F25K80 работает с генератором частотой 4.000MHz;
— «поддельный» клон не знает команду ATPPS в терминале и при запросе соответственно ответ «?».

Источник

Сканер ошибок в автомобиле ELM327

На дороге произойти может всякое. Нужно быть готовым ко всему. Вот и со мной случилась неприятность. В один «прекрасный» день загорелась контрольная лампа неисправности систем двигателя автомобиля.

Хотя на работу двигателя это никак не отражалось, стало очевидно, что надо ехать на диагностику. Мониторинг автосервисов в регионе показал, что одна только диагностика будет стоить от 1500 рублей. Это показалось мне слишком дорого.

Ранее на глаза мне уже попадалась информация о диагностических сканерах. Профессиональные сканеры тоже стоят не мало. Но есть и простые, такие как ELM327. В китайском исполнении стоят более чем доступно для любого автолюбителя.

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

Я решил заказать такой сканер на сайте Алиэкспресс. Отзывы у них в основном были положительные. Но продвинутые люди рекомендовали обратить внимание на версию прошивки. Лучше если будет V1.5. Она подходит для большего числа автомобилей.

Также многие покупатели советовали брать сканер с кнопкой включения и выключения. Без кнопок выключения его придётся каждый раз вынимать из разъёма. Он запитывается из бортовой сети автомобиля и может за 3-4 дня посадить старый аккумулятор.

Заказ шёл месяц. Пришёл без приключений в стандартном пакете упакованный в целлофан.

Вместе со сканером, который почему-то на сайте называется адаптером, пришёл маленький диск с ПО. Его лучше сразу выкинуть так как большая часть программ кривые и китайские.

Для считывания показаний со сканера ELM327 можно использовать смартфон, планшет, ноутбук. Информация передаётся по Bluetooth. Версии по дороже по Wi-Fi.

Программ для чтения ошибок очень много. Самые известные Torque, ScanMaster, OBD2 Check Engine и множество других бесплатных и платных на Google Play. Я себе поставил OliviaDrive так как она на моём авто более стабильно работает.

Подключаем сканер в разъём.

Включаем на смартфоне Bluetooth.

Выставляем настройки и получаем первые данные:

Переходим во вкладку «чтение и сброс ошибок».


Вот и они:

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

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

В завершении обзора хочу сказать, что покупкой очень доволен. Сканер стоит своих денег. И его лучше иметь каждому водителю, у которого автомобиль оборудован диагностическим разъёмом OBD2.

Источник

Поделиться с друзьями
Adblock
detector