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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

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

Сообщение DX168B »

Если при включенном питании подать сброс, то РОН не очищаются. Про DDRx выяснил - чистятся при сбросе. РОН чистятся ТОЛЬКО ПРИ ОТКЛЮЧЕНИИ ПИТАНИЯ. Я сам это ЛИЧНО проверял. :)
Хотя бы загляни на страничку в обучалке этого сайта в статью "Переключение между массивами". Там сам поймёшь. :)
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

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

Сообщение avreal »

DX168B писал(а):Хотя бы загляни на страничку в обучалке этого сайта в статью "Переключение между массивами". Там сам поймёшь. :)
Это Вы кому ?

avreal писал(а):
DX168B писал(а):Вы говорите, что все регистры при сбросе очищаются,
...
На счёт других регистров типа DDRB пока только предположения.
Я́ говорю, что все регистры очищаются?
DDR* по сбросу очищаютя. По сбросу включения питания, от внешней ножки сброса, от WDT.

Вы утверждали, что я это говорю и после моего вопроса "я говорю, что все регистры очищаются?" продолжаете мне что-то доказывать.
Покажите — где я говорю, что все регистры очищаются при сбросе. Не обязательно в этой теме. Не обязательно на этом форуме. Где? Вы это придумали сами и самозабвенно с этим спорите.

Я говорил только о DDR*, так как это было существенно для обсуждения.
Кстати, я не понимаю, откуда были сомнения в том, что они сбрасываются? Мало того, что об этом написано в тексте, так ещё и на картинке структуры IO к триггеру разрешения выхода подходит линия RESET.

Сбрасываются (точнее, приводятся в исходное состояние, не обязательно 0) почти все регистры периферии (IO-области). В ранних AVR "сбрасывались" все регистры периферии, но это приводило к одному забавному эффекту, попавшему в errata на эти кристаллы. Потом это поправили, убрали сигнал сброса с пары регистров и некоторых битиков ещё одного регистра.
Кстати, ОЗУ тоже не сбрасывается ни по внешней ножке сброса, ни по WDT, ни по BOR.

С РОН — не знаю как сейчас, может быть снятием питания надолго они действительно сбрасываются (в 0), но, по крайней мере в ранних 90s1200 (1997-1998 годов) при включении питания РОН устанавливались в, как бы так точнее выразиться, случайную функцию от партии кристаллов и фазы луны. Т.е. они безусловно теряли записанное значение, но слово "сбрасывались" к этому не подходит. Ну а с тех пор меня этот вопрос не интересовал. Полагаю, что там и сейчас "мусор".


А сейчас меня больше волнует это.
avreal писал(а):
DX168B писал(а):Ну конечно, если при программировании светодиоды остаются на месте вместе с выводами программатора, то возникнут проблемы при программировании.
Но выше писалось, что чистый МК прошивается. С атмегой вообще проблем нет.
А вот запрограммированный МК не шьётся.
Так, давайте как-то чётче.
Светодиоды имеют отношение к "чистый шьётся, записанный - нет" ? Или это независимые ситуации, которые просто тут на форуме встретились.
...
Я утверждаю, что микроконтроллер, зашитый такой вот коротой программкой
которая сразу же после запуска активирует выходы, обязан программироваься.
...
Если не шьётся — то это ошибка в программаторе.
Так всё-таки, что, когда и каким программатором не шьётся?
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

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

Сообщение DX168B »

Не разглядел вопросительный знак в конце. Монитор фФтоПку. :)))
Значит так. Программатор USBtinyISP
USB приставка, подключенная к макетке с тинькой. Опасные фьюзы не трогались.
Чистый МК зашивается, но прошитый программой которая настраивает все его порты на выход,
перестаёт шиться дальше. Были предложены варианты подключения отдельного источника для МК, так как было предположение, что при работе прошитой программы происходит падение напряжения питания МК и в следствии он не может войти в режим программирования.
Не помогло, то есть стало ещё хуже. Контакты с землёй (массой) были перепроверены. Нашёлся один баг, исправили но бесполезно. Вот последний, чисто экспериментальный вариант - добавление кода в программу. Ответа пока нет. Собирался программатор Protoss - он вообще их не видит. С Atmega8 оба программатора справляются без проблем.
UniProf эти тиньки вроде шьёт без проблем.

Да я и сам им пользуюсь(UniProf 'ом). Только программатор к нему собственный разработал для COM и LPT портов через развязки. И чем проще программатор, тем меньше проблем.
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

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

Сообщение avreal »

DX168B писал(а):Не разглядел вопросительный знак в конце. Монитор фФтоПку. :)))
Насколько я рад, что несколко лет назад вложился в отличный монитор...

DX168B писал(а):Значит так. Программатор USBtinyISP
USB приставка, подключенная к макетке с тинькой. Опасные фьюзы не трогались.
Чистый МК зашивается, но прошитый программой которая настраивает все его порты на выход,
перестаёт шиться дальше.
Итак, правильно ли я понял — SUBtinyISP и protoss тини с включенными на выход портами не шил, UniProf зашил?
Ну так тогда не "в такой-то ситуации тиньки не шьются" а "в такой-то ситуации вылазит некачественность таких-то прошивающих программ и/или таких-то прошивающих адаптеров".

Скажите, какая конкретно была tiny и, желательно, какие фьюзы. Интересно проверить avreal.

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

   .org 0
   ldi   r16,0xFF
   out   DDRB, r16
   out PORTB, r16

halt:   rjmp halt
avreal+byteblaster без проблм перешивает tiny15, tiny13, tiny2313 на заводских умолчаниях по fuses.
tiny26 в DIP для втыкивания в панельку тестовой платы нет, а макетку с ней лень было искать.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Shurf
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср май 12, 2010 10:24:41
Откуда: Чувашия, Новочебоксарск
Контактная информация:

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

Сообщение Shurf »

Господа, мне стыдно что, возможно, из-за моей невнимательности возникли такие споры.

Постараюсь рассказать по-порядку, как все было.

Как все было с самого начала. Ставилась Tiny2313. Чистая. В нее зашивалась программа вида:

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

DDRB = 0xFF;
PORTB = 0;
for(;;)
{PORTB--;
_delay_ms(1000);}
на выводах висел восьмисегментный индикатор, с ОК, 4 сегмента которого, как я позже понял, я припаял без резисторов. Вот фьюзы - с тех пор я их не менял.
Изображение
МК перепрограммировалась несколько раз, но после того как поработала продолжительное время, перестала отвечать. Надо отметить - тогда МК редко программировались с первого раза - не сразу входили в Prog Mode. Но с двух - трех тычков все решалось. Я хмыкнул и поставил запасную чистую тиньку. История повторилась. Я пробовал ставить тиньки в панельку, к которой просто подпаяны соответствующие выводы программатора. Ответа не было.
Тогда я взял простой программатор aka программатор Громова+uniprof+панелька с подпаянными проводками. Тиньки считались и стерлись с первой попытки. Домашний программатор USBtinyISP опять их увидел. Опять заблокировал обе той же программой с модификациями.
Я сейчас и не упомню всю последующую последовательность событий. Индикатор я перепаял заново - все аноды через резисторы 370 Ом. МК и микросхему из программатора я вынул, выводы их зачистил и протер спиртом, плотно вставил обратно. Наладил хороший контакт между индикатором и МК на макетке (собрал шлейф вместо лапши из проводов). Подогнул контакты в джамперах на ресете МК на макетке (ресет к ресету программатора).

После стал читаться и писаться Protossовский программатор (видимо наконец-то впаял правильно исправную мегу8 TQFP). Написал для tiny2313 динамическую индикацию без таймеров. Стали писаться только при отключенном индикаторе (или анод или катод). Написал индикацию на таймерах с регулировкой яркости - стали писаться и читаться без отключений от индикатора. Причем после чистки программатора и перепайки макетки ISBtinyISP стал шить без ошибок даже при 30-сантиметровом шлейфе от программатора к макетке. Теперь все вроде как шьется/читается стабильно.
Shurf
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср май 12, 2010 10:24:41
Откуда: Чувашия, Новочебоксарск
Контактная информация:

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

Сообщение Shurf »

Споры улеглись? Я что-то сделал не так?
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

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

Сообщение DX168B »

Возможно, что твои проблемы были в перегрузке МК индикаторами. А обычно (в зависимости от модели) МК не войдёт в режим программирования при питании ниже 4,7В и если ещё и недостаточная сила тока, то тоже могут быть проблемы. Выводы MOSI, MISO и SCK лучше тоже снабдить джамперами с 3 штырьками, чтобы можно было МК соединить либо с нагрузкой (если на эти выводы что-то ещё повешено) либо с программатором.
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

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

Сообщение avreal »

Shurf писал(а):Споры улеглись? Я что-то сделал не так?
Да нет, просто предмет спора пропал.

Shurf писал(а):Надо отметить - тогда МК редко программировались с первого раза - не сразу входили в Prog Mode. Но с двух - трех тычков все решалось. Я хмыкнул и поставил запасную чистую тиньку. История повторилась. Я пробовал ставить тиньки в панельку, к которой просто подпаяны соответствующие выводы программатора. Ответа не было.
Тогда я взял простой программатор aka программатор Громова+uniprof+панелька с подпаянными проводками. Тиньки считались и стерлись с первой попытки.
Т.е. дело не в зашитой программе, не в том, что там она записала в DDR и чем после этого занималась, так как другой программатор их шил.
Ну и, само собой, если схема сильно мешает, перегружая программатор, то виноват не программатор, а схемотехник изделия (нужно или выбирать программатор с более мощными буферами, если это в принципе возможно, или менять схему).
Чтобы более-менее уверенно что-то сказать, нужны и кусок схемы изделия со всеми номиналами, и схема выходных каскадов программатора, тогда можно оценить будет ли шиться и в каком диапазоне напряжений.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

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

Сообщение DX168B »

Хотел бы выложить фотки своего первого извратного программатора, но жалко, что он давно пущен на запчасти. Схемотехника была убийственной. Сам Ом бы в гробу перевернулся, но он (программатор-макет) работал безотказно до тех пор, пока я не нашёл время и не собрал нормальный со всеми расчётами и аккуратно выполненный. Наличие COM и LPT портов в моей материнке меня порадовало. Собрал самый простой программатор на оптопарах с транзисторными ключами и воткнул его в LPT порт. Уже 2 года с ним работаю, шил разные контроллеры и проблем подобного рода не видел. Для ноута купил PCMCIA - LPT карту и в бой. Причем система ей назначила тот-же адрес 0x378 и IRQ7 что очень порадовало. Помоему, если я не ошибаюсь, AVReal тоже умеет шить 5ю проводами с LPT порта.
I am DX168B and this is my favourite forum on internet!
Shurf
Встал на лапы
Сообщения: 83
Зарегистрирован: Ср май 12, 2010 10:24:41
Откуда: Чувашия, Новочебоксарск
Контактная информация:

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

Сообщение Shurf »

Вот только что получил такой опыт:

Прошил тиньку - опять та же история - не отвечает на попытки программирования. AVR910 by PROTOSS тоже не справился (другую тиньку оба программатора шьют, при этом AVR910 умудрился считать/прошить без подачи питания на прошиваемую тиньку(паразитное питание?)). Выход нашелся такой: ставлю джампер питания от программатора на AVR910 (кривая разводка дает 3,1 В на питание), пробую прошить - неудачно (AVRDude), снимаю джампер на питание - прошивка неотвечающей тиньки проходит успешно.
Единственное, что меня пугает - непонятное поведение тиньки вызвано моей невнимательностью в разводке схемы/программировании, а не ее особенностями. Но разводка исключается - запасная тинька читается всеми программаторами со всех платформ(панелек).

Еще: БОДЛЕВЕЛ первой тиньки был 4,3В, запасной - 2,7. Обе лечились вышеописанным методом.
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

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

Сообщение DX168B »

У меня прикол недавно был как раз из за BODLEVEL'a.
Фьюзами он был установлен на 4.3 вольт. Зашил программу, запустил. Полёт нормальный.
Зажег 2 светодиода программой и МК перезагрузился. Сначала я подумал, что счетчик команд ядра МК выскочил за пределы массива на нулевой байт и перескочил на начальную ячейку (нулевой адрес) памяти программ. Начал ковырять регистр-счётчик циклов чтения массива в ПЗУ - не помогло. Потом полез во фьюзы и выставил на порог 2.7 в. Проверил - всё ОК. Оказалось, что я использовал слабый стабилизатор напряжения для питания МК и остальной схемы. Перегрузив его (стабилизатор) нагрузкой, создалось падение напряжения в цепи питания схемы. Как только загорелись светодиоды, напряжение упало ниже критической точки и МК ушел в сброс. Светодиоды погасли и напряжение опять поднялось, МК снова запустился. Решил проблему заменой стабилизатора питания на более мощный и вернул фьюзы назад, на 4.3 вольт.
Проверил - работает нормально.
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

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

Сообщение avreal »

Если махнуть одновремённо несколькими ногами, то и хороший источник не всегда помогает. В экспериментах по второй ссылке выходы вообще не были нагружены.
http://www.telesys.ru/wwwboards/mcontro ... 5103.shtml
http://www.telesys.ru/wwwboards/mcontro ... 8401.shtml
С тех пор не экспериментировал, может и поправилось.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
КАШАК
Это не хвост, это антенна
Сообщения: 1303
Зарегистрирован: Вс апр 19, 2009 17:20:22
Откуда: г.Ростов-на-Дону/г.Таганрог/г.Геленджик
Контактная информация:

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

Сообщение КАШАК »

Прошивка от AT90S2313 на ATTiny2313 подходит? И наоборот от ATTiny2313 на AT90S2313.
Опыт растет прямо пропорционально выведенному из строя оборудованию...
NebelWefer
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

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

Сообщение NebelWefer »

для прошивки и работы мк можно обойтись встроенным генератором или кварц полюбому нужен?
еще вопрос: на этой схеме
http://avr123.nm.ru/img/07_avrprog.png
выход LED на разьеме, означает подключение светодиода как здесь?
http://chaokhun.kmitl.ac.th/~kswichit/S ... k300-1.gif
если да, то что он показывает? программирование?
Последний раз редактировалось NebelWefer Пн июл 19, 2010 16:15:40, всего редактировалось 2 раза.
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

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

Сообщение AI_Disable »

В ATtiny2313 можно обойтись встроенным (1, 4 или 8Мгц). В AT90S2313 встроенного генератора нет.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

NebelWefer писал(а):двыход LED на разьеме, означает подключение светодиода как здесь?
http://chaokhun.kmitl.ac.th/~kswichit/S ... k300-1.gif
если да, то что он показывает? программирование?

ХЗ, в новых программаторах он просто заземлён.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
NebelWefer
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

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

Сообщение NebelWefer »

посоветуйте плз симулятор работы мк для программы на С...
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

AVRStudio :idea:
Ставим плюсы: )
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

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

Сообщение DX168B »

Есть ещё VMLAB. Только он посложнее AVRStudio.
Там даже виртуальный осциллограф есть, LCD дисплей и прочее.
I am DX168B and this is my favourite forum on internet!
NebelWefer
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

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

Сообщение NebelWefer »

есть ли какие-либо требования/рекомендации к прошивающему компу? типа не слишком мощный и т.п.?
Ответить

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