четверг, 15 мая 2025 г.

Вычитывание и прошивка ST10 на примере Raven CAN Accuboom control node

 Я давно работаю с STM32, программирую, дизассемблирую чужие прошивки, ну а прошить или считать содержимое такого микроконтроллера вообще не составляет труда. Но сегодня знакомый попросил помочь ему с вычитыванием и прошивкой микроконтроллера ST10. Это достаточно древний микроконтроллер, ранее мне не приходилось с ними работать. Но почитав документацию, предоставленную ST Microelectronics, я не увидел никаких препятствий, чтоб это сделать. 

В отличии от STM32, у которого есть SWD и JTAG, у ST10 нет специализированного интерфейса для прошивки и отладки, все операции производятся через последовательный интерфейс UART или CAN. Для работы с памятью, микроконтроллер нужно перевести в режим загрузки встроенного стандартного bootloader-а. Делается это подтягиванием вывода P0L.4 к земле.

Вскрыв блок, я обнаружил основной микроконтроллер ST10F276-CFG. А так-же драйвер шины RS232, в виде микросхемы MAX3232. Она подключена как раз к RxD0 и TxD0 микроконтроллера. Значит этот блок можно напрямую подключить к COM-порту компьютера, P0L.4 также выведен на внешний разъем через ограничивающий резистор.


Получается для прошивки этого блока его даже не нужно разбирать, все необходимые сигналы доступны с внешнего разъема. Вот распиновка того, что нужно: +12V питание, GND_BOOTLOADER замыкаем с GND для переключения на стандартный загрузчик. RX->TX, TX->RX к COM порту, и не забывает соединить землю COM-порта.



Для работы с этим микроконтроллером в режиме bootloader понадобится специальное приложение, ST10 Flasher tool. Вначале я установил последнюю версию ST10 Flasher 2.4b, она как-то заработала, но при считывании дампа в файл выдает ошибку "Description: LoadExternalFlashMonitor: target Not found", вероятно вызвано тем, что эта версия не правильно определяет модель микроконтроллера. Так что рекомендую использовать ST10 Flasher 2.3g. Эта программа написана ещё в далёком 2002-м году, задолго до появления современных ОС, но она вполне корректно работает на Windows 7 x32. Для этого её нужно установить в "C:/ST10Flash", и выбрать режим совместимости "Windows XP SP3".

ST10 Flasher tool 2.3g
При первом запуске нужно выбрать соответствующий COM-порт, по умолчанию выбран COM1, на скорости 9600. На такой скорости считывание и прошивка может длится десятки минут, но именно с этого режима стоит начинать, чтоб удостоверится, что всё подключено правильно, и микроконтроллер правильно определяется. В дальнейшем скорость можно будет поднят, если этого позволяет ваше соединение и частота осциллятора.

Если всё подключено и настроено правильно, после нажатия кнопки "Reload Monitor", программа должна показать модель микроконтроллера и частоту на которой он работает.

С помощью кнопки "BlankCheck" можно определить какие области памяти пусты, а в каких содержаться данные. При считывании (кнопка "Dump") отмечаем только те блоки, в которых есть данные, это сократит время вычитывания и последующей прошивки дампа.

Bank 8 в моем случае всегда определяется не пустым, даже после стирания памяти, возможно это ошибка в программе, а возможно уже поврежденная ячейка памяти, напишите, кто столкнулся с этой проблемой. 
Подтверждаем вычитывание кнопкой "Dump" и ждем пока завершится считывание. На скорости 9600bts это может занять более десяти минут. Теоретический предел: 832kB/9600bts = 832 * 1024 * 8 / 9600 = 710 s ~ 11 минут, но из-за задержек протокола и сервисных битов время может заметно больше.
С помощью кнопки "Set Port", в открывшемся окне установим скорость 57600, нажимаем "Initialize Port" и проверяем обмен кнопкой "Send Null char".

Для прошивки микроконтроллера открываем нужный файл в разделе "File to program". Сразу отображается объем данных, предположительное время и номера блоков. Если установлена галочка "Auto Erase", эти блоки будут автоматически стерты перед "прошивкой".
На скорости 57000bts понадобилась всего минута. Чтоб дополнительно удостоверится, что всё "прошилось" правильно можно воспользоваться кнопкой "Compare", выбрать нужные блоки и нажать "Verify" 

Желаю удачи!






суббота, 5 апреля 2025 г.

Коды ошибок швейной машины Bruce RA4


| Код ошибки | Описание и решение |



| ER 01 | Напряжение недостаточное. Проверьте входное напряжение, должно быть 220В. Если напряжение ниже 220В, выключите и снова включите машину. Если проблема не устранена, замените блок питания. |

| ER 02 | Напряжение слишком высокое. Проверьте входное напряжение, должно быть 220В. Если напряжение выше 220В, выключите и снова включите машину. Если проблема не устранена, замените блок питания. |

| ER 03 | При появлении этой ошибки плата неисправна. Требуется замена платы. |

| ER 05 | Проверьте соединение между педалью и электронным блоком. Если ошибка не устранена, педаль неисправна. |

| ER 07 | Проверьте, не заклинило ли машину, а также соединение мотора. Мотор неисправен. |

| ER 08 | При этой ошибке просто сбросьте настройки машины до заводских. |

| ER 10 | Неисправен процессор. Замените электронный блок. |

| ER 11 | Проверьте соединение датчика. Датчик позиционирования неисправен. |

| ER 13 | Основная плата неисправна. Требуется замена платы. |

| ER 14 | Датчик неисправен. |

| ER 15 | Плата неисправна. Проверьте IGBT. |

| ER 17 | Проверьте предохранительный выключатель. Предохранительный выключатель неисправен. |

среда, 21 июня 2023 г.

Инструкция к китайскому частотному преобразователю, мануал HE200 Vector




Мой перевод на русский язык. Не всё переведено, постепенно добавляю. Оставляйте комментарии к документу, будем вместе заполнять пробелы:

Руководство инвертора HE200-Vector


Есть полный перевод на английский язык, но видимо это машинный перевод, в общем не читаемый:

HE200_User_Manual_EN

вторник, 16 августа 2022 г.

A-cutter A280E, FLC-V1.1 firmware dump

По шине RS485 на связь не выходит, фокусировка не работает. Вскрытием установлено, что греется микроконтроллер и цепи понижающего импульсного преобразователя. Потребление превышает 300 mA. Импульсный преобразователь не в состоянии обеспечить возросший ток потребления, напряжение нестабильно. Преобразователь "уходит в защиту".

Внешних замыканий на выводах микроконтроллера обнаружено не было. Обеспечив достаточное внешнее питание 3V на разъём SWIM и после некоторых "танцев с бубном", манипуляций с выводом RESET мне удалось считать весь дамп памяти, FLASH, EEPROM, OPTIONS.
Микроконтроллер заменен на новый и прошит. Работоспособность полностью восстановилась. Причина выхода из строя неясна. Есть подозрение, что микроконтроллер мог быть выведен из строя по проводам от датчика, на них нет никакой защиты. 

Прошивка микроконтроллера FLC-V1.1 STM32L151C8T6 firmware dump.

воскресенье, 12 декабря 2021 г.

USB контроллер NET2272 уже не купить.

Очередной раз на ремонт попал инструмент авто-диагностики DPA5. Опять причина выхода из строя - некачественное зарядное ноутбука, пробой высокого напряжения через USB. В ноутбуке выгорело гнездо и поврежден хаб. В DPA5 несколько резисторов и USB интерфейс от NetChip на NET2272REV1A-LF. Ранее уже не раз проводились такие ремонты. Но на этот раз оказалось, что купить NET2272 не удастся. Они уже сняты с производства и с 2019 года не выпускаются. А те запасы, что были вероятно давно раскупили, учитывая всеобщий дефицит.

Этой ситуацией сполна воспользовались недобросовестные китайцы. Любые ненужные и неисправные микросхемы в корпусе TQFP64 шлифуют и лазером маркируют как NET2272.

Подделка на NET2272. Датакод: 2105LP007

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

Fake vs Original NET2272
Слева подделка, справа оригинал. Все поддельные микросхемы, которые мне удалось найти в продаже имеют одинаковую маркировку, и на вид не отличаются. Датакод на всех 2105LP007, что означало-бы, что эти микросхемы произведены в 2021 году. И эта ещё одно подтверждение того, что это подделка, ведь они сняты с производства ещё в 2019, и новее быть точно не могут. 


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

И это легко проверить даже не проводя декапирование этих поддельных микросхем. Достаточно обычного мультиметра, в режиме прозвонки. У настоящих NET2272 есть два вывода GND, они соединены вместе внутри микросхемы, соответственно выводы 4 и 10 должна быть коротко замкнуты. У поддельных микросхем между ними весьма высокое сопотивление.


В попытках купить оригинальные, пусть даже бывшие в употреблении микросхемы я связывался с более чем десятком разных продавцов и поставщиков. И у всех одни и то-же подделки, или вовсе нет в наличии. А особо ушлые китайцы присылают чужие фотографии или вовсе не хотят присылать фотографию, пока не оплатить заказ.


Еще год назад я покупал оригинальную микросхему за $10 - $15 с доставкой. Сегодня на некоторых площадках цена доходит до $250. И даже за такую цену продают поддельные, неисправные микросхемы! 

Будьте внимательны, всегда проверяйте, что вам присылают и не попадайтесь на удочку мошенников!


вторник, 23 ноября 2021 г.

Замена дисплея Fresh Air 2.0/2.1. Использование логического анализатора при ремонте.

Попался мне на ремонт очиститель воздуха FreshAir 2.1 с неисправностью дисплея. До меня он побывал в ремонте в другом городе, но после их "замены дисплея" прибор поработал совсем не долго. Неисправность стандартная – не отображаются некоторые строки и столбцы пикселей. 
После разборки причина стала сразу ясна, применен некачественный шлейф. У меня есть подозрение, что эти шлейфы сделаны не просто ради экстремальной экономии, а специально, чтоб устройство со временем обязательно выходило из строя. Можно считать за правило, если в приборе есть графитовый шлейф, он обязательно выйдет из строя, даже будучи закреплен неподвижно.
Изменение температуры и влажности, микроскопические вибрации вызывают расслоение графита и нарушение контакта.

По состоянию дисплея явно видно, что он не новый, видно, что его разбирали. Вряд-ли его вообще меняли. Скорее всего просто разобрали, прогрели шлейф и на этом всё. Называть такое действие ремонтом недопустимо. Так же как и остальные виды прогрева плат, прожарки чипов, и прокатывания шлейфов. Всё это просто мошенничество и обман!
Починить такой дисплей можно только заменой этого "бумажного шлейфа" на нормальный, из меди и полиимида, но цена такого ремонта обычно нерентабельна.

LMB202E FRONT
 
LMB202E BACK
 

Поиски в продаже такого дисплея не увенчались успехом. По запросам LMB202E, P050008702, BTC-20291B-WT6WLW, LOT:103800769 в лучшем случае удавалось найти такие модули с разборки за космические цены, порой превышающие $100. Покупать такого кота в мешке, с явным заводским костылем смысла нет. 

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

Контроллеров LCD существует несколько, но они имеют схожие параметры, а протокол обмена стандартизирован и совместим с контроллером HD44780.
Распиновка коннектора так-же хорошо стандартизирована, и почти у всех дисплеев одинакова.





15-я и 16-я нога обычно используется для питание подсветки. Но при ближайшем 
рассмотрении оказалось, в этом случае, у дисплея LMB202E расположение выводов отличается. Эти выводы явно идут напрямую в контроллер. Найти документацию на этот дисплей мне почему-то не удалось, а подключить наугад 16 выводов конечно нереально, количество вариантов - космическое число 16!=2.09E13. Двадцать триллионов комбинаций!




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

Клон Saleae Logic 16

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


А встроенный в ПО логического анализатора декодер протокола HD44780 делает это распознавание ещё проще. 
Из листинга с декодера можно заметить, что микроконтроллер регулярно читает состояние дисплея, поэтому, если дисплей работает не правильно или отсутствует, весь очиститель воздуха не подает признаков жизни, микроконтроллер упорно висит и ждет ответа от дисплея, не реагируя ни на кнопки, ни на пульт.

Fresh Air LCD replacement
Выводы я распознал все, кроме Vo, напряжение настройки контраста. Чтоб на дисплее появилась картинка, жена припаяла к этому выводу два резистора, 6.8 kOhm к Vdd и 680Ohm к Gnd.
Fresh Air LCD replacement
Тестовое включение... Всё работает исправно.
Теперь можно смело собирать, и быть уверенным, что этот дисплей переживет другие детали в этом очистителе воздеха.
А вот и результат после сборки!
Fresh Air 2.1 LCD replacement



пятница, 19 ноября 2021 г.