AVR не отвечает. Что делать?

Volante24
jonison:

Даже если у тебя и получится написать прогу для второго чипа мало верится что это поможет
прочитай внимательно ДШ по параллельному программированию АТМЕЛ
насколько я знаю поней spien бит снять нельзя
Единственное что ту мог сделать это переключить тактовый генератор на extclk
а откуда подавал внешний клок?
возьми любое устр-во на АВР и с его генератора подай на этот чип
прежде чем пытаться писать свой параллельный программатор разберись
с имеющимся последовательным поставь Codevision и используй stk200-300
😉

Ничего не понял…

Я спрашиваю про последовательность БАЙТОВ для параллельного программирования (исполнения трех команд: Chip Erase и Write Fuses). Именно для программирования тонких деталей, которые могут не меняться через ISP.

Так я читал уже несколько раз этот datasheet про параллельное; почему это не поможет?

Исходно при программировании я никакого клока не подавал, чип использовал внутренний клок. Сегодня попробовал подавать внешний меандр с цифрового генератора на пин 7 – частота 3МГц (пробовал и меньше), амплитуда 3В (пробовал и меньше, и больше). Ничего не помогало. Чем подача клока с другого АВРа или с Codevision лучше, чем подача меандра (я пробовал и синус) с внешнего генератора? И как я могу разобраться с имеющимся последовательным программатором, если он ничего не выдает?

Правильно я понимаю, что Вы говорите, что не мог я PonyProgом переключить RESET на аутпут и тем самым дизэйблить последовательное программирование, что бы там ни происходило? То есть, если дело не в клоке (а с генератором я вроде бы проверил, что не в клоке), то конфигурация RESET пина не причем, а просто грубо физически что-то накрылось с самим чипом, и ничего с ним больше сделать нельзя, кроме как выкинуть на помойку (А для этогог мне нужно прежде его выпаять… 😈)

Я Вас правильно интерпретировал?

Volante24
jonison:

на тему параллели kazus.ru/forum/topics/f_114958.html#114958

По этой ссылке какая-то фигня, на хрена мне разводки платы в Спринте? Я просто хочу сделать нечто, что мне один (или два, три – ну не больше пяти) раз сможет вычистить AVR и сделать его вновь пригодным для ISP. У меня запросы минимальные! А плата с DIP-гнездом для ATTINY26, питанием, последовательным программатором, несколькими LED и удобными выводами со всех его 20 пинов у меня уже есть, специально паял три года назад.

Наверное, нужно добавить, что с PonyProgом я использую железо, которое, похоже, называется SI-Prog 2.2 на их сайте – попросту говоря, диодный ограничитель уровня сигналов и транзисторный инвертер RESETа

Volante24
jonison:

насколько я знаю поней spien бит снять нельзя
Единственное что ту мог сделать это переключить тактовый генератор на extclk
😉

Ну хорошо, если RSTDISBL и SPIEN в Пони (и вообще в ISP) недоступны, то что насчет Lock2 и Lock 1, которые меняются и, похоже, могли запрограммироваться. Будут ли при этом те же симптомы, что я описываю?

Chekhov

Даже при установленных битах защиты МК должен определяться. ЭТО ТОЧНО.
Но если вы уверены, что есть нормальный внутренний клок, то или МК сожжён или произошел сбой при программировании при котором отключился ISP или RESET, что вообще говоря маловероятно.

И я так думаю, что пока МК стоит на плате - параллельный программатор бесполезен.

Chekhov

1010 1100 0101 0011 xxxx xxxx xxxx xxxx - Programming Enable
1010 1100 100x xxxx xxxx xxxx xxxx xxxx - Chip Erase
1010 1100 1010 1000 xxxx xxxx xxx1 0111 - Write Fuse High Bits (последний нолик = SPI enable)
1010 1100 1010 0000 xxxx xxxx 1110 0001 - Write Fuse Bits
Эта последовательность команд должна вернуть чип в первоначальное состояние.
иксы я так понял - ставьте что хотите( написано don’t care )

(ЭТО ВСЁ КОНЕЧНО ДЛЯ ISP)

Volante24
Chekhov:

Даже при установленных битах защиты МК должен определяться. ЭТО ТОЧНО.

Полезно знать. Значит, не это…

Но если вы уверены, что есть нормальный внутренний клок

А как я могу быть уверен? Сначала я проверил, что есть 8МГц сигнал вокруг МК. Есть. Но кто его знает, может, это какой другой осциллятор (у него же их несколько). А кроме того, может, осциллятор всегда внутри генерит, но просто не подсоединен – они ж об этом так явно не пишут. Я даже думал посмотреть осциллографом, есть ли там что-нибудь на этом пине, но именно по этой причине не стал (а зря, задним числом). Поэтому и подсоединил к нему внешний генератор – наиболее радикальное из всего, что мог придумать.

И я так думаю, что пока МК стоит на плате - параллельный программатор бесполезен.

Я об этом думал – но не уверен. У него же там ничего особенно тяжелого не подсоединено. Те, что работают на выход – управляют микросхемами усилителя (входное сопротивление огромное), или транзистор управления полевого ключа (тоже раскачаем). Есть выход на LED – несколько ма, тоже не Бог весть что. Входы – два потенциометра в пару килоом, PPM выход приемника (наверное, не меньше 200 ом выходное сопротивление). Есть еще выход гироскопа, как он там устроен, я понятия не имею, но думаю, несколько сот ом есть… Могут, конечно, быть емкости, об этом я как-то не думал. Но ведь можно пробовать гнать управляющий МК на частоте аж 64кГц – наверное, тогда ничего? А длительности программируемых импульсов можно сделать огромными, там вроде регламентируется сверху лишь время переключения, а сама длительность может быть хоть секунда…

Chekhov

Если у вас есть параллельный программатор, то всё-таки лучше выпаять МК.
Впринципе и без воздушной паяльной станции это можно сделать( может подкладывать что-нибудьтонкое под выводы МК , пока припой жидкий (если SMD) - сам я по отпаиванию не спец)

Volante24
Chekhov:

Эта последовательность команд должна вернуть чип в первоначальное состояние.
иксы я так понял - ставьте что хотите( написано don’t care )

(ЭТО ВСЁ КОНЕЧНО ДЛЯ ISP)

Так я имел в виду как раз для параллельного!

Я так понимаю, мне нужно присваивать что-то семи из восьми пинов порта А, потом опять на А (т.е., имитировать и клок, и затем другие прграммируемые пины – может, еще раз или два), потом выводить на порт В (все восемь пинов) – код самой команды, потом опять порт А и для клока, и для загрузки команды, потом еще раз для ее исполнения, потом ждать исполнения (при этом, наверное, нужно его постоянно клокить – или как?).

Потом повторять аналогично для следующих команд… Собственно, мне нужно точно понимать последовательность выводов всех этих импульсов на пины, чтобы заставить внешний источник все это сделать в нужной последовательности.

Volante24
Chekhov:

Если у вас есть параллельный программатор, то всё-таки лучше выпаять МК.

Нет у меня его, а вся идея как раз в том и состоит, чтобы не выпаивать из схемы, а просто припаять туда еще 13 или 14 проводков (6 уже есть) и подать на них нужную последовательность импульсов, только чтобы инициализовать его…

Chekhov

Если есть параллельный программатор, то есё ещё терпимо.
просто я не знаю как он работает, а в мануале для него всё написано туманно ( для меня ).
Просто тем самым вы попытаетесь сделать собственный параллельный программатор, что не легко. Инструкции то простые, но действия для их передачи трудные.

Chekhov

Просто велика верояность того, что МК конец.
Следовательно велика верояность того, что путь за новым МК вам обеспечен.
И для такого самопального проггера понадобиться МК (очень может быть) с большим числом выводов, чем у tiny26.

jonison
Volante24:

Ничего не понял…

Я спрашиваю про последовательность БАЙТОВ для параллельного программирования (исполнения трех команд: Chip Erase и Write Fuses). Именно для программирования тонких деталей, которые могут не меняться через ISP.

Так я читал уже несколько раз этот datasheet про параллельное; почему это не поможет?

Исходно при программировании я никакого клока не подавал, чип использовал внутренний клок. Сегодня попробовал подавать внешний меандр с цифрового генератора на пин 7 – частота 3МГц (пробовал и меньше), амплитуда 3В (пробовал и меньше, и больше). Ничего не помогало. Чем подача клока с другого АВРа или с Codevision лучше, чем подача меандра (я пробовал и синус) с внешнего генератора? И как я могу разобраться с имеющимся последовательным программатором, если он ничего не выдает?

Правильно я понимаю, что Вы говорите, что не мог я PonyProgом переключить RESET на аутпут и тем самым дизэйблить последовательное программирование, что бы там ни происходило? То есть, если дело не в клоке (а с генератором я вроде бы проверил, что не в клоке), то конфигурация RESET пина не причем, а просто грубо физически что-то накрылось с самим чипом, и ничего с ним больше сделать нельзя, кроме как выкинуть на помойку (А для этогог мне нужно прежде его выпаять… 😈)

Я Вас правильно интерпретировал?

Да правильно.😃
а в чем проблема выпаять нерабочий smd ?
паяльник ватт 40-60 с плоским жалом и канифоли побольше греешь корпус и пинцетом снимаешь.

Chekhov

У автора кажется проблема не выпаять, а купить новый.

Volante24
Chekhov:

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

Ну вроде мне сказали, что в понедельник новые в SO корпусе у меня будут.

И для такого самопального проггера понадобиться МК (очень может быть) с большим числом выводов, чем у tiny26.

Похоже, тех (7+8), что есть у ATTINY26, из портов А и В, должно хватить.
Я вполне счастлив с ISP, и параллельность мне нужна лишь чтобы оживить стоящие в схеме чипы. При этом даже реального программирования не нужно – всегда одна последовательность байтов. А городить для этого настоящий программатор с МК намного мощнее, чем то, что я программирую, да еще возиться с необходимыми для них PCB, выглядит неразумно…

Chekhov

так и есть, поэтому впаяете новый и париться не надо.

Volante24
jonison:

Да правильно.😃
а в чем проблема выпаять нерабочий smd ?

Проблема купить новый предвидилась в начале, но сейчас, похоже, может быть, и рассосется (посмотрим в понедельник). А паять не так просто. Делал я это три года назад, так тогда и зрение было получше, и был я в другом месте, где мне разрешили использовать профессиональное оборудование. Кой-чего там на плате мешает, ну, не то чтобы совсем никак, но уж явно не помогает выпаивать и впаивать. Короче, когда первый раз делал, я в результате отнюдь не был уверен. Поэтому хотел обойтись без искушения судьбы лишний раз…

Chekhov

Без воздушки действительно проблема нормально отпаять многоногий МК.
Хотя можно по варварски (всё равно еро в мусорку) просто аккуратно отрезать острым ножом выводы (там, где у микросхемы выходят).

Или нагревать паяльником и отгибать.

19 days later
Volante24
dmitryu:

защита прошивки от копирования и запрет внутрисхемного программирования - разные вещи.
Защиту прошивки на серийных устройствах всегда ставят, а запрет внутрисхемного программирования обычно нет.

Спустя две недели могу ответить (форум не отвечал на русский с местных компьютеров!):

Да, наконец вот сподобился старый валкеровский AVR пощупать PonyProgом. Нифига, тоже не видит его в упор. Наверное, не просто защитили против чтения, а еще и RESET дисэйблинули. Так что ничего с ним не сделать без параллельного стирания… А жаль. (Потом как-нибудь напишу, почему не просто жаль, а очень-очень жаль!)

Volante24
dmitryu:

У меня - страница 106.
Раздел называется “Memory programming”

Кстати, вот еще проблема. У меня есть два PDF файла с даташитом, ATTINY26 и ATTINY26L. Они почти идентичны, поэтому я заметил различия только совсем недавно. Так вот, тот, что называется ATTINY26L (revision 1477G-AVR-03/05) действительно описывает выход из такой “тупиковой” ситуации, когда RESET сконфигурирован на выход. Это на стр.112. Однако файл ATTINY26 (revision 1477J-AVR-06/07) вообще не упоминает такой возможности (хотя оба предназначены и для ATTINY26, и для ATTINY26L), а предлагаемая там процедура входа в режим параллельного программирования (стр.114) совсем иная и, похоже, подразумевает, что RESET не дисэйблд. А главное, именно эта версия является более поздней, и в ней упоминается, что там обновлены рекомендации по программированию девайса. Так что понять, можно ли вообще стереть чип в таком состоянии, или нет, похоже, невозможно. 😈

Я даже написал в ATMEL customer support с просьбой прояснить ситуацию и что нужно делать, но они, гады, конечно просто не отреагировали. 😃

Все-таки, кто-нибудь точно знает, что можно и как нужно? Может быть, что это вообще зависит от даты выпуска чипа?