Добрый день.
Кратко: в плис сделана защита прошивки, в самой прошивке, и если меандр 1герц как то отличается от эталона (КАК?), то выключается. НО КАК???? как это сделано???
Имеется очень старый проект:
Плис Altera Cyclone2 управляет всем, заодним делает обмен по усб 1.1 и тд,
конфигурация плисины расположена как и следует ожидать в конф-ной флешке EPCS4, подключение типовое, 1 в 1 из даташита на циклоны. EPCS4 можно заменить на любой аналог, всё работает. Прошивку в плис можно зашить другую версию для этого же устройства, всё ок, защита не сработает (раскажу пойзже). Можно сменить саму плис, раньше вроде вообще первый циклон или флекс стоял ... Т.е. привязки к самой прошивке нет. нет привязки к железу вообще кроме аттини13.
Рядом стоит Attiny13 она работает как WDT, если плис перестаёт мигать раз в секунду своим светодиодом который ещё подключен к аттини, то та перестаёт мигать своим светодиодом который так же подключен к плис. и через некоторое время дёргает ножкой nCONFIG для запуска переконфигурации плис. Аналогично плис сбрасывает аттини если та перестала отвечать. Зачем это сделано? плата управляет 10кв двигателями как то очень хитро и бывает помехи проходят через гальв. развязку и приводят к подвисонам и уже через пару секунд перезапускается и продолжает работать нормально без сбоев.
Вот такой вот костыль сброса. казалось бы на первый взгляд ...
т.е. имеется просто два светодиода которыми могут управлять и плис и аттинька, по ним идёт всего лишь меандр 1герц, данных там НЕТ ВООБЩЕ, сам меандр не модулируется ничем, всё ровно сек в сек, вплодь до 1мкс точно, насколько самые мощные осцилы позволяют измерить длительность 500мс импульса у 1с меандра, смотрел даже очень мощными осциллами на 2ггц полосой пропускания. НЕТ ТАМ ДАННЫХ НИКАКИХ, ни как по времени ни по напряжению микровольтами ничего не модулируется.
ну и соответственно ресеты взаимные от аттини к плис и от плис к аттини.
САМА АТТИНИ13 ЗАЩИЩЕНА, тинька тактируется от внутреннего тактового, прошивки нет, и не предвитится
. Аттини13 уже зашитых всего коробок (около 100шт) осталось.
Но если в аттини залить свою прошивку функционально 1 в 1 (чуть ли не по тактам мерял тайминги), то плис выключается ... не сразу ... через бывет через пол часа минимум, максимум через день... и не всегда...
Если закоротить линии светодиодов то защита прошивки внутри плис срабатывает. Если подключить через RC цепочку светодиод из тини в плис, хотябы 100ом 100пф, то в плис срабатывает защита. Самое погание что защита срабатывает так что не сразу можно понять - двигатель начинает ОЧЕНЬ греться, а нагревается он не за миллисекунды...
Начальство постановило сделать защиту не хуже чем у моего предшественника .... НО КАК, ДАННЫЕ ЖЕ НЕ ПЕРЕДАЮТСЯ, КАК ПЛИС УЗНАЁТ ЧТО ТИНИ НЕ ОРИГИНАЛЬНАЯ? все схемы типовые. Всё просто и понятно ... все схемы типовые будто из даташитов или учебников по отказоустойчивым выч. средствам. но ничего не понятно? Я в мяуе ...
Что делать? где копать?
Вопросы: 1. Как плис опознаёт оригинальную тиньку? есть догадки? ну пожалуйста .... я уже неделю бьюсь
2. Как взламать прошивку АТТини13? гугл не помог, простых средств без растворения пластика корпуса и микропайки не нашол.
3. Как конф-цию плис дизассемблировать чтоли? т.е. получить исходник
4. Что ещё проверить можно вообще? Как можно опозновательный знак или признак засунуть и в плис без АЦП передать. ПЛАТУ ПРОВЕРИЛ И ИЗРЕЗАЛ ВДОЛЬ И ПОПЕРЁК, НЕ КАНАЕТ, не влияет на детектирование вообще.
Извините за капслок, я в отчаянии