Доброго времени суток, уважаемые радиокотовцы!
Нужна помощь в восстановлении самодельного стенда для проверки дизельных форсунок, собранного на базе Bosch EPS-200, но модифицированного с использованием AVR-микроконтроллеров. Я новичок в теме AVR и анализа прошивок, поэтому могу не всё понимать до конца, но уже провёл большой объём работы, и надеюсь на ваши советы.
Состав стенда: - Основная плата: - ATmega32A (DIP-40) - ATmega328P (TQFP) - FTDI (связь с ПК по UART) - Дополнительная плата: - Ещё одна ATmega32A, соединена с основной по I²C (SDA/SCL) - Управляющая программа: `StendCR.exe`, написана на Delphi 7 - Имеются прошивки в HEX и BIN - Анализирую прошивки и EXE-файл в Ghidra
Что произошло: Всё работало стабильно до момента, пока я не снял ATmega32A с основной платы, чтобы считать прошивку через программатор. После установки в программатор: - Не удалось считать содержимое — ни по SPI, ни по другим методам - Другие микроконтроллеры тоже перестали считываться - После этого стенд полностью "умер": не обновляется температура, нет PWM, UART молчит
Что предполагаю: - Возможно, повредил фьюзы или подал питание неправильно при снятии - Возможно, один из контроллеров является "мастером", и его отсутствие блокирует остальную часть системы
Пока сделал: - Нашёл в EXE Delphi-строки, порты, таблицы параметров (Ghidra) - Проверил фьюзы (по фото от предыдущего владельца), но не уверен в их правильности - Знаю, что EEPROM не используется - Кварцы стоят на 16 МГц — один у 328P, другой у 32A
Очень прошу подсказать: - Как правильно восстановить систему - Какие фьюзы должны быть выставлены (Low/High/Extended) - Как проверить контроллеры, которые не читаются (возможно, заблокирован SPI?) - С чего лучше починать — диагностика, замена, восстановление фьюзов и т.д.
При необходимости готов приложить: - Фото плат - HEX/BIN-файлы - Скриншоты из Ghidra - Фрагменты схемы, если нужно
Заранее благодарю за участие и любые дельные советы! С уважением, Олег
|