Есть у меня несколько клонов ELM327 сканера. Первый куплен 10 лет назад - моя рабочая лошадка. Второй приобрел недавно на PIC18F25K80. Вот его и будем мучать....
Внутри две платы бутербродом. Прозвонил контакты для внутрисхемного программирования PIC18F25K80 на 28 ног:
pin 1 - MCLR
pin 19 - GND
pin 20 - +Vcc
pin 27 - PGC
pin 28 - PGD
Модуль Bluetooth YC1021 с внешним чипом памяти 24C32 на 4КБ. В нем прописан MAC адрес, пароль и скорость COM-порта.
модуль Bluetooth YC1021
С обратной стороны PIC18F25K80, высокоскоростной CAN-трансивер SIT1040 и кренка на 3.3в.
PIC18F25K80 с SIT1040
На нижней плате ничего не понятно, кроме регулятора на 5в.
нижняя плата ELM327
Дальше меня ждал облом - оказалось мой
старичек TTL866 ничего не знает о PIC18F25K80. Попытка отключить проверку чипа и прикинуться PIC18F2580 не помогла. Гугление вывело на
проект юзера AndrejChoo. Последняя версия лежит на
github. Похоже за основу Андрей взял исходники
Ho-Ro.
Не смотря на то, что AndrejChoo использует Arduino Nano ему не удалось полностью избавиться от навесных компонентов. Собирать монстроузную схему на 4-х транзисторах, чтоб прошить один PIC не улыбалось, но мир не без добрых людей. Форумчанин
Edd24 с 4pda связался с автором и тот выпустил специальную прошивку под Arduino Nano для PIC18F25K80 без дополнительных компонентов.
схема подключения Arduino Nano для прошивки PIC18F25K80
Дальше берем
USBasp, avrdude с AVRDudess и заливаем
кастомную прошивку в Arduino Nano.
фьюзы для Arduino Nano
Соединяем PIC18F25K80 с Arduino Nano по схеме выше и грузим
прошивку в PIC18F25K80.
программатор PIC из Arduino - Pickit v3 для бедных
Собираем, подключаем и смотрим выдает ли ELMScan Adapter Validator строчку - Identified as ELM237 v2.3.
UDP: Статья о том как не потеряться в мире китайских клонов
тут.
UDP: Перепрошил совою рабочую лошадку. Отличается распиновка контактов для внутрисхемного программирования. Другой модуль Bluetooth - v2.1 (прощай iPhone) на чипе BK3231 без внешней памяти.
UDP: Чтобы востановить работоспособность Arduino, в него надо обратно залить
bootloader.