реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ATtiny13 не программируется, странные грабли
Demeny
сообщение Mar 2 2009, 07:15
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Есть самодельный программатор на LPT-порт, собранный на базе буферного элемента 74HC245 с распиновкой STK200, которым без проблем программировал AT90S8515 (DIP40), ATmega8, ATmega16 (DIP, QFP). Буферный элемент питается от +5В компьютера отдельным проводком.
Сейчас появилась необходимость запрограммировать им ATtiny13-20SI в корпусе SOIC8. Но вот беда - ATtiny13 не входит в режим низковольтного SPI программирования (AVReal пишет "can't resync"), при этом с выхода MISO (6 нога тиньки) не идут никакие данные и нога в Z-состоянии, пробовал подтягивать её и к "1", и к "0" через резистор 2,2 К - нет данных, и всё тут !
Отложил AVReal, взял просто утилиту LPT Analyzer, которая позволяет "дрыгать" ногами LPT и смотреть входные линии. Решил вручную войти в режим SPI программирования:
1) RESET=1;
2) RESET=0;
3) передаем команду 0xAC, 0x53 (1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1), защёлкивая каждый бит, начиная со старшего, положительным фронтом CLK;
4) продолжаем дергать CLK, ожидая по datasheet в третьем байте увидеть эхо 0x53.

При этом если я подключаю программатор к плате с AT90S8515, без проблем вижу эхо 0x53, то же самое без проблем видит AVReal.
После этого, вынимаю из панельки AT90S8515, подпаиваю на его ноги SPI (и питание) на коротких проводочках ATtiny13, распайку 10 раз проверил, прозвонил, всё правильно. Но тишина - ни AVReal, ни я в ручном режиме ничего не видим с выхода MISO, хоть тресни.
Перепробовал 3 тиньки из имеющихся 10 - та же история. Ну, думаю, бракованая партия ... Раскопал у себя AT90S2343, тоже в корпусе SOIC 8, куплена в другое время в другом месте. Подпаял её - та же история.
Куда копать - ума уже не приложу.
Может, кто что посоветует ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Mar 3 2009, 07:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



На прошлой неделе программировал такую обычным stk200 всё было ок.
Может питание на программатор не попадает?
Или мега битая.
У вас на выводвх программирования ничего не висит что может сбивать сам процесс программирования?
Go to the top of the page
 
+Quote Post
Demeny
сообщение Mar 3 2009, 08:18
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(mempfis_ @ Mar 3 2009, 10:44) *
На прошлой неделе программировал такую обычным stk200 всё было ок.
Может питание на программатор не попадает?
Или мега битая.
У вас на выводвх программирования ничего не висит что может сбивать сам процесс программирования?

Проверял неоднократно, питание есть - распайка SPI верная, ничего лишнего не висит. Беру макетку с AT90S8515, подключаю программатор - всё ОК. Вытаскиваю МК из панельки, подпаиваю на проводочках (5-6 см) тиньку13 - нет отклика.
Перепробовал 3 шт. - та же история. Взял уже AT90S2343 (тоже SOIC8) - то же самое.
Такое ощущение, что эти SOIC 8 корпуса какие-то "заколдованные". Давайте сверим распайку SPI (я брал из даташита):
RESET - 1,
GND - 4,
MOSI (вход данных в МК) - 5,
MISO (выход данных из МК) - 6,
CLK - 7,
+5V - 8
Пробовал программировать с внешним тактовым сигналом (в AVReal опция -o0) - не помогает.
А вот высоковольтного программатора у меня, к сожалению, нет.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Mar 3 2009, 09:25
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Demeny @ Mar 2 2009, 11:15) *
Есть самодельный программатор на LPT-порт, собранный на базе буферного элемента 74HC245 с распиновкой STK200


Распиновка правильная
А почему у вас 74HC245?
У меня stk200 сделан на 74HC244D
Нормально программирует как 5-вольтовые так и 3.3-вольтовые платы
Попробуйте программатор из CVAVR - он поддерживает stk200, там можно попробовать прочитать сигнатуру чипа.
А на саму tiny13 питание поступает? Ещё попробуйте понизить частоту программатора. Может это важно для программатора - tiny13 по умолчанию тактируется от rc-генератора на 9.6 МГц


Цитата
Буферный элемент питается от +5В компьютера отдельным проводком


Попробуйте взять питание не от lpt а от вашей платы
Go to the top of the page
 
+Quote Post
ReAl
сообщение Mar 3 2009, 09:53
Сообщение #5


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Demeny @ Mar 3 2009, 10:18) *
Пробовал программировать с внешним тактовым сигналом (в AVReal опция -o0) - не помогает.
Цоколёвка правильная.
"Нулёвые" тини13 идут с внутренним RC 9.6MHz и CKDIV8=on, т.е. немногим больше мегагерца частота. avreal без ключа -o норовит выдать из рассчёта что-то около 800kHz, с округлением на реальный порт выходит ниже, так что должно шиться.
Но раз даже с ручным тактированием не выходит - частота ни при чём.

Это точно "нулёвые" микросхемы? Может, им успели DWEN=on сделать?


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Demeny
сообщение Mar 3 2009, 11:38
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(mempfis_ @ Mar 3 2009, 12:25) *
А почему у вас 74HC245?
У меня stk200 сделан на 74HC244D

Когда делал - под рукой оказался только 74HC245, разницы особой нет, работает ведь с другими чипами.
Цитата(mempfis_ @ Mar 3 2009, 12:25) *
Попробуйте программатор из CVAVR - он поддерживает stk200, там можно попробовать прочитать сигнатуру чипа.

CVAVR попробовал в первую очередь - он не может прочитать даже сигнатуру. Вобщем-то, мне удалось точно диагностировать, что нет отклика от чипа на самом первом этапе (вход в режим низковольтного программирования), но вот причина этого мне непонятна.
Цитата(mempfis_ @ Mar 3 2009, 12:25) *
А на саму tiny13 питание поступает? Ещё попробуйте понизить частоту программатора. Может это важно для программатора - tiny13 по умолчанию тактируется от rc-генератора на 9.6 МГц

Делал самую низкую (10 кГц), и даже вручную "щёлкал" LPT-битами. Питание есть, весь процесс наблюдал на цифровом осциллографе - все вроде как ОК, ровные прямоугольные сигналы в сторону чипа - обратно тишина.
Цитата(mempfis_ @ Mar 3 2009, 12:25) *
Попробуйте взять питание не от lpt а от вашей платы

От линий LPT никогда не запитываюсь, питание идёт отдельным проводком от +5В компьютера (пробовал и от лабораторного БП).

У меня есть две версии происходящего - либо в моих МК при производстве все фьюзы прошили нулями (тогда низковольтное SPI программирование запрещено фьюзой), либо чем-то МК в корпусе SOIC8 отличаются от своих больших собратьев в части SPI-Programming...

Цитата(ReAl @ Mar 3 2009, 12:53) *
Это точно "нулёвые" микросхемы? Может, им успели DWEN=on сделать?

Точно новые, запакованые в ленту. Прям голову уже сломал ... cranky.gif
Есть ещё версия - если при подаче питания нет строгого "нуля" на RESET (ведь буфер в программаторе жрёт мизер и может подпитываться от LPT-линий данных) - может ли МК подвиснуть намертво ?
Ток при этом он жрёт около 4 мА, что согласно даташиту, соответствует " 4 MHz standby ".


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Mar 3 2009, 12:09
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Вспомнил вот ещё что - один раз после перепрошивки tiny13 у неё инвертировался ресет О_о
т.е. она перестала программироваться вообще и сбрасывалась только при подаче на ресет логической 1

Вообще похоже у вас бракованная партия тинек попалась smile.gif
Go to the top of the page
 
+Quote Post
Demeny
сообщение Mar 3 2009, 13:29
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(mempfis_ @ Mar 3 2009, 15:09) *
Вообще похоже у вас бракованная партия тинек попалась smile.gif

Я уже писал, что пробовал также программировать AT90S2343 (SOIC8), которая куплена совсем давно - с ней та же история. Что ж - для чистоты эксперимента придётся купить ещё пару тинек, но в другом месте.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Mar 3 2009, 13:41
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Что-то подсказывает, что программирование чистым ЛПТ (даже без резисторов) и с внешним питанием - поможет.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Demeny
сообщение Mar 5 2009, 06:33
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(DpInRock @ Mar 3 2009, 16:41) *
Что-то подсказывает, что программирование чистым ЛПТ (даже без резисторов) и с внешним питанием - поможет.

Пробовал подключить AT90S2343 напрямую к LPT-порту (питание внешнее +5В), соединив линии LPT 2-12, 3-11 - не помогло, та же история. Подключал так: RESET - 9, CLK - 6, MOSI - 7, MISO - 10.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Mar 6 2009, 06:47
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Вот оно что ! Ситуация начинает проясняться. Что касается AT90S2343 - оказывается, часть микросхем поставляется с выключенным внутренним RC-генератором (RCEN=1), а часть - с включенным (RCEN=0), и об этом написано в даташите мелким шрифтом в рубрике "Ordering information" (кстати, там же ошибочно указано, что изменить RCEN-бит можно с помощью высоковольтного программирования, на самом деле он перешивается и по низковольтному SPI). У меня AT90S2343-10SI, а он как раз поставляется с выключенным внутренним RC.
Вобщем, подав внешний клок (в AVReal опция -o0), AT90S2343 удалось запустить, однако, как я уже писал, для ATtiny13 внешний клок не помогает. Поэтому скорее всего - имеющиеся у меня тиньки 10 шт. либо дохлые, либо поддаются только высоковольтному программированию, хотя на этот счёт в даташите ничего не сказано - как раз там написано, что все МК поставляются с включенным внутренним генератором 9,6 МГц и делителем на 8.
Вобщем, попробую прикупить tiny13 в другом месте и посмотрю, будет ли она программироваться ...
Кстати, никто не знает, можно ли "на коленке", не имея высоковольтного программатора, буквально подавая вручную сигналы на ноги МК, проверить, откликается ли МК при подаче на RESET 12В ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Mar 7 2009, 13:41
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Ситуация ясна - на ATtiny13 фьюзы были установлены так: CKSEL0,1=0; SUT0,1=0, остальные фьюзы, в т. ч. SPIEN, разрешающий низковольтное программирование, были равны 1, т. е. неактивны.
Выяснил это, подав 12 В на RESET и передав вручную команду "Read Fuses", по сути высоковольтным программированием. Соответственно, установив FUSE-bits как должно, всё заработало и по обычному SPI.
Почему FUSE-биты так были установлены, и что за программа была залита во флэш-память - остается загадкой. Возможно, под видом новых были проданы МК с предустановленной при производстве программой.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01474 секунд с 7
ELECTRONIX ©2004-2016