Страница 28 из 132

Добавлено: Вс мар 29, 2009 19:25:38
kret_a_v
DiGiCat

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

тиньку взял не юзанную....

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

Добавлено: Вс мар 29, 2009 19:29:57
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:

Кто что думает?.. Что я делаю не так?... :(
Спасибо!

Добавлено: Вс мар 29, 2009 19:44:00
kret_a_v
чего то скрин не вставился


пишет что

write filed

Добавлено: Вс мар 29, 2009 19:47:16
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 нФ для самого бегущего огонька.. Я так понимаю, что это не критично..
Я прав/не прав?...

Спасибо за помощь! :)

Добавлено: Вс мар 29, 2009 20:15:32
DiGiCat
Что пропало? В новой от внутреннего RC генератора тактирование установленно, теперь переключил на работу с кварцем и без него не будет запускаться - подключай кварц.
На "гаечный ключ" кликни и посмотри порт какой выбран СОМ или LPT, заодно на Probe кликни, посмотри тест проходит или нет, должен OK! сообщить если в порядке.

Добавлено: Вс мар 29, 2009 20:26:17
kret_a_v
я это сделал перед прошиванием

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

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

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

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

уже включил паяльник.....

Добавлено: Вс мар 29, 2009 20:30:54
DiGiCat
Cайт уже глючит невозможно как..

Добавлено: Вс мар 29, 2009 20:39:41
kret_a_v
...стоп


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

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

только фузы по другому выставить ?

Добавлено: Вс мар 29, 2009 20:43:59
nictrace
работать-то может, только считать время будет с а-агромными погрешностями. Ибо внутренний генератор зависит от напряжения, температуры и Солнца в созвездии Рака :)

Добавлено: Вс мар 29, 2009 20:55:41
kret_a_v
УРАаааааа

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


:) :idea:


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

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

с ув. Алексей

еще раз спасибо!!!!!

Добавлено: Вс мар 29, 2009 20:59:54
nictrace
поздравляю с первой работой! :)

Добавлено: Вс мар 29, 2009 21:12:43
kret_a_v
3ы... спасибо


лиха беда начала
(доволен как слон)

Добавлено: Вс мар 29, 2009 22:05:13
smac
Dantist писал(а):Чуть дополню:
Вместо AT90S2313 я взял attiny2313 (полная маркировка: Attiny2313-20PU)...
Спасибо за помощь! :)
фьюз RSTDISBL = 1 не трогайте ни в коем случае, если 1, то он не прошит, т.е. вывод ресет выполняет ф-ю сброса контроллера. Если прошьете в 0, то без параллельного программатора Вам не обойтись.
Вместо -o10Mhz попробуйте с ключом -o1Mhz, кстати на какую частоту вы рассчитывали бегущий огонь?. Сейчас Ваш контроллер настроен на внутренний генератор, частота 1 МГц, сейчас кварц вам не нужен, отпаяйте его если не лень, хотя в принципе мешать не должен. Кстати схема подключения кварца как в даташите, надеюсь?

Добавлено: Вс мар 29, 2009 22:47: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 мГц..

Вроде не фигню говорю... Поправьте, если что...

Добавлено: Вс мар 29, 2009 22:51:04
nictrace
а железо какое? STK200?

Добавлено: Вс мар 29, 2009 22:55:21
Dantist
nictrace писал(а):а железо какое? STK200?
Если я правильно понял вопрос :), то программатор вот этот:
http://radiokot.ru/start/mcu_fpga/avr/03/
Схема повторена полностью..

Добавлено: Вс мар 29, 2009 23:23:03
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

Надеюсь, получится... Завтра отпишу.
Спасибо всем учавствующим :)

Добавлено: Вс мар 29, 2009 23:51:26
Блуд
GP1 писал(а): если верить снимку то проц должен работать от встроенного RC генератора с делением на 8. но если эти установки записать в проц то SPMEN = 1 и проц отклюсится от канала последовательного программыроавния :shock: . восстановить можно только параллельным программатором. (см.пост выше)
на будущее лучше поступать так:
прочитать-сохранить-изменить нужные-записать
и обязательно читайте даташиты, без них никуда.
спасибо за внимание, есть ведь ещё на свете добрые люди!
тот снимок ДО изменения первых фьюзов (cksel 0...3)
то есть с МК считаны дефалтные заводские настройки - это они (после моей покупки и спайки).
программатор у меня есть только LPT 5pin
я так и сделал, прочитал, делал скрин (и выложил его), изменил cksel и записал. какие изменил, не отпринтскринил почему-то(( но факт остаётся фактов- МК теперь просто не виден программатору.
добрый человек, подскажи, как восстановить? как подать проще всего тактовый сигнал на XTAL1, желательно ничего не покупая, так как живу в глуши и достать какую-то радиодеталь - редкость. народ отвечал, но как-то поверхностно.
есть ещё мега8, может с неё подать? это реально?

Добавлено: Пн мар 30, 2009 00:59:40
DiGiCat
Реально. Попробуй подай тактирующие с ATmega8 c XTAL (1или2 сейчас точно не скажу, два варианта попробовать не сложно) на XTAL1 ATtiny2313 и попытаться прочитать ее, если будет читатся, то и переустановишь Fuse.

Добавлено: Пн мар 30, 2009 01:02:50
Блуд
а как их подать с меги8? зашить программу туда какую? или как?
или просто соединить?
я уже слышал, что так надо сделать, но видимо или что-то очевидное недопонимаю или не знаю, как реализовать)
спасибо!