Аппаратная модификация программатора USBDM, повышающая его «внутрисхемность»

USBDM – это широко известный в узких кругах программатор микроконтроллеров Motorola/Freescale серий HCS08/12. С помощью него можно, например, прошивать приборки для свежих ВАЗ-ов (Гранта, Веста) или творить подобные непотребства www.drive2.ru/l/472435133639558124/. Известность его обусловлена опенсорсностью (исходники открыты и каждый может их модернизировать под собственные нужды) и низкой ценой (около 10$ на алиэкспрессе).

Покупался он для экспериментов с отопителем Webasto Thermotop V (проц MC9S12DG256). Для моих экспериментов программатор должен уметь прошивать как EEPROM, так и флеш-память у микроконторллера. Сперва по незнанию был куплен клон UPA-USB, но он умеет только EEPROM для данных контроллеров… Пришлось искать альтернативу, более продвинутые вещи (типа Orange / XProg) стоят довольно много (> 100$ ) даже в Китае, у нас — цены совсем без стыда…
Итак, был куплен USBDM, подпаян к целевой плате (ЭБУ от вебасты), было сделано много попыток читать проц. Основная ошибка, которую я видел – BKGD signal timeout. Очень редко прога цеплялась-таки к процу, но вычитывала что-то неохотно и с ошибками… UPA-USB при этом спокойно себе вычитывала EEPROM из него…
Покупать третий по счету программатор было влом, я начал задумываться о бренности бытия, и тут меня осенило: «WatchDog», внешний и аппаратный, Вебасто ведь ответственный агрегат, процу в нем – негоже зависать и сжигать тачку нафиг… Во время нормальной работы прощивки watchdog своевременно сбрасывается, а на программаторе он пытается, причем успешно, перезапустить проц, чем крайне удивляет программатор.
Watchdog был найден, им оказался LDO TLE4271, который «в нагрузку» имел функции аппаратного Watchdog. Третья нога – Reset Output, отвечает за формирование сброса проца watchdog-ом, 6-я WatchDog input, сброс Watchdog-a. Нога была поднята, USBDM стал нормально читать/писать проц, в общем, теория подтвердилась. Но UPA-USB умеет работать с тем же процом, каким-то образом игнорируя внешние сигналы сброса.
У обоих программаторов в качестве буферного выхода использована одинаковая микросхема 74HC125 (4 неинвертирующих буфера с управляемым выходом):

У USBDM управление Reset-ом сделано в виде инвертора с открытым коллектором (см. схему). У UP-ы же классический PUSH-PULL, который «пересиливает» сигнал WatchDog-а и не дает ему сбросить проц. (Ватчдог обычно через резистор к Reset-у подключают).
В итоге, захотелось переделать USBDM с «открытого коллектора» на «Push-Pull» в цепи управления Reset-ом. Был высвобожден элемент U1A от 125-ки, USBDM не мониторит состояние Reset-а (по крайней мере для HCS12-ых чипов). Переделка изображена на рисунке:

Переделки:
1. Перерезать дорожку между процем и 3й ногой 74HC125.
2. Перерезать дорожку между диодом TR2 и 1,2,11 ногами 74HC125.
3. Поднять 1-ю ногу 74HC125 и посадить её на землю.
4. Запаять перемычку между 3 ногой 74HC125 и диодом TR2 (сигнал Reset)
5. Между 14 и 11 74HC125 ногами припаять резистор в 10к.

По итогу переделки, USBDM стал стабильно и без ошибок читать проц, не смотря на внешний Wathdog. Переделкой – доволен…
В первоначальной версии статьи была допущена ошибка в рисунке «Переделки в схеме», теперь он исправлен
Обновление блока света с SW 3.6 ( LSZ С35) до SW4.5 (LSZ C37)

Всем привет.
Ранее дооснащал датчиком дождя и света(RLS), оставалось дело за малым, прошить на 4.5, так как версия софта у меня 3.6( т е индекс LSZ С35->LSZ C37).
Хотел сперва через товарищей, чтоб не ждать программатор, но затянулось на очень много месяцев, проще было сразу купить программатор, тем более стоит он не много, 10уе.
Для прошивки понадобится:
— Блок света версии 35ой, более подробно о нем ниже.
— Сам программатор Freescale USBDM, работает с чипом MC9S12DJ64, его заказал с алика.
— Софт(1. USBDM Memory Dump и HCS12 Programmer) а так же прошивка 4,5
— BMW scanner 1.4, он же Бобёр, для заливки Vin-a и пробега
— ncs expert для кодировки функций
Процесс:
Снимаем блок светаTIS
Блок света лучше всего использовать для прошивки dyn, LH 35, SW 3.6.
Но у меня модель чуть старее.

Разбираем блок света, держится на нескольких защелках, поддеваем отверткой и плата у нас в руках.
В ней отсутствует один контроллер(чип) и резисторы к нему(L)

Ничего страшного, меня больше всего интересуют опции:
— Комфортный поворотник — CYCK_TI_BLK
— Габариты в качестве ДХО — PO_ALS_DRL
Далее надо разобрать программатор USBDM, для этого просто надо потянуть за крышку, держится на защелках и поставить перемычку на 5V(если она там не стоит).
.

Схема чипа MC9S12DJ64

Чистим ножку чипа 40- GND и припаиваем провод к ней, а остальные к контактной площадке.

Провода решил припаять свои.
— BKGD, pin 23, подключаем к контакту USBDM BKGD
— VSSR, pin 40, подключаем к контакту USBDM GND
— VDDR, pin 41, подключаем к контакту USBDM VDD
— RESET, pin 42, подключаем к контакту USBDM RESET


Подключаем программатор к компу, должны загореться три лампочки если подсоединили верно.

На комп устанавливаем две программы
1. USBDM Memory Dump
2. HCS12 Programmer
Сперва сливаем родной дамп контроллера MC9S12DJ64 с помощью USBDM Memory Dump.
выставляем параметры:
— Device Type: HCS12
— Memory Options: Paged, Page Register Address: 30, Initialization: 12,11
— Настраиваем области памяти которые будут прочитаны:
— 0x1000 — 0x13ff, 4
— 0x3c8000 — 0x3cbfff, 4
— 0x3d8000 — 0x3dbfff, 4
— 0x3e8000 — 0x3ebfff, 4
— 0x3f8000 — 0x3fbfff, 4
— Ставим галочку Keep Empty SRECs и нажимаем кнопку Read Memory,

после того как вычитаются все данные

станет активна кнопка Save to File, нажимаем её и сохраняем на комп.

Затем надо залить новую версию (LSZ C37) с помощью Flash Programmer.
— Жмем Load Hex File, выбираем файл прошивки с расширением .s19, чтобы не было ошибок положите его в корень диска.
— Жмем Detect Chip
— Должно отобразиться: MC9S12A64ALT
— В разделе Security: выбираем Image
— В разделе Programming Erase Mode: EraseMass
— Жмем Program Flash и ждем

и выбивает ошибку, на этом этапе задержался…

но решилось тем, что скачал другую прошивку LSZ C37
yadi.sk/d/5Z8vgLvtp2KoBw

и все ОК, программа предложила прошить еще один чип, жмем НЕТ и выключаем.
Сейчас у меня новый блок, в который требуется вписать Vin и пробег. К сожалению пока вписать не могу, не читает у меня бобёр.(
Может кто в курсе, где надо кодировать чтоб читала у меня как МКПП, левый руль и т п? В Бресте никто не смог.
Usbdm memory dump как пользоваться
Прилагаю фото.Плата рабочая, я хотел прочитат флаш проц.Имею рабочий файл каторьй имеет инфо когда открою ето прогер.Прилагаю фото.Можна я не сделал как надо
| DSC07570-1-1.jpg | |
| Размер файла: | 55,42 KB |
| |
| 04-07-2017-10-07-17.png | |
| Размер файла: | 111,38 KB |
| 04-07-2017-09-55-55.png | |
| Размер файла: | 103,29 KB |
| 04-07-2017-09-59-20.png | |
| Размер файла: | 463 KB |
| 04-07-2017-09-49-04.png | |
| Размер файла: | 86,33 KB |
| Nobody писал(а): |
| Я уже писал, что встречал программаторы на процессоре JS16 (как у Вас), которые хорошо работают с процессорами модулей Arcadia, но не хотят работать с процессорами модулей Hansa и Electrolux. Возможно, эта проблема распространена больше, чем я думал. Старый мой JB16 читает все процессора. Может быть в Вашем окружении есть у кого-нибудь программатор на процессоре JB16. |
| ankorservis писал(а): |
| KAZANEW какое питание в программаторе выбрано? |
| Nobody писал(а): |
| Я не знаю как это сделать. Надо переделывать схему(возможно), менять процессор и прошивать его. |
| Конференция по ремонту бытовой техники -> ремонт стиральных машин | ||
| Страница 1 из 1 | ||
Форум предназначен для решения вопросов связанных с ремонтом бытовой электроникой и техникой. Если Вы никогда не имели дело с плазменным телевизором, жк-дисплеем, или скажем стиральной машинкой c холодильником которые необходимо отремонтировать, то не спешите их мучить не теми отвертками и ножом. Подумайте, а надо ли Вам это? Не лучше ли обратиться к мастеру?
Сломать дорогостоящий прибор очень просто, а стоимость ремонта в специализированных мастерских в этом случае скорее всего возрастет. Еще немаловажный момент — отсутствие принципиальных электрических схем. Впрочем последние можно найти в соответствующем разделе, но к сожалению далеко не на все и не всегда.
Как прочитать микроконтроллер MC9S12Q128 программатором USBDM
Я не знаю.что Вы там собрались читать писать,но судя по Вашему фото,там был очень хороший бах.
А по существу:читайте datasheet на свой процессор,остальное в ссылке которую Вам дали Выше.
4 декабря 2015
Так модуль востановить надо сначало. Включить его, по напругам пройтись, там еще и дисплейный модуль страдает. У меня точно такой же валяется , должно быть от сма сименс, Дохлые процы, смысла нет ремонтировать. И у этого модуля тоже наверное.
Данные, считанные из первого модуля
в другом MCU, чтобы написать, но не работают
не работает (
Есть ли решение? — @sergeyy 5 декабря 2015
4 декабря 2015
Спасибо за ответ
просто требуется флэш-
Он нуждается в моей помощи в этом отношении
MC9S12Q128
4 декабря 2015
Вам же написали,востановите модуль вначале.Возможно ,что сам проц неисправен,а Вы все пытаетесь поднять его прошивкой.
если я правильно понял то в комментарии ко второму посту автор написал что заливал в ноый процессор но модуль не работает, Как мне кажется ему просто нужны правильные адреса для считывания — @ankorservis 5 декабря 2015
а что мешает открыть даташит и вбить эти самые адреса? Если не умеет,то дали ссылку как это сделать.
Или каждому,и в каждой теме разжевывать надо? Детский сад однако — @Ivs 5 декабря 2015
адрес 04000-FFFF USBDM memory dump — @sergeyy 5 декабря 2015
5 декабря 2015
Может мы другой даташит смотрим? У меня другая инфа: 4000-7FFF и C000-FFFF
Пройди по ссылке в первом ответе если не понял
— @Ivs 5 декабря 2015
Нет проблем, чтобы понять
MCU прочитать полный письмо ОК
Написание ОК
нет ошибки
но он не работает — @sergeyy 5 декабря 2015
5 декабря 2015
Не нужно писать полный дамп,разбей блоками по флешь
5 декабря 2015
контроль S19
1)Файл нужно упаковывать в архив ,а затем выкладывать.
2) Считайте и залейте по блокам(только память)
3) судя по фото,какие еще проводились процедуры,кроме замены проца? — @Ivs 5 декабря 2015
S19, если регулирование необходимо? — @sergeyy 5 декабря 2015
5 декабря 2015
Он учился и писал
5 декабря 2015
вот описание по каким адресам лежит прошивка
Я писал для чтения FFFF 04000
Это ложное — @sergeyy 5 декабря 2015
5 декабря 2015
Я писал для чтения FFFF 04000
не правильно, нужно ввести в каждой строчке «USBDM Memory Dump» начальны и конечный адрес считываемого фрагмента микросхемы. Посмотри по ссылке приведенной выше пример, как это делать — @ankorservis 5 декабря 2015
Есть 4 вспышки — @sergeyy 5 декабря 2015
Именно 4,а не всё — @Ivs 5 декабря 2015
5 декабря 2015
Сергей, Бдмом , еще ни один мастер не смог перепрошить, перезалить прошивку и т.д и д.т. с сма бош/сименс. Если не прав, поправьте.
USBDM не умеет читать и писать? — @sergeyy 5 декабря 2015
у меня такого опыта небыло, поэтому не знаю и попробовать неначем. Меня беспокит самые начальные адреса процессора, бегло пробежал по даташиту там по моему важная часть может настраиваться, но сейчас нету времени чтобы убедиться. Суббота все же)))) — @ankorservis 5 декабря 2015
То что суббота согласен))). Блин Сергей, при чем тут, умеет или не умееет читать бдм? Там фишка, что это все дело закодировано, и это темный лес. К примеру повреждение конфига или флеш прошив, допустим ты перезальеш, и что дальше? — @sergeijanferg8 5 декабря 2015