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

jonison
Volante24:

А что может означать это “все”? Ведь изнашиваться там нечему, напряжение на проц подавалось 4.5В с ограничением по току около 200ма…

Можно ли прояснить, в чем здесь будет достоинство AVReal32’а? Он что, дополнительно выдает еще и меандр на один из пинов ЛПТ, который мы сажаем на соответствующий пин AVRа? Я ведь могу просто с генератора сигналов туда чего-нибудь запихнуть… Или тут важна какая-нибудь синхронность – вроде бы импульсы не обязаны быть привязаны к системному клоку, а только к коомуникационному?

AVReal дает меандр на пин led spi разъема он ни к чему не привязан
можно обойтись генератором на 1-4 мгц:)

AN_DR
Volante24:

А что может означать это “все”? Ведь изнашиваться там нечему, напряжение на проц подавалось 4.5В с ограничением по току около 200ма…

если запретить последовательное программирование и переключить reset в режим порта, то ВСЕ. 😦

dmitryu

В pdf-ке описан способ выхода и из этой ситуации.

Volante24
dmitryu:

В pdf-ке описан способ выхода и из этой ситуации.

Есть способ, использующий только ISP, или здесь нужно параллельное программирование? Можно ссылку на страницу в
pdf-ке?

Эксперты, не мог бы кто-нибудь из вас перевести PonyProgовские фьюзы и лок-биты на исходный язык AVR? А то совершенно непонятно, что чему соответствует, делаешь как какое-то заклинание…

dmitryu

Только параллельное.

Галочка = 0 = programmed

Volante24
dmitryu:

Только параллельное.

Галочка = 0 = programmed

Ну да, как раз и читал эти страницы, и заключил, что перепрограммировать, если что-то произошло с RESET, не удастся…

Боюсь, что в самом деле капут. Этот гад PonyProg у меня иногда самопроизвольно чекил все биты. Почему-то когда их пытаешься установить, он, негодяй, похоже сначала без спросу читает сам чип, и если он не читается, то он все записывает нулем (чекит). Вот, возможно это и произошло в какой-то момент, а я этого не заметил и нажал “усе равно пытайся записать”, или что-то похожее…

Volante24
dmitryu:

В pdf-ке описан способ выхода и из этой ситуации.

Я вот только не понял со страницы 112 – похоже, подавая +12в на RESET можно его (RESET пин) как-то возвращать к жизни. Может, попробовать подать на него эти +12 вольт и потом пытаться программировать? Если я правильно понял, все эти манипуляции работают для параллельной моды, но кто его знает… Я ведь могу переделать мой простенький программатор так, чтобы на RESET подавалось 0-12в вместо 0-Vcc, это-то несложно. Может такое сработать?

avalanch

Возможно еще что испортились биты конфигурации и задано тактирование от внешнего генератора. Попробуйте на OSC1 дать клок от внешнего генератора 1-4МГц и заново прошить ПониПрогом. У самого была такая ситуация, только с ATMEGA8.

PigTail
Volante24:

Если я правильно понял, все эти манипуляции работают для параллельной моды, но кто его знает… Может такое сработать?

Очень сомнительно, скорее +12 загоняют в паралельную моду…

abalex
Volante24:

Я вот только не понял со страницы 112 – похоже, подавая +12в на RESET можно его (RESET пин) как-то возвращать к жизни. Может, попробовать подать на него эти +12 вольт и потом пытаться программировать? Если я правильно понял, все эти манипуляции работают для параллельной моды, но кто его знает… Я ведь могу переделать мой простенький программатор так, чтобы на RESET подавалось 0-12в вместо 0-Vcc, это-то несложно. Может такое сработать?

Если ничего не путаю:
Есть отдельный режим высоковольтного ( параллельного ) программирования ( нужен, в основном, для выхода из вот таких тупиковых ситуаций путем полного стирания процессора и потом записи нужной комбинации битов конфигурации ). Как это делать - алгоритм там же ниже на стр. 114. Когда это будет сброшено - можно будет программировать обычным образом ( хотя и при высоковольтном ( с использованием 12 В ) можно все записать ).
Если просто 12 вольт подать - видимо, просто так ( без использования именно нужного алгоритма ) не получится ( хотя если есть возможность написать свою программу, пусть и на Бейсике, то и написать этот алгоритм - главное, чтобы работало не слишком медленно, т.к. в алгоритме есть ограничения по времени; и проводов для работы нужно больше, хотя для однократного стирания м.б. можно на чем-то сэкономить, подав “0” или “1” постоянно, а не от программатора ).
Источник для 12 вольт - там вроде достаточно очень слабого ( 1 мА ), т.к. он нужен только для информации процессору, что с ним вот таким способом будут работать.

Chekhov

Не уточните ли, как именно вы МК программировали ?
Просто у меня есть сдохшая мега8, которая вроде как исполняет последнюю загруженную в неё программу, но шиться не хочет.

Естественно пробовал и ISP и параллельный - оба рабочие ( точно!!! ).

На каком-то форуме встретил похожую историю - человек просто сначала включал питание проггера, а потом втыкал ISP разьём. Он убил свою мегу аж после четвёртой перепрошивки.

Может и у вас что-то подобное ?

Volante24
Chekhov:

Не уточните ли, как именно вы МК программировали ?
Просто у меня есть сдохшая мега8, которая вроде как исполняет последнюю загруженную в неё программу, но шиться не хочет.

Естественно пробовал и ISP и параллельный - оба рабочие ( точно!!! ).

На каком-то форуме встретил похожую историю - человек просто сначала включал питание проггера, а потом втыкал ISP разьём. Он убил свою мегу аж после четвёртой перепрошивки.

Может и у вас что-то подобное ?

Сейчас уже трудно сказать, как было в последний день. Вполне может быть, что и так. Припоминаю, что в Datasheet написано, что на пинах должно быть не выше, чем Vcc+0.3V (кроме RESET). Если включать разъем после питания программатора, то не исключено, что на какие-то миллисекунды Vcc еще не подается, а остальные пины уже 4.5V. Вы на это намекаете? Как-то никогда это серьезно не рассматривал. Ведь на другие пины подается всего несколько миллиампер!

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

Неужели в этом может быть проблема? Тогда это точно промашка ATMELа, так не должно бытьб или уж об этом должно предупреждаться крупным шрифтом с восклицательными знаками!

Volante24

В общем, попытка реанимации электрошоком (подавая внешний клок от ВЧ генератора сигналов) ни к чему не привела, как не видел его PonyProg, так и не видит 😦. А выпаивать 20 мелких пинов и впаивать обратно зело не хочется. Поэтому попробую последнее средство: стереть все и записать правильный фьюз параллельным образом 😃. Наверное, попробую сделать это с помощью другого ATTINY26L (в DIP-20): у того в наличии 8 пинов Порта А и 7 пинов Порта В, вроде, должно хватить для записи нужной последовательности импульсов для трех команд: Chip Erase, Write Fuse High Byte, Write Fuse Low Byte. А RESET подам и уберу вручную, или синхронно с питанием 4.5V.

В связи этим, большая просьба к знающим и понимающим : не могли бы выложить точную последовательность байтов, которую нужно запихнуть в микроконтроллер для выполнения этой процедуры (для получения default configuration)? Я бы тогда запрограммировал имеющийся Атмель на их выдачу, отладил по тактам в AVR Stiudio и попробовал таким образом реанимировать впаяный контроллер, авось после этого он начнет разговаривать с PonyProgом…

Chekhov

Сам не знаю, как делать, но вот что скажу :
Защитные диоды внутри МК держат 1-2 ма.

Нужно выполнить 2 инструкции - вход в режим программирования и Erase
Это описано на 121-123 страницах мануала на tiny26.

Возможно вам в этом поможет аппноут AVR910 и AVR911 (допустим с gaw.ru), который описывает работу конкретного и стандартного атмеловского программатора, правда о совметсимости его с tiny26 ничего сказать не могу.

AVR911 - там вроде и тексты на Си должны быть.

jonison
Volante24:

В общем, попытка реанимации электрошоком (подавая внешний клок от ВЧ генератора сигналов) ни к чему не привела, как не видел его PonyProg, так и не видит 😦. А выпаивать 20 мелких пинов и впаивать обратно зело не хочется. Поэтому попробую последнее средство: стереть все и записать правильный фьюз параллельным образом 😃. Наверное, попробую сделать это с помощью другого ATTINY26L (в DIP-20): у того в наличии 8 пинов Порта А и 7 пинов Порта В, вроде, должно хватить для записи нужной последовательности импульсов для трех команд: Chip Erase, Write Fuse High Byte, Write Fuse Low Byte. А RESET подам и уберу вручную, или синхронно с питанием 4.5V.

В связи этим, большая просьба к знающим и понимающим : не могли бы выложить точную последовательность байтов, которую нужно запихнуть в микроконтроллер для выполнения этой процедуры (для получения default configuration)? Я бы тогда запрограммировал имеющийся Атмель на их выдачу, отладил по тактам в AVR Stiudio и попробовал таким образом реанимировать впаяный контроллер, авось после этого он начнет разговаривать с PonyProgом…

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

Chekhov

Присоединяюсь.
Лучше тогда лучше поставьте у другого МК ШИМ на 1 МГЦ и используйте его как генератор совместно с stk200-300. Может откликнется.

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, которые меняются и, похоже, могли запрограммироваться. Будут ли при этом те же симптомы, что я описываю?