ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

DiGiCat

типа все пропало - да ?

тиньку взял не юзанную....
Dantist
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Ср мар 25, 2009 21:50:07

Не прошивается tiny2313

Сообщение Dantist »

Я нуб в прошивке :) Еще ничего не прошивал..
Все делал из обучалки "Бегущий огонек" на МК на этом сайте..

Собрал программатор, собрал бегущий огонек с SPI..
Скомпилировал простенькую прогу (вывод статических огоньков), подключил к компу, взял Avreal...

Выполняю:
avreal32.exe +tiny2313 -p1 -ab -o10Mhz -ew -c lights.hex -n -5 -v -%%
(Т.е. замедляю программинг (-5), проверяю (-v), вывожу доп инфо (-%%))
Результат:

Код: Выделить всё

avreal/WIN32  -  AVR controllers LPT programmer by Redchuk Alexandr
v1.26rev3 (Oct 31 2008 14:01:29)  http://www.ln.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command: +tiny2313 -p1 -ab -o10Mhz -ew -c runfire.hex -n -5 -v -%
   % LPT port number 1
   % LPT base address 0x378
   % DLportIO.dll succesfully loaded, DLportIO.sys interface activated
   % LPT write cycle 1.58us
   % ByteBlaster found
   % ByteBlaster mode
   % osc = 10000kHz -> setup=1, hold=1,1
   % Reset
   % PgmOn reply  00 00 53 00
   % Synchronised after 1 try
   % GetID reply  00 30 00 1E
   % GetID reply  00 30 00 91
   % GetID reply  00 30 00 0A
   % Read ID: 0x1E910A
Device connected, tiny2313 detected
   % ReadLock command  58 00 00 00
   % ReadLock reply    00 58 00 FF
Chip not locked
   % ReadOsccal command  38 00 00 00
   % ReadOsccal reply    00 38 00 5E
   % ReadOsccal command  38 00 01 00
   % ReadOsccal reply    00 38 00 5F
Number of erases not initialized
   % Erase reply  00 AC 80 00
Device erased
   % Reset
   % PgmOn reply  00 00 53 00
   % Synchronised after 1 try
   % GetID reply  00 30 00 1E
   % GetID reply  00 30 00 91
   % GetID reply  00 30 00 0A
   % Read ID: 0x1E910A
Device connected, tiny2313 detected
   % ReadLock command  58 00 00 00
   % ReadLock reply    00 58 00 FF
   % ReadFuses command  50 00 00 00
   % ReadFuses reply    00 50 00 64
   % ReadFuses command  58 08 00 00
   % ReadFuses reply    00 58 08 DF
   % ReadFuses command  50 08 00 00
   % ReadFuses reply    00 50 08 FF
Fuses
  OSCCALs   = 5E 5F
  CKDIV        = 0
  CKOUT        = 1
  SUT          = 2
  CKSEL        = 4
  DWEN         = 1
  EESAVE       = 1
  WDTON        = 1
  BODLEVEL     = 7
  RSTDISBL     = 1
  SELFPRGEN    = 1
Writing erase counter = 1
Programming CODE memory
 done (0.0s)
Verifying CODE memory
   % 000007FE: expected 01, read FF
   % 000007FF: expected 00, read FF
failed, 2 errors
 done (0.0s)
Can't write number of erases

Reset pin released
Adapter disabled


Ничего не прошилось...

Мои пути решения:
1. Проверил плату.. Увидел, что не подпаял кварц (мдя :) Паял в разные дни.. Кварц распаял, а к ногам 4,5 - не подвел его).. Подпаял - результат _такой же_ И вывод avreal такой же..
2. Проверил плату еще раз :) Замерял напряжение на микросхемах МК и шинного формирователя на БайтБластере.. На 1й плате - 4.4В, на второй - 3.8В (питал от 3 АА = 4.5В).. Видимо падение от диода..
Взял Крен и взял Крону на 9В.. Напряжения стали 4.9В и 4.4В на этих двух микрухах соответственно...

Все вроде ОК.. Все должно шиться.. При записи программки загорается светодиод, которые индицирует запись.. Но вот ошибка все такая-же, как выше...
Если прошивать без -v, т.е. без проверки, то все шьется "на ура".. Ошибок avreal не показывает, но программа не прошивается и "erase counter" остается всегда 1...

Фьюзы никакие не менял (в статье про них ничего не написано.. Использовал командную строку из статьи как основу..)

В выводе avreal не нравится это:
RSTDISBL = 1 :shock:

Кто что думает?.. Что я делаю не так?... :(
Спасибо!
Последний раз редактировалось Dantist Вс мар 29, 2009 19:48:29, всего редактировалось 1 раз.
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

чего то скрин не вставился


пишет что

write filed
Dantist
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Ср мар 25, 2009 21:50:07

Сообщение Dantist »

Чуть дополню:
Вместо AT90S2313 я взял attiny2313 (полная маркировка: Attiny2313-20PU)

Также, как я понял тут (http://radiokot.ru/start/mcu_fpga/avr/05/) и тут (http://radiokot.ru/start/mcu_fpga/avr/03/) конденсаторы в цепи питания неполярные и и имеют емкость по 0.1 мкФ каждый (Я правильно уловил этот момент !?!)... Я взял 100 нФ для программатора и 50 нФ для самого бегущего огонька.. Я так понимаю, что это не критично..
Я прав/не прав?...

Спасибо за помощь! :)
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Сообщение DiGiCat »

Что пропало? В новой от внутреннего RC генератора тактирование установленно, теперь переключил на работу с кварцем и без него не будет запускаться - подключай кварц.
На "гаечный ключ" кликни и посмотри порт какой выбран СОМ или LPT, заодно на Probe кликни, посмотри тест проходит или нет, должен OK! сообщить если в порядке.
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

я это сделал перед прошиванием

порт LPT- для стк200/300

тес прошел - ОК

так что неужели все правильно... ???

а с кварцем.....

уже включил паяльник.....
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Сообщение DiGiCat »

Cайт уже глючит невозможно как..
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

...стоп


DiGiCat- у меня тут по ходу еще вопрос возник

тинька может в моих часах без кварца работать ?

только фузы по другому выставить ?
Аватара пользователя
nictrace
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вс янв 11, 2009 09:29:08
Откуда: Ярославль
Контактная информация:

Сообщение nictrace »

работать-то может, только считать время будет с а-агромными погрешностями. Ибо внутренний генератор зависит от напряжения, температуры и Солнца в созвездии Рака :)
Мои верные друзья - АМD и AVR
LM317 - атцтой, LM2576ADJ - форева! :)
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

УРАаааааа

заработало !!!!!


:) :idea:


Огромное спасибо DiGiCat за терпение
и отдельное спасибо DiGiCat за разьяснения

а так же DataLife / nictrace / и всем кто помогал дельными подсказками.....

с ув. Алексей

еще раз спасибо!!!!!
Аватара пользователя
nictrace
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вс янв 11, 2009 09:29:08
Откуда: Ярославль
Контактная информация:

Сообщение nictrace »

поздравляю с первой работой! :)
Мои верные друзья - АМD и AVR
LM317 - атцтой, LM2576ADJ - форева! :)
Аватара пользователя
kret_a_v
Мучитель микросхем
Сообщения: 415
Зарегистрирован: Пн фев 02, 2009 15:00:33

Сообщение kret_a_v »

3ы... спасибо


лиха беда начала
(доволен как слон)
smac
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

Dantist писал(а):Чуть дополню:
Вместо AT90S2313 я взял attiny2313 (полная маркировка: Attiny2313-20PU)...
Спасибо за помощь! :)

фьюз RSTDISBL = 1 не трогайте ни в коем случае, если 1, то он не прошит, т.е. вывод ресет выполняет ф-ю сброса контроллера. Если прошьете в 0, то без параллельного программатора Вам не обойтись.
Вместо -o10Mhz попробуйте с ключом -o1Mhz, кстати на какую частоту вы рассчитывали бегущий огонь?. Сейчас Ваш контроллер настроен на внутренний генератор, частота 1 МГц, сейчас кварц вам не нужен, отпаяйте его если не лень, хотя в принципе мешать не должен. Кстати схема подключения кварца как в даташите, надеюсь?
Dantist
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Ср мар 25, 2009 21:50:07

Сообщение Dantist »

smac писал(а):фьюз RSTDISBL = 1 не трогайте ни в коем случае, если 1, то он не прошит, т.е. вывод ресет выполняет ф-ю сброса контроллера. Если прошьете в 0, то без параллельного программатора Вам не обойтись.
Вместо -o10Mhz попробуйте с ключом -o1Mhz, кстати на какую частоту вы рассчитывали бегущий огонь?. Сейчас Ваш контроллер настроен на внутренний генератор, частота 1 МГц, сейчас кварц вам не нужен, отпаяйте его если не лень, хотя в принципе мешать не должен. Кстати схема подключения кварца как в даташите, надеюсь?

Фьюз RSTDISBL трогать не буду..
В даташите так и написано: For all fuses “1” means unprogrammed while “0” means programmed.

Без кварца он не прошивался.. Хотя я пробовал в коммандной строке 10 мГц.. :) Завтра отпаяю и попробую прошить на 1 мГц...
Хотя АВРеал говорит, что мой CKSEL = 4 (0100), что равносильно этому : Calibrated internal RC Oscillator 8MHz. Видимо надо отпаять и 8 мГц попробовать...

В даташите есть еще такое:
1. External Clock - (0000)
2. External Crystal/Ceramic Resonator - (1000 - 1111)
Как я понимаю, установка CKSEL в 0 приведет к поиску внешнего генератора :)) А External Crystal/Ceramic Resonator - это именно кварц.. Я прав?.. Поправьте, если нет..

В обучалке фьюзы не трогали просто.. И я пытался не трогать... Попытаюсь завтра отпаять кварц и указать частоту 8 мГц..

Вроде не фигню говорю... Поправьте, если что...
Аватара пользователя
nictrace
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вс янв 11, 2009 09:29:08
Откуда: Ярославль
Контактная информация:

Сообщение nictrace »

а железо какое? STK200?
Мои верные друзья - АМD и AVR
LM317 - атцтой, LM2576ADJ - форева! :)
Dantist
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Ср мар 25, 2009 21:50:07

Сообщение Dantist »

nictrace писал(а):а железо какое? STK200?

Если я правильно понял вопрос :), то программатор вот этот:
http://radiokot.ru/start/mcu_fpga/avr/03/
Схема повторена полностью..
Dantist
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Ср мар 25, 2009 21:50:07

Сообщение Dantist »

Похоже разобрался, но еще не тестировал...
Из даташита:
The device is shipped with CKSEL = “0100”, SUT = “10”, and CKDIV8 programmed. The default clock source setting is the Internal RC Oscillator with longest start-up time and an initial system clock prescaling of 8, resulting in 1.0 MHz system clock. This default setting ensures that all users can make their desired clock source setting using an In-System or Parallel programmer.

Т.е. если не менять фьюзы, то надо ставить частоту в 1 мГц и отпаивать кварц.. Если ставить кварц - надо кодить фьюзы...

Я думаю, что без кварца надо так шить:
avreal32.exe +tiny2313 -p1 -ab -o1Mhz -ew -c lights.hex -n -5 -v -%%

А с кварцем можно так:
avreal32.exe +tiny2313 -p1 -ab -o10Mhz -ew -c lights.hex -n -5 -v -%% -fCKSEL=F,CKDIV8=1,SUT=1

Надеюсь, получится... Завтра отпишу.
Спасибо всем учавствующим :)
Блуд
Родился
Сообщения: 10
Зарегистрирован: Сб мар 28, 2009 17:07:00
Контактная информация:

Сообщение Блуд »

GP1 писал(а):если верить снимку то проц должен работать от встроенного RC генератора с делением на 8. но если эти установки записать в проц то SPMEN = 1 и проц отклюсится от канала последовательного программыроавния :shock: . восстановить можно только параллельным программатором. (см.пост выше)
на будущее лучше поступать так:
прочитать-сохранить-изменить нужные-записать
и обязательно читайте даташиты, без них никуда.

спасибо за внимание, есть ведь ещё на свете добрые люди!
тот снимок ДО изменения первых фьюзов (cksel 0...3)
то есть с МК считаны дефалтные заводские настройки - это они (после моей покупки и спайки).
программатор у меня есть только LPT 5pin
я так и сделал, прочитал, делал скрин (и выложил его), изменил cksel и записал. какие изменил, не отпринтскринил почему-то(( но факт остаётся фактов- МК теперь просто не виден программатору.
добрый человек, подскажи, как восстановить? как подать проще всего тактовый сигнал на XTAL1, желательно ничего не покупая, так как живу в глуши и достать какую-то радиодеталь - редкость. народ отвечал, но как-то поверхностно.
есть ещё мега8, может с неё подать? это реально?
Блуд не любит флуд = )
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Сообщение DiGiCat »

Реально. Попробуй подай тактирующие с ATmega8 c XTAL (1или2 сейчас точно не скажу, два варианта попробовать не сложно) на XTAL1 ATtiny2313 и попытаться прочитать ее, если будет читатся, то и переустановишь Fuse.
Блуд
Родился
Сообщения: 10
Зарегистрирован: Сб мар 28, 2009 17:07:00
Контактная информация:

Сообщение Блуд »

а как их подать с меги8? зашить программу туда какую? или как?
или просто соединить?
я уже слышал, что так надо сделать, но видимо или что-то очевидное недопонимаю или не знаю, как реализовать)
спасибо!
Блуд не любит флуд = )
Ответить

Вернуться в «AVR»